[C언어] Data Conversion Tool - RawVera

 

 

◎ FakeDNS 탭이 하는 일

  • RawVera의 FakeDNS 탭은 단순한 DNS 서버가 아니라, 악성 도메인 유도와 관찰, 분석, 기록, 복구까지 함께 처리하는 실전형 도구입니다. 
  • 이미지에서 보이듯 상단에는 Start, Stop, Clear, Apply Rules와 File, Rules, Analysis, Tools, Settings 메뉴가 있고, 중앙에는 도메인·응답·PID·Tag를 보여 주는 목록과 하단 상세 로그 창이 배치되어 있습니다. 
  • 즉, DNS 요청을 받아 응답하는 동시에 “왜 이 도메인이 들어왔는지”를 함께 분석하는 구조입니다.

 

◎ 시작과 중지, 실시간 캡처 흐름

  • 이 탭의 기본 동작은 매우 분명합니다. 
  • Start를 누르면 로컬에서 UDP DNS 리스너가 올라가고, Stop으로 종료하며, Clear로 현재 목록과 상세 내용을 정리합니다. 
  • 코드에서는 실행 상태를 별도 스레드로 처리하고, 상태바에는 쿼리 수와 suspicious 수, 그리고 현재 모드가 표시됩니다. 
  • 상단의 Apply Rules는 체크박스 형태로 제공되어, 로드한 규칙을 실제 응답 처리에 적용할지 바로 제어할 수 있습니다.

 

◎ 규칙 적용과 파일 관리

 - FakeDNS의 가장 중요한 기능은 규칙 기반 응답 생성입니다. 

  • 규칙은 패턴, 응답값, QType, Action, Priority, Enabled로 구성되며, NXDOMAIN, FAKE, PROXY 같은 동작을 지정할 수 있습니다. 
  • 예를 들어 특정 도메인 패턴은 127.0.0.1이나 지정 IP로 돌려주고, 어떤 규칙은 아예 NXDOMAIN으로 막으며, 또 어떤 규칙은 상위 DNS로 넘기는 프록시 모드로 처리할 수 있습니다. 
  • 이 구조 덕분에 분석자는 실제 감염 체인의 통신 패턴을 안전하게 관찰할 수 있습니다.

 

 - QType 지원도 꽤 넓습니다.

  • 코드에서는 A, AAAA, CNAME, SOA, PTR, MX, TXT, NS, ANY 등을 다루며, 각 타입에 맞는 응답 레코드를 직접 생성합니다.
  • A는 IPv4, AAAA는 IPv6 루프백, MX는 localhost, TXT는 고정 문자열, PTR은 fakedns.local 같은 방식으로 응답을 구성합니다.
  • 단순히 “가짜 IP를 반환한다” 수준이 아니라, DNS 레코드 형식 자체를 맞춰 응답하기 때문에 테스트와 유도 분석에 쓰기 좋습니다.

 

◎ 분석 메뉴와 고급 기능

  • 상단의 Apply Rules 체크와 함께, Rules 메뉴는 FakeDNS의 운영 중심이라고 보셔도 됩니다. 
  • Rule Loading으로 파일에서 규칙을 불러오고, Rule Editor에서 새 규칙을 추가하거나 수정하며, Save Rule로 현재 규칙을 저장할 수 있습니다. 
  • 코드상 규칙 파일은 INI 형식으로 저장되며, Count와 각 Rule 섹션에 Pattern, Response, QType, Action, Priority, Enabled가 기록됩니다. 
  • 여러 분석 세션에서 동일한 룰셋을 재사용하기 쉬운 구조입니다.

 

◎ 설정 창에서 조절할 수 있는 것들

  • Settings 메뉴에서는 DNS 서비스 동작에 필요한 핵심 값을 조절할 수 있습니다. 
  • Listen Port를 바꿀 수 있고, Upstream DNS Proxy를 켜서 외부 DNS 서버로 넘길 수도 있으며, Upstream Server와 Timeout도 설정 가능합니다. 
  • Log Path를 지정하면 세션 로그 저장 위치가 정해지고, Auto Save Session과 Interval로 자동 저장 주기를 조절할 수 있습니다. 
  • PCAP Capture를 켜면 DNS 패킷 자체를 pcap으로 저장할 수 있고, Log Format은 Plain Text, JSONL, Both 중에서 선택 가능합니다.

 

