Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
OffensiveVBA — 이 레포지토리는 Office 문서의 매크로에 대한 코드 실행 및 AV 우회 방법을 다룹니다. | Kitploit
도구/GitHubGitHub/s3cur3th1ssh1t/offensivevba
Privilege EscalationPayload GenerationPersistence MechanismsIDS/IPS EvasionLateral MovementPhishingSocial EngineeringLearning & EducationCurated ResourcesPayload Development
GitHubs3cur3th1ssh1t/offensivevba

OffensiveVBA

1.3k2304년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이 레포지토리는 Office 문서의 매크로에 대한 코드 실행 및 AV 우회 방법을 다룹니다.

저장소 보기

OffensiveVBA

VBS AV 우회 스트리밍/비디오를 준비하면서 Office 매크로 코드 실행 방법과 우회 기법을 조사하고 있었습니다.

목록이 점점 길어졌고, 공격용 VBA 템플릿을 모아놓은 중앙 저장소가 없어서 이 저장소를 만들게 되었습니다. 아직 완성과는 거리가 멉니다. 다른 멋진 기법이나 유용한 템플릿을 알고 계시다면 기여해 주시고 풀 리퀘스트를 생성해 주세요!

이 저장소에 있는 대부분의 템플릿은 이미 어딘가에 공개된 것들입니다. 저는 대부분의 템플릿을 ms-docs 사이트, 블로그 글 또는 다른 도구에서 복사해서 붙여넣었습니다.

이 저장소의 템플릿

파일설명
ShellApplication_ShellExecute.vbaShellApplication 개체와 ShellExecute 메서드를 통해 OS 명령 실행
ShellApplication_ShellExecute_privileged.vbaShellApplication 개체와 ShellExecute 메서드를 통해 권한 있는 OS 명령 실행 - UAC 프롬프트 발생
Shellcode_CreateThread.vbaWin32 CreateThread를 통해 현재 프로세스에서 셸코드 실행
Shellcode_EnumChildWindowsCallback.vbaEnumChildWindows를 통해 현재 프로세스에서 셸코드 실행
Win32_CreateProcess.vbaWin32 CreateProcess 함수를 통해 코드 실행을 위한 새 프로세스 생성
Win32_ShellExecute.vbaWin32 ShellExecute 함수를 통해 코드 실행을 위한 새 프로세스 생성
WMI_Process_Create.vbaWMI를 통해 코드 실행을 위한 새 프로세스 생성
WMI_Process_Create2.vba또 다른 WMI 코드 실행 예제
WscriptShell_Exec.vbaWscriptShell 개체와 Exec 메서드를 통해 OS 명령 실행
WscriptShell_run.vbaWscriptShell 개체와 Run 메서드를 통해 OS 명령 실행
VBA-RunPE@itm4n의 VBA RunPE 기법
GadgetToJScriptmed0x2e의 C# 스크립트로, JS/VBS/VBA 기반 스크립트에서 BinaryFormatter를 사용하여 역직렬화할 때 .NET 어셈블리 로드/실행을 트리거할 수 있는 .NET 직렬화 가젯 생성

누락된 항목 - 할 일

파일설명
Unhooker.vba메모리에서 API 후킹 제거
Syscalls.vbaSyscall 사용 - 디스크에서 직접 로드 또는 Syswhispers 방식

난독화 도구 / 페이로드 생성기

  1. VBad
  2. wePWNise
  3. VisualBasicObfuscator - 약간의 수정 필요, 줄을 나누지 않아 Office 문서 매크로에 사용 불가
  4. macro_pack
  5. shellcode2vbscript.py
  6. EvilClippy
  7. OfficePurge
  8. SharpShooter
  9. VBS-Obfuscator-in-Python - 약간의 수정 필요, 줄을 나누지 않아 Office 문서 매크로에 사용 불가

크레딧 / 유용한 자료

ASR 우회: http://blog.sevagas.com/IMG/pdf/bypass_windows_defender_attack_surface_reduction.pdf

셸코드를 VBScript로 변환: https://github.com/DidierStevens/DidierStevensSuite/blob/master/shellcode2vbscript.py

VBA에서 AMSI 우회: https://outflank.nl/blog/2019/04/17/bypassing-amsi-for-vba/

VBA 퍼징: https://www.mandiant.com/resources/purgalicious-vba-macro-obfuscation-with-vba-purging

