IAT를 보면 레지스트리 조작, 서비스 조작 등을 수행한다는 사실을 쉽게 파악할 수 있다. 또한 디바이스 드라이버, 디렉터리 관련 API를 많이 사용하는 것으로 보아 디렉터리 조작 등의 추가적인 수행이 있을 것으로 보이며, 리소스로부터 exe 파일을 드로핑하여 실행할 것으로도 추측할 수 있다. 파일 내부에는 CreateProcessA는 보이지 않는데 이런 추가적인 실행은 ShellExecureA를 통해서 할 것으로 추측된다.
기초 동적 분석
SysAnalysis 에 파일을 올리고 Start
현재 실행중인 프로세스는 단 한개.
PPID 720 -> Hex 값으로 2D0
Logging을 살펴보면 기존 PID(2D0)와 hex 값(1CC)이 다른 것을 확인할 수 있고
svchost는 여기서 실행된 것이 아님을 알 수 있다.
Open Ports를 보면 해당 프로세스가 4개의 포트를 열고 있다
Process DLLs : dll이 실행될 때 scvhost.exe도 실행이 된다
Reg Monitor : 레지스트리 값이 변경됐음
Directory Watch data : 레지스트리 값을 생성/변경함을 확인할 수 있음(용량이 크므로 dll이 아닐까 추정)
Mutex : PID에 해당하는 뮤텍스가 몇개 있지만 악성코드 인지 파악 불가
Pipes : 파이프 등록(net?뭐시기니까 인터넷 사용하는 것이 아닐지 추측)
SYSTEM 디렉토리에 64to32.dll을 만들어 서비스에 등록하고(scvhost.exe) 이 dll이 네트워크 파이프를 통해 통신을 한다.
: Windows 용 Network Forensic Analysis Tool(NFAT) : 운영체제, 세션, 호스트 이름, 열린 포트 등을 검색하기 위해 수동 네트워크 스니퍼/패킷 캡처 도구로 사용 : PCAP 파일에서 전송 된 파일 및 인증서를 다시 생성/재구성 함 : 고급 네트워크 트래픽 분석을 쉽게 수행해줌 : 웹 사이트에서 네트워크를 통해 스트리밍이 되는 미디어 파일을 추출하고 저장하는데 사용되기도 함
NetworkMiner
NetworkMiner를 사용하니 많은 파일들이 복구된다. 여기서 Message 탭을 들어가보겠다.
이들의 대화 내용이 보이고, 비밀번호(S3cr3tVV34p0n)가 나와있다.
뭐에 대한 비밀번호지?
마지막 메세지
마지막 메세지를 살펴보면 DCC SEND 프로토콜을 이용하여 소통한 것임을 알 수 있다.
DCC(Direct Client-to-Clinet) : IRC와 관련된 하위 프로토콜로 파일을 교환할 때 사용(단말기-단말기 통신을 위해 사용)
DCC CHAT <protocol> <ip> <port> : ip와 port는 발신자의 것이며 정수로 표시
DCC SEND <filename> <ip> <port> <file size>
결국, 819,200 byte 크기의 '3nd3zv0us;라는 파일을 1024번 포트를 통해 보냈다는 것을 알 수 있다.
비밀번호는 이 파일에 대한 것이겠지?
TCP Stream
TCP Stream에서 819KB 크기를 가지는 패킷만 선택하여 파일을 저장해준다.(복구)
※ 저장 시 주의!! Show data as 저 부분을 Raw로 설정한 후 저장해야 한다※
이 파일은 헤더 시그니처가 존재하지 않고비밀번호
와 연관된 파일이란 특징을 생각해봤을 때,
TrueCrypt로 암호화된 파일이라고 추측된다.
트루크립트(TrueCrypt) : 실시간 파일 암호화(on-the-fly encryption (OTFE))를 지원하는 응용 소프트웨어
복구한 파일을 올리고 저장소 선택, Mount 클릭그러면 이렇게 비밀번호를 입력하는 창이 뜬다