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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
zip_smuggling — 나중에 추출할 추가 데이터를 몰래 숨기는 zip 파일을 생성하는 Python3 유틸리티 | Kitploit
도구/GitHubGitHub/octoberfest7/zip_smuggling
Data ExfiltrationRed TeamingPayload DevelopmentAdversarial Attack
GitHuboctoberfest7/zip_smuggling

zip_smuggling

나중에 추출할 추가 데이터를 몰래 숨기는 zip 파일을 생성하는 Python3 유틸리티

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

zip_smuggling

이 Python 유틸리티는 파일 구조 내에 추가 데이터가 내장된 zip 파일을 생성합니다. 이 추가 데이터는 zip을 검사하거나 압축을 풀 때 표시되지 않지만, zip 파일 안의 Windows 바로 가기 파일(LNK)을 통해 powershell로 검색할 수 있습니다.

사용법

이 스크립트에는 zip 파일 / 바로 가기 파일 / 은닉 파일의 이름과 은닉하려는 파일/데이터가 필요합니다:

python3 zip_smuggle.py important_data /home/ubuntu/zip_smuggling/testdata.txt

이렇게 하면 스크립트 폴더 안에 important_data.zip이 생성됩니다. 이 zip 파일을 Windows 컴퓨터로 옮기고, zip 안으로 더블클릭하여 들어가거나 압축을 푼 다음, 그 안에 포함된 바로 가기를 클릭하세요. 은닉용으로 제공한 데이터는 zip 파일에서 검색되어 디스크에 저장된 후 텍스트 파일로 열립니다.

개요

이 프로젝트는 제가 예전에 만든 lnk_generator를 활용합니다. 이 도구는 사전 설정된 템플릿을 사용하여 임의의 바로 가기 파일을 만들 수 있게 해줍니다. 바로 가기 파일 생성에 대한 더 자세한 내용 / 더 완전한 스크립트와 메모는 해당 저장소를 확인하세요.

은닉되는 데이터는 아카이브에 포함된 파일들의 데이터와 아카이브의 중앙 디렉터리 사이에 배치됩니다. 중앙 디렉터리는 zip 파일의 일종의 목차 역할을 합니다. 이 중앙 디렉터리에는 아카이브 내 파일들의 오프셋이 포함되어 있으므로, 주입된 데이터가 zip 안에 존재하더라도 중앙 디렉터리에 의해 추적되거나 색인되지 않아 쉽게 보거나 추출할 수 없습니다. Python 스크립트는 zip 파일 내에서 "End of Central Directory" 오프셋을 찾아, 은닉 데이터가 주입된 후 중앙 디렉터리의 새 위치로 업데이트합니다. 아래 그림은 왼쪽에 zip의 일반적인 구조를, 오른쪽에 데이터가 삽입된 위치를 보여줍니다:

image

은닉 데이터는 powershell 명령으로 추출됩니다:

powershell.exe -w 1 -c "$name = \"testing\";$file = (get-childitem -Pa $Env:USERPROFILE -Re -Inc *$name.zip).fullname;$bytes=[System.IO.File]::ReadAllBytes($file);$size = (0..($bytes.Length - 4) | Where-Object {$bytes[$_] -eq 0x55 -and $bytes[$_+1] -eq 0x55 -and $bytes[$_+2] -eq 0x55 -and $bytes[$_+3] -eq 0x55 })[0] + 4;$length=12;$chunk=$bytes[$size..($size+$length-1)];$out = \"$Env:TEMP\$name.txt\";[System.IO.File]::WriteAllBytes($out,$chunk);Invoke-Item $out"

이 명령은:

  1. 사용자의 홈 폴더에서 zip 파일을 재귀적으로 검색합니다
  2. 파일을 메모리로 읽어들입니다
  3. 은닉 데이터의 시작을 표시하는 egghunter 바이트 시퀀스(0x55/0x55/0x55/0x55)를 찾습니다
  4. 은닉 데이터를 payload_name.txt로 디스크에 저장합니다
  5. .txt의 기본 시스템 응용 프로그램으로 텍스트 파일을 엽니다

이 POC는 의도적으로 다소 범용적으로 남겨 두었으며, 다른 파일 형식을 사용하도록 무기화하는 방법 등은 독자의 연습 과제로 남겨 둡니다.

도구 다운로드