2024. 4. 21. 23:21ㆍInformation Security 정보보안/Malicious Code Analysis 악성 코드 분석
배울내용:
LAB06-02.exe
IDA Pro
IDA 고급 정적분석
고급 정적분석 도구
디스어셈블 도구
실행프로그램 분석
악성코드 분석실습
정적 파일 분석도구
동적 파일 분석도구
automatic analysis
Malicious Code Analysis
고급정적분석 정리
분석파일 : Lab06-02.exe
기본 분석은 앞에서 많이 했기에 이제는 간단하게 답만 보이고 넘어가겠다 .
01.자동화 분석
71/39 Trojan
02.패킹 여부 확인
.text , C++ 6.0
03. PE구조 확인/컴파일 시간
5A4D PE 2011/02/02 21:29:05 UTC
04. 임포트 종류
05. 호스트/네트워크 기반 종류
InternetGetConnectedState
InternetReadFile
InternetCloseHandle
InternetOpenUrlA
InternetOpenA
WININET.dll
Error 1.1: No Internet
Success: Internet Connection
Error 2.3: Fail to get command
Error 2.2: Fail to ReadFile
Error 2.1: Fail to OpenUrl
http://www.practicalmalwareanalysis.com/cc.htm
Internet Explorer 7.5/pma
Success: Parsed command is %c
임포트에서는 유독 아래의 것들이 눈에 뒤였는데 아래것 뿐아니라
이함수들로 인해 아래의 출력이 나온걸 볼수있다
1.1: No Internet - 인터넷 연결 없음 (No internet connection)
2.3: Fail to get command - 명령을 받아오는데 실패 (Failed to retrieve command)
2.2: Fail to ReadFile - 파일 읽기 실패 (Failed to read file)
2.1: Fail to OpenUrl - URL 열기 실패 (Failed to open URL)
Success: Internet Connection - 인터넷 연결 성공 (Successful internet connection)
Success: Parsed command is %c - 분석된 명령은 %c 입니다 (Parsed command is %c)
여기까지 나온걸로 추측하면
InternetGetConnectedState 가
if문 으로
Error 1.1: No Internet
Error 2.3: Fail to get command
Error 2.2: Fail to ReadFile
Error 2.1: Fail to OpenUrl
Success: Parsed command is %c
등을 출력한다.
ReadFile 있으면 다운한다고 보면 될것이고
Parsing 이 있는걸봐서 크롤링을 해와서 특정한것을 추출해내는 행위도 있을것으로 본다
정확한걸 알려면 IDA Pro 를 이용하여 확인해봐야 할것 같다.
고급정적분석
IDA Pro
01 "Main" 함수가 호출하는 첫번째 서브루틴은 무슨 오퍼레이션을 수행하는가?
첫시작은 401000 부터 이다 그러니 그쪽부터 내려가보면
InternetGetConnectedState 가 뜬다 그리고 그 밑에는
이함수로 인해서 Success 또는 Error 등을 출력하는걸로 보인다.
02 "0x40117F" 에 위치한 서브 루틴은 무엇 인가?
Ctrl+ G 로 401117를 찾은뒤에 Ctrl + X 하면
다시 있던곳으로 가는걸 볼수있다
또한 아까 2개중 1개를 출력하는 걸봤으니 printf 함수 라고 볼수있다
03 "Main" 함수가 호출하는 두 번째 서브루틴은 무엇인가??
sub_401040
메인부분(401130) 에서 클릭후 View > Graphs > user xreh chart 로 가면 깊이 2 로설정해서 이렇게 볼수있다
04. 이 서브루틴에서 사용하는 코드 구조는 무엇인가.?
IF ELSE 구조 , 위에 사진처럼 jnz 에서 비교를한뒤에 loc_401148 또는 loc_40115C 로 이동한다
05. 이프로그램에서 네트워크 기반 행위가 존재하는가?
1) User_agent_pma 에 IE7.5 설정/사용
2) http://www.practic.... 요청
06. 이 악성코드의 목적은?
1) 인터넷 연결 여부 확인
2) User_Agent-pma 에 IE7.5 설정/사용
3) http://www.pac. 요청후
4) 파일다운로드 : cc.htm
5) 파싱 문자열 검색
6) 파싱성공유무 출력
==============================================================
고급정적분석 정리
분석파일 : Lab06.02.exe
01 "Main" 함수가 호출하는 첫번째 서브루틴은 무슨 오퍼레이션을 수행하는가?
InternetGetConnectedState
02 "0x40117F" 에 위치한 서브 루틴은 무엇 인가?
printf 함수
03 "Main" 함수가 호출하는 두 번째 서브루틴은 무엇인가??
sub_401040
04. 이 서브루틴에서 사용하는 코드 구조는 무엇인가.?
IF ELSE 구조
05. 이프로그램에서 네트워크 기반 행위가 존재하는가?
1) User_agent_pma 에 IE7.5 설정/사용
2) http://www.practic.... 요청
06. 이 악성코드의 목적은?
1) 인터넷 연결 여부 확인
2) User_Agent-pma 에 IE7.5 설정/사용
3) http://www.pac. 요청후
4) 파일다운로드 : cc.htm
5) 파싱 문자열 검색
6) 파싱성공유무 출력
==============================================================