본문 바로가기

30./32. Malware Analysis

[악성코드 분석] 키로거 분석 Keylogger



* 정적 분석



- 패킹 여부 확인





- 실행 파일 구조 분석




- 문자열 추출





- 실행 파일 내 Section 확인 (리소스 섹션이 암호화 되어있음)







- IDA를 이용하여 실행 구조 확인



- 특정 프로세스를 호출하는 모듈 확인




- 2번째 문락에 존재하는 call 명령어 확인





- 두번째 call sub_40132C를 확인하였을때 아래와 같은 프로세스가 실행이 되며 xor를 이용하여 특정 리소스를 복호화 하는 것을 확인





- 복호화된 파일 정보가 실행 파일로 생성되는 것을 확인




- 복호화된 실행파일이 메모리 api를 이용하여 적제








* 동적분석 시작


- Regshot을 이용하여 악성코드를 실행하기 전 Registor를 저장




- Process Explorer를 실행




- Process Monitor를 이용하여 실행파일 레지스트리, 프로세스 실행, 파일 쓰기와 같은 api 추적




- 악성 프로그램을 실행하여 Regshot에 저장된 정보 확인

악성 코드 실행시 특정 파일을 새로 생성하여 작성





- 해당 파일을 확인하면 텍스트 파일로 정보가 저장되어 있으며 키로깅 기능이 포함되는 것을 확인





- Process Monitor에서 실행한 악성파일이 사라진 것을 확인 후 특정 프로세스(svchost.exe) 가 종료되었다 실행됨을 확인





- svchost.exe 메모리에 적제된 프로세스의 string정보를 확인하면 키로깅에 많이 사용되는 api 및 키보드 정보를 확인 가능



- procsess Monitor를 이용하여 svchost.exe의 실행 정보를 추적하여 해당 악성코드가 키로깅한 정보 저장 위치를 확인




* 상세 분석


- 악성코드를 Ollydbg를 이용하여 실행






- 디버깅하며 정보 획득





- 디버깅하며 획득한 정보가 해당 악성프로그램에 있는 정보와 동일함을 확인





- IDA에서도 같은 정보를 확인하며 진행





- IDA에서 분석하여 특정 세션에 있는 정보를 복호화하는 함수 확인




- memcpy 기능 확인







- Ollydbg에서 해당 함수를 분석




- 복호화 작업





- 암호화되어있던 Secion Resource 위치를 메모리에서 확인




- 복호화 함수 확인




- 메모리에 적제된 복호화된 특정 파일을 확인



- 해당 특정 파일 추출



- 추출한 특정 파일을 IDA를 이용하여 분석. 해당 특정 파일이 키로깅을 확인




- 악성 프로그램에서 암호화된 Section Resource를 확인함 



- 악성 프로그램에서 암호화된 Section Resource를 추출



- 010 에디터를 이용하여 해당 resource 열람



- 암호화 키값은 xor함수 에서 확인 가능함 41h



- 분석 시 확인한 key값과 xor 연산



- MZ로 시작하는 실행 파일 획득



- Ollydbg에서 추출한 특정 실행 파일과 악성프로그램 Section에서 추출하여 복호화한 특정 실행 파일이 동일함을 확인




결론 해당 악성 프로그램은 실행하면, 악성프로그램의 4번째 Section에 암호화된 데이터가 xor연산 통하여 복호화하여 svchost.exe 실행파일에 후킹되어 실행되는 키로깅 프로그램

'30. > 32. Malware Analysis' 카테고리의 다른 글

동적 분석 기초  (0) 2014.05.31
기본 정적 분석  (0) 2014.05.31
OllyDbg, instruction 검색  (0) 2013.09.20
[take off] 악성코드 분석에 도움이 될만한 사이트 정리  (0) 2013.09.18
Malware Sample Search  (0) 2013.09.17