보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

스틸러 멀웨어(Stealer Malware): 탈취형 악성코드 공격동향 및 대응방안

2022.11.02

4,859

01. 사이버 범죄의 생태계 변화 및 MaaS의 등장

2022년 7월 HP 울프 시큐리티(HP Wolf Security)에서 발표한 ‘사이버 범죄의 진화: 다크 웹이 위협 지형을 증폭시키는 이유 및 대처 방법(The Evolution of Cybercrime: Why the Dark Web is Supercharging the Threat Landscape and How to Fight Back)’에 따르면 체계적인 조직관리와 고도화된 전문기술은 사이버 범죄의 SaaS(Software as a Service)생태계에 기여했다고 밝혔다. ‘as a Service’는 사이버 범죄에 필요한 기능을 모듈로 제공하면서 전문기술을 낮은 비용으로 사용할 수 있게 한다. [그림 1]의 다크웹이나 해킹포럼을 통해 판매되는 사이버 범죄 도구의 비용을 살펴보면 익스플로잇(Exploit)이나 악성코드를 평균 10달러 미만이면 구매가 가능한 것으로 나타났다. 정보탈취형 악성코드인 인포스틸러(Info Stealer, Information Stealer)는 평균 5달러에 구매가 가능하고 원격 접근 트로이목마(RATs), 익스플로잇, 크립터(Crypters) 등은 이보다도 낮은 비용에 거래되고 있다.

[그림 1] 사이버 범죄 도구별 소요비용(출처 : The Evolution of Cybercrime: Why the Dark Web is Supercharging the Threat Landscape and How to Fight Back, HP Wolf Security)

소프트웨어나 하드웨어를 임대하는 서비스인 MaaS(Malware as a Service)는 사이버 범죄 생태계변화에 직접적인 영향을 받고 있다. 암호화폐와 랜섬웨어의 등장으로 공장형 사이버 범죄(Cybercrime Factory)가 본격화되면서 Exploit이나 악성코드 등을 임대하거나 판매하는 것에 그치지 않고 구체적인 사용방법이나 멘토링을 구매자들에게 제공하는 서비스의 차별화가 가능한 수준까지 시장이 성숙되었다. 특히 눈에 띄는 것은 사이버 공격그룹들이 자체 개발된 소프트웨어나 악성코드를 사용하던 종전의 양상을 벗어나 오픈소스나 Red Team목적으로 상용화된 유료도구를 활용하여 공격시간을 단축하고 있다.

사이버 범죄의 생태계 변화 속에서 데이터 탈취와 협박이라는 이중공격의 근간인 스틸러 악성코드의 활동이 눈에 띈다. 라쿤 스틸러(Raccoon Stealer), 로키봇 스틸러(LokiBotStealer), 레드라인 스틸러(Readline Stealer), 바이다 스틸러(Vidar Stealer), 프레데이터 더 씨프(Predator the Thief), 아조럴트(Azorult)등 다수의 캠페인을 통해 계정탈취 및 정보유출 등의 피해사례가 꾸준히 보고되고 있다. 이에 따라 이번 호에서는 최근 이슈가 되고 있는 스틸러 악성코드에 대해 살펴보고자 한다.

2. Stealer Malware 개요 및 공격동향

2.1. Stealer Malware 개요

스틸러 악성코드(Stealer Malware)는 브라우저 후킹(Browser Hooking), 키로깅(Keylogging), 크리덴션 API 후킹(Credential API Hooking), GUI입력/웹 포탈 캡처(GUI Input/Web Portal Capture)등의 공격기법을 이용해 데이터 유출(Data Exfiltration), 크리덴셜 탈취(Credential Theft), 클립보드 및 스크린샷을 유출(Clipboard & Screenshot Theft) 하는 공격행위다. 피해 시스템에서 정보를 탈취하는 트로이잔 악성코드의 일종으로 수집정보에 따라 인포스틸러(Info Stealer)나 크리덴션 스틸러(Credential Stealer)등으로 분류하고 있으나 일반적으로 스틸러 악성코드는 인포스틸러라고 통용되고 있다.

스틸러 악성코드는 데이터 유출과 데이터 탈취를 목적으로 한다. 피해 시스템에서 직접 데이터 유출을 하거나 크리덴셜 및 인증서를 유출해 추가공격을 시도하게 된다. [그림 2]와 같이 스네이크 스틸러(Snake Stealer)의 경우 데이터 유출에 FTP, SMTP, Telegram을 사용하였고, 크리덴셜 탈취를 위해 데이터 유출에 사용된 클라이언트 프로그램 이외에 웹 브라우저, 무선 네트워크, 커뮤니케이션 플랫폼을 활용하고 있다. [표 1]의 MITRE ATT&CK Enterprise의 전략(Tactics)중 유출(Exfiltration, TA0010)을 구성하고 있는 공격기법들을 열거 한 것으로 이를 바탕으로 악성코드의 공격기법을 유추할 수 있다.

