posted by 블르샤이닝 2013. 7. 2. 15:17
728x90

온라인 게임 악성코드의 한 종류로 sys 파일 하나와 PE 파일이 아닌 파일 하나를 생성한다.


SYS 파일이 동작되면 PE 파일이 아닌 파일을 읽어오며, 해당 파일을 프로세스에 인젝션시킨다.


인젝션된 코드는 사이트 아이디 및 패스워드를 외부서버로 유출한다.


분석


1. NtCreateThread 를 후킹한다.

-SSDT hook



-hook main





2. NtCreateThread가 호출되는 경우 PE파일이 아닌 파일을 읽으며, 해당 바이너리를 특정 프로세스에 삽입한다.

-netware.eng 파일일 읽은 뒤 메모리에 복사한다.



-읽은 파일을 코드에 인젝션시킨다.



-NtWriteVirtualMemory API 를 이용하여 바이너리를 삽입한다. 



-explorer.exe 에 netware.org 파일을 인젝션시키는 화면이다. (핸들 값 0x5c8 / 버퍼 0x2910004 / 사이즈 0x1b000)



-netware.eng 파일을 PE 역활을 해 주는 shellcode를 인젝션시킨다. 실제로 이 shellcode가 먼저 동작하여 PE 역활을 끝내면, netware.eng 파일로 이동한다.

-shellcode 복사



-shellcode 인젝션




3. 인젝션 된 코드는 다음과 같은 위치에 존재한다.

-2개의 코드. PE 역활을 하는 쉘코드(0x00150000)와 netware.eng 파일(0x00130000) 




-PE 위치



4. PE 역활을 하는 쉘코드는 마지막에 netware.eng 의 EP로 이동시킨다.



5. UPX로 팩킹되어 있으며, 언팩을 한다.



6. 인젝션된 프로세스가 다음과 일치하는지 체크하며, 일치하는 경우 종료한다.



7. 인젝션된 프로세스가 다음과 일치하는지 체크하며, 경우에 따라 다른 행동을 한다.


8. 특정 사이트에 접근하는 경우 아이디 및 패스워드를 다음과 같은 주소로 전송한다.







 jeon.zip

728x90