관리 메뉴

HeeJ's

[05] Hancitor with Ficker Stealer, Cobalt Strike and NetSupport Manager RAT 본문

<Project>/<Network>_2021

[05] Hancitor with Ficker Stealer, Cobalt Strike and NetSupport Manager RAT

meow00 2021. 5. 13. 00:38

기본 웹 필터링 실행

패킷을 살펴보다 보면 www.premierpt.co.uk/footage.php도메인을 찾을 수 있다.

 

위의 .php로 끝나는 악성 wrod문서를 제공하는 URL을 찾기 위해 필터링을 진행하였다.

필터링의 내용은 HTTP GET 요청을 보내며 .php로 끝나는 도메인에 대한 패킷들을 찾아주었다.

 

Length가 582인 패킷의 HTTP stream을 따라가보았다.

 

saveAs에 대한 스크립트 함수 직후, 많은 양의 base64 텍스트를 확인했다.

이는 word 문서에 대한 악의적인 행동이라고 볼 수 있다.

 

base64 텍스트가 끝나는 지점에 '0202_10846666250132.doc'라는 파일을 저장하도록 하는 스크립트가 있다.

이 작업이 끝나면 url은 http://www.docusign.com/?download=0202_10846666250132.doc로 새로고침된다.  

 

[File] - [Export Objects] - [HTTP]

위에서 보았던 악성 스크립트를 .html 형태로 저장하기 위해 Export Objects 기능을 사용해주었다.

 

이를 웹 브라우저에서 열게되면 악성 word 문서를 저장하는 옵션이 포함된 팝업 메뉴가 뜨는 것을 확인할 수 있다.

웹 브라우저의 URL도 예상대로 변경되었음을 확인할 수 있다.

 

 

Ficker Stealer Infection 확인

 

 

Ficker Stealer에 대한 exe는 자체적인 악성이 아닌 api.ipify.org?/format=xml에 대한 IP 주소 검사를 발생시키기 때문에 위와 같이 필터링을 해주었다.

hostname이 api.ipify.org인 패킷을 찾을 수 있었다.

 

Ficker Stealer는 bobcatofredding.com에 대한 DNS 쿼리를 생성하고 TCP 포트 80을 통해 HTTP가 아닌 트래픽을 해당 도메인으로 보낸다. 이때 보내는 트래픽에는 감염된 Windows 호스트에서 도난당한 데이터가 포함되어 있다.

 

위의 필터링을 통해 bobcatofredding.com에 사용된 IP 주소를 찾아주었다.

bocatofredding.com에 사용된 주소는 8.209.78.68이다.

 

해당 IP 주소에 대한 TCP stream을 찾기 위한 필터링을 진행해주었다.

TCP  src 포트로 49800을 사용한 TCP 스트림을 확인하고 [Follow] - [TCP stream]을 진행해주었다.

 

3개의 클라이언트 패킷과 200개의 서버 패킷이 존재한다.

서버 패킷의 대부분이 인코딩되거나 난독화 되어있다.

그 중, Host가 bobcatofredding.com인 Client 패킷에서 /6lavfdk.exe 실행파일에 대한 GET 요청을 발견했다.

 

따라서 이를 확인하기 위해 ip 주소가 8.209.78.68이면서 hostname에 bobcatofredding이 포함된 패킷을 확인하기 위한 필터링을 진행하였다.

 

위에 나타난 것처럼 Hancitor가 Cobalt Strike 및 Ficker Stealer에 대한 후속 악성 코드를 보내는 것을 확인할 수 있다.

 

bobcatofredding.com - GET /0102.bin

bobcatofredding.com - GET /0102s.bin

bobcatofredding.com  GET /6lavfdk.exe

 

192.254.79.71:8080의 여러 프레임에 표시되는 것이 Cobalt Strike 프레임이다.

Cobalt Strike의 경우 /submit.php?id=를 포함하는 모든 HTTP POST 요청에 감염된 각 Windows 호스트에 대해 고유한 식별번호가 있는 것으로 보인다.

 

Cobalt Strike를 통해 전송된 멜웨어는 피해 호스트에서 디코딩되는 인코딩된 바이너리로 나타난다.

이 때문에 pcap에서 실제 악성코드 바이너리를 찾을 수 없기 때문에 전송된 후속 악성코드는 감염 후의 트래픽으로 식별할 수 있다.

 

 

상업적으로 사용 가능한 RAT(원격 접속 프로그램)인 NetSupportManager는 관리자가 클라이언트 컴퓨터에 원격으로 액세스하기 위해 사용된다. 그러나 소유자가 모르게 피해자의 컴퓨터에 설치하는 악의적인 행위자에 의해 악용되어 컴퓨터에 대한 무단 액세스 권한을 얻을 수 있다.

배포를 위해 공격자는 손상된 웹 사이트를 악용하고 RAT를 Adobe Flash, Chrome 및 FireFO를 비롯한 자주 사용되는 응용 프로그램의 가짜 업데이트로 가장한다. 사용자가 업데이트를 진행하게 되면 대부분의 Dropbox 링크에서 악성 JavasScript 파일이 다운로드 되는 방식이다.

 

이번 예제의 경우, NetSupportMnager RAT 멜웨어에 대한 지표를 찾아볼 것이다.

이 RAT는 먼저 geo.netsupportsoftware.com 도메인에 대한 IP 주소 확인을 수행한다. 그런 다음 HTTP 요청 헤더에서 사용자 에이전트 문자열의 일부를 NetSupportManager를 사용하여 트래픽을 생성한다.

 

NetSupportManager RAT C2 트래픽의 TCP 스트림

 

감염 트래픽 pcap에서 Hancitor의 활동과 후속 멜웨어를 식별하는 방법을 알아보았다.