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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Steganography — 비트맵 이미지(.bmp 및 .png), WAV 사운드 파일 및 바이트 시퀀스를 위한 최하위 비트 스테가노그래피. 비트맵 이미지를 위한 간단한 LSB 스테가날리시스(LSB 추출). | Kitploit
도구/GitHubGitHub/ragibson/steganography
ForensicsSteganographyCryptographyCTFLearning & Education
GitHubragibson/steganography

Steganography

비트맵 이미지(.bmp 및 .png), WAV 사운드 파일 및 바이트 시퀀스를 위한 최하위 비트 스테가노그래피. 비트맵 이미지를 위한 간단한 LSB 스테가날리시스(LSB 추출).

저장소 보기
65610510개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

스테가노그래피

Steganography illustration

목차

  • 설치
  • 바이트 시퀀스 조작
  • WavSteg
  • LSBSteg
  • StegDetect

스테가노그래피 기술에 익숙하지 않다면, 스테가노그래피: 데이터 안에 데이터 숨기기에서 이 분야에 대한 기본 개요를 작성했습니다.

설치

이 프로젝트는 PyPI에 있으며 다음 명령으로 설치할 수 있습니다.

root@kitploit:~
pip install stego-lsb

또는, 이 리포지토리에서 직접 설치할 수 있습니다:

root@kitploit:~
git clone https://github.com/ragibson/Steganography
cd Steganography
python3 setup.py install

설치 후, 터미널에서 stegolsb 명령을 사용하거나 코드에서 stego_lsb에서 함수를 가져올 수 있습니다.

바이트 시퀀스 조작

bit_manipulation은 페이로드의 바이트를 캐리어 바이트 시퀀스의 최하위 비트에 직접 (빠르게) 인터리브하는 기능을 제공합니다.

구체적으로는 다음 네 가지 주요 함수를 포함합니다:

root@kitploit:~
# Interleave the bytes of payload into the num_lsb LSBs of carrier.
lsb_interleave_bytes(carrier, payload, num_lsb, truncate=False)

# Deinterleave num_bits bits from the num_lsb LSBs of carrier.
lsb_deinterleave_bytes(carrier, num_bits, num_lsb)

# Runs lsb_interleave_bytes with a List[uint8] carrier.
lsb_interleave_list(carrier, payload, num_lsb)

# Runs lsb_deinterleave_bytes with a List[uint8] carrier.
lsb_deinterleave_list(carrier, num_bits, num_lsb)

bit_manipulation.py를 실행하거나, test() 함수를 직접 호출하거나, stegolsb test를 실행하면 다음과 유사한 출력이 나타나야 합니다.

