0. 과제 및 과정 소개
과제 발표에 사용한 PPT파일을 첨부합니다. 이 과제는 AI스쿨 리팩토링 보안 과정의 일부로 2024년 3월 10일에 발표되었으며 악성코드 샘플을 가상화 환경 하에서 분석했습니다.
만약 리팩토링 교육과정에 참여하고자 하신다면 아래 AI스쿨 공식 카페에 방문해 주세요.
https://cafe.naver.com/itscholar
정보보안전문가 취업카페 스칼라 : 네이버 카페
비전공자 전문IT교육, 정보보안전문가, 보안을 아는 개발자, AI 양성교육, IT기술리더, 창업가 양성
cafe.naver.com
1. 기초분석 - VirusTotal
분석 대상은 .exe 실행 파일이며, ExeInfo 툴을 통해 아래와 같은 해시값을 추출하였습니다.
SHA1: 474D5D95A3CB6817395FC9CAD135F989712C4AB7
Detection 정보
해당 해시 값을 바탕으로 VirusTotal에 검색한 결과, 총 72개 엔진 중 52개가 악성으로 진단했습니다. 대부분의 백신들은 이 파일이 트로이 목마, 윈도우 기반의 악성코드, 에드웨어, 다운로더일 가능성이 높다고 판단했습니다.
Details 정보
핵심 정보를 정리하면 다음과 같습니다.
항목 | 내용 | 상세 |
SHA-1 | 474d5d95a3cb6817395fc9cad135f989712c4ab7 | 분석 고유 식별자. 추후 모든 플랫폼에서 이 값으로 탐색이 가능합니다. |
파일 형식 | Win32 EXE / PE32 executable (GUI) | 윈도우 기반 실행 파일. GUI 프로그램 형태입니다. |
컴파일러 | Microsoft Visual C++ 6.0 (1720-9782) | 비교적 오래된 컴파일러 기반, 악성코드에 자주 사용됩니다. |
파일 크기 | 56.06 KB | 매우 작은데 악성으로 진단되었다는 점에서 Downloader, Dropper 가능성이 있습니다. |
PEID Packer | Microsoft Visual C++ | 컴파일러와 패커가 동일한 것으로 보아 패커 흔적은 없습니다. 정상적인 컴파일된 구조처럼 보임 (하지만 이후 섹션 분석 필요) |
Relations 정보
URL 중 http 경로로 접근을 꾀하고 있습니다. 해당 URL로 여러 번 접근하는 것으로 보아 외부 서버와의 통신을 확인할 수 있습니다. INSTALL 동작이 있습니다.
Behavior 정보
주 의심 정보는 아래와 같습니다.
파일 경로 | 분석 및 의심 행위 |
C:\DelUS.bat | 배치 파일(BAT)은 자동화된 명령 수행용입니다. 흔히 자가 삭제 스크립트로 사용됩니다. 악성코드 흔적 제거 가능성이 매우 높습니다. |
C:\Users\Administrator\AppData\...IE5 | Internet Explorer 캐시 기록(Histories, Cookies, Temp Files) → 사용자의 웹 활동 정보를 수집하고 있습니다. |
C:\Windows\latin.ini | ini는 설정파일이나, 악성코드에서 숨겨진 설정/페이로드 정보 저장에 사용되기도 합니다. |
C:\WINDOWS\Temp\scs2.tmp, scs3.tmp | .tmp 파일은 임시 데이터로 위장한 실행 중 생성물일 가능성이 높으며, 종종 악성코드의 중간 페이로드가 들어있습니다. |
C:\WINDOWS\nskSetup.exe | 두 번째 실행파일로 추정됩니다. 외부 URL과 연동된 nskSetup.exe를 통해 다운로드된 추가 악성 행위 발생 가능성이 있습니다. |
C:\Documents and Settings\...\drwtsn32.log | Dr. Watson은 시스템 에러 로깅 도구입니다. 의도적으로 시스템 오류 발생 후 흔적을 감추기 위한 로그 조작 또는 백업용일 가능성이 있습니다. |
이러한 파일 작성 패턴은 일반적인 정보탈취형 트로이 목마(Trojan.InfoStealer)의 행위와 매우 유사합니다. 이후 레지스트리 수정 여부, 네트워크 접속 로그, 자기 삭제 여부 등을 중심으로 동적 분석을 이어가는 것이 좋아 보입니다.
경로 | 설명 |
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad\... | WPAD(Web Proxy Auto-Discovery) 관련 설정입니다. WPAD는 자동 프록시 설정을 위해 사용되는데, 악성코드는 이를 조작해 트래픽 가로채기(MITM)나 프록시 우회에 악용하는 것이 가능합니다. |
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\GoogleUpdaterInternalService... | 서비스 등록 → 일반적인 소프트웨어 업데이트로 위장하고 있습니다. 실제로는 악성코드가 지속적으로 실행되도록 만드는 서비스 기반 자동실행 기법 중 하나입니다. |
HKEY_CURRENT_USER\...\DefaultConnectionSettings | 기본 연결 설정을 변경하여 네트워크 경로 우회, 프록시 조작, 보안 무력화 등 가능성이 존재합니다. |
프로세스 경로 | 의심되는 항목 |
%SAMPLEPATH%\09be3981...exe | 실제 분석 중인 악성 샘플의 실행 경로입니다 |
file.exe | 우회 또는 페이로드 복사본으로 보이는 실행 파일입니다 |
C:\Program Files (x86)\Google4080...\updater.exe | Google 업데이트 프로그램으로 위장한 악성 실행파일일 가능성이 있습니다 |
C:\Windows\System32\wuaupi...exe, UI0Detect.exe | 시스템 정상 프로세스로 위장. 우회 또는 권한 상승 시도 가능이 있습니다 |
DelUS.bat | 자가 삭제 스크립트. 분석 회피용으로 자주 사용됩니다 |
nskSetup.exe | 외부 URL을 통해 내려받은 실행 파일. 2차 감염 또는 설치형 에드웨어 기능 수행 가능성이 있습니다 |
기초분석 결과 소결
이 샘플은 정보탈취형 트로이목마 + 에드웨어 요소를 포함한 복합형 악성코드로 판단됩니다. 해당 유형의 악성코드는 설치 후 자가 삭제, 후속 페이로드 실행, 관리자 권한 요청, 프록시 조작 등 다양한 기법이 동원되어 있으며, 분석 회피와 지속 실행까지 고려된 점에서 고전적이면서도 구조화된 공격 방식이라 할 수 있습니다.
그러므로 방향성을 위에 맞추어 분석하되, 다를 가능성을 열어두고 분석하는 것이 유리합니다.
1. 정적분석(Static Analysis)
1-1. ExeInfo PE
ExeInfo PE를 실행한 결과 다음 정보를 구할 수 있었습니다.
- First Bytes가 55 8B EC 6A FF로 00이나 ??가 없으므로 패킹 흔적은 없습니다.
- Overlay가 00000000이 아닌 것으로 보아 파일 끝에 추가 데이터가 있습니다.
- Compiler가 MSVC++ 5~6.0로 구세대 컴파일러를 사용했습니다.
- 외부 DLL/API 참조가 있습니다 (.rdata import)
- 디지털 서명이 존재하지만, 체크섬이 불일치하고 있습니다.
1-2. Bintext
BinText 결과에서 .xml 구조의 실행 정보가 발견되었습니다. 이는 윈도우에서 실행 권한을 요청할 때 사용되는 Application Manifest 구조입니다. 위 이미지를 해석해보면 다음과 같습니다.
- requestedExecutionLevel 항목이 "requireAdministrator"로 설정되어 있습니다. 이는 관리자 권한 실행을 의미합니다.
- 해당 값이 설정된 경우, 악성코드가 시스템 설정 변경, 파일 시스템 접근 등 고위험 행위를 수행할 수 있는 기반이 됩니다.
- 또한, https://www.thawte.com 및 thawte SHA256 Code Signing CA 등 인증서 관련 문자열이 확인되었으나, 실제 서명 검증 또는 인증 위조 가능성이 있어 신뢰할 수 없는 상황입니다.
악성코드 내부 API 호출 목록입니다.
- 프로세스 및 실행 관련 API
- WinExec, CreateProcessA
→ 신규 프로세스 실행. 악성코드가 다른 악성 페이로드를 로드하거나 자기 복제에 활용 가능합니다.
- WinExec, CreateProcessA
- 파일 시스템 조작
- CreateDirectoryA, SetCurrentDirectoryA, WriteFile, CreateFileA
→ 디렉터리 생성, 파일 작성, 경로 이동 등 시스템 파일을 조작하는 행위로 외부에서 받아온 데이터를 시스템에 무단 저장하거나, 사용자 데이터를 탈취할 가능성이 있습니다.
- CreateDirectoryA, SetCurrentDirectoryA, WriteFile, CreateFileA
- 동작 제어 및 탐지 회피
- Sleep, WaitForSingleObject, SetThreadPriority
→ 탐지를 피하기 위한 시간 지연 및 스레드 우선순위 조정. 행위 기반 분석 무력화 시도입니다.
- Sleep, WaitForSingleObject, SetThreadPriority
- 레지스트리 접근
- RegOpenKeyExA, RegCreateKeyA, RegCloseKey
→ 시스템 설정 및 자동실행, 보안 설정을 변경하기 위한 조작 가능성이 있습니다.
- RegOpenKeyExA, RegCreateKeyA, RegCloseKey
- 모듈, DLL 로딩 및 정보 수집
- GetStartupInfoA, GetModuleFileNameA, GetModuleHandleA, LoadIconA
→ 현재 실행 중인 환경 정보를 수집하여 환경에 맞는 조건부 행위 가능성이 있습니다.
- GetStartupInfoA, GetModuleFileNameA, GetModuleHandleA, LoadIconA
- 네트워크 관련/시각적 요소
- urlMon, Netbios
→ URL 접근 및 네트워크 API 활용 가능성이 있습니다. 네트워크 연결, 원격 명령 수신 또는 추가 파일 다운로드에 활용될 수 있습니다.
- urlMon, Netbios
가장 문제가 되는 부분은 이 모든 행위가 일어나는 구간들이 집중되어 있으며, 시스템 설정, 관리자 권한, 보안 설정과 같이 핵심적인 기능을 요구하는 게 많다는 점입니다.
1-3. PEView
앞서 기초분석에서 언급한 프로세스 활동이 대거 탐지되었습니다. 또한 Peview에서도 http 주소가 마찬가지로 나왔습니다.
aton에 들어있는 nskSetup.exe를 구글로 검색해본 결과, 네이버 검색 순위 조작의 에드웨어를 경계하는 문구가 2015년 기준으로 나왔습니다. 즉, 에드웨어일 가능성이 더 높아졌습니다.
2. 동적분석(Dynamic Analysis)
2-1. 기본 실행
기본 실행으로 해당 파일이 자가 삭제, 은폐 기능을 갖춘 것을 확인했습니다.
2-2. Wireshark
악성코드 실행 직후, Wireshark 상에서 DNS 프로토콜을 통한 도메인 쿼리가 탐지되었습니다. 단, 서버로부터 "No such name" 응답을 받았으나, 이는 분석 환경이 VM이라 나타나는 DNS 차단 또는 서버 비활성 상태 때문일 수 있습니다.
즉, 외부 서버와 연결을 시도하는 네트워크 행위가 명확히 확인되었으며, 공격자는 이 도메인을 통해 추가 페이로드를 내려받거나 명령을 전달할 가능성이 있습니다.
또한 DNS 외에도 NBNS(NetBIOS Name Service) 프로토콜이 사용된 흔적도 확인됩니다. 이는 윈도우에서 NetBIOS 이름을 IP 주소로 변환할 때 사용되는 프로토콜입니다. 즉, 악성코드는 DNS 차단 상황을 대비해 NBNS를 통한 우회적 네트워크 탐색을 시도한 것으로 해석됩니다. 또한 DNS와 NBNS를 복합적으로 사용하는 형태는 정보 수집형 악성코드에서 자주 나타나는 패턴입니다.
종합하면 정적 분석에서 확인된 문자열(urlMon, Netbios)과도 일치하여, 네트워크 행위 기반 악성코드로서의 특성이 뚜렷합니다.
2-3. CurrPorts
요청 결과는 이전 Wireshark 결과와 동일하게 거절되었습니다. 또한 CurrPorts 분석 결과 다수의 UDP 및 TCP 포트가 열려 있으며, 이에 대응하는 윈도우 서비스 목록이 함께 표시되었습니다.
서비스 이름 | 설명 | 악성코드 징후 |
CryptSvc | 윈도우 암호화 서비스 | 암호화된 통신이나 파일 조작 시 사용 가능 |
Dnscache | DNS 클라이언트 캐시 | DNS 요청 추적 또는 위조 가능성 |
LanmanWorkstation | 네트워크 공유 서비스 | 내부 시스템 간 파일 전파 가능성 |
NlaSvc | 네트워크 상태 감지 및 구성 | 감염 후 네트워크 환경 변화 감지 |
EventSystem, fdPHost, netprofm | 이벤트 처리 및 네트워크 프로파일 관리 | 시스템 행위 감시 및 환경 조작에 악용 가능 |
WdiServiceHost | 윈도우 진단 서비스 | 시스템 상태 탐지 회피 등 우회 가능성 |
FDResPub, FontCache, SSDPSRV | 네트워크 장치 및 프린터 탐색 관련 | 타 기기 전파 또는 은폐 수단 가능 |
특히 System 프로세스(프로세스 ID 640, 100 등)가 UDP 59971 포트 및 64617/64618 포트를 사용하는 행위는 비표준 포트를 활용한 외부 연결 또는 내부 통신 채널로 활용될 수 있습니다. 이는 보안 탐지를 회피하려는 시도입니다.
2-4. SmartSniff
SmartSniff의 하단 Hex/ASCII 뷰에서 a-ton.co.kr라는 문자열이 명확하게 나타나며, 해당 도메인에 대한 DNS 요청이 UDP 포트 53으로 시도된 것을 확인할 수 있었습니다. 또한, 응답 내용에는 g.dns.kr, kr.doma, nic.or.kr 등 공인 DNS 네임서버 체계가 포함되어 있는 점을 보면, 정상적인 DNS 질의를 흉내 내는 통신 형태라는 점을 알 수 있습니다.
또한 해당 통신 패턴에서는 ja.localdomain과 같은 로컬 도메인 네트워크 브로드캐스트가 포함되어 있습니다. 이는 다음과 같은 가능성을 내포합니다.
- NBNS / LLMNR 프로토콜을 활용하여 내부 네트워크에서 자기 자신 또는 감염된 장비를 탐색합니다.
- 내부망 통신을 통해 감염 확산 또는 정보 수집 목적의 활동을 진행하는 정황일 수 있습니다.
2-5. Regshot
레지스트리 전후를 비교한 결과는 명확했습니다.
경로 | 분석 내용 |
Tracing\Wbt... | RAS 연결 로그 추적 관련. 원격 제어 또는 VPN 기반 활동의 흔적일 수 있습니다. |
SystemCertificates\AuthRoot | 인증서 관련 설정. 루트 인증서 위조 또는 조작 가능성이 있습니다. |
Explorer\FileExts, CIDSaveModules | 확장자 처리 방식 및 탐색기 동작 설정 변경이 가능합니다. |
Shell\Bags | 폴더 보기 기록. 특정 폴더 접근 또는 자동 열기 흔적입니다. |
2-6. Process Monitor & Process Explorer
- Bton02setup.exe가 실행되며 내부적으로 cmd.exe를 호출하는 것을 확인하였습니다.
- cmd.exe는 DelUS.bat 파일을 실행합니다.
- 이 명칭은 "Delete User Setting"의 약어로 추정되며, 사용자 흔적 제거 또는 사용자 정보 삭제의 가능성이 있습니다.
- 결과적으로 cmd를 통해 삭제 명령 또는 정리 작업이 수행된 것으로 보이며, 이는 흔히 자기 은폐(Self-deletion) 행위에 해당됩니다.
- Process Explorer를 통해 확인한 결과, cmd.exe는 총 5회 실행 중 단 한 번만 하위 프로세스로 나타났으며, 이는 탐지 회피를 위한 우회 동작일 가능성이 존재합니다.
2-7. Autoruns
실행 결과, 대부분의 자동 실행 항목에는 변경이 없었으며, 유의미한 흔적은 WMI 항목에서만 발견되었습니다. Windows Management Instrumentation(WMI)은 OS 전반에 걸친 시스템 관리, 애플리케이션 상태 모니터링, 네트워크 구성 및 보안 정책 적용 등에 사용되는 핵심 인프라입니다. 따라서 여기에 등록된 항목은 운영 체제와 밀접하게 연관된 실행 흐름과 관련이 있습니다.
문제의 항목에서 Image Path가 File not found: KernCap.vbs로 표시되었으며, 이는 해당 스크립트가 더 이상 존재하지 않는다는 뜻입니다. 이는 악성코드가 자기 삭제 또는 흔적 제거 목적으로 스크립트를 제거했을 가능성을 시사합니다.
실제로 이런 VBS 스크립트는 파일 복사 또는 실행, 백도어 설치, 레지스트리 변경, 사용자 계정 추가 그리고 자기 삭제 명령 포함 등이 가능합니다.
3. 결론 및 사전 대응방안
다각도 분석 결과, 해당 파일은 단순한 광고 프로그램을 가장한 트로이목마(Trojan)로 판단됩니다. 초기에는 정상적인 프로그램처럼 위장되어 실행되지만, 실행 이후 일련의 악성 행위를 통해 시스템에 영향을 끼치는 명확한 정황들이 포착되었습니다.
해당 파일은 다음과 같은 정황으로 인해 트로이목마적 성격을 강하게 갖습니다.
행위 | 세부 내용 |
위장 실행 | 무해한 설치 프로그램(bton02setup.exe)으로 위장되어 사용자 의심 회피 |
권한 상승 | requireAdministrator 플래그를 통해 UAC 우회, 관리자 권한으로 실행 |
레지스트리 조작 | RegOpenKeyExA, RegSetValue 등 API를 사용하여 레지스트리 수정 |
파일 생성 및 삭제 | DelUS.bat 실행을 통해 사용자 흔적 삭제 시도*.tmp, drwtsn32.log 등 생성 확인 |
추가 악성 설치 | nskSetup.exe 실행으로 추가 악성코드 다운로드 및 실행 |
명령어 실행 | cmd.exe 호출 후 스크립트 실행 (DelUS.bat)로 자가 삭제 수행 |
영속성 확보 시도 | Autoruns 분석에서 KernCap.vbs 스크립트의 WMI 등록 흔적 발견 |
그렇지만 대부분의 악성코드는 사후에는 대처가 거의 불가능합니다. 아래는 사전 대응을 주로 작성했습니다. 아래와 같은 경우만 검토하더라도 대부분의 악성코드를 회피할 수 있습니다.
구분 | 내용 |
1. 설치 파일은 반드시 공식 사이트에서만 | 프로그램을 설치할 때는 꼭 공식 홈페이지나 신뢰할 수 있는 경로에서 다운로드해야 합니다. 블로그나 이메일 첨부파일 등 출처가 불분명한 파일은 실행하지 않는 것이 중요합니다. |
2. 설치 전 디지털 서명 확인 | 설치 파일에 마우스 오른쪽 클릭 → 속성 → 디지털 서명 탭에서 정상적인 인증서가 있는지 확인하세요. 인증서가 없거나 의심스러운 경우 설치를 중단해야 합니다. |
3. 관리자 권한 요청 창(UAC)은 꼭 확인 | 설치 도중 관리자 권한 요청이 뜰 때, 정말 신뢰할 수 있는 프로그램인지 다시 한 번 확인하고 진행하세요. 습관적으로 ‘예’를 누르지 마세요. |
4. 컴퓨터에 이상한 창이 잠깐 떴다가 사라질 때는 주의 | 악성코드는 cmd 창이 잠깐 열렸다가 닫히는 식으로 동작할 수 있습니다. 이런 현상이 자주 보이면 보안 프로그램으로 정밀 검사를 진행하는 것이 좋습니다. |
5. 백신 및 보안 프로그램은 항상 최신으로 유지 | 무료 백신이라도 꼭 설치하고, 최신 업데이트를 유지하세요. 실시간 감시 기능이 켜져 있는지도 확인해야 합니다. |
'AI스쿨 리팩토링' 카테고리의 다른 글
17주차 - 악성코드 분석 보고서 (8) | 2025.07.08 |
---|---|
16주차 - 악성코드 샘플분석 2차 (0) | 2025.07.08 |
13주차 - 악성코드 샘플 분석 환경 구성 (0) | 2025.06.29 |
12주차 - 정적분석 & 동적분석 (4) | 2025.06.28 |
11주차 - VirusTotal (6) | 2025.06.24 |