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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
blenny — 실행 파일의 아이콘 파일에 페이로드를 내장하는 페이로드 전달 시스템! | Kitploit
도구/GitHubGitHub/frank2/blenny
Payload GenerationSteganographyRed TeamingPayload DevelopmentAdversarial Attack
GitHubfrank2/blenny

blenny

실행 파일의 아이콘 파일에 페이로드를 내장하는 페이로드 전달 시스템!

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

BLENNY!

Blenny는 실행 파일의 아이콘 안에 실행 가능한 페이로드 데이터를 숨기는 Windows용 개념 증명(PoC) 페이로드 난독화 도구입니다. 이름은 검치 블레니에서 따왔으며, 이 물고기는 청소 물고기의 행동과 모습을 흉내 내어 무심한 물고기를 잡아먹습니다.

왜?

정확한 경위는 기억나지 않지만, retr0id(@DavidBuchanan314)라는 해커가 실행 파일의 아이콘 안에 페이로드를 숨기는 아이디어를 제기했습니다. PNG 파일의 다양한 특성과 Windows 아이콘 파일이 내부에 PNG 데이터를 포함할 수 있다는 점 덕분에, 이 아이디어를 아주 쉽게 구현할 수 있으리라는 것을 깨달았습니다. 약간의 노력만 들이면 되었습니다. 바로 그 목적을 위해 PNG 파일에서 페이로드를 생성하는 용도로 특화된 Facade 라이브러리를 만들었습니다.

최종 결과물은 Windows용 기본 드로퍼/실행기 페이로드를 맞춤 설정하는 데 사용할 수 있는 컴팩트한 페이로드 파일과 빌드 시스템입니다.

획득

Blenny는 아이콘 파일에서 페이로드를 생성하기 위해 Facade 라이브러리를 사용하므로, 저장소를 내려받을 때 서브모듈(및 그 하위 서브모듈)을 초기화해야 합니다:

root@kitploit:~
$ git clone https://github.com/frank2/blenny.git
$ cd blenny
$ git submodule update --init --recursive

이것으로 빌드를 위한 저장소 초기화에 필요한 모든 작업이 끝납니다.

빌드

이 프로젝트는 문자 그대로 CMake를 염두에 두고 설계되었으므로, 이 프로젝트를 빌드하기 전에 CMake를 내려받아 설치하는 것이 절대적으로 필요합니다. 그렇지 않으면 작동하지 않을 것입니다(직접 모든 CMake 정의를 수동으로 설정하는 데 정말 전념하지 않는 한). 프로젝트를 컴파일하려면 Visual Studio 사본도 필요합니다.

이 프로젝트는 빌드 프로세스를 구성하기 위해 수많은 CMake 변수를 사용합니다. 사랑스러운 양 친구가 바탕 화면에 나타나는 기본 데모 페이로드를 얻으려면 프로젝트의 기본 디렉터리에서 다음을 실행하면 됩니다:

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -D BLENNY_ZTEXT_PAYLOAD=ON ../
$ cmake --build ./ --config Release
$ ./Release/blenny.exe

기본적으로 이 도구는 실행 파일의 아이콘에서 "blenny.exe"라는 실행 파일을 추출하여 현재 사용자의 임시 디렉터리에 넣은 다음 실행합니다. 기본 페이로드는 @AdrianoTiger의 DesktopPet으로, 90년대 클래식 esheep.exe를 전용으로 다시 빌드한 것입니다.

이 모든 것을 가능하게 하는 변수는 모두 사용자 지정할 수 있습니다! 하나의 페이로드 변수(BLENNY_TRAILING_PAYLOAD, BLENNY_TEXT_PAYLOAD, BLENNY_ZTEXT_PAYLOAD 또는 BLENNY_STEGO_PAYLOAD)를 반드시 설정해야 합니다. 이 변수는 페이로드가 최종적으로 아이콘에 채워지는 방식을 제어합니다. 이러한 기법에 대한 자세한 내용은 Facade 라이브러리를 참조하세요. 예를 들어, 자신만의 페이로드를 사용하려면 다음과 같이 하면 됩니다:

root@kitploit:~
$ cmake -D BLENNY_PAYLOAD_FILE="path/to/your/payload.exe" -D BLENNY_ZTEXT_PAYLOAD=ON ../
$ cmake --build ./ --config Release

설정할 수 있는 다양한 구성 옵션, 기본값 및 기능을 정리한 표는 다음과 같습니다.

도구 다운로드
플래그유형기본값용도
BLENNY_PAYLOAD_FILEString"${PROJECT_SOURCE_DIR}/res/defaultpayload.exe"아이콘 파일에 포함할 페이로드. 참고: 최종 실행 방식이 ShellExecuteA이므로 배치 스크립트처럼 탐색기에서 시작할 수 있는 모든 파일이 될 수 있습니다!
BLENNY_ICON_FILEString"${PROJECT_SOURCE_DIR}/res/defaulticon.ico"실행 파일에 사용하고 페이로드를 포함할 아이콘. 참고: 모든 아이콘이 작동하는 것은 아닙니다! 아이콘 파일에는 PNG 섹션이 있어야 합니다. 대상 아이콘의 데이터를 헥사 편집기에서 확인하여 PNG 이미지가 포함되어 있는지 확인하세요!
BLENNY_TRAILING_PAYLOADBooleanOFF아이콘의 PNG 파일 내에 트레일링 데이터 페이로드를 활성화합니다.
BLENNY_TEXT_PAYLOADBooleanOFF아이콘의 PNG 파일 내에 tEXt 섹션 페이로드를 활성화합니다.
BLENNY_ZTEXT_PAYLOADBooleanOFF아이콘의 PNG 파일 내에 zTXt 섹션 페이로드를 활성화합니다. 이는 압축된 tEXt 페이로드입니다.
BLENNY_STEGO_PAYLOADBooleanOFF아이콘의 PNG 파일 내에 스테가노그래피 페이로드를 활성화합니다. 참고: 대부분의 아이콘 이미지 크기가 256x256으로 제한되므로 모든 페이로드가 이 옵션에 맞지는 않습니다!
BLENNY_PAYLOAD_KEYWORDString"blenny"텍스트/ztext 페이로드의 경우 페이로드 데이터를 표시하는 키워드를 설정합니다.
BLENNY_ADMINBooleanOFFrunas 키워드를 활성화하여 페이로드를 관리자 권한으로 실행합니다.
BLENNY_PATHString"%TEMP%"실행 전에 페이로드를 저장할 경로. 환경 변수는 실행 시 확장됩니다.
BLENNY_FILENAMEString"blenny"추출 시 페이로드에 부여할 파일 이름.
BLENNY_RANDOM_FILENAMEBooleanOFF추출 시 페이로드에 대해 임의의 파일 이름이 생성되도록 활성화합니다.
BLENNY_RANDOM_FILENAME_LENGTHInteger8임의 파일 이름의 길이를 조정합니다.
BLENNY_RANDOM_FILENAME_RANDOM_LENGTHBooleanOFF추출 시 파일 이름에 임의의 길이를 부여합니다.
BLENNY_PAYLOAD_ARGSString""실행 시 페이로드 파일에 전달할 인수.
BLENNY_FILE_ATTRIBUTESInteger0x80 (일명 FILE_ATTRIBUTE_NORMAL)파일 생성 시 파일에 부여할 파일 속성.
BLENNY_CMD_SHOWInteger5 (일명 SW_SHOW)실행 시 페이로드 파일의 표시 상태. 또 다른 예로는 0인 SW_HIDE가 있습니다.