Lazarus 그룹 DLL-Side Loading 기법 이용 (2)

Lazarus 그룹 DLL-Side Loading 기법 이용 (2)

AhnLab SEcurity intelligence Center(ASEC)은 “Lazarus 그룹 DLL-Side Loading 기법 이용”[1] 블로그를 통해 Lazarus 공격 그룹이 초기 침투 단계에서 다음 공격 단계 달성을 위해 정상 응용 프로그램을 이용한 DLL Side-Loading 공격 기법을 사용하는 방식들을 다루었다. 여기에서는 추가된 변종 DLL들과 감염 대상 검증 루틴을 다룬다.

Lazarus 그룹은 국내 기업, 기관, 싱크탱크와 같은 분야에 공격을 수행하는 APT 그룹이다. 지난 2024.01.12 ASD(AhnLab Smart Defense) 인프라를 통해 Lazarus 그룹이 악성코드를 실행할 때 주로 사용하는 기법인 DLL-Side Loading(T1574.002 Hijack Execution Flow: DLL Side-Loading)의 새로운 정상 프로그램이 확인되었다.

공격자는 초기 침투 단계, 악성코드 실행 단계에서 주로 DLL-Side Loading 기법을 사용한다. 이 방식은 정상적인 응용 프로그램과 악성 DLL을 같은 폴더 경로에 저장하여 응용 프로그램이 실행 될 때 악성 DLL이 함께 동작하도록 하는 기법이다. 즉, 악성 DLL의 이름을 정상 프로그램이 참조하는 다른 경로에 위치한 정상 DLL 파일명과 동일하게 변경하여 악성 DLL이 먼저 실행 되도록 하는 악성코드 실행 기법이다.

새롭게 확인된 정상 프로그램은 “wmiapsrv.exe”이다. wmiapsrv.exe 프로그램은 MS 정상 모듈이며 해당 모듈은 “wbemcomn.dll”을 로드하게 되는데 이를 이용하여 변조된 악성 wbemcomn.dll을 로드한다. 또한 동일한 경로 내 변조된 또 다른 악성 DLL “netutils.dll”이 확인되었다. 생성된 wbemcomn.dll과 netutils.dll은 백도어 기능을 수행한다.

 

  1. wbemcomn.dll

wbemcomn.dll은 감염 대상 검증 루틴이 존재한다. GetSystemFirmwareTable API 호출의 결과 값은 고유한 시스템 내의 정보를 포함하는데, 이 결과을 이용하여 wbemcomn.dll 의 Resource 영역에 있는 암호화된 문자열을 복호화한다. 이때 복호화된 값의 경로 파일을 로드하여 이후 악성 행위를 수행한다. 해당 부분을 통해 특정 시스템에서만 동작하도록 의도한 APT 공격 시도임을 알 수 있다. 다른 시스템 정보를 통한 GetSystemFirmwareTable API 호출 결과를 이용하여 복호화 할 경우 파일 경로 정보가 확인될 수 없기 때문이다.

2. netutils.dll

netutils.dll은 wbemcomn.dll와는 다르게 복호화 검증 과정 없이 특정 파일을 로드한다. 해당 파일 경로와 파일명은 다음과 같다.

  • PDB 정보 – O:\Develop\Tool_Dev\Loader\7-Zip\Util\7z\Debug\7zDec.pdb
  • 로드 대상 파일 정보 – C:\ProgramData\Microsoft Editor\editor.dat

Lazarus 그룹은 스피어 피싱, 공급망 공격 등 다양한 공격 벡터를 사용하며 매우 위협적이고 전 세계적으로 활발하게 활동하는 공격 그룹 중 하나이다. 해당 유형의 악성코드는 다음과 같이 안랩에서 진단 중이다.

 

[파일 진단]
Trojan/Win.LazarLoader.C5572843 (2024.01.12.03)
Trojan/Win.LazarLoader.C5572847 (2024.01.13.00)

[행위 진단]
Injection/MDP.Event.M4512
Injection/EDR.Lazarus.M10965

MD5

21def97a3c5b95df1e1aeb6486881656
edca71eda8650a2c591c37c780b6a0c5

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