[Security] 악성코드 샘플 분석 1차
2011년 Trojan.Kraddare 악성코드를 정적·동적 분석으로 실제 분석했습니다. VirusTotal, PEStudio, Process Monitor 등 도구를 활용해 관리자 권한 탈취, C2 통신, 파일 드롭 행위를 추적했습니다.
개요
실제 악성코드 샘플을 분석하며 정적분석과 동적 분석을 수행했습니다.
정적분석 수행(VirusTotal)

PEStudio를 통해 다음과 같은 값들을 확인합니다.
- 파일 기본 정보
- 컴파일 정보
- PE 구조
- 보안 관련 주요 지표
- VirusTotal 탐지 결과
- 행위 태그 (VirusTotal)
- 주요 의심 포인트 요약
파일의 해시 값은 아래와 같이 명령어를 작성하거나 Indicator를 통해 확인 가능합니다.
Get-FileHash "C:\Users\bjc11\Downloads\bton02setup\bton02setup.exe" -Algorithm SHA256
09BE398172732114739CD213A7FF6AC3D36F3239825512BC683E938C814C3399

주요 위협 라벨: trojan.kraddare/jatif
위협 카테고리:
- Trojan (트로이 목마)
- Adware (애드웨어)
- Downloader (다운로더)
악성코드 패밀리: Kraddare, Jatif, Atraps
Behavior Tags (행위 태그):
- checks-network-adapters (네트워크 어댑터 검사)
- checks-user-input (사용자 입력 검사)
- direct-cpu-clock-access (CPU 클럭 직접 접근)
- long-sleeps (장시간 대기)
- runtime-modules (런타임 모듈)
- self-delete (자기 삭제)
PEStudio

- Microsoft Visual C++ / Visual Studio 6.0 컴파일러
- GUI 실행 파일
- 컴파일 시간(2015-08-04 00:34:52)
- 한국어
http://a-ton.co.kr도메인 패턴- 네트워크 통신 기능 (WSOCK32, NETAPI32)
- 외부 실행파일 다운로드 URL 존재 (nskSetup.exe)
- 만료된 인증서 사용 등 확인

악성코드에서 자주 사용되는 의심스러운 API 리스트
- 프로세스 열거 → AV/분석도구 탐지
- CreateToolhelp32Snapshot
- Process32First
- Process32Next
- 디렉토리 생성 + 파일 쓰기 → 페이로드 드롭
- CreateDirectoryA
- WriteFile
- 프로세스 생성/WinExec → 드롭된 파일 실행
- CreateProcessA
- WinExec
- 레지스트리 생성 → 지속성 확보
- RegCreateKeyA
- 네트워크 API → C2 통신
- Netbios
- WSACleanup

<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
- 실행시 관리자 권한 요구

[프로세스 열거/조작]
- Process32Next
- Process32First
- CreateToolhelp32Snapshot
- GetCurrentProcess
- GetCurrentThread
- SetPriorityClass
[프로세스/프로그램 실행]
- CreateProcess
- WinExec
[파일 시스템 조작]
- CreateDirectory
- WriteFile
[레지스트리 조작]
- RegCreateKey
[네트워크 통신]
- Netbios
[C2/악성 URL (a-ton.co.kr)]
- http://a-ton.co.kr/log/?modeAct=
- http://a-ton.co.kr/saol/nskSetup.exe
- http://a-ton.co.kr/pcblist.dat
- http://a-ton.co.kr/saol
[인증서 관련 URL (정상)]
- http://t2.symcb.com0
- http://tl.symcb.com/tl.crl0
- http://tl.symcb.com/tl.crt0
- http://tl.symcd.com0&
- https://www.thawte.com/cps0/

[Unknown]
- 파일 확장자를 확인할 수 없어 악성 스크립트일 가능성도 존재
동적 분석
WireShark
실제 악성코드 실행시 해당 도메인으로 요청 보낸 것을 확인. 다만 도메인을 찾을 수 없어 실패함.


Process Monitor

- Process Name is bton02setup.exe - 이 프로세스 활동만 보기
- Operation is CreateFile - 파일 생성/열기
- Operation is WriteFile - 파일 쓰기 (드롭)
- Operation is RegSetValue - 레지스트리 값 설정 (persistence)
- Operation is Process Create - 자식 프로세스 생성


레지스트리 값을 읽고, 쓰고, 닫는 작업을 지속적으로 수행하는 것을 확인
- HKCU\Software\Microsoft\Windows... (사용자 설정)
- HKLM\SOFTWARE\Policies\Microsoft... (정책 설정)
- HKLM\SOFTWARE\WOW6432Node... (32비트 호환)
- HKLM\System\CurrentControlSet... (서비스/드라이버)
- HKCR\PackagedCom\TypeLibIn... (COM 객체 등록)
- HKCU\Software\Classes... (파일 연결)