[그림 2] A systematization of the information-stealing features of Snake(출처 : Cybereason)
[표 1] MITRE ATT&CK Enterprise Tactics중 Exfiltration 세부사항(출처 : MITRE ATT&CK)

2.2. Stealer Malware 공격동향

스틸러 악성코드는 단독개발보다는 그룹형태로 활동하며, 브라우저 접근기록부터 신용카드, 암호화폐 지갑 정보 등의 개인정보 및 신용정보 등을 탈취한다. 최근 활발하게 활동하는 스틸러 악성코드 공격그룹은 레드라인 스틸러(RedLine Stealer), 라쿤스틸러(Racoon Stealer), 바이다 스틸러(Vidar Stealer), 로키봇스틸러(LokiBotStealer), 스네이크인포스틸러(Snake Infostealer)등이 있다. 이외에도 [표 2]와 같이 다수의 스틸러 악성코드 등이 활동하고 있기 때문에 관련내용을 정리할 수 있다.

[표 2] Stealer Malware 공격동향 및 주요기능

1) Readline Stealer

레드라인 스틸러(Redline Stealer)는 2020년 3월 경부터 활동을 하여 2021년 가장 활발하게 활동한 인포스틸러 중 하나다. 일반적인 인포스틸러와 마찬가지로 사용자 정보, 브라우저 정보, 시스템 인스턴트 메시징 및 암호화폐 지갑정보까지 탈취한다. 언더그라운드 포럼과 Telegram, Discord 등의 채널을 통해서 판매 및 광고 등을 하고 있다. COVID19등 사회공학적 기법을 활용한 악성메일을 통해 유포하는 것이 일반적이며, C#으로 작성되어 SOAP API를 사용해 C2서버와 통신하고 있다.

[그림 3] 해킹포럼에 공개된 Redline Stealer 정보 (출처 : WWH Club)
[그림 4] Reline Stealer에서 제공하는 기능 (출처 : Telegram)

국내 대기업 정보탈취로 유명한 랩서스(LAPSUS$)가 초기 접근방법을 분석한 Microsoft의 ‘DEV-0537 criminal actor targeting organizations for data exfiltration and destruction’에 따르면 공개 레파지터리에 노출된 패스워드 검색 및 범죄포럼 등에서 크리덴셜 정보를 구매하여 사용할 뿐만 아니라 Redline Stealer를 배포하여 직접 정보를 수집하였다고 밝혔다. 이처럼 인포스틸러들은 정보탈취를 노리는 해킹그룹에서도 피해대상의 접점 확보를 위해서도 적극적으로 사용한다는 것을 알 수 있다.

[그림 5] DEV-0537 criminal actor targeting organizations for data exfiltration and destruction 내 Initial Access 내용 일부(출처 : Microsoft)

2022년 4월 Youtube를 통해 가짜 봇을 사용하여 Binance에서 Mystery Box NFT를 구매하는 영상의 설명을 통해 Redline Stealer가 유포된 바 있다. Youtube 세부설명란을 통해 가짜 봇을 다운로드 할 수 있는 링크를 제공하여 하기의 악성코드 등을 유포하였다.

[표 3] LauncherPatcher 상세정보
[그림 6] LauncherPacher 악성파일 기본정보

RedLine Stealer의 세부정보에는 Rockstar Games와 관련된 세부정보를 사용한 것이 확인되었다. IsDebuggerPresent, IsProcessorFeaturePresent, GetTickCount 등의 GetVirtualization/Sandbox Evasion기능이 적용되어 있어 분석을 지연시키는 기능이 포함되어 있다.

[그림 7] LauncherPacher 리소스 세부 정보

GetVirtualization/Sandbox Evasion기능을 우회한 후에 ‘OdoAAtK’키로 XOR알고리즘을 사용해 LauncherPacher 내에 포함되어 있는 쉘코드를 확인할 수 있게 된다. 확인된 쉘코드는 Process Injection을 이용하여 RegSvcs.exe에 Injection하게 된다.

[그림 8] LauncherPacher 디코딩 결과
[그림 9] LauncherPacher XOR 인코딩 데이터
[그림 10] LauncherPacher XOR 디코딩 데이터

