3.3 예제 2-1 Hancitor with Ficker Stealer and Cobalt Strike 트래픽 분석

 

[그림 24] 기본 필터링 진행

 예제 1과 같이 웹 트래픽을 빠르게 검토하기 위한 기본 필터 표현식을 사용해주었다.

[그림 24]에서 보듯이 필터링한 트래픽을 확인하던 중, docs.google.com 도메인이 포함된 트래픽을 발견했다. 앞서 진행했던 [그림 10]에서부터 [그림 17]까지의 과정을 거쳐 /commemorative.php를 통해 악성 Word 문서를 저장하는 옵션이 포함된 팝업 메뉴가 뜨는 것을 확인할 수 있다.

 

 악성 Word 문서가 다운로드 되면, 매크로가 활성화되어 Hancitor 초기 감염이 일어난다. 감염된 Windows 호스트는 api.ipify.org으로 IP 주소를 확인한다. 그 후, C2 트래픽을 유발한다. 202011월부터 Hancitor C2 트래픽의 URL은 항상 /8/form.php로 종료되었다. 따라서 HTTP POST URL/8/form.php로 끝나는 Hancitor C2 트래픽을 찾기 위한 필터링을 해주었다.

 

 

[그림 25] Hancitor C2 트래픽을 찾기 위한 필터링 진행

http.request.uri contains “/8/forum.php” or http.host contains api.ipify.org

 

 Hancitor C2 트래픽이 유발되었는지 확인하기 위해 /8/forum.php를 포함하는 요청 URI를 확인해준다. 그리고 Ficker Stealer에 대한 exe는 자체적으로 악성이 아닌 api.ipify.org/?format=xml에 대한 IP 주소 검사를 발생시키기 때문에 api.ipify.org를 포함하는 host 이름을 확인해주었다.

 

[그림 25]에 출력된 것들은 Hancitor C2 트래픽과 함께 Hancitor Ficker StealaerIP 및 주소이다.

 

api.ipify.org GET

anumessensan.ru POST /8/forum.php

api.ipify.org GET /?format=xml

 

 

[그림 26] Hancitor 후속 행위를 찾기 위한 필터링 진행

http.request.uri contains .exe or or http.request.uri contains .bin

 

실행 파일(exe, bin)을 요청으로 받는 URI를 필터링해 주었다. 이는 Hancitor에서 보낸 후속 Malware를 필터링한 것이다.

 

 그리고 [그림 26]에 나타난 것처럼 HancitorCobalt Strike Ficker Stealer에 대한 후속 악성코드를 보내는 것을 확인할 수 있다.

 

backupez.com GET /0902.bin

backupez.com GET /0902s.bin

backupez.com GET / 6yudfgh.exe

 

 Cobalt Strike에 대한 GET 요청 중 하나는 URLs가 있지만, 다른 하나에는 없다. 이런 경우, Cobalt Strike로 인한 HTTP HTTPS 트래픽이 모두 표시되어야 한다.

다시 웹 기본 필터로 돌아가서, backupez.com에 대한 트래픽 후 발생하는 HTTP 요청 유형을 확인했다.

 

 

[그림 27] 기본 필터링 진행

 그 결과, Cobalt Strike에 대한 TCP 포트 1080을 통한 HTTP 트래픽과 TCP 포트 4443을 통한 HTTPS 트래픽이 모두 표시된 것을 확인할 수 있다.

 

위의 그림에 표시된 Cobalt Strike로 인한 트래픽은 다음과 같다.

104.160.190.114 : 8080-GET / WWFh

104.160.190.114 : 8080-GET / fwlink

104.160.190.114 port 4443-HTTPS 트래픽

 

 

[그림 28] WWFh로 끝나는 HTTP GET 요청 트래픽 TCP Sream 확인

 WWFh로 끝나는 첫 번째 HTTP GET 요청은 Cobalt Strike에 사용되는 Windows 바이너리이다. HTTP 요청에 대한 TCP Stream을 확인해보니 base 64 방식으로 인코딩된 208,473byte 사이즈만큼의 데이터를 반환해 주는 것을 확인할 수 있다.

 

[그림 28]에서 보듯이, 첫 번째 HTTP 요청의 104.160.190.114:8080 / fwlink48byte의 인코딩된 데이터를 반환한다.

 

 또한, Cobalt Strike C2에 대한 HTTPS 트래픽은 TCP 포트 4443을 통해 104.160.190.114에 대한 트래픽이 약 1초에 한 번 나타나며, 사용량이 많은 것을 확인할 수 있다.

 

 