◎ 로그, 헥스 덤프, 상태표시

 - 로그 저장 방식은 실무 친화적입니다. 

  • 코드에서는 .log, .jsonl, .pcap 파일을 세션 단위로 생성하며, 세션 이름에는 날짜와 시각이 들어갑니다. 
  • Plain Text는 사람이 읽기 좋고, JSONL은 후속 파이프라인 처리에 편하며, PCAP은 패킷 재분석이 필요할 때 유용합니다. 
  • 즉, 단순히 화면만 보는 것이 아니라 증적과 재검토까지 고려한 설계입니다.

 

 - 도메인 목록 표시는 이 탭의 핵심 시각화입니다.

  • 컬럼은 No, Time, Domain, Type, Response, PID, Tag로 구성되며, 들어온 요청마다 한 줄씩 쌓입니다.
  • Tag에는 NXDOMAIN, FAKE, PROXY, SINK, DGA?, C2? 같은 판단 결과가 들어가고, PID도 있으면 함께 표시됩니다.
  • 그래서 감염 의심 호스트가 어떤 도메인에 접근했는지, 어떤 타입의 요청이었는지, 어떤 방식으로 처리되었는지 한눈에 보실 수 있습니다.

 

 - 하단의 상세 창은 선택한 항목의 원시 패킷과 헥스 덤프를 보여 줍니다.

  • 코드에서는 선택된 항목의 raw DNS 패킷이 있으면 hex dump로 출력하고, 없으면 간단한 안내 문구를 보여 줍니다.
  • 덕분에 상단 리스트에서 이상 징후를 찾은 뒤, 바로 아래에서 패킷 레벨까지 내려가 확인할 수 있습니다.
  • 분석 흐름이 화면 안에서 끊기지 않는 점이 장점입니다.

 

 - Tools 메뉴는 단순 부가 기능이 아니라 분석 보조 기능 묶음에 가깝습니다.

  • FakeDNS는 여기서 Baseline, DGA Analysis, C2 Detection, Fake Service Mapping을 제공합니다.
  • Baseline은 이전과 이후의 캡처를 비교하는 방식으로 쓰이며, DGA Analysis는 도메인 엔트로피와 길이를 계산해 랜덤성 높은 도메인을 찾습니다.
  • C2 Detection은 별도 목록으로 의심 도메인을 모아 보고, Fake Service Mapping은 도메인에 대해 응답 IP와 포트를 매핑하는 테스트용 화면을 띄웁니다.

 

◎ DGA·C2·Baseline·Fake Service

 - DGA 분석은 실제로 꽤 유용합니다. 

  • 코드에서는 문자열 엔트로피를 계산하고, 길이와 숫자/하이픈 비율까지 함께 봐서 High, Medium, Normal처럼 점수를 나눕니다. 
  • 엔트로피가 높고 길이가 긴 무작위형 도메인은 DGA 가능성으로 분류되며, 결과가 리스트로 정리됩니다. 
  • 악성코드가 생성하는 랜덤 도메인을 빠르게 골라내야 할 때 특히 도움이 됩니다.

 

 - C2 탐지 쪽은 규칙 기반 판단과 통계적 판단이 함께 들어갑니다.

  • NXDOMAIN 반복, FAKE 응답, PROXY 패턴, 그리고 엔트로피가 높은 도메인을 묶어 suspicious로 처리할 수 있도록 구성되어 있습니다.
  • 또한 결과 행의 색상도 다르게 표시되어, 위험도가 높거나 DGA로 추정되는 항목은 목록에서 바로 눈에 들어오게 만들어 둔 점이 좋습니다.

 

 - Baseline 기능은 비교 분석용으로 이해하시면 됩니다.

  • 시작 전과 후의 목록 수를 기억해 두고, 이후 새로 추가된 항목을 살펴보는 형태입니다.
  • 코드에는 Before, After, Diff를 별도 창에서 확인하고 파일로 저장하는 흐름도 보입니다. 정적인 룰 매칭만으로는 놓칠 수 있는 “새로 생긴 이상 트래픽”을 찾는 데 적합합니다.

 

 - Fake Service Mapping은 테스트 환경에서 상당히 쓸모가 있습니다.

  • 특정 도메인을 어떤 IP와 포트로 응답할지 직접 지정할 수 있어, 악성코드가 특정 서비스에 접속한다고 가정한 상황을 안전하게 재현하기 좋습니다.
  • 분석자가 샘플 동작을 유도하거나, 특정 응답 조건에서만 달라지는 로직을 확인할 때 활용도가 높습니다.

 

◎ HOSTS·DNS·캐시 처리

  • 실제로 운영할 때 중요한 부분도 잘 갖춰져 있습니다. 
  • Start 전에 로깅 경로가 없거나 권한이 부족하면 경고를 띄우고, 관리자 권한이 필요하면 UAC 상승을 유도합니다. 
  • 시작 후에는 HOSTS 파일 블록 영역을 삽입해 로컬 DNS 효과를 보강하고, Stop 시에는 HOSTS 복원, DNS 복구, 캐시 플러시까지 함께 수행합니다. 
  • 즉, 분석 후 환경 원복까지 고려한 구조입니다.

 

◎ 마무리

  • 정리하면 FakeDNS 탭은 DNS 리스너 실행, 규칙 적용, 응답 조작, 파일 저장, 세션 로그, pcap 캡처, 설정 관리, 헥스 덤프, Baseline, DGA Analysis, C2 Detection, Fake Service Mapping, HOSTS 수정, DNS 복구, 캐시 플러시를 모두 포함한 통합 분석 탭입니다. 
  • 단순한 “가짜 DNS”가 아니라, 악성 도메인 분석과 유도 응답, 증적 저장, 사후 복구까지 연결된 실전형 기능이라고 보시면 됩니다.

 

 

 

반응형

+ Recent posts