메모리에서 추출된 페이로드는 7EB8EE2A782B3DB8AB43AC3412DCCBB9(MD5)의 Redline Stealer가 존재하며 TimeDataStamp는 2102-10-20일로 정상파일이 아닌 것을 인지할 수 있다.

[그림 11] 메모리 추출된 악성코드 기본정보

7EB8EE2A782B3DB8AB43AC3412DCCBB9(MD5)에서는 dnlibDotNetMDRawExportedTypeRow P.Check()를 통해서 실행여부를 결정하게 된다. Check()함수에서는 국가명과 OS의 지역정보를 확인하여 Armenia, Azerbaijan, Belarus, Kazakhstan, Kyrgyzstan, Moldova, Tajikistan, Uzbekistan, Ukraine, Russia인 경우에는 실행하지 않도록 구성되어 있다.

[그림 12] dnlibDotNetMDRawExportedTypeRowP.Check()를 통한 프로세스 구동여부 결정
[그림 13] 국가정보 확인
[그림 14] 사용하는 함수 목록 및 악성코드 실행 제한국가 목록

Redline Stealer는 Discord토큰을 탈취하는 등의 추가적인 공격을 통해서 다양한 크리덴셜 정보탈취를 목적으로 구동된다.

[그림 15] Discord 토큰탈취

현재 까지 Redline Stealer는 다양한 공격 방법을 통해서 배포됨에 따라 지속적인 모니터링이 필요하다.

[그림 16] Redline Stealer 유포 현황(출처 : MalwareBazaar)

2) Raccoon Stealer

라쿤스틸러(Raccoon Stealer)는 2019년 초부터 언더그라운드 포럼을 중심으로 활동하였으며 그 중에서도 러시아어 기반의 포럼에서 활동하고 일부 영어 기반의 포럼에서 활동한 대표적인 MaaS모델의 악성코드다. 일반적인 인포스틸러의 유포 방법인 악성메일이나 악성코드 유포 웹사이트를 이용한 공격방식보다는 IE 메모리 손상 취약점인 CVE-2021-26411 이용한 RIG Exploit Kit, 불법 소프트웨어 유포, 드롭퍼를 통해 배포하는 방식을 취하고 있다. 러시아-우크라이나 전쟁으로 인해 개발자가 사망함에 따라 2022년 3월 배포가 중단되었으나 다시 돌아오겠다는 메시지를 남기며 종적을 감췄다.

[그림 17] 러시아-우크라이나 분쟁으로 Raccoon Stealer개발자 사망 관련 공지 (출처 : XSS 포럼)

이후 2022년 6월 SEKOIA의 분석가에 의해 Shodan검색엔진에 ‘Raccoon Stealer 2.0’의 호스팅 서버가 발견되면서 복귀가 알려졌다. Recordbreaker라고도 불리는 Raccoon Stealer v2으로 새로운 시작을 알리며 기존 C언어 기반에서 벗어나 C++기반으로 구현되었으며 시스템 정보 이외에도 브라우저 비밀번호, 쿠키, 자동양식정보 등을 제공하고 있다. BinanceChain, MetaMask, Electrum, Exodus, ElectronCash 등암호화폐 지갑 및 확장 정보들을 수집하는 것도 눈여겨볼만한 기능이라고 할 수 있다. 특이한 점은 다른 인포스틸러들의 경우 난독화 및 방어 회피기술을 통해 분석지연 및 은닉을 목적으로 하는 기능들이 구현되어 있으나 이러한 기능들이 없다는 점에서 추후 기능추가 등을 예상해 볼 수 있다.

[그림 18] Raccoon Stealer에서 제공하는 기능(출처 : Telegram)

C++기반의 Raccoon Stealer v2인 214add3ebdd5b429fda7c00e7f01b864(MD5)를 보면 56.00 KB(57,344 bytes)의 파일 사이즈로 일반적인 인포스틸러에 파일사이즈가 작은 편이다. Kernet32.dll에서 GetUserDefaultLCID, GetSystemInfo, GetUserNameW, LocalFree, FreeLibrary, GetProcAddress, LocaLibrarayW, lstrcpynA의 8개 함수만 호출하고 있어서 추가적인 악성행위를 동적으로 호출할 수 있다는 것을 알 수 있다.

[표 4] Raccoon Stealer v2 상세정보
[그림 19] 214add3ebdd5b429fda7c00e7f01b864 동작 구조 (출처 : VirusTotal)