root@kitploit:~
Testing 1.0 MB payload -> 10.0 MB carrier...
Progress: [################################]
----------------------------------------
| # LSBs | 인코딩 속도  | 디코딩 속도  |
| 1      | 60.6   MB/s  | 95.9   MB/s  |
| 2      | 56.6   MB/s  | 52.7   MB/s  |
| 3      | 82.5   MB/s  | 77.4   MB/s  |
| 4      | 112.4  MB/s  | 105.9  MB/s  |
| 5      | 135.9  MB/s  | 129.8  MB/s  |
| 6      | 159.9  MB/s  | 152.4  MB/s  |
| 7      | 181.7  MB/s  | 174.6  MB/s  |
| 8      | 372.8  MB/s  | 1121.8 MB/s  |
----------------------------------------

WavSteg

WavSteg는 최하위 비트 스테가노그래피를 사용하여 .wav 파일의 샘플에 파일을 숨깁니다.

오디오 파일의 각 샘플에 대해 최하위 비트를 우리 파일의 데이터로 덮어씁니다.

사용 방법

WavSteg는 Python 3이 필요합니다.

다음 명령줄 인수와 함께 WavSteg를 실행하세요:

root@kitploit:~
Command Line Arguments:
 -h, --hide               사운드 파일에 데이터를 숨기려면
 -r, --recover            사운드 파일에서 데이터를 복구하려면
 -i, --input TEXT         .wav 파일 경로
 -s, --secret TEXT        사운드 파일에 숨길 파일 경로
 -o, --output TEXT        출력 파일 경로
 -n, --lsb-count INTEGER  사용할 LSB 개수  [기본값: 2]
 -b, --bytes INTEGER      사운드 파일에서 복구할 바이트 수
 --help                   이 메시지를 표시하고 종료합니다.

예시:

root@kitploit:~
$ stegolsb wavsteg -h -i sound.wav -s file.txt -o sound_steg.wav -n 1
# 또는
$ stegolsb wavsteg -r -i sound_steg.wav -o output.txt -n 1 -b 1000

데이터 숨기기

데이터 숨기기에는 -h, -i, -s, -o, -n 인수를 사용합니다.

다음 명령은 file.txt의 내용을 sound.wav에 숨기고 결과를 sound_steg.wav로 저장합니다. 또한 이 명령은 이론적 최대값 중 사용된 바이트 수를 출력합니다.

예시:

root@kitploit:~
$ stegolsb wavsteg -h -i sound.wav -s file.txt -o sound_steg.wav -n 2
Using 2 LSBs, we can hide 6551441 bytes
Files read                     in 0.01s
5589889 bytes hidden           in 0.24s
Output wav written             in 0.03s

너무 많은 데이터를 숨기려고 하면 WavSteg는 데이터를 숨기는 데 필요한 최소 LSB 수를 출력합니다.

데이터 복구

데이터 복구에는 -r, -i, -o, -n, -b 인수를 사용합니다.

다음 명령은 sound_steg.wav에서 숨겨진 데이터를 복구하여 output.txt로 저장합니다. 이를 위해서는 숨겨진 데이터의 바이트 크기가 정확해야 하며, 그렇지 않으면 결과가 너무 짧거나 불필요한 데이터가 포함될 수 있습니다.

예시:

root@kitploit:~
$ stegolsb wavsteg -r -i sound_steg.wav -o output.txt -n 2 -b 5589889
Files read                     in 0.02s
Recovered 5589889 bytes        in 0.18s
Written output file            in 0.00s

LSBSteg

LSBSteg는 최하위 비트 스테가노그래피를 사용하여 RGB 이미지(.bmp 또는 .png)의 색상 정보에 파일을 숨깁니다.

이미지의 각 픽셀에 있는 각 색상 채널(예: R, G, B)에 대해, 색상 값의 최하위 비트를 우리 파일의 데이터로 덮어씁니다. 데이터 복구를 더 쉽게 하기 위해, 입력 파일의 파일 크기도 이미지의 처음 몇 개 색상 채널에 숨깁니다.

사용 방법

Python 3와 Python Imaging Library(PIL)의 포크인 Pillow가 필요합니다.

다음 명령줄 인수와 함께 LSBSteg를 실행하세요:

root@kitploit:~
Command Line Arguments:
 -h, --hide                      이미지 파일에 데이터를 숨기려면
 -r, --recover                   이미지 파일에서 데이터를 복구하려면
 -a, --analyze                   이미지 내에 숨길 수 있는 데이터 양을 출력합니다   [기본값: False]
 -i, --input TEXT                비트맵(.bmp 또는 .png) 이미지 경로
 -s, --secret TEXT               이미지에 숨길 파일 경로
 -o, --output TEXT               출력 파일 경로
 -n, --lsb-count INTEGER         사용할 LSB 개수  [기본값: 2]
 -c, --compression INTEGER RANGE
                                 1(최고 속도) ~ 9(최소 파일 크기)  [기본값: 1]
 --help                          이 메시지를 표시하고 종료합니다.

예시:

root@kitploit:~
$ stegolsb steglsb -a -i input_image.png -s input_file.zip -n 2
# 또는
$ stegolsb steglsb -h -i input_image.png -s input_file.zip -o steg.png -n 2 -c 1
# 또는
$ stegolsb steglsb -r -i steg.png -o output_file.zip -n 2

분석

이미지에 데이터를 숨기기 전에 얼마나 많은 데이터를 숨길 수 있는지 확인하는 것이 유용할 수 있습니다. 다음 명령이 이를 수행하며, 다음과 유사한 출력을 생성합니다.

root@kitploit:~
$ stegolsb steglsb -a -i input_image.png -s input_file.zip -n 2
Image resolution: (2000, 1100, 3)
Using 2 LSBs, we can hide:     1650000 B
Size of input file:            1566763 B
File size tag:                 3 B

데이터 숨기기

다음 명령은 입력 이미지에 데이터를 숨기고 결과를 스테가노그래피된 이미지에 기록하며, 다음과 유사한 출력을 생성합니다.

root@kitploit:~
$ stegolsb steglsb -h -i input_image.png -s input_file.zip -o steg.png -n 2 -c 1
Files read                     in 0.26s
1566763 bytes hidden           in 0.31s
Image overwritten              in 0.27s

데이터 복구

다음 명령은 스테가노그래피된 이미지에서 데이터를 복구하고 결과를 출력 파일에 기록하며, 다음과 유사한 출력을 생성합니다.

root@kitploit:~
$ stegolsb steglsb -r -i steg.png -o output_file.zip -n 2
Files read                     in 0.30s
1566763 bytes recovered        in 0.28s
Output file written            in 0.00s

StegDetect

StegDetect는 이미지에서 간단한 스테가노그래피를 탐지하는 한 가지 방법을 제공합니다.

사용 방법

Python 3와 Python Imaging Library(PIL)의 포크인 Pillow가 필요합니다.

다음 명령줄 인수와 함께 StegDetect를 실행하세요:

root@kitploit:~
Command Line Arguments:
 -i, --input TEXT         이미지 경로
 -n, --lsb-count INTEGER  표시할 LSB 개수  [기본값: 2]
 --help                   이 메시지를 표시하고 종료합니다.

이미지의 최하위 비트 표시

각 픽셀에 대한 RGB 색상 채널의 최하위 n비트를 합산하고 결과를 0-255 범위로 정규화합니다. 그런 다음 이 값을 픽셀의 각 색상 채널에 적용합니다. 여기서 n은 표시할 최하위 비트 수이며, 다음 명령은 결과 이미지를 파일 이름에 "_nLSBs"를 추가하여 저장하고 다음과 유사한 출력을 생성합니다.

root@kitploit:~
$ stegolsb stegdetect -i input_image.png -n 2
Runtime: 0.63s
도구 다운로드