채용 메일을 위장한 피싱 공격 정황 사례 분석 (BeaverTail, Tropidoor)

채용 메일을 위장한 피싱 공격 정황 사례 분석 (BeaverTail, Tropidoor)

2024년 11월 29일 Dev.to라는 이름의 개발자 커뮤니티에서 다음과 같이 채용 공고 메일을 위장해 악성코드를 유포하는 사례가 공개되었다. [1] 해당 사례에서 공격자는 프로젝트가 포함된 BitBucket 링크를 전달하였으며 피해자는 프로젝트 내부에 악성코드가 포함된 것을 확인하고 커뮤니티에 공개하였다. 프로젝트 내부에는 “tailwind.config.js”라는 이름으로 존재하는 BeaverTail 악성코드와 함께 “car.dll”이라는 이름의 다운로더 악성코드가 있었다.

Figure 1. 개발자 커뮤니티에서 공개된 공격 사례

현재 링크에서 다운로드는 불가하지만 VirusTotal에서는 “car.dll” 다운로더와 BeaverTail을 포함하는 압축 파일들이 존재하여 해당 파일을 기반으로 분석한 결과 “car.dll”의 실행 로그와 BeaverTail의 실행 정황이 국내에서도 확인되었다. BeaverTail은 해외에서 북한 기반의 공격자들이 사용하는 것으로 알려진 악성코드로서 정보 탈취 및 추가 페이로드를 다운로드하는 기능을 담당한다.

“car.dll” 다운로더는 백도어를 다운로드하는데 윈도우 명령어들을 내부에 구현한 것이 특징이다. 이러한 방식은 과거 ESET 보고서에서 공개한 Lazarus 그룹의 LightlessCan 악성코드와 유사하다.

 

1. 공격 정황

VirusTotal에서 확보한 프로젝트 파일 내부에는 다음과 같이 다운로더 악성코드인 “car.dll”과 BeaverTail 악성코드이자 다운로더를 실행하는 기능을 담당하는 “tailwind.confg.js” 파일이 존재한다. 참고로 또 다른 압축 파일에는 유사한 BeaverTail과 함께 동일한 다운로더가 확인되었는데 “img_layer_generate.dll”라는 이름으로 유포되었다.

Figure 2. 프로젝트 파일 내부

BeaverTail은 주로 해외에서 링크드인과 같은 채용을 위장한 피싱 공격 사례에서 유포되는 것으로 알려져 있는데 국내에서도 연관 사례가 확인되기도 하였다. 위의 사례 또한 해외 사례이지만 국내에서도 연관 로그가 확인되는 것이 특징이다. 설치 경로도 해당 포스팅에서 언급한 것과 유사하게 “autopart” 키워드가 포함된 “%SystemDrive%\0_***workfile\_work\autosquare\autopart\car.dll”인 것을 보면 동일 사례로 추정된다.

 

igure 3. 다운로더 악성코드 실행 로그

이외에도 다운로더가 설치된 시스템에서 다음과 같이 몇 분 후 BeaverTail로 추정되는 로그가 확인되기도 하였다. Curl을 이용해 다운로드한다는 점과 다운로드되는 파일의 이름인 “p.zi”와 “p2.zip”은 BeaverTail의 알려진 행위이다. [2] 그리고 다운로드 주소도 2024년 11월 Zscaler에서 공개한 BeaverTail 관련 보고서에서 언급된 주소와 동일하다.  

 

2. BeaverTail

“tailwind.config.js”라는 이름의 JavaScript 악성코드는 난독화된 루틴과 동일 경로에 위치한 “car.dll”을 실행하는 루틴이 함께 포함되어 있다.

Figure 4. 난독화 루틴 및 car.dll 실행 루틴

난독화된 루틴은 인포스틸러 및 다운로더 기능을 수행하는 BeaverTail 악성코드로서 웹 브라우저를 대상으로 자격 증명 정보 탈취 및 암호 화폐 지갑 데이터를 탈취하며 InvisibleFerret과 같은 추가 악성코드를 다운로드하는 것으로 알려져 있다. 

Figure 5. 탈취한 정보를 업로드하고 추가 페이로드를 다운로드

 

3. Tropidoor

