Malicious Code Analysis DAY_016 LAB06-02.exe, IDA Pro IDA 고급 정적분석, 고급 정적분석 도구, 디스어셈블 도구, 실행프로그램 분석, 악성코드 분석, 실습정적 파일 분석도구, 동적 파일 분석도구, automatic a..

2024. 4. 21. 23:21Information Security 정보보안/Malicious Code Analysis 악성 코드 분석

728x90

배울내용: 

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) 파싱성공유무 출력 

 

 

==============================================================

 

 

 

 

 

 

728x90