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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
steganography — 파일을 암호화하여 이미지 내부에 숨기는 간단한 C++ 이미지 스테가노그래피 도구로, 최하위 비트(LSB) 인코딩을 사용합니다. | Kitploit
도구/GitHubGitHub/7thsamurai/steganography
Encryption/Decryption ToolsData ExfiltrationSteganographyCryptography
GitHub7thsamurai/steganography

steganography

파일을 암호화하여 이미지 내부에 숨기는 간단한 C++ 이미지 스테가노그래피 도구로, 최하위 비트(LSB) 인코딩을 사용합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이미지 스테가노그래피 도구

간단한 C++ 암호화 및 스테가노그래피 도구로, 비밀번호 보호 암호화를 사용하여 파일 내용을 보호한 후, 최하위 비트(LSB) 인코딩을 사용하여 이미지의 픽셀 데이터에 삽입합니다. Linux, MacOS, Windows 시스템용입니다.

인코딩

root@kitploit:~
$ ./steganography encode -i data/orig.png -e data/jekyll_and_hyde.zip -o output.png
Password: 1234
* Image size: 640x426 pixels
* Encoding level: Low (Default)
* Max embed size: 132.38 KiB
* Embed size: 61.77 KiB
* Encrypted embed size: 61.78 KiB
* Generated CRC32 checksum
* Generated encryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Encrypted embed with AES-256-CBC
* Embedded jekyll_and_hyde.zip into image
* Sucessfully wrote to output.png

원본 이미지:

원본 이미지

ZIP이 포함된 이미지로서, "지킬 박사와 하이드 씨" 책의 전체 내용이 포함되어 있습니다:

임베드된 이미지

디코딩

root@kitploit:~
$ ./steganography decode -i output.png -o "out - jekyll_and_hyde.zip"
Password: 1234
* Image size: 640x426 pixels
* Generated decryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Sucessfully decrypted header
* File signatures match
* Detected embed jekyll_and_hyde.zip
* Encoding level: Low (Default)
* Encrypted embed size: 61.78 KiB
* Successfully decrypted the embed
* Decrypted embed size: 61.77 KiB
* CRC32 checksum matches
* Successfully wrote to out - jekyll_and_hyde.zip

빌드

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j 4

사용법

root@kitploit:~
Usage: steganography [-h] {decode,encode}

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits

Subcommands:
  decode        Decodes and extracts an embed-file from an image
  encode        Encodes an embed-file into an image

인코딩

root@kitploit:~
Usage: encode [-h] --input VAR --output VAR --embed VAR [--passwd VAR]

Encodes an embed-file into an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output image. [required]
  -e, --embed  	specify the file to embed. [required]
  -p, --passwd 	specify the encryption password.

디코딩

root@kitploit:~
Usage: decode [-h] --input VAR [--output VAR] [--passwd VAR]

Decodes and extracts an embed-file from an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output file. [default: ""]
  -p, --passwd 	specify the encryption password.

작동 원리

인코딩

프로그램은 먼저 /dev/urandom에서 이진 데이터를 읽어 무작위로 128비트 비밀번호 솔트와 128비트 AES 초기화 벡터를 생성합니다. 그런 다음 사용자가 입력한 문자열에 PBKDF2-HMAC-SHA-256을 사용하여 암호화 키를 생성할 때 비밀번호 솔트를 매개변수로 사용합니다. 임베드할 파일의 CRC32 해시가 계산된 후, 데이터의 유효성을 위한 체크섬 역할을 하도록 헤더에 저장됩니다. 그런 다음 PKCS #7 알고리즘을 사용하여 임베드할 파일의 이진 데이터를 패딩하고, 앞서 생성된 초기화 벡터를 사용하여 CBC 모드의 AES-256으로 헤더와 패딩된 데이터를 모두 실제로 암호화합니다. 이제 무작위 오프셋을 먼저 선택한 후, 데이터의 각 비트를 순회하며 각 픽셀의 각 채널 바이트의 최하위 비트를 설정하여 실제 이미지 픽셀 데이터 내에 저장함으로써 데이터가 이미지 내에 실제로 인코딩됩니다.

디코딩

디코딩 프로세스는 위에서 설명한 인코딩 프로세스와 정확히 동일하게 작동하지만, 단지 역순으로 수행됩니다. 유일한 차이점은 디코딩 시 프로그램이 데이터를 추출하고 복호화하려고 시도한 후, 추출 프로세스를 검증하기 위해 헤더 섹션의 일부 정보를 비교한다는 점입니다. 비교되는 헤더 필드는 다음과 같습니다: 이 프로그램에 고유한 4바이트 파일 시그니처와 복호화된 데이터의 CRC32 해시입니다. 이 중 하나라도 올바른 값과 일치하지 않으면 복호화 프로세스가 실패합니다. 이는 복호화하려는 파일에 실제로 임베드가 포함되어 있지 않거나, 입력한 비밀번호가 잘못되었거나, 이미지 파일이 어떤 식으로든 손상된 경우에만 발생합니다.

감지

이미지에 데이터가 임베드되었는지 감지하는 것은 쉬운 작업이지만, 이론적으로는 이 프로그램이 수행했다는 것을 알 수 있는 방법이 없으며, 이론적으로는 비밀번호를 모르는 상태에서 데이터를 복호화하는 알려진 방법이 없어야 합니다. 즉, 수백만 년을 소비하지 않고는 불가능합니다.

면책 조항

이 프로그램을 엿보는 눈으로부터 보호하려는 중요한 데이터를 암호화하고 숨기는 데 사용하지 마십시오. 이것은 단지 재미로 만든 간단한 개념 증명 프로그램입니다. 저는 암호학자가 아닙니다. 그저 취미로 하는 사람일 뿐이며, 사용에 따른 위험은 본인이 감수하십시오.

저작권

이 소프트웨어는 MIT 라이선스 하에 제공됩니다. Copyright © 2022 Zach Collins

도구 다운로드