다운로더를 통해 메모리 상에서 동작하는 악성코드는 백도어이다. 백도어가 실행되면 4개의 C&C 서버 주소를 복호화하여 접속 시도하며, 성공한 이후에는 시스템의 기본적인 정보들을 수집한다. 이후 랜덤한 0x20 바이트 크기의 키를 생성한 후 RSA 공개키로 암호화하여 전송한다. RSA 공개키는 Base64로 암호화되어 존재하며 랜덤하게 생성된 0x20 바이트 크기의 키는 C&C 통신 시 패킷 암호화에 사용된다.

Figure 6. 복호화된 RSA 공개키와 암호화 루틴

C&C 서버와의 첫 번째 통신에서는 위에서 구한 시스템 정보와 RSA 공개키로 암호화된 랜덤한 키를 Base64로 인코딩하여 각각 “tropi2p”, “gumi” 파라미터를 통해 전송한다. 그리고 5 바이트 크기의 랜덤한 문자열을 생성하는데 해당 문자열은 다른 통신 과정에서도 “s_width” 파라미터와 함께 사용되는 것을 보면 Session ID로 추정된다. 

URL 포맷 기능
tropi2p=[Info]&gumi=[Key]&s_width=[SessionID] 정보 전달
letter=400BadRequest&s_width=[SessionID] 명령 수신
letter=[Result]&s_width=[SessionID] 명령 실행 결과 전송

Table 1. C&C 통신 시 URL 포맷

이후에는 “letter” 파라미터에 “400BadRequest”를 넣고 C&C 서버에 전송하는 데 이를 통해 C&C 서버로부터 명령을 수신 받을 수 있다. 전달받은 명령을 수행한 이후에는 동일하게 그 결과를 인코딩하여 “letter” 파라미터를 통해 전송한다.

C&C 서버로부터 전달받아 수행 가능한 명령들은 다음과 같다. 대부분 일반적인 백도어 유형들과 유사하지만 34번 명령이 특징이다.

명령 번호 기능
3 “nestat -ano” 명령
4 “ipconfig /all” 명령
5 “systeminfo” 명령
6 “dir” 명령
7 파일 삭제 (NULL 데이터로 덮어쓰기)
8 파일 시간 변경
9 스크린샷 캡쳐
10 파일 검사
12 프로세스 실행
13 프로세스 실행 (사용자 토큰)
14 프로세스 종료
15 특정 주소 스캔
16 다운로드한 페이로드를 다른 프로세스 인젝션 또는 메모리 상에 로드
17 파일 삭제 (랜덤한 값으로 덮어쓰기)
19 파일 zip으로 압축 및 전송
23 드라이브 정보 수집
24 파일 정보 수집
25 대기 시간 설정
26 설정 데이터 파일로 저장 
(“C:\ProgramData\Microsoft\DeviceSync\WinRT_DeviceSync.etl”)
28 설정 데이터 전송
29 설정 데이터 수정
30 “tZeqxYw” 문자열 전송
32 파이프 통신으로 읽은 데이터 전송
34 윈도우 명령 실행

Table 2. C&C 명령 번호

34번 명령은 “schtasks”, “ping”, “reg” 등 윈도우 기본 명령들을 직접 구현한 형태의 명령들이다. 이러한 방식은 과거 ESET의 보고서에서 LightlessCan이라는 악성코드가 사용한 것으로 알려져 있다. [3]

 

igure 7. 내부에 구현된 윈도우 명령어들

4. 결론

최근 북한을 기반으로 하는 공격자들의 소행으로 추정되는 공격 사례들이 지속적으로 확인되고 있다. 이번에 확인된 사례에서는 주로 해외 대상 공격에서 사용되는 것으로 알려진 BeaverTail 악성코드의 공격 정황이 확인되었다. 또한 함께 사용된 악성코드의 경우에도 이전 공격 사례들과의 연관성이 확인되기도 하였다.

사용자들은 메일 첨부 파일뿐만 아니라 출처가 불분명한 실행 파일을 각별히 주의해야 한다. 또한 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

 

 

MD5

3aed5502118eb9b8c9f8a779d4b09e11
84d25292717671610c936bca7f0626f5
94ef379e332f3a120ab16154a7ee7a00
b29ddcc9affdd56a520f23a61b670134
URL

http[:]//103[.]35[.]190[.]170/Proxy[.]php
http[:]//86[.]104[.]72[.]247/Proxy[.]php
https[:]//45[.]8[.]146[.]93/proxy/Proxy[.]php
https[:]//86[.]104[.]72[.]247/proxy/Proxy[.]php
IP

135[.]181[.]242[.]24
191[.]96[.]31[.]38

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.