F-Secure VBA 우회 및 탐지 게시글: https://blog.f-secure.com/dechaining-macros-and-evading-edr/

또 다른 F-Secure 블로그: https://labs.f-secure.com/archive/dll-tricks-with-vba-to-improve-offensive-macro-capability/

도구 다운로드
PPID_Spoof.vbachristophetd의 spoofing-office-macro 복사본
AMSIBypass_AmsiScanBuffer_ordinal.vbarmdavy의 AMSI 우회 기법 - 서명 우회를 위해 서수 값을 사용하여 AmsiScanBuffer 패치
AMSIBypass_AmsiScanBuffer_Classic.vbarasta-mouse의 고전적인 AmsiScanBuffer 패치
AMSIBypass_Heap.vbarmdavy의 HeapsOfFun 저장소 복사본
AMSIbypasses.vbaoutflanknl의 AMSI 우회 블로그
COMHijack_DLL_Load.vbaCOM 하이재킹을 통해 DLL 로드
COM_Process_create.vbaCOM 개체를 통해 프로세스 생성
Download_Autostart.vba원격 웹 서버에서 파일을 다운로드하여 시작 폴더에 배치
Download_Autostart_WinAPI.vbaURLDownloadtoFileA를 통해 원격 웹 서버에서 파일을 다운로드하여 시작 폴더에 배치
Dropper_Autostart.vba배치 파일을 시작 폴더에 드롭
Registry_Persist_wmi.vbaWMI를 통해 지속성을 위한 시작 레지스트리 키 생성
Registry_Persist_wscript.vbawscript 개체를 통해 지속성을 위한 시작 레지스트리 키 생성
ScheduledTask_Create.vba코드 실행/지속성을 위한 예약 작업 생성 및 시작
XMLDOM_Load_XSL_Process_create.vba원격 웹 서버에서 XSL을 로드하여 코드 실행
regsvr32_sct_DownloadExecute.vbaregsvr32를 실행하여 원격 웹 서버의 SCT 파일을 다운로드하여 코드 실행
BlockETW.vbantdll.dll의 EtwEventWrite를 패치하여 ETW 데이터 수집 차단
BlockETW_COMPLUS_ETWEnabled_ENV.vba환경 변수 COMPLUS_ETWEnabled를 0으로 설정하여 ETW 데이터 수집 차단, 출처 @xpn
ShellWindows_Process_create.vbaShellWindows 프로세스 생성으로 explorer.exe를 부모 프로세스로 설정
AES.vbaVBA에서 AES 암호화/복호화를 사용하는 예제, 출처 여기
Dropper_Executable_Autostart.vbaVBA에서 실행 파일 바이트를 가져와 자동 시작 폴더에 드롭 - 이 경우 다운로드 없음
MarauderDrop.vbaCOM 등록된 .NET DLL을 temp에 드롭하고, 함수를 가져와 코드 실행 - 이 경우 원격 웹 서버의 C# 바이너리를 메모리에 로드하여 실행, 출처 @Jean_Maes_1994의 MaraudersMap
Dropper_Workfolders_lolbas_Execute.vba포함된 실행 파일을 TEMP 디렉토리에 드롭하고 LOLBAS로 C:\windows\system32\Workfolders.exe를 사용하여 실행, 출처 @YoSignals
SandBoxEvasion일부 샌드박스 우회 템플릿
Evasion Dropper Autostart.vba폴더 이름 변경 작업을 통해 파일 쓰기 모니터링을 우회하여 시작 디렉토리에 파일 드롭
Evasion MsiInstallProduct.vbaWindowsInstaller ActiveXObject를 사용하여 원격 MSI 패키지를 설치, 의심스러운 Office 자식 프로세스 생성을 피하고 msi 설치는 MSIEXEC /V 서비스의 자식으로 실행됨
StealNetNTLMv2.vba공유 연결을 통해 NetNTLMv2 해시 탈취, 출처 https://book.hacktricks.xyz/windows/ntlm/places-to-steal-ntlm-creds
Parse-Outlook.vbaOutlook에서 민감한 키워드 및 파일 확장자를 파싱하고 이메일을 통해 유출, 출처 JohnWoodman
Reverse-Shell.vbaWindows API 호출을 사용하여 완전히 VBA로 작성된 리버스 셸, 출처 JohnWoodman
Manymore.vba
더 많은 아이디어가 있다면 자유롭게 기여해 주세요