Lab01-01.exe, Lab01-01.dll파일을 사용한다.
직접 바이러스토탈사이트에 가서 올리면 된다.

Creation Time을 보면 됨


1) 오픈뮤텍스: 동시적으로 실행할 수 없도록 제어함, 노트패드는 2개가 같이 실행 될 수 있다. 그러나 카카오톡은 창이 2개가 뜨지 않음(단일 프로세스)
악성코드도 이거 사용함, 뒤에서 다운로드 수행하려면 뮤택스관련함수 필요함
이거만 가지고 너 악성코드야 라고 판단하기에는 부족하다.
2) Sleep은 잠깐 쉬는거
Connect로 연결되면 shutdown하거나 이런 명령어가 있을 수 있음
Connect될때 까지 기다리기 위해서 Sleep이 쓰임(후속동작 기다리기 위한 목적)

3) 이것은 윈도우즈 소켓관련 dll파일이다.
네트워크 연결과 관련됨
소켓이라는 것을 통해서 연결 동작을 함
dll파일이기에 exe파일 동작하고 dll파일이 동작한다.
lab-01-01의 exe파일도 확인해야한다.
따라서 exe파일의 IAT 정보 본다.

4) IAT 정보 보면
다 파일을 접근한다거나 파일을 읽거나 생성하는 함수를 사용함
분명 파일 생성함
MapViewOdFile : 공간들을 확인하는 과정
CreateFileMappingA : 더한다
파일만드는거 확인하려면 동적분석하거나 문자열 검사하자!
정확하게 파악하기위해서는 MSDN을 봐야함!
-> 문자열 정보를 봐야함
1) exe파일, dll 파일전부 PEStudio에 올린다.
2) strings로 들어간다.
strings랑 IAT랑은 명백하게 다르다.
문자열 정보들을 보면 IAT정보들이 포함될 수 밖에 없는 구조임
컴파일이 아무리 되어도 IAT정보들이 문자로 남아있을 수 밖에 없음
문자열정보는 IAT + 문자로써 exe파일안에 악성코드행위하는게 남아있음
3) 수상한 문자열 확인(악성코드 확인)

파일을 실행한 후에 시스템을 망가뜨림

Kernel32.dll은 정상임 그런데 자세히 보면 kerne132.dll임

Lab01-01.exe -> IAT 함수(프로그램실행, 생성) -> kerne132.dll을 생성함(Lab01-01.dll)


connect하고 inet addr 이 2개가 IP주소를 커넥팅하는 역할을 한다.
그렇지만 도메인 주소는 찾을 수 없었다.
IP 주소를 Copy할 필요성이 있음 -> 이거를 바이러스토탈에 넣어도 확인 가능함

UPX로 패킹되어있음
UPX를 가지고 분석해야할때는 문자열정보들이 제한되어있음
IAT, 문자열 정보들도 잘 나와 있지않음

지금 확인할 수 있는 것은 서비스들 등록하기 위한 목적인 (CreateServiceA)가 있다.

upx를 복호화를 하면 exe파일이 나온다. 이거를 분석할 것임(앞에서 함)

그리고 인터넷도 연다.(InternetOpenUrlA)
URL 정보에 접속한다.(광고목적일수도 있음)
운영체제 서비스에 등록 -> 실행 -> URL 오픈 -> 광고프로그램

오픈 브라우저 후에 동작을 빠져나온다.
그러나 우리가 복원한 exe에서 strings 보면 다 나온다.

Openurl이 malware주소로 접속한다. -> 계속적으로 동작시키기 위해 서비스에 등록한다.
services.msc라는 등록페이지 보면 악성코드 실행시키면 분명 등록한다.

아마 이 MalService가 서비스 등록하는 애들일 확률이 높음
추측을 할 수 있다.
운영체제 서비스 등록(MalService) -> 실행 -> URL 오픈 -> 광고프로그램(malwarebook.com)
그러면 관리자 권한으로 실행했을때 MalService가 Services에 올라가 있는가?

올라가 있는 것을 볼 수 있다.
Lab01-01.exe, Lab01-01.dll파일을 사용한다.

PEStudio에서도 열어보자!

똑같이 2019년도로 나오는 것으로 보아 stamp가 조작되었다.

2) resource
악성코드에서는 Resource에다가 숨겼다가 가져오는 원리임
윈도우 GUI는 모두가 Resource를 가지고 있다.
이러면 Resource파일 확인해야함
3) file
GetTempPathA : 이거는 사용자들이 사용하고 있는 temp파일 폴더(사용자마다 임시적) 모든 권한들이 부여된 디렉터리에 가서 파일을 생성해야함
4) execution
WinExec: 리소스파일에서 가져온것을 또 실행해야함
5) dynamic-library
프로세스들을 실행한다는것은 API정보를 또 가지고 와야함
정리: 리소스파일 -> exe파일 다운로드 및 생성(Temp) -> WinExec -> exe(dll) : dll의 동적라이브러리 파일도 가지고 와야함



이 파일을 01_04_resource.exe라는 이름으로 dump한다.

미스터리: IAT정보를 보면 Address URL주소에 접속하는애가 없다.
updater.exe를 다운로드 받는 역할하는 API정보가 없다.
아무래도 Resource파일안에 있을 것이다.
즉 Resource파일 통해서 updater.exe를 다운받고 이것을 temp파일에 저장할 것이다.

URLDownloadToFile : 누군가가 다른애를 통해서 실행할것이다.
1) imports

GetWindowsDirectoryA로 디렉터리정보 확인함
URLDownloadToFileA로 파일 다운로드 받는다. (URL은 01_04.exe파일에서 PATH 정보를 가지고 옴)
GetTempPathA로 저장한다.
그리고 WinExec로 실행한다.
2) strings

이제 확실히 보이기 시작한다.
updater.exe를 / 앞에서 다운받는다.
GetTempPath :

GetTemp있으면 여기 저장되는구나...
인터넷에서 다운로드 파일은 보통 여기 저장된다.

숨김파일 보기 해야함
정리: 01-04.exe -> 리소스파일 exe 실행 -> URL접속 및 다운로드(practicalmalwareanalysis.com/updater.exe)-> exe파일 다운로드 및 생성(Temp) -> WinExec -> exe(dll) : dll의 동적라이브러리 파일도 가지고 와야함
따라서 이 악성코드는 1) 드로퍼형식악성코드(리소스 파일에 들어가 있음) 그리고 2) 다운로드형 악성코드가 섞여있다.