Log4Shell 취약점을 악용하는 Lazarus 그룹 (NukeSped)

작년 12월 자바 기반의 로깅 유틸리티인 Log4j의 취약점(CVE-2021-44228)이 전 세계적으로 이슈가 되었다. 해당 취약점은 원격지의 자바 객체 주소를 로그 메시지에 포함시켜 Log4j를 사용하는 서버에 전송할 경우 서버에서 자바 객체를 실행할 수 있는 원격 코드 실행 취약점이다.

ASEC 분석팀은 Lazarus 그룹의 국내 타겟 공격을 모니터링하고 있으며, 지난 4월 Lazarus 그룹으로 추정되는 공격 그룹이 해당 취약점을 악용하여 NukeSped 악성코드를 유포한 정황을 포착하였다. 공격자는 보안 패치가 되지 않은 VMware Horizon 제품에 log4j 취약점을 사용하였다. VMware Horizon 제품은 가상화 데스크톱 솔루션으로써 기업에서 원격 근무 솔루션과 클라우드 인프라 운영을 위해 사용하는 제품이다. 특히 최근 Covid-19로 인하여 재택근무 기업이 많아짐에 따라 해당 제품을 사용하는 기업 또한 많아졌을 것으로 추정된다.


NukeSped

다음은 VMware Horizon의 ws_tomcatservice.exe 프로세스에 의해 파워쉘 명령이 실행되어 NukeSped를 설치하는 행위에 대한 자사 ASD(AhnLab Smart Defense) 로그이다.

[그림 1] NukeSped 설치 ASD 로그


NukeSped 분석

NukeSped는 C&C 서버에서 공격자의 명령을 전달받아 수행할 수 있는 백도어 악성코드이다. 여기서 다루는 악성코드는 NukeSped 변종 중 하나로서 과거 2020년 경부터 Lazarus 그룹에서 사용하고 있다. 해당 변종에 대해서는 과거 아래의 ASEC 블로그에서 상세하게 다룬 바 있으며, 본 항목에서는 공격에 사용된 NukeSped 유형에 대한 간략한 소개 및 이전 버전과의 비교하여 정리한다.

해당 변종의 특징이라고 한다면 C++로 개발되어 있으며 가상 함수를 사용함에 따라 [그림 2]와 같은 클래스 이름들이 바이너리에 포함되어 있다는 점이다.

[그림 2] NukeSped의 클래스 이름들

그리고 일반적으로 DES 알고리즘을 이용해 API 이름을 포함한 내부 문자열, C&C 서버 목록을 복호화하며, C&C 서버와의 통신에는 RC4 알고리즘을 사용하는 특징을 갖는다. 하지만 약간의 변형들도 존재하는데, 이전 블로그에서는 C&C 서버와의 통신에 RC4 알고리즘 대신 Xor 암호화(CryptorXor 클래스)를 이용하는 유형들이 있었다면, 이번 공격에서는 내부 문자열, C&C 서버 목록뿐만 아니라 C&C 서버와의 통신에도 모두 RC4 알고리즘을 사용하는 유형이 확인되었다. 이때 RC4 키는 서로 다른 값을 사용한다.

  • RC4 Key 1 (문자열 복호화) : 7B CA D5 7E 1B AE 26 D8 60 1B 61 DA 83 80 11 72 01 6C 54 D8 8A E8 DE 7B 1A 0A
  • RC4 Key 2 (C&C 통신) : CD 80 5D D6 6C 1C 63 78 AF 13 7F 67 5B E9 B1 F4 87 27 EE 91 F3 5F 17 EE 9B 6A 28 61 8C F4
[그림 3] 문자열 복호화에 사용되는 RC4 키

문자열 복호화 및 API Resolving 과정이 완료되면 이후 C&C 서버와 통신을 시작한다. NukeSped는 C&C 서버와의 접속이 이루어진 후 추가적인 검증 과정을 진행하는데, C&C 서버에 SSL 통신을 위장한 문자열을 전송한 후 특정 문자열을 전달받을 때 정상적인 C&C 서버로 인식하고 이후 루틴을 진행한다. 여기에 사용되는 문자열은 이전 분석 보고서와 동일하게 2가지 종류가 존재한다.

C&C 요청C&C 응답
Type 1HTTP 1.1 /index.php?member=sbi2009 SSL3.3.7HTTP 1.1 200 OK SSL2.1
Type 2HTTP 1.1 /member.php SSL3.4HTTP 1.1 200 OK SSL2.1
[표 1] 유형별 C&C 요청 및 응답 값

이후 사용자 환경의 MAC 주소를 구해 RC4 알고리즘으로 암호화하여 C&C 서버에 전달하며, 이어진 통신에서도 동일하게 패킷을 RC4 알고리즘으로 암호화하여 통신한다.

[그림 3] C&C 서버와의 통신 과정

NukeSped는 전달받은 명령에 따라 키로깅, 스크립 캡쳐, 파일 및 쉘 작업을 수행할 수 있는데, 해당 기능들은 다음 클래스들에 존재한다. 참고로 ModuleUsbDump, ModuleWebCamera 2가지 모듈은 이번 공격에서 새롭게 확인된 기능들이다.

  • ModuleUpdate
  • ModuleShell
  • ModuleFileManager
  • ModuleKeyLogger
  • ModuleSocksTunnel
  • ModuleScreenCapture
  • ModuleInformation
  • ModulePortForwarder
  • ModuleUsbDump
  • ModuleWebCamera


