취약한 RDP를 통해 유포되는 Phobos 랜섬웨어 주의

ASEC(AhnLab Security Emergency response Center)은 최근 Phobos 랜섬웨어가 활발하게 유포되고 있는 것을 확인하였다. Phobos 랜섬웨어는 Dharma, CrySis 랜섬웨어와 기술 및 운영상의 유사점을 공유하는 변종 형태로 알려진 랜섬웨어로 알려져있다. 이들은 일반적으로 외부에 노출된 보안이 취약한 RDP 서비스를 공격 벡터로하여 유포되는 특징이 있으며, 이와 같이 보안이 취약한 RDP를 Initial Access로 활용한 랜섬웨어 유포는 매우 빈번하게 발생하기에 관리자의 각별한 주의가 필요하다.[1] [2] [3]

1. Phobos 랜섬웨어 개요

Phobos 랜섬웨어는 파일 감염 시 원본 확장자 뒤에 다음과 같이 “감염 PC의 VSN(Volume Serial Number)”, “공격자 메일주소”를 비롯한 정보들이 추가되는 특징을 가진 랜섬웨어이다.

 <원본 파일명>.<원본 확장자>.id[<VSN>-<고정 숫자 4자리>].[<공격자 메일 주소>].<랜섬웨어 확장자>

Figure 1. Phobos 랜섬웨어 감염시 확장자 변화

감염 시 생성되는 랜섬노트는 다음과 같이 “info.txt”, “info.hta” 파일 형태로 생성되며, 랜섬노트 내에는 지불을 위한 공격자의 메일정보가 존재한다.

Figure 2. Phobos 랜섬웨어의 랜섬노트(info.txt)
Figure 3. Phobos 랜섬웨어의 랜섬노트(info.hta)

해당 랜섬웨어의 랜섬노트 생성 방식은 로컬 및 네트워크 드라이브에 대한 암호화 과정이 모두 종료된 이후 수행되며, 암호화가 수행된 각 디렉터리 및 다음 경로에 랜섬노트를 각각 생성하는 특징이 있다.

  • %USERPROFILE%\Desktop\info.hta
  • %USERPROFILE%\Desktop\info.txt
  • %public%\Desktop\info.hta
  • %public%\Desktop\info.txt
  • <drive_roots>\info.hta
  • <drive_roots>\info.txt
Figure 4. Phobos 랜섬웨어의 랜섬노트 생성 루틴

2. Phobos 랜섬웨어의 주요 기능

지속성 유지

해당 랜섬웨어가 실행되면 지속성 유지를 위해 악성코드를 %LOCALAPPDATA% 경로에 복사하고 다음의 Run 키에 등록한다. 이를 통해 랜섬웨어가 재부팅 이후에도 재실행될 수 있도록 한다.

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run

암호화 대상 및 예외 조건

Phobos 랜섬웨어는 다음의 예외 경로, 예외 확장자, 예외 파일명를 제외한 시스템에 존재하는 모든 파일들을 암호화한다. Phobos 랜섬웨어의 암호화 제외 확장자에서 phobos, eking 등과 같은 Phobos 랜섬웨어 변종의 확장자 이외에도 makop 등의 Phobos 계열이 아닌 랜섬웨어 확장자들이 확인된다. 이는 타 랜섬웨어에 감염된 경우 감염 대상에서 제외하는 목적으로 보인다. 추가적으로 예외 대상 “파일명”, “확장자”, “경로 정보”는 악성코드 파일 내 AES로 암호화 된 형태로 존재하며, 악성코드 실행 중 복호화하여 사용한다.

개요내용
암호화 제외 경로%SystemRoot%, %ProgramData%\microsoft\windows\caches
암호화 제외 확장자Faust(대상 랜섬웨어 샘플 확장자), actin, dike, acton, actor, acuff, file, acuna, fullz,
mmxxii, kmrox, 6y8dghklp, shtorm, nurri, ghost, ff6om6, blue, nx, backjohn, own, fs23,
2qz3, top, blackrock, chcrbo, g-stars, faust, unknown, steel, worry, win, duck, fopra,
unique, acute, adage, make, adair, mlf, magic, adame, banhu, banjo, banks, banta,
barak, caleb, cales, caley, calix, calle, calum, calvo, deuce, dever, devil, devoe,
devon, devos, dewar, eight, eject, eking, elbie, elbow, elder, phobos, help, blend,
bqux, com, mamba, karlos, ddos, phoenix, plut, karma, bbc, capital, wallet, lks,
tech, s1g2n3a4l, murk, makop, ebaka, jook, logan, fiasko, gucci, decrypt, ooh,
non, grt, lizard, flscrypt, sdk, 2023, vhdv
암호화 제외 파일명info.hta, info.txt, boot.ini, bootfont.bin, ntldr, ntdetect.com, io.sys, wang, [악성코드 이름].exe
Table 1. Phobos 랜섬웨어 암호화 제외조건 예시

추가적으로 해당 랜섬웨어는 감염 대상 시스템의 로케일 정보를 구하여, 특정 언어환경인 경우 감염하지 않고 종료하는 기능이 존재하며, 이는 config 설정값에 따라 실행 여부가 달라진다.

Figure 5. 시스템 로케일 체크 루틴

종료 대상 프로세스

phobos 랜섬웨어는 감염 시 다음과 같은 문서, 이메일 클라이언트, 데이터베이스 프로그램 등을 강제종료한다. 이는 파일 암호화 과정에서 파일 핸들 점유 등의 이유로 파일 암호화가 정상적으로 되지 않는 경우를 방지하여 더 많은 파일을 암호화하기 위한 목적이다. 종료 대상 프로세스 문자열은 다음과 같이 악성코드 파일 내 AES로 암호화 된 형태로 존재하며 실행 중 복호화하여 사용한다.