String목록에서 확인되는 InternetOpenUrl, InternetCloseHandle, HttpOpenRequest, HttpSendRequest, HttpQueryInfo등의 정보 등은 GetProcAddress API함수를 통해 함수 주소가 로드되어 C2 IP정보를 호출하게 된다.

[그림 20] 214add3ebdd5b429fda7c00e7f01b864에서 사용하는 API 목록 일부

214add3ebdd5b429fda7c00e7f01b864에서는 C2 IP의 문자열을 RC4암호화하여 BASE64인코딩하여 저장된다. 저장된 문자열인 ‘lIdAg3LYd/akTgV0hVwlNF5b’를 BASE64로 디코딩하고 RC4키인 403f7b121a3afd9e8d27f945140b8a92(‘edinayarossiya’)를 사용하면 C2 IP인 ‘http://2.58.56.247'을 확인할 수 있게 된다. RC4키로 사용된 ‘edinayarossiya’는 러시아어로 ‘United Russia’를 의미하며 이와 같은 형태를 사용하는 것은 Raccoon Stealer v2.0의 다른 샘플 인 1aa8b18e333b780fe844b1d02c809324(MD5)등 에서도 확인되고 있다.

[그림 21] C2 IP 문자열의 난독화 방법
[그림 22] RC4키인 edinayarossiya로 복호화한 C2 IP 결과

8724643052라는 뮤텍스를 열어서 피해 시스템에 다른 인스턴스 구동여부를 확인하게 된다. 그 외에도 SYSTEM(S-1-5-18)인지 확인하여 사용자 정보, 프로세스 정보, 암호화폐 지갑 및 크리덴셜 정보를 탈취하여 ffcookies.txt, wallet.dat 등에 저장하여 C2에 전달하게 된다.

[그림 23] Mutex정보 확인 및 기감염여부 확인

앞서 살펴본 214add3ebdd5b429fda7c00e7f01b864(MD5)와 마찬가지로 Raccoon Stealer v2인 0cfa58846e43dd67b6d9f29e97f6c53e(MD5)에서도 BASE64인코딩과 RC4암호화를 사용한 문자열 난독화 기술이 적용된 것이 발견되었다. 정보탈취 과정에서도 SYSTEM(S-A-5-18)인 경우 프로세스 정보를 확인하게 된다.

[표 5] Raccoon Stealer v2 상세정보
[그림 24] 0cfa58846e43dd67b6d9f29e97f6c53e 동작 구조 (출처 : VirusTotal)

String목록에서도 마찬가지로 InternetOpenUrl, InternetCloseHandle, HttpOpenRequest, HttpSendRequest, HttpQueryInfo등의 정보 등은 GetProcAddress API함수를 통해 함수 주소가 로드되어 C2 IP정보를 호출하게 된다.

[그림 25] 0cfa58846e43dd67b6d9f29e97f6c53e에서 사용하는 API목록 일부
[그림 26] C2 IP 문자열의 난독화 방법

RaccoonStealer는 사용자 정보, OS버전, CPU정보, 디스플레이 장치 정보, 설치된 어플리케이션 목록 등의 시스템 기본정보를 탈취하여 C2서버로 POST패킷을 전송하게 된다. 그 외에도 sqlite3.dll, mozglue3.dll등을 이용하여 브라우저에 저장된 쿠키 및 자동 저장된 비밀번호, 신용카드 정보, 암호화폐 집갑 정보(Bitcoin, Coinomi, Electrum, Electrum-LTC, ElectrumCash, BlockstreamGreen 등), 스크린샷 정보 등을 탈취하여 전달하게 된다. 시스템 정보 이외에도 ‘Telegram Desktop\data’경로에서 Telegram Desktop의 캐시데이터를 수집하여 저장하여 발송하게 된다.

10월초 가짜 MSI게이밈 캠페인은 @idclickthat의 트위터 게시글(https://twitter.com/idclickthat/ status/1578963362113007618)을 통해 최초 공개되었다. @MalwarePotato의 리트윗 게시글(https: //twitter.com/MalwarePotato/status/1579486798010781697)을 통해 해당 악성파일이 AfterBurner 유틸리티로 위장하여 유포되고 있는 RaccoonStealer는 57c57f278e3e25a9043c08ce 8379daa8(MD5)라는 것이 공개되면서 가짜 유틸리티 파일로 위장한 공격이 여전히 유효한 것으로 확인되고 있다.

[그림 27] MalwarePotato의 트위팅 내용 중 RaccoonStealer 관련 IoC정보(2022.10)
[그림 28] 57c57f278e3e25a9043c08ce8379daa8 조회 결과(출처 : VirusTotal)

3) 혼합형 Stealer 공격

