
prnt.sc에 업로드된 스크린샷 내부에서 민감한 데이터를 찾는 정찰 도구
Shotlooter 도구는 https://prnt.sc/ (LightShot 소프트웨어를 통해)에 업로드된 스크린샷 내부의 민감한 데이터를 OCR 및 이미지 처리 방법을 적용하여 찾기 위해 개발되었습니다.
+-------------------+
이미지 파일 |#!/usr/bin/python |
+--------------------+ | +----->민감함
|prnt.sc/sjgmm5 | |검색: |
+--------------------+ | |
| _ | 변환 문자열 |민감 키워드 |
| .-.-.=\- | +-------+ +------------+ | |
| (_)=='(_) | | | | | |높은 엔트로피 |
| .._\ +----->+ OCR +---->+ 텍스트텍스트텍 +----->+ |
| (o)(o) | | | | | |신용카드 패턴 +----->민감하지 않음
| 텍스트텍스트텍 | +-------+ +------------+ | |
| | +-------------------+
+--------------+------+
| +-----------------------+
v |#!/usr/bin/python |
작은 이미지 | |
+-------------+ +------------+ |이미지 처리: |
| _ | | .._\ | | +------>민감함
| .-.-.=\- | | (o)(o) +-->+ 포함하는가: |
| (_)=='(_) | | | | ~~O |
+-------------+ +------------+ | /\, |
| -|~(*) +------>민감하지 않음
| (*) |
+-----------------------+
output 폴더에 저장합니다.Shotlooter는 Python3, pip3가 필요하며 macOS 및 Debian 기반 Linux 시스템에서 테스트되었습니다.
macOS 종속성 설치: brew install tesseract
Debian 기반 Linux 종속성 설치: sudo apt install libsm6 libxext6 libxrender-dev tesseract-ocr -y
저장소 복제:
git clone https://github.com/utkusen/shotlooter.git
폴더로 이동
cd shotlooter
필요한 라이브러리 설치
pip3 install -r requirements.txt
기본 사용법: python3 shotlooter.py --code PRNT.SC_ID
keywords.txt에 있는 일치 키워드, 높은 엔트로피 문자열 및 신용카드 번호를 검색합니다. 이미지를 https://prnt.sc/에 업로드하여 ID를 찾을 수 있습니다. 예: python3 shotlooter.py --code sjgmm5
ID를 하나씩 증가시키며 확인합니다:
sjgmm6
sjgmm7
sjgmm8
sjgmm9
sjgmma
sjgmmb
...
이미지 검색: python3 shotlooter.py --code sjgmm5 --imagedir 이미지_폴더_경로
기본 사용법의 항목을 검색하고, 큰 스크린샷 내에 제공된 작은 이미지도 검색합니다. 이 기능을 사용할 계획이라면 작은 이미지를 img 폴더에 넣으세요.
검색 제외: 관련 인수를 제공하여 검색 유형을 제외할 수 있습니다: --no-cc, --no-entropy, --no-keyword
예: python3 shotlooter.py --code sjgmm5 --no-entropy. Shotlooter는 높은 엔트로피 문자열 확인을 건너뜁니다.
Shotlooter는 높은 엔트로피 문자열 및 신용카드 매칭에 대해 오탐지율이 높습니다. 실제로는 오탐지가 아니지만 찾고 있는 항목이 아닐 수 있습니다. API 키, 개인 키 등을 잡기 위해 높은 엔트로피 문자열을 감지합니다. 그러나 민감하지 않은 임의의 문자열도 높은 엔트로피를 가질 수 있으며 Shotlooter가 이를 감지합니다. 신용카드도 마찬가지입니다.
오탐지를 처리하고 싶지 않다면 엔트로피 및 신용카드 검색을 제외하세요.
2주 동안 Shotlooter를 실행하여 다양한 민감한 데이터를 포함하는 300개 이상의 이미지를 식별했습니다. 아래에서 특히 자주 발견된 결과를 확인할 수 있습니다:
유용한 세션 ID, 액세스 토큰 등을 포함합니다.
클라우드 콘솔 또는 데스크톱 클라이언트에서 캡처된 스크린샷
여러 이유로 세션 ID를 GET 요청에 전달하는 것이 좋지 않다는 것을 알고 있습니다. 이것이 그 중 하나입니다.
어떤 사람들은 Excel을 암호 관리자로 사용하는 것을 좋아합니다.
비트코인 지갑은 개인 키를 내보내 다른 곳으로 가져올 수 있게 해줍니다. 하지만 개인 키의 스크린샷을 게시하면 전체 지갑이 손상될 수 있습니다.