종료 대상 프로세스 목록
msftesql.exe sqlagent.exe sqlbrowser.exe sqlservr.exe sqlwriter.exe oracle.exe ocssd.exe dbsnmp.exe synctime.exe agntsvc.exe mydesktopqos.exe isqlplussvc.exe xfssvccon.exe mydesktopservice.exe ocautoupds.exe agntsvc.exe agntsvc.exe agntsvc.exe encsvc.exe firefoxconfig.exe tbirdconfig.exe ocomm.exe mysqld.exe mysqld-nt.exe mysqld-opt.exe dbeng50.exe sqbcoreservice.exe excel.exe infopath.exe msaccess.exe mspub.exe onenote.exe outlook.exe powerpnt.exe steam.exe thebat.exe thebat64.exe thunderbird.exe visio.exe winword.exe wordpad.exe
Table 2. 종료 대상 프로세스 목록

방화벽 비활성화 및 볼륨 쉐도우 복사본 삭제

Phobos 랜섬웨어는 AES로 암호화된 명령어 문자열을 디코딩 한 후 “cmd.exe” 프로세스의 인자로 실행하는 방식으로, 방화벽 비활성화 및 볼륨 쉐도우 복사본을 삭제한다.

Figure 6. 명령 실행(방화벽 비활성화: 0x2A, 볼륨쉐도우 복사본 삭제:0x2B)
개요내용
방화벽 비활성화netsh  advfirewall set currentprofile state off
netsh  firewall set opmode mode=disable
복구 방지vssadmin  delete shadows /all /quiet
wmic  shadowcopy delete
bcdedit  /set {default} bootstatuspolicy ignoreallfailures
bcdedit  /set {default} recoveryenabled no
Table 3. Phobos 랜섬웨어의 방화벽 비활성화 및 복구 방지 기능
Figure 7. 방화벽 비활성화를 위한 명령어
Figure 8. 볼륨 쉐도우 복사본 삭제를 위한 명령어

로컬 및 네트워크 공유 폴더 암호화

Phobos 랜섬웨어는 AES CBC 모드를 통한 로컬 및 네트워크 리소스에 대한 암호화 기능을 제공한다.

Figure 9. AES를 통한 대상 파일 암호화

이 중 로컬 드라이브 암호화 과정에서 GetLogicalDrives() API를 통해 현재 사용 가능한 드라이브를 식별한다. 식별된 드라이브에 대해 비트마스크를 검색하는 방식으로 암호화 대상 드라이브를 선택한 후 대상 드라이브에 대한 암호화를 수행한다.

Figure 10. Phobos 랜섬웨어의 로컬 드라이브 암호화

Phobos 랜섬웨어는 네트워크 공유 폴더에 대한 암호화 기능을 지원하는 대표적인 랜섬웨어이다. 이를 위해 WNetOpenEnumW() API의 dwScope 인자로 RESOURCE_CONNECTED, RESOURCE_RECENT, RESOURCE_CONTEXT, RESOURCE_REMEMBERED, RESOURCE_GLOBALNET를 각각 지정하여 다수 호출하는 방식으로, 기존 혹은 현재 연결된 네트워크 공유 리소스를 열거한다. 이후 선택된 각각의 네트워크 리소스에 대해 암호화 스레드를 호출하는 방식으로 암호화를 수행한다.

Figure 11. Phobos 랜섬웨어의 네트워크 공유 폴더 암호화


3. 결론

외부로 노출된 보안이 취약한 RDP 서비스는 다수의 공격자들에 의해 초기 침투 및 측면이동 과정에서 꾸준히 활용되는 공격 벡터이다. 이와 같은 RDP 서비스에 대한 공격은 일반적으로 부적절한 계정 정보를 가지고 있는 시스템들에 대한 무차별 대입 공격(Brute Forcing)과 사전 공격(Dictionary Attack)을 통해 이루어진다. Crysis 랜섬웨어에서 파생된 Dharma, Phobos 변종 랜섬웨어의 공격자를 비롯해 다수의 랜섬웨어 공격자들은 보안이 취약한 RDP 서비스를 주된 초기 공격 벡터로 사용하고 있다.

사용자들은 RDP를 사용하지 않을 경우 비활성화하여 공격 시도를 줄일 수 있다. 만약 RDP 서비스를 사용하고 있다면 계정의 비밀번호를 복잡한 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격 및 사전 공격을 방지해야 한다. 또한 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

파일 진단
– Ransomware/Win.Phobos.R363595 (2023.08.24.00)

행위 진단
– Ransom/MDP.Decoy.M1171
– Ransom/MDP.Command.M2255

IOC
MD5

– d221b0a793cd10b00b0c1f943f6c1b63
– c6936c5cf4307a8bb793dbc7a9dcb9f1
– 5cfee29eae9f476e8b32491f4ef8ae2f
– 6cfa3d34a929cabcc54229b6e100a633
– bd7756138f48dc4ec8088e23ef6a4c80
– 0ef558c14d9894b6a011c9473c0f17c3
– 38bc0f4ac3bb83c5b7a041746b014910
– f2e4746363ba1c940fa315f737dd8a46
– 5b672f45d525b56eb0c4c146214f267e
– 9043580b1766661d8fde0d3e88026de1

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

Categories:악성코드 정보

5 1 vote
별점 주기
Subscribe
Notify of
guest

0 댓글
Inline Feedbacks
View all comments