리버싱/악성코드

기초 정적분석

ReIzEi 2023. 7. 6. 17:56

공통 DLL

Kernel32.dll

- 메모리, 파일, 하드웨어 접근과 조작과 같은 핵심 기능을 담은빈번히 공통으로 사용되는 DLL

 

Advapi32.dll

- 이 DLL을 이용하면 서비스 관리자나 레지스트리 같은 추가 핵심 윈도우 컴포넌트에 접근할 수 있다

 

User32.dll

- 버튼, 스크롤바, 사용자 행위 제어와 반응 컴포넌트 등 모든 사용자 인터페이스 컴포넌트

 

Gdi32.dll

- 그래픽관련 함수

 

Ntdll.dll

- 윈도우 커널 인터페이스, 이건 뭐라 설명하기가 힘들다

 

WSock32.dll

- 네트워크관련 작업을 수행한다

 

Wininet

- FTP, HTTP, NTP 같은 프로토콜을 구현한 상위수준의 네트워크  함수를 담고있다

 

 

- 윈도우가 업데이트되면서 업데이트한 신규 함수가 기존 함수와 같은 이름일 경우 Ex접미사를 붙인다

 

- 문자열을 인자로 전달받는 대다수 함수는 함수명 뒤에 A나 W를 붙인다.

 

 

<PE 파일 헤더>

 

.text

- CPU가 실행하는 명령어를 담고 있다.

 

.rdata

- 임포트와 엑스포트 정보

 

.data

- 프로그램의 전역 데이터 저장

 

.rsrc

- 이미지 메뉴 아이콘 문자열 등 같은 실행파일의 일부로 간주되지 않는 리소스

 

.reloc

- 라이브러리 파일의 재배치 정보

 

임포트

- 악성코드가 사용하는 다른 라이브러리 함수

 

익스포트

- 다른 프로그램이나 라이브러리가 호출할 수 있는 악성코드 내의 함수

 

Time Date Stamp

- 다른 프로그램이나 라이브러리가 호출할 수 있는 악성코드 내의 함수

 

섹션

- 파일 내의섹션명과 디스크와 메모리크기

 

서브시스템

- 프로그램이 커맨드라인 기반인지 GUI 애플리케이션인지 알려줌

 

 

<기초 정적 분석 실습>

 

https://github.com/mandiant/capa-testfiles

 

파일은 여기서 줏엇습니다

 

 

이 외계인 책 맞음

 

Lab01-01.exe 와 Lab01-01.dll 

1. 바이러스토탈에 업로드하고 보고서 관찰, 기존 안티바이러스 시그니처에 일치하는 파일이 존재하는가

 

<dll 파일을 올렸을 때>

 

70 개의 엔진 중 38개가 악성코드라고 진단

 

<exe 파일을 올렷을 때>

 

71 개중 54개의 엔진이 악성코드로 진단 했다

 

공통적으로 트로잔이라는 문구가 공통적으로 많이 보인다

 

 

2. 이 파일은 언제 컴파일 됬는가?

NT 헤더 부분을 보면 Time Data Stamp를 보면 알 수 잇따

2010/12/19 16:16:38 UTC가 dll이 만들어진 시간

 

2010/12/19 16:16:19 UTC 가 exe가 만들어진 시간

 

 

3. 이 파일이 패킹되거나 난독화된 징후가 있는가?

 

pe 분석 프로그램을 통한 결과, 패킹되있지는 않은 듯

 

<dll>

 

<exe>

 

그리고 임포트 함수목록에서 많은 함수들이 보이기 때문에 패킹되있지 않다고 판단

 

 

 

 

4. 임포트를 보고 악성코드의 행위를 알아낼 수 있는가?

 

<dll 파일>

 

dll파일의 임포트 목록, inet_addr, 소켓관련 함수들을 보니 소켓을 열어서 뭘 하든가 그런거 아닐까 추측해봅니다

 

 

exe 파일의 임포트 목록, 커널32.dll 에서의 임포트 목록을 보면 파일을 만들고 읽는... 그런(맞나?) 함수들이 보인다

 

특이 한점은 FindNextFile 등 find file 함수들인데 검색해보니 파일탐색기로 무슨 파일을 찾는 그런 함수라카다

 

 

 

 

 

5. 감염된 시스템에서 검색할 수 있는 다른 파일이나 호스트기반의 증거가 존재하는가

exe 파일의 문자열 목록 중 중간에 보면 kerne132.dll 이라는 파일이 보인다

 

밑에는 system32 안에 kerne132.dll 이라는 파일이 보이는데 앞에 create 파일같은걸 보면 system32 폴더 내에 

 

kerne132.dll 파일을 만드는 그런 악성코드가 아닐까 추측해본다

 

 

 

6. 감염된 장비에서 이 악성코드를 발견하기 위해 사용한 네트워크 기반의 증거는 무엇인가

 

<dll 파일>

dll 파일에 문자열들을 출력해보니 127.26.152.13 이라는 ip가 보인다 매우매우 수상

 

<exe파일>

참조 목록과 함수 등 뭐가 주르륵 나온다 마지막에 WARNING_THIS_WILL_DESTROY_YOUR_MACHINE 이라는 

 

문구가 보인다. 나는 악성파일이라고 광고중

 

 

 

7. 이 파일의 목적은 무엇이라고 판단했는가?

 

실행되면 프로세스를 만들고 같이 있는 dll 파일을 통해 백도어를 만들고 소켓 통신을 통해 위에 나온 ip로 통신한다던가

 

뭐 그런거 아닐까 생각해봅니다