NukeSped를 이용한 공격

InfoStealer 설치

공격자는 NukeSped를 이용해 정보 탈취형 악성코드를 추가적으로 설치하였다. 확인된 2개 악성코드는 모두 콘솔 형태의 프로그램이었으며 유출 결과를 별도의 파일로 저장하지 않는다. 따라서 공격자는 사용자 PC의 GUI 화면를 원격 제어하였거나, 파이프라인 형태로 데이터를 유출했을 것으로 추정된다. 참고로 확인된 정보 탈취 악성코드 2개 중 하나는 이전 공격에서 사용된 것과 동일한 파일인 것이 특징이다.

[그림 4] 수집하는 정보 목록

정보 유출 대상 S/W 목록 및 데이터는 다음과 같다.

  • 수집 데이터 : 브라우저 저장 계정/비밀번호, 방문 기록
    대상 S/W : Google Chrome, Mozilla Firefox, Internet Explorer, Opera, Naver Whale
  • 수집 데이터 : 메일 계정 정보
    대상 S/W : Outlook Express, MS Office Outlook, Windows Live Mail
  • 수집 데이터 : 최근 사용 파일명
    대상 S/W : MS Office(PowerPoint, Excel, Word), 한글 2010
NukeSped 사용 명령

공격자는 백도어 악성코드인 NukeSped를 이용해 커맨드 라인 명령을 전달하여 추가적인 정보를 수집하였다. 다음 명령들은 감염 시스템이 존재하는 환경의 기본적인 네트워크 정보들과 도메인 정보를 보여준다. 이렇게 수집한 정보들은 추후 측면 이동 공격에 사용될 수 있으며, 성공할 경우 공격자는 도메인 내의 시스템들을 장악할 수 있다.

  • cmd.exe /c “ping 11.11.11.1”
  • cmd.exe /c “ipconfig /all”
  • cmd.exe /c “query user”
  • cmd.exe “net group “domain admins” /domain”
  • net user _smuser white1234!@#$
  • cmd.exe “net localgroup administrators /add smi140199”


Jin Miner

참고로 감염 시스템에 대한 ASD 로그를 분석한 결과, Lazarus 그룹이 NukeSped를 설치하기 전에 이미 다른 공격자들이 해당 취약점을 악용하여 Jin Miner를 설치했던 이력이 함께 존재하였다. Jin Miner는 기존 Sophos의 보고서에서 이미 Log4Shell 취약점을 통해 유포되는 악성코드로 알려져 있다.

[그림 5] Jin Miner 설치 ASD 로그

파워쉘 명령을 통해 위의 주소에서 설치되는 Jin Miner는 최종적으로 모네로 코인을 채굴하는 코인 마이너 악성코드이다.

[그림 6] Jin Miner 설치 스크립트 add.bat 파일
[그림 7] Jin Miner의 설정 루틴

[IOC]
NukeSped (MD5, 진단명, 엔진버전)
– 87a6bda486554ab16c82bdfb12452e8b (Backdoor/Win.NukeSped.R487407) (2022.04.23.02)
– 830bc975a04ab0f62bfedf27f7aca673 (Trojan/Win.Andardoor.C5094639) (2022.04.21.01)
– 131fc4375971af391b459de33f81c253 (Backdoor/Win.NukeSped.R486619) (2022.04.21.00)
– 827103a6b6185191fd5618b7e82da292 (Backdoor/Win.NukeSped.R486595) (2022.04.20.03)
– 1875f6a68f70bee316c8a6eda9ebf8de (Backdoor/Win.NukeSped.R486595) (2022.04.20.03)

InfoStealer (MD5, 진단명, 엔진버전)
– 85995257ac07ae5a6b4a86758a2283d7 (Infostealer/Win.Pwstealer.C4510631) (2021.06.04.03)
– 47791bf9e017e3001ddc68a7351ca2d6 (Backdoor/Win.NukeSped.C4631988) (2021.09.15.01)

NukeSped 다운로드 주소
– hxxp://185.29.8[.]18/htroy.exe

NukeSped C&C 주소
– 185.29.8[.]18:8888
– 84.38.133[.]145:443
– 84.38.133[.]16:8443
– mail.usengineergroup[.]com:8443

NukeSped 파일명
– svc.exe
– srvCredit.exe
– runhostw.exe
– javarw.exe


Jin Miner (MD5, 진단명, 엔진버전)
– 7a19c59c4373cadb4556f7e30ddd91ac (CoinMiner/BAT.Generic) (2022.05.11.03)
– c2412d00eb3b4bccae0d98e9be4d92bb (CoinMiner/BAT.Generic) (2022.05.11.03)
– 8c8a38f5af62986a45f2ab4f44a0b983 (Win-Trojan/Miner3.Exp) (2020.01.29.00)
– 7ef97450e84211f9f35d45e1e6ae1481 (Win-Trojan/Miner3.Exp) (2020.01.29.00)
– dd4b8a2dc73a29bc7a598148eb8606bb (Unwanted/Win32.NSSM.R353938) (2020.10.27.00)

Jin Miner 다운로드주소
– hxxp://iosk[.]org/pms/add.bat
– hxxp://iosk[.]org/pms/mad.bat
– hxxp://iosk[.]org/pms/jin.zip
– hxxp://iosk[.]org/pms/jin-6.zip

5 1 vote
별점 주기
guest
0 댓글
Inline Feedbacks
View all comments