3.4 예제 2-2 Hancitor with Ficker Stealer and Cobalt Strike 트래픽 분석

 

 이 예제 파일은 예제 2-1과 같은 Hancitor 감염이 일어난 후의 상황을 다룬다. 따라서, 예제 2-1에서 봤던 Cobalt Strike C2 트래픽의 HTTP GET 요청을 볼 수 있다. 그러나 이 예제 pcap 파일은 Hancitor가 다른 Windows 실행 파일을 보냈으며 이 실행 파일이 Send-Safe 기반 Spam Malware라는 점이 다르다.

 

[그림 29] fwlink로 끝나는 HTTP GET 요청 트래픽 TCP Sream 확인

 

[그림 30] 기본 필터링 진행

 

[그림 31] Windows 실행파일을 찾기 위한 필터링 진행

http.request.uri contains .exe

 

backupez.com에 대한 또 다른 HTTP GET 요청을 확인할 수 있다. 이 도메인은 Hancitor가 후속 멜웨어를 동작시키는데 사용하는 도메인이다. URL47.exe로 끝난다.

 

 

[그림 32] Export Object 기능으로 HTTP 객체 확인

 

[그림 33] 47.exe 실행파일 저장

 HTTP object를 살펴본 결과, 47.exe 실행파일이 존재했다. Send-Safe는 지금은 없어졌지만 send-safe.com이라는 이름의 상업적인 프로그램으로 팔고 있다. 이 프로그램은 Windows 컴퓨터를 스팸봇의 호스트로 감염되게 할 수 있는 많은 위협 요소를 가진 맬웨어로 사용된다.

 

Send-Safe 스팸봇에 감염된 Windows 호스트는 다음의 트래픽을 생성한다.

 

UDP 포트 50026을 통한 31.44.184.47로의 트래픽

TCP 포트 50025를 통한 31.44.184.47로의 HTTPS 트래픽

Hancitor를 푸시하는 악성 스팸을 보내는 SMTP 트래픽*

 

SMTP(Simple Mail Transfer Protocol)은 전자 우편을 송수신하는데 사용되는 TCP/IP 프로토콜이다. 일반적으로 POP3 또는 IMAP(Internet Message Access Protocol)와 함께 사용되어 메시지를 서버 메일함에 저장하고 사용자를 위해 서버에 주기적으로 메시지를 다운로드 한다.

 

[그림 34] UDP 트래픽 찾기 위한 필터링 진행

udp.port == 50026

 

Send-Safe UDP 트래픽을 찾기 위해 위와 같은 필터 표현식을 사용해주었다.

 

 

[그림 35] HTTPS, SMTP 트래픽 찾기 위한 필터링 진행

(tcp.port == 50025 and tls.handshake.type == 1) or smtp.data.fragment

 

Send-Safe HTTPS 트래픽 및 SMTP 트래픽을 보기 위해 위와 같은 필터 표현식을 사용해주었다.

 

 

[그림 36] HTTPS 트래픽의 Send-Safe 관련 인증서 발급자 데이터 확인

tls.handshake.type == 11 and ip.addr == 31.44.107.47

 

 TCP 포트 50025를 통한 HTTPS 트래픽에서 [그림 36]와 같이 Send-SafeorganizationName commonName으로 사용하는 인증서 발급자 데이터가 존재함을 확인했다.

 

그리고, 예제 2-2pcap에선 SMTP 트래픽이 암호화되지 않았으므로, 와이어샤크를 사용하여 이메일을 추출할 수 있다.

 

[그림 37] IMF 객체 확인
[그림 38] Export Object 기능으로 IMF 객체 확인

 IMFInternet Message Format 으로, 텍스트가 인터넷을 통해 전송되는 형식이다. SMTP가 메시지 봉투라고 한다면, IMF는 봉투 안에 있는 편지라고 비유할 수 있다.

예제 2-2 pcap에는 167개의 IMF 객체가 있었고, Send-Safe에 감염된 Windows 호스트에서 초당 수십개의 메시지가 전송됨을 확인할 수 있다.

 

[그림 39] 메일 하나를 저장하여 내용을 확인

 [그림 37]의 이메일 객체 중 하나를 저장하면 eml 파일을 얻을 수 있는데, 이를 열어 <a> 태그로 docs.google.com/document/d/e/... 형식의 주소가 링크화 된 것을 확인할 수 있다. 이 링크는 메일의 본문에 포함되어 있고, 이 링크를 클릭하면 취약한 word 파일이 열리며 앞서 진행됐던 것들과 유사한 방식으로 Hancitor 감염이 시작된다.

 

'Project > Network' 카테고리의 다른 글

Hancitor Analysis by Wireshark (4)  (0) 2021.08.19
Hancitor Analysis by Wireshark (2)  (0) 2021.08.19
Hancitor Analysis by Wireshark (1)  (0) 2021.08.19
DNS Spoofing 공격 & 차단 방법  (0) 2021.06.15

+ Recent posts