Rocky 악성코드를 포함한 패킷 푼석

2021. 3. 1. 01:01정보보안/패킷 포렌식

Rocky 악성코드는 pdf, word 형식으로된 랜섬웨어 악성코드의 일종이다.

 

여기서는 PDF 형식의 악성코드 파일을 분석해본다.

(pdf-parser 도구를 이용해 악성 PDF 파일을 실행하지 않고 분석함)

pdf-parser.py
0.07MB

PDF 파일 포맷

PDF 파일의 포맷은 크게 Object, File Structure, Document Structure, Content Stream 까지 총 4개의

영역으로 분리되고 File Structure는 Header, Body, Cross-reference table, Trailer 4개로 구분된다.

 

Header - 헤더에서는 PDF의 버전 정보가 표시된다.

Body - 파일의 문서를 구성하는 Object를 포함한다.

Cross Reference table(optional) - 파일의 간접 Object가 포함되어 있는 상호 참조 테이블이다.

Trailer - 상호 참조 테이블과 파일 문서를 구성하는 특정 Object의 위치를 제공한다.

 

 

pd-parser 도구의 옵션

--version : PDF의 버전정보 표시

--stats : Object 구성 정보 확인

-o : 검색하고자 하는 Object 번호의 정보 확인

-k : 사전파일 검색을 할 수있는 key 옵션

 

 

pdf-parser.py 도구의 stats 옵션

맨 아래에 보면 /URI 1: 3 이라고 출력되는데

3번 Object에서 URI 정보가 존재한다는 의미이다.

 

pdfid 도구의 옵션

-e(--extra) : 날짜와 같은 추가 데이터를 표시한다.

-a(--all) : 모든 이름을 표시한다.

-d(--disarm) : 자바스크립트를 비활성화하고 자동 실행한다.

 

pdfid 도구를 사용하면 Object Type에 대한 내용을 확인할 수 있고 하단에 /URI 2 를 보아 2개의 URI 정보가

존재한다는것을 알 수 있다.

 

 

 

 

pdf-parser.py -o 3 SCAN_0502_4F16.pdf

→ @@@.pdf 파일의 3번 Object의 URI 정보를 출력

 

 

pdf-parser.py -k /URI SCAN_0502_4F16.pdf

→ URL type에 대한 값만 파싱하여 출력해줌

 

저 URI 주소는 아래에서 다루겠지만 3 번 Frame 과 같다.

 

 

 

먼저 pcap 파일을 packettotal에서 검사해보았다.

 

여러 탐지 포인트가 존재하며 맨 첫부분에 Possible Locky Payload 라는 Alert Signature가 보인다.

그리고 인텔리전스 탭을 가면

Malspam using PDF 라고 하는것으로 보아 악성 pdf 파일을 이용하는 것 같다.

 

 

 

 

 

먼저 네트워크 마이너를 통해 Files 탭에서 다운로드 받은 파일들을 확인한다.

7z 파일 하나와 cer 파일 여러개가 있는데 7z 파일이 의심스럽다.

와이어샤크로 6번 Frame을 확인해보면 다음과 같다.

/info/SCAN_0502_8A13.7z 파일을 다운로드하고 있는것을 볼 수 있고 이를 확인해보면

SCAN_0502_8A13.vbs 파일이 들어있다.

압축을 해제한 후 Hybrid-Analysis로 분석해본다.(절대 파일을 실행하지 않기) 

 

분석 결과 다음과 같이 위험하다고 결과를 알려주며 악성코드라고 생각하면 될 것 같다.

 

이 파일을 실행하지 않고 메모장, Notepad++ 등의 에디터로 열어보자

123번 라인에 Hacha라는 변수에 배열로 세 도매인 정보를 저장한다.

 

여기서 첫번째 배열값은 14번째 프레임과 관련이있는데

그리고 pcap 파일에서 14번째 프레임을 보면

 

fbi.com.sg//98ygubr5?에 접속시켜 어떤 파일을 다운로드 받게한다.

 

아래에 보면 MZ라는 매직넘버를 볼 수 있고 같은 라인 뒷부분에 This program cannot be run in DOS mode. 라고 적혀있는걸 보아 윈도우 실행파일()이라는 것을 알 수 있고 매직넘버를 검색해보면 다음과 같다.

매직넘버 MZ 1

 

매직넘버 MZ 2

하지만 PCAP을 네트워크마이너에서 봐도, 와이어샤크에서 봐도 EXE 파일은 존재하지 않는다.

그래서 파일 카빙툴인 foremost를 이용한다.

 

 

 

sudo apt-get install foremost 명령을 통해 foremost 도구를 다운받은 후

 

 

sudo foremost -T [pcap 파일명] 명령어를 수행하면 노란색 동그라미처럼 폴더하나가 생성된다.

<-T 옵션은 PCAP 파일 내 존재하는 exe 파일을 추출함>

 

 

생성된 폴더안에는 audit.txt 파일과 exe 폴더가 존재하고 audit.txt 파일은 다음과같이 00000009.exe 파일에 대한

로그 정보가 적혀있다. 

 

 

 

그리고 exe 폴더에는 00000009.exe 파일이 존재한다 

이 파일을 hybrid analysis 사이트에서 분석해보자.