C:\DelUS.bat→ 자기 삭제 스크립트일 가능성 높음Path contains DelUS.bat


- bton02setup → bton02setup 권한 상승 확인
- bton02setup → cmd.exe 명령줄 명령 실행함
- conhost.exe → 레지스트리 값을 읽고, 쓰고, 닫는 작업을 지속적으로 수행하는 것을 확인
- 실제 실행한 자기 파일도 삭제한 것을 확인
Process Explorer
- 실행시점, 5분 뒤, CPU Metric을 많이 먹는 작업 모두 확인했지만 유의미한 결과를 확인하지 못함.


RegShot
따로 특이사항을 확인하지 못함.


- RegShot 텍스트 분석
AutoRuns
ARN을 생성한 후 비교(5분 뒤 재 확인시 새로 생성된 항목 없음)


악성 행위 분석에 대한 설명과 어떤 유형의 악성코드인가
정적 분석 결과
Manifest
- level="requireAdministrator" → 실행 시 UAC 관리자 권한 요구
- name="IsUserAdmin" → 관리자 여부 확인 목적
Imports
- Process32Next / Process32First / CreateToolhelp32Snapshot → 프로세스 목록 열거
- CreateProcessA / WinExec → 외부 프로그램 실행
- CreateDirectoryA → 디렉토리 생성
- WriteFile → 파일 쓰기 (다운로드 파일 저장)
- RegCreateKeyA → 레지스트리 키 생성 (자동실행 등록 추정)
- GetCurrentProcess / GetCurrentThread / SetPriorityClass → 프로세스 제어
- Netbios / WSACleanup → 네트워크 통신
Strings (의심 URL)
- http://a-ton.co.kr/log/?modeAct= → C2 서버 통신
- http://a-ton.co.kr/saol/nskSetup.exe → 추가 악성파일 다운로드
- http://a-ton.co.kr/pcblist.dat → 설정/타겟 리스트 다운로드
VirusTotal
- direct-cpu-clock-access → RDTSC로 디버거/VM/샌드박스 탐지
- long-sleeps → 샌드박스 분석 시간 초과 유도
- checks-network-adapters → VM 가상 NIC 감지
- checks-user-input → 실제 사용자 PC 여부 확인
동적 분석 결과
Process Monitor
- 레지스트리 조작: HKLM\SOFTWARE\Microsoft\Windows 등 다수 RegOpenKey, RegSetValue, RegCloseKey
- 파일 읽기: mfc4, Ole32.dll 등 시스템 파일 ReadFile
- 실행 시간: 0.156초 만에 종료 → VM 환경 감지 후 즉시 종료 추정
WireShark
- a-ton.co.kr A 레코드 조회 → NXDOMAIN (도메인 존재하지 않음)
- SOA 응답 → Authority DNS 서버가 도메인 없음을 공식 확인
- C2 서버 폐쇄로 추가 페이로드 다운로드 실패
악성코드 예상
- 추가 악성파일을 다운로드하여 설치하는 악성 코드(setup)
- 관리자 권한 실행을 기반으로 C2 통신 수행 → 파일 다운로드 → 2차 악성코드 실행
정리
2011년도의 악성 코드이다보니 실제 동작을 수행하기 어려웠습니다만 툴에 대한 사용법을 익힐 수 있었습니다. 다만 분석을 진행할 때는 여러가지 툴을 사용하면서 기능의 특화된 툴을 사용하는 것이 권장됩니다.
- 기초 분석 → VirusTotal
- 정적 분석과 동적 분석에 참고할 수 있을만한 내용들을 확인
- 정적 분석 부족한 부분
- 패킹이 되어있는지 확인하는게 가장 우선 순위.
- 만약 패킹되어있다면 언패킹을 먼저 수행해야함.
- VirusTotal: 각각의 백신에서 어떠한 행위의 악성으로 분류했는지
- 동적 분석 부족한 부분
- 파일과 레지스트리 추가 생성되는 파일이 있는지?
- Process Explorer, Process Monitor를 통한 백그라운드
- 악성코드로 인해 Window 앱이 동작하는 경우가 있음.
- 실제 악성코드로 실행된게 맞는지 확인
- 악성코드로 인해 Window 앱이 동작하는 경우가 있음.
- 네트워크 기반의 환경을 확인
- 어떠한 유형의 악성코드인지 확인하는 것이 좋음