악성코드 분석 4 - dropper

악성코드 및 포렌식|2021. 2. 3. 15:44

동적분석

 

메모리 덤프

메모리 포렌식

정적분석

 

동적분석을 위해서

sysanalyzer를 window xp에 바이러스 파일을 넣어서 진행을합니다.

 

 

저번처럼 확인해 보니까 sniffhit의  요청에보면 no-cache 저번에했던게 존재한다.

 

 

 

검사하니까 sniffhit에서는 이런게 있었고

dns 요청도 있었고 server 가 저기 나오는걸보면 좀의심이가네요

 

 

 

 

그리고 여기보면 malware4.exe가 삭제가 되는것도 나와잇습니다.

 

 

 

 

 

악성코드 분석 4

 

악성코드 실행 로직을 분석하라

- malware4를 실행하면 새로운 파일(XXXXXXXXX.exe)을 생성하고 기존 malware4

삭제된다. 따라서 malware4는 진짜 악성코드를 생성하기 위한 dropper 역할을 한다.

 

악성코드를 sysanalyzer로 실행을 하면서

잘보니까 정말  malware 4가 파일 내부에서 삭제가됫습니다.

 

 

 

이런게 있고

 

 

 

포트를 사용하긴 하는거같습니다.

 

msident logon이란게 존재했고

 

 

 

 

 

1.malware4.exe 실행

2.zaa.exe 생성 및 서비스 등록

 

3.malware4.exe 삭제

 

 

 

 

악성코드를 만들어내고 자기자신을 삭제하는 것을 

dropper 라고 합니다.

내부에서 끄집어내서 만드는

 

 

웹접속이많으니까 이제 네트워크 포렌식으로 진행합니다.

wireshark 로 캡쳐를 하고

 

sysanalyzer를 다시실행해줍니다

 

 

 

 

47.75.42.25가 의심이가니까 

 

 

wireshark로 확인을 하고 pcap파일을저장을하고

 

 

 

 

 

 

dumpit을 뜹니다.

 

 

 

 

 

 

===================================

 

 

 

그리고 일단 메모리 덤프를 진행해봅니다

 

 

그리고 메모리 포렌식으로 한번 진행해봅니다.

 

 

 

 

 

 

vol.exe -f 4.raw pstree

 

아까 1624에 수상한게있어서 한번 검사를해봅시다

 

 

 

vol.exe -f 4.raw malfind -p 1624

 

 

 

 

mz 실행파일이 숨겨져있는거같은데 한번 덤프를 떠봅시다.

 

 

 

 

vol.exe -f 4.raw procdump -p 1624 --dump-dir=./

 

이파일을 virus total에 넣어보게 되면 바로 바이러스라는 것도 알수있었습니다.

 

 

 

또 여기에 2852 라는것도있는데

 

 

vol.exe -f 4.raw filescan > 4.txt

filescan으로 찾아봅니다.

0x00000000a0f90d0

 

 

 

vol.exe -f 4.raw dumpfiles -Q 0x00000000a0f90d0 --dump-dir=./

 

로 저파일을 추출해봅시다.

 

 

그리고 virus total에 집어넣게되니깐

 바이러스가 넘쳐났고

 

 

메모리포렌식으로 바이러스들을 탐지해봤습니다.

 

 

=====================================================

 

 

malware4.exe 를 ida로 엽니다.

 

upx.exe -d Malware4.exe -o Malware4_unpacked.exe

 

 

malware4.exeWriteProcessMemory를 분석하라

 

- IDA - import - WriteProcessMemory를 검색하면 함수가 정의된 부분은 있지만,

호출하는 부분은 찾을 수 없다. sysanalyzer에서 WriteProcessMemory가 실행

되었으므로, 해당 악성코드를 정확히 분석하려면 unpacking을 실시해야 한다.

 

 

- OLLY - 명령어 검색(ctrl g) - WriteProcessMemory를 찾아가서 breakpoint 설정 후

1 step 실행하면 스택에 call to 437C82가 보인다.

- 437C82WriteProcessMemory(unpacking) 호출부분으로, unpacking

코드를 확인 가능(ctrl a)

 

파일을 생성하는 부분을 찾아라

- IDA - CreateFileW - OLLY에서 CreateFileW 검색 후 breakpoint

- XXXXXX.exe를 찾을 수 없다. 중간에 tmp 파일에서 exe를 생성하는 것으로 추측

기존 파일을 삭제하는 부분을 찾아라

- IDA - DeleteFileW - OLLY에서 DeleteFileW 검색 후 breakpoint

- malware4를 삭제하는 대신 tmp파일을 삭제한다. 따라서 tmp파일에서 malware4 삭제

 

 

레지스트리에 등록하는 부분을 찾아라

- IDA - RegCreateKeyExW - OLLY에서 RegCreateKeyExW 검색 후 breakpoint

 

악성코드 내장함수가아니라

윈도우 dll 내장함수를 호출하는 형태들이라고 생각하면됩니다

 

 

 

 

ida는 한줄한줄 실행되는 것처럼 보이지만

olly debug 코드를 한줄한줄 실행시켜주는 겁니다.

 

이것은 어려우니 일단 다음에 진행합니다.

댓글()