1. 개요
- 북한 해킹그룹 라자루스가 Innorix Agent 제로데이 취약점을 악용해 국내 공급망 공격 (Operation SyncHole) 시도 [1][2]
- 워터링 홀과 서드파티 소프트웨어의 취약점을 결합해 국내 소프트웨어, IT, 금융, 반도체 제조, 통신 산업 등에 공격 시도
- 공격에 악용된 취약점들은 한국인터넷진흥원(KrCERT)과 개발사에 알려져 패치된 상태
2. 주요내용
2.1 초기 벡터
- 한국의 주요 언론 포털 웹사이트를 침해해 서버 측 스크립트 삽입 및 악성 도메인으로 리다이렉션
> 워터링 홀(Watering Hole) 공격으로 사용자를 악성 도메인으로 리다이렉션
- Cross EX 배포사를 위장한 피싱 사이트에는 악성 자바스크립트가 삽입돼 있었으며, 이를 통해 Cross EX의 취약점을 악용 및 악성코드 설치
> 삽입된 스크립트는 정상적인 SyncHost.exe를 실행하고 해당 프로세스에 ThreatNeedle 변종을 로드하는 셸코드 삽입
- 워터링 홀(Watering Hole) 공격
> 공격 대상이 자주 방문하는 홈페이지를 사전에 침해한 후 공격 대상이 접속하면 공격을 시작
- Cross EX
> 금융이나 정부 웹사이트에서는 특정 보안 소프트웨어 설치가 필요
> 보안 소프트웨어는 브라우저와 상호 작용하기 위해 끊임없이 백그라운드에서 실행됨
> Cross EX는 다양한 브라우저 환경에서 이러한 보안 소프트웨어를 사용할 수 있도록 설계되었으며, 설치 직후를 제외하고는 사용자 권한으로 실행
> Cross EX가 악성코드 유포를 위해 악용된 정확한 방법은 파악되지 않았으나, 권한 상승을 달성한 것으로 추정
- ThreatNeedle [3]
> 라자루스가 2019년부터 암호화폐, 국방, 모바일 게임 기업을 공격하는 데 사용한 백도어
2.2 실행 흐름
- 총 4개의 서로 다른 악성코드 실행 체인 확인
단계 | 설명 |
1단계 악성코드 | ① ThreatNeedle 변형 - 로더 버전과 코어 버전으로 구성 ⒜ 로더 버전 : 2개의 구성 파일만 참조하고 4개의 명령어만 구현 ⒝ 코어 버전 : 총 5개의 구성 파일(C_27098.NLS ~ C_27102.NLS)을 검색하며 총 37개의 명령어 포함 > 코어 버전은 C2로부터 특정 명령을 받아 지속성을 위해 추가 로더 파일을 생성 - Curve25519 알고리즘을 기반으로 임의의 키 쌍 생성 > 공개 키를 C2 서버로 전송한 후 공격자의 공개 키 수신 > 두 개의 키를 활용해 공유 키 생성 및 ChaCha20 알고리즘의 키로 사용해 암호화 > 데이터는 JSON 형식으로 송수신 ② LPEClient - 피해자 프로파일링(정보) 및 페이로드 전달에 사용되는 도구 [4] ③ wAgent 변형 - 접속에 성공한 C2 서버에 따라 form-data 또는 JSON 형식으로 데이터를 수신할 수 있음 > C2 통신 시, HTTP 요청 메세지의 Cookie 헤더에 '__Host-next-auth-token'를 포함 ※ RSA 암호 연산을 수행하기 위해 GNU Multiple-Precision (GMP) 라이브러리를 사용 ※ C++의 STL map을 사용하여 페이로드 관리 ※ C2에서 추가 페이로드를 수신하여 메모리에 직접 로드하고 공유 객체 생성 ※ 공유 객체를 통해 메인 모듈은 제공된 플러그인과 명령 매개변수 및 실행 결과 교환 ④ Agamemnon Downloader 변형 - C2로부터 명령을 수신하고 ';;'를 구분자로하여 명령과 매개변수 분석 및 페이로드 실행 > 두 가지 명령 실행 방법 ⒜ 멀웨어에서 일반적으로 사용되는 반사적 페이로드 로드 ⒝ 오픈 소스 Tartarus-TpAllocInject 기술을 활용 ※ 백신 및 EDR 솔루션 등을 우회하도록 설계되었지만, 페이로드 로드 방식은 각각 다름 ⑤ Innorix Agent 악용 - 측면 이동(lateral movement)에 사용 > 악성코드는 Agamemnon Downloader를 통해 다운로드되어 Innorix Agent의 특정 버전을 악용해 추가 악성코드 설치 > Agamemnon Downloader부터 대상 IP, 파일 다운로드 URL, 파일 크기 등의 매개변수를 수신 ⒜ 대상 IP에 Innorix Agent 설치 여부 확인 ⒝ 실행 중일 경우 URL에서 합법적인 AppVShNotify.exe 파일과 악성 USERENV.dll 파일 다운 ⒞ DLL 사이드로딩을 통해 USERENV.dll 실행하여 감염 ※ Innorix Agent : 파일 송수신 프로그램 |
2단계 악성코드 | ① SIGNBT - 0.0.1버전과 1.2버전 활용 > 0.0.1버전 ⒜ SyncHost.exe에서 메모리에 실행되어 추가 멀웨어(자격 증명 덤프 도구)를 가져온 초기 임플란트 ⒝ C2 서버가 하드코딩되어 있음 > 1.2버전 ⒜ 리소스에서 구성 파일 경로를 가져오고 해당 파일을 검색해 C2 서버 주소 획득 ⒝ 두 개의 구성 파일 경로 확인 경로 1 : C:\ProgramData\Samsung\SamsungSettings\settings.dat 경로 2 : C:\ProgramData\Microsoft\DRM\Server\drm.ver ⒞ C2 서버로부터 RSA 공개 키를 수신하고, 해당 키로 무작위로 생성된 AES 키를 암호화 ⒟ 모든 트래픽은 AES 키로 암호화 ② COPPERHEDGE - 내부 정찰(Internal Reconnaissance)에 사용 > 각 요청마다 3개 또는 4개의 매개변수를 C2서버로 HTTP 트래픽으로 전송 ⒜ 첫 번째 HTTP 매개변수 이름: bih, aqs, org ⒝ 두 번째 HTTP 매개변수 이름: wib, rlz, uid ⒞ 세 번째 HTTP 매개변수 이름: tib, hash, lang ⒟ 네 번째 HTTP 매개변수 이름: ei, ie, oq |
2.3 결론
- 최근 라자루스가 사용하는 악성코드는 경량화 및 모듈화를 포함해 빠르게 발전
> 새로 추가된 도구뿐만 아니라 과거에 사용되었던 악성코드 또한 변경되었으며, 앞으로 더 많은 변화가 예상됨
- 북한의 국내 대상 공급망 공격은 지속될 것
> 국내 많은 소프트웨어 개발 업체들이 이미 공격을 받았고, 공격자들 또한 악성코드를 개발하거나 개량하여 탐지를 회피하는데 노력 중
> 특히 C2 통신, 명령 수조, 데이터 송수신 방식 개선
- 이번 공격은 사전 탐지와 조기 분석의 중요성을 잘 보여준 사례
> 악성코드 행위 분석 과정에서 알려지지 않은 제로데이 취약점이 사전 탐지되어 추가 피해를 예방할 수 있었음
- 공격에 악용된 Innorix Agent 및 Cross EX의 취약점은 패치된 상태 [5][6]
- 관련 침해지표
구분 | 설명 |
파일 | - Variant of the ThreatNeedle loader > MD5 : f1bcb4c5aa35220757d09fc5feea193b > 경로 : C:\System32\PCAuditex.dll - Variant of the wAgent loader > MD5 : dc0e17879d66ea9409cdf679bfea388c > 경로 : C:\ProgramData\intel\util.dat - COPPERHEDGE dropper > MD5 : 2d47ef0089010d9b699cd1bbbc66f10a > 경로 : %AppData%\hnc\_net.tmp |
C2 | - www[.]smartmanagerex[.]com - hxxps://thek-portal[.]com/eng/career/index.asp - hxxps://builsf[.]com/inc/left.php - hxxps://www[.]rsdf[.]kr/wp-content/uploads/2024/01/index.php - hxxp://www[.]shcpump[.]com/admin/form/skin/formBasic/style.php - hxxps://htns[.]com/eng/skin/member/basic/skin.php - hxxps://kadsm[.]org/skin/board/basic/write_comment_skin.php - hxxp://bluekostec[.]com/eng/community/write.asp - hxxp://dream.bluit.gethompy[.]com/mobile/skin/board/gallery/index.skin.php |
3. 참고
[1] https://securelist.com/operation-synchole-watering-hole-attacks-by-lazarus/116326
[2] https://www.kaspersky.com/about/press-releases/kaspersky-uncovers-new-lazarus-led-cyberattacks-targeting-south-korean-supply-chains
[3] https://attack.mitre.org/software/S0665/
[4] https://malpedia.caad.fkie.fraunhofer.de/details/win.lpeclient
[5] https://boho.or.kr/kr/bbs/view.do?searchCnd=1&bbsId=B0000133&searchWrd=&menuNo=205020&pageIndex=2&categoryCode=&nttId=71686
[6] https://www.ncsc.go.kr:4018/main/cop/bbs/selectBoardArticle.do?bbsId=SecurityAdvice_main&nttId=32172&pageIndex=3&searchCnd2=
[7] https://www.dailysecu.com/news/articleView.html?idxno=165615
[8] https://www.boannews.com/media/view.asp?idx=137003&page=1&kind=1
[9] https://www.dailysecu.com/news/articleView.html?idxno=165681
'취약점 > Supply-Chain Attack' 카테고리의 다른 글
GitHub Action 공급망 공격 (CVE-2025-30066, CVE-2025-30154) (0) | 2025.03.20 |
---|---|
AWS ‘whoAMI’ 네임 혼동 공격 (0) | 2025.03.02 |
IPany VPN 공급망 공격 (0) | 2025.01.26 |
Apple CocoaPods 공급망 공격 (0) | 2024.07.03 |
XZ Utils 라이브러리 백도어 (CVE-2024-3094) (0) | 2024.04.01 |