MS 윈도우 압축 헤더(CAB)를 악용한 배치 파일(*.cmd) 악성코드 ModiLoader(DBatLoader) 유포 주의
2024년 12월, AhnLab SEcurity intelligence Center(ASEC)은 자사 메일 허니팟을 통해 MS 윈도우 압축 헤더(CAB)를 악용한 배치 파일(*.cmd)형 악성 코드가 유포됨을 확인하였다.
해당 악성코드는 ModiLoader(DBatLoader)라 불리며, 발주서(PO)로 유포되고 있었다.
과거와 다른 점은 *.cmd(배치 파일) 확장자를 사용하지만 실제로는 CAB 압축 헤더 포맷을 악용해 악성코드를 생성 후 실행하는 Loader 형 악성코드라는 것이다.
바이너리 구조 : CAB 헤더(‘MSCF’) + Command lIne + PE(exe)
확장자 : *.cmd
해외에서는 ‘Threat Actor Turns a CAB File Into the Loader to Deploy ModiLoader‘라는 제목으로 소개된 바 있다.

[그림 1] ModiLoader(DBatLoader)가 유포된 메일
해당 공격자는 메일 보안 제품을 우회하기 위해 첨부 파일의 헤더를 변경하였다. 확인된 압축 파일은 매직 헤더가 ‘MSCF’인 압축 파일(CAB)이지만, 그 앞에 ‘PNG'(이미지 파일 헤더)를 추가하여 파일 필터링을 우회하거나 압축 내 파일을 자동으로 검사하는 기능 등을 우회하기 위한 것으로 추정된다.

[그림 2] 메일에 첨부된 압축 파일의 헤더
이 압축 파일 내부에는 정상 이미지 파일과 MS 윈도우 압축 포맷(CAB)을 이용한 악성 배치 파일(*.cmd)이 존재한다.

[그림 3] 첨부된 압축 파일의 파일 목록
CMD 배치 파일은 아래와 같이 CAB구조와 커맨드 명령어 그리고 실행 파일을 갖는 특이한 구조를 가지고 있으며, 커맨드 명령어를 통해 로더로 동작할 수 있다.

[그림 4] ModiLoader(DBatLoader)를 실행하는 Cab 형태의 Loader ( 파일명 : PO_SK336.cmd )
extrac32로 추출이 가능한 CAB 구조로 만들기 위해서는 coffCabStart 오프셋을 시작으로 블럭(Block)마다 크기를 맞게 설정해주어야 한다. cCFData는 블럭에 대한 개수를 가리키지만, 임의로 설정하여도 동작과는 무방하다.
유포된 PO_SK336.cmd 파일 실행 과정은 아래와 같다.
1) 실행 시 앞 헤더는 무시하고 Command line 실행
2) extrac32를 통해 자기 자신 파일(CAB 구조) 압축 해제
3) %temp% 폴더에 내부 실행 파일(EXE)을 생성 후 실행
커맨드 라인 명령은 아래와 같다.
cls && extrac32 /y "%~f0" "%tmp%\x.exe" && start "" "%tmp%\x.exe"
최종 악성 코드 생성 경로

[그림 5] ModiLoader(DBatLoader)의 생성 경로(%temp%)
따라서 사용자는 첨부 파일에 대해 각별한 주의가 필요하다.