인포스틸러는 Redline Stealer나 Raccoon Stealer등과 같이 단독으로 사용할 수도 있으나 다른 악성코드와 혼합하여 사용하는 공격들도 발견되고 있다. 초기 진입이나 APT공격을 위해서 크리덴셜 탈취한 인포스틸러를 사용하고 추가 공격을 위해 리버스커넥션이나 백도어 등을 설치하여 공격 연속성을 유지하게 된다. 2021년 4월에 확인된 공격 캠페인 중 MSBuild(Microsoft Build Engine)을 이용한 공격의 경우에도 RemcosRAT와 Redline Stealer를 사용한 공격사례가 발견된 바 있다. MSBuild는 Microsoft에서 제공하는 개발도구로 어플리케이션을 빌드하기 위해 사용되는 .NET Framework의 일부이다.

MSBuild가 빌드 시에 수행할 작업을 지정하는 프로젝트 파일(.proj)에 파일리스형태의 공격을 위해 RemcosRAT나 Redline Stealer의 악성코드가 실행될 수 있도록 설정하게 된다. MSBuild 프로젝트 파일(45c94900f312b2002c9c445bd8a59ae6, MD5)에는 mshta를 이용행 시작폴더에 추가되는 바로가기파일(.lnk)파일을 vbscript를 실행하는데 사용하게 된다. 이후 VirtualAlloc을 이용해서 ShellCode를 메모리에 할당해 주고 RemcosRAT(04fc0ca4062dd014d64dcb2fe8dbc966, MD5)를 실행하게 된다. 이를 통해 크리덴셜 탈취 및 시스템 정보, 키로깅, 화면캡처 등의 인포스틸러 기능을 수행하게 된다. RemcosRAT이외에 Redline Stealer를 다운로드 하는 기능을 추가하게 되면 암호화폐 지갑 탈취 및 브라우저 정보 등도 탈취 하게 된다.

[그림 29] MSBuild 프로젝트 파일내 스키마 및 시작폴더에 생성된 .lnk파일

03. 마무리

지금까지 인포스틸러에서 수집하는 정보유형 및 공격현황에 대해서 살펴보았다. 언더그라운드 포럼 및 해킹포럼 등을 기반으로 MaaS 모듈을 판매하여 수수료를 얻는 방식으로 시장이 형성되고 있다. 인포스틸러는 단일 캠페인을 통해서 일시적으로 사용될 수도 있으나, 일반적으로 추가 공격 교두보 확보를 위한 목적의 크리덴셜 탈취에 사용되고 있다. 낮은 비용으로도 기능별 모듈 선택이 가능하기 때문에 MaaS생태게는 견고해지는 양상이다.

상당수의 인포스틸러는 악성메일이나 가짜 소프트웨어로 위장하여 유포되기 때문에 악성메일의 첨부파일을 필터링하고, 정상 소프트웨어를 사용해야 추가적은 공격에 대응할 수 있게 된다. 취약점을 악용하거나 드롭퍼 등의 형태로 공격형태를 다변화하고 있기 때문에 기존의 공격양상 이외에도 최근에 발생되고 있는 정보탈취형 악성코드의 동향에 대해서도 면밀한 관찰이 필요하다.

04. 참고자료

1) Hunting Raccoon: The New Masked Bandit on the Block, cybereason
https://www.cybereason.com/blog/research/hunting-raccoon-stealer-the-new-masked-bandit-on-the-block
2) 一次野外偶遇窃密的浣熊RaccoonStealer v2样本分析报告
https://www.freebuf.com/articles/system/344639.html
3) 022432f770bf0e7c5260100fcde2ec7c49f68716751fd7d8b9e113bf06167e03
https://bazaar.abuse.ch/sample/022432f770bf0e7c5260100fcde2ec7c49f68716751fd7d8b9e113bf06167e03/
4) MalwareBazaar, Redline Stealer
https://bazaar.abuse.ch/browse/signature/Redline Stealer/
5) RedLine Stealer IOCs, SEC-1275-1
https://1275.ru/ioc/214/redline-stealer-iocs-part-2/
6) RedLine Stealer Campaign Using Binance Mystery Box Videos to Spread GitHub-Hosted Payload
https://www.netskope.com/blog/redline-stealer-campaign-using-binance-mystery-box-videos-to-spread-github-hosted-payload
7) Rewterz Threat Alert – MSBuild to Deliver RATs Filelessly – Active IOCs
https://www.rewterz.com/rewterz-news/rewterz-threat-alert-msbuild-to-deliver-rats-filelessly-active-iocs