실습 환경
운영체제 : Windows XP
가상화 : Vmware Workstation 12
도구 : PEView , ProcMon , IDA Pro , Strings
먼저 기초 정적 분석으로 PEView 도구를 사용하여 GINADLL과
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 문자를 찾을 수 있었습니다.
그러하여 GINA 가로채기 악성코드라 짐작할 수 있었습니다.
그림 2-1 과 2-2를 보고 임포트 함수에는 Register를 변경하는 임포트 함수와 악성코드를 실행시킨 후에 ProcMon으로 본 결과 GinaDLL에 msgina32.dll 경로를 삽입하는 것을 볼 수 있습니다.
IDA pro를 사용하여 Lab11-01 파일을 확인하면 서브루틴이 0x401000과 0x401080 이 존재하는데 0x401000은 레지스트리 값 설정하는 함수인 것을 알았지만 0x401080 서브루틴은 정확히 어떤 행위를 하는지 알지 못하였습니다.
msgina32.dll 분석
msgina32.dll 을 Strings로 결과를 본 결과 그림 4-1 그림과 같은 결과 나왔습니다.
레지스트리 winlogon에 경로와 로그 메시지로 보이는 문자를 담고 있는데 이 악성코드가 GINA를 가로채는 악성코드라면 사용자 계정을 로깅하는 데 사용할 수 있습니다.
그리고 Wlx라는 접두사로 시작하는 많은 함수를 볼 수 있는데, 이 함수들은 GINA를 가로채기 위해서 필수적인 함수들을 이 DLL이 가지고 있다는 것으로 알 수 있다.
다른 함수들은 정확히 판단 하지 못하였지만 LoadLibrary 호출을 통해 윈도 시스템 라이브러리 내의 msgina.dll를 가져온다는 것을 알 수 있었다.
(참고 : msgina.dll는 GINA를 구현한 윈도 DLL인 반면 msgina32.dll는 악성코드 제작자가 GINA를 가로채는 DLL입니다.)
정리 : LAb11-01.exe 파일은 GINA를 가로채는 설치 코드이고, 이 악성코드는 시스템에 DLL을 드롭해서 시스템 재부팅 후 사용자 계정을 탈취하는 악성코드임을 알 수 있습니다. 그리고 msutil32.sys.로 계정을 로깅합니다.
'악성코드 분석 > 리버스 엔지니어링' 카테고리의 다른 글
패킹과 언패킹 (0) | 2020.04.10 |
---|---|
레나 리버싱 17 강 일련번호 생성 로직 분석 (0) | 2020.04.08 |
[악성코드 분석] 리버스 엔지니어링이란? (0) | 2019.12.20 |