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

예제 1과 같이 웹 트래픽을 빠르게 검토하기 위한 기본 필터 표현식을 사용해주었다.
[그림 24]에서 보듯이 필터링한 트래픽을 확인하던 중, docs.google.com 도메인이 포함된 트래픽을 발견했다. 앞서 진행했던 [그림 10]에서부터 [그림 17]까지의 과정을 거쳐 /commemorative.php를 통해 악성 Word 문서를 저장하는 옵션이 포함된 팝업 메뉴가 뜨는 것을 확인할 수 있다.
악성 Word 문서가 다운로드 되면, 매크로가 활성화되어 Hancitor 초기 감염이 일어난다. 감염된 Windows 호스트는 api.ipify.org으로 IP 주소를 확인한다. 그 후, C2 트래픽을 유발한다. 2020년 11월부터 Hancitor C2 트래픽의 URL은 항상 /8/form.php로 종료되었다. 따라서 HTTP POST URL이 /8/form.php로 끝나는 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 Stealaer의 IP 및 주소이다.
⦁api.ipify.org – GET
⦁anumessensan.ru – POST /8/forum.php
⦁api.ipify.org – GET /?format=xml

http.request.uri contains .exe or or http.request.uri contains .bin
실행 파일(exe, bin)을 요청으로 받는 URI를 필터링해 주었다. 이는 Hancitor에서 보낸 후속 Malware를 필터링한 것이다.
그리고 [그림 26]에 나타난 것처럼 Hancitor가 Cobalt Strike 및 Ficker Stealer에 대한 후속 악성코드를 보내는 것을 확인할 수 있다.
⦁backupez.com – GET /0902.bin
⦁backupez.com – GET /0902s.bin
⦁backupez.com – GET / 6yudfgh.exe
Cobalt Strike에 대한 GET 요청 중 하나는 URL에 s가 있지만, 다른 하나에는 없다. 이런 경우, Cobalt Strike로 인한 HTTP 및 HTTPS 트래픽이 모두 표시되어야 한다.
다시 웹 기본 필터로 돌아가서, backupez.com에 대한 트래픽 후 발생하는 HTTP 요청 유형을 확인했다.

그 결과, 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 트래픽

WWFh로 끝나는 첫 번째 HTTP GET 요청은 Cobalt Strike에 사용되는 Windows 바이너리이다. 이 HTTP 요청에 대한 TCP Stream을 확인해보니 base 64 방식으로 인코딩된 208,473byte 사이즈만큼의 데이터를 반환해 주는 것을 확인할 수 있다.
[그림 28]에서 보듯이, 첫 번째 HTTP 요청의 104.160.190.114:8080 / fwlink는 48byte의 인코딩된 데이터를 반환한다.
또한, 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라는 점이 다르다.



http.request.uri contains .exe
backupez.com에 대한 또 다른 HTTP GET 요청을 확인할 수 있다. 이 도메인은 Hancitor가 후속 멜웨어를 동작시키는데 사용하는 도메인이다. 이 URL은 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)와 함께 사용되어 메시지를 서버 메일함에 저장하고 사용자를 위해 서버에 주기적으로 메시지를 다운로드 한다.

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

(tcp.port == 50025 and tls.handshake.type == 1) or smtp.data.fragment
Send-Safe HTTPS 트래픽 및 SMTP 트래픽을 보기 위해 위와 같은 필터 표현식을 사용해주었다.

tls.handshake.type == 11 and ip.addr == 31.44.107.47
TCP 포트 50025를 통한 HTTPS 트래픽에서 [그림 36]와 같이 Send-Safe를 organizationName 및 commonName으로 사용하는 인증서 발급자 데이터가 존재함을 확인했다.
그리고, 예제 2-2의 pcap에선 SMTP 트래픽이 암호화되지 않았으므로, 와이어샤크를 사용하여 이메일을 추출할 수 있다.


IMF란 Internet Message Format 으로, 텍스트가 인터넷을 통해 전송되는 형식이다. SMTP가 메시지 봉투라고 한다면, IMF는 봉투 안에 있는 편지라고 비유할 수 있다.
예제 2-2 pcap에는 167개의 IMF 객체가 있었고, Send-Safe에 감염된 Windows 호스트에서 초당 수십개의 메시지가 전송됨을 확인할 수 있다.

[그림 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 |