
Vba2Graph - VBA 코드에서 호출 그래프 생성, 악성 문서 분석을 용이하게 하기 위해.
악성 Office 매크로 분석에 시간을 낭비하는 보안 연구자들을 위한 도구입니다.
VBA 호출 그래프를 생성하며, 잠재적인 악성 키워드를 강조 표시합니다.
악성 매크로의 빠른 분석과 실행 흐름 이해를 쉽게 해줍니다.
✓ 꽤 빠름
✓ 야생에서 관찰된 대부분의 악성 매크로에서 잘 작동함
✗ 정적 (동적으로 해석된 호출은 인식되지 않음)
예제 1:
Trickbot 다운로더 - 초기 트리거로 객체 Resize 이벤트를 사용하고, 이후 TextBox_Change 트리거를 사용합니다.

예제 2:

더 많은 사례는 Examples 폴더를 확인하세요.
https://github.com/decalage2/oletools/wiki/Install
pip3 install -r requirements.txt
Graphviz 설치:
https://graphviz.gitlab.io/download/#windows
PATH 환경 변수에 "dot.exe"를 추가하거나 다음을 실행:
set PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin
brew install graphviz
sudo apt-get install graphviz
sudo pacman -S graphviz
usage: vba2graph.py [-h] [-o OUTPUT] [-c {0,1,2,3}] (-i INPUT | -f FILE)
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
output folder (default: "output")
-c {0,1,2,3}, --colors {0,1,2,3}
color scheme number [0, 1, 2, 3] (default: 0 - B&W)
-i INPUT, --input INPUT
olevba generated file or .bas file
-f FILE, --file FILE Office file with macros
Python 2 릴리스는 Releases 섹션에서 사용 가능하지만 더 이상 지원되지 않습니다.
# Office 파일에서 직접 호출 그래프 생성 [tnx @doomedraven]
python3 vba2graph.py -f malicious.doc -c 2
# olevba로 VBA 코드 생성 후 vba2graph로 전달
olevba3 malicious.doc | python3 vba2graph.py -c 1
# VBA 코드에서 호출 그래프 생성
python3 vba2graph.py -i vba_code.bas -o output_folder
출력 폴더에 4개의 폴더가 생성됩니다:
batch.sh 스크립트 파일이 포함되어 있으며, 악성 문서가 있는 입력 폴더에서 olevba와 vba2graph를 실행합니다.
output 디렉토리를 삭제합니다. 주의해서 사용하세요.
이 프로젝트의 코드는 EPL-2.0 라이선스에 따라 라이선스가 부여됩니다.
이 프로젝트는 다음 타사 오픈소스 도구 및 라이브러리를 사용합니다. 해당 라이선스를 참고하시기 바랍니다.