forgetissimo 2023. 10. 24. 15:31
728x90

쉘코드란

 : 주로 sw 취약점을 공격하는 익스플로잇의 페이로드.

 

msword.exe > loader로 시스템에 적재 > DLL 로딩(참조해야할 함수들 kernel32.dll, user32.dll) > 바인딩 > 스택버퍼, 청크에 메모리 확보 > 디코딩

 

쉘코드 관련 라이브러리 함수

파일 디코딩 - CreateFileA(), ReadFile()

DLL로드 - LoadLibraryA()

네트워크 통신 - socket(), HTTPOpenRequest()

프로세스 - Process32First()

코드 인젝션 - VirtualAllocEx()

 

yara룰로 API hash 분석

패턴매칭

> yara64 -r c: \Tools\Yar a_Rules\API_Hash\api _hash_ror13add.yara analyzer.bin
-r : yara 룰 지정
analyzer.bin이란 파일을 ror로테이션 룰로 패턴매칭

HttpOnlyRequest가 있는것으로 보면 해당 쉘코드는 네트워크 통신한 것으로 확인

virtualAlloc, InternetConnectA, InternetOpenA, InternetReadFile은 인터넷 연결을 통해 받은 데이터를 메모리에 적재

 

 

 

 

참고

https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualalloc