
ein Recon-Tool, das sensible Daten in den auf prnt.sc hochgeladenen Screenshots findet
Shotlooter ist ein Tool, das entwickelt wurde, um sensible Daten in Screenshots zu finden, die auf https://prnt.sc/ (über die LightShot-Software) hochgeladen werden, indem OCR und Bildverarbeitungsmethoden angewendet werden.
+-------------------+
IMAGE FILE |#!/usr/bin/python |
+--------------------+ | +----->SENSITIVE
|prnt.sc/sjgmm5 | |Search for: |
+--------------------+ | |
| _ | CONVERTS STRING |sensitive keywords |
| .-.-.=\- | +-------+ +------------+ | |
| (_)=='(_) | | | | | |high entropy |
| .._\ +----->+ OCR +---->+ TEXTTEXTT +----->+ |
| (o)(o) | | | | | |credit card pattern+----->NOT SENSITIVE
| TEXTTEXTTEX | +-------+ +------------+ | |
| | +-------------------+
+--------------+------+
| +-----------------------+
v |#!/usr/bin/python |
SMALLER IMAGES | +------>SENSITIVE
+-------------+ +------------+ |Image processing: |
| _ | | .._\ | | |
| .-.-.=\- | | (o)(o) +-->+ Does it contain: |
| (_)=='(_) | | | | ~~O |
+-------------+ +------------+ | /\, |
| -|~(*) +------>NOT SENSITIVE
| (*) |
+-----------------------+
outputShotlooter benötigt Python3 und pip3, um zu funktionieren, und wurde auf macOS und Debian-basierten Linux-Systemen getestet.
Abhängigkeiten für macOS installieren: brew install tesseract
Abhängigkeiten für Debian-basiertes Linux installieren: sudo apt install libsm6 libxext6 libxrender-dev tesseract-ocr -y
Repository klonen:
git clone https://github.com/utkusen/shotlooter.git
In den Ordner wechseln
cd shotlooter
Erforderliche Bibliotheken installieren
pip3 install -r requirements.txt
Grundlegende Verwendung: python3 shotlooter.py --code PRNT.SC_ID
Es sucht nach passenden Schlüsselwörtern (in keywords.txt), Zeichenketten mit hoher Entropie und Kreditkartennummern. Sie finden eine ID, indem Sie ein Bild auf https://prnt.sc/ hochladen. Beispiel: python3 shotlooter.py --code sjgmm5
Es überprüft die IDs, indem es sie nacheinander inkrementiert:
sjgmm6
sjgmm7
sjgmm8
sjgmm9
sjgmma
sjgmmb
...
Bildsuche: python3 shotlooter.py --code sjgmm5 --imagedir IMAGE_FOLDER_PATH
Es sucht nach den in der grundlegenden Verwendung abgedeckten Elementen + sucht nach bereitgestellten kleinen Bildern in den größeren Screenshots. Wenn Sie diese Funktion nutzen möchten, legen Sie Ihre kleinen Bilder im Ordner img ab.
Suche ausschließen: Sie können jeden Suchtyp ausschließen, indem Sie das entsprechende Argument angeben: --no-cc, --no-entropy, --no-keyword
Zum Beispiel: python3 shotlooter.py --code sjgmm5 --no-entropy. Shotlooter überspringt die Prüfung auf Zeichenketten mit hoher Entropie.
Shotlooter hat eine hohe Fehlalarmrate bei der Erkennung von Zeichenketten mit hoher Entropie und Kreditkarten. Eigentlich sind es keine Fehlalarme, aber es könnte nicht die gesuchten Elemente sein. Es erkennt Zeichenketten mit hoher Entropie, um API-Schlüssel, private Schlüssel usw. zu finden. Allerdings hat jede nicht-sensitive zufällige Zeichenkette ebenfalls eine hohe Entropie, und Shotlooter wird sie erkennen. Gleiches gilt für Kreditkarten.
Wenn Sie sich nicht mit Fehlalarmen befassen möchten, schließen Sie die Entropie- und Kreditkartensuche aus.
Ich habe Shotlooter 2 Wochen lang ausgeführt und über 300 Bilder identifiziert, die verschiedene sensible Daten enthalten. Unten können Sie die Funde sehen, auf die ich am häufigsten gestoßen bin:
Enthält nützliche Sitzungs-IDs, Zugriffstoken usw.
Screenshots wurden von der Cloud-Konsole oder einem Desktop-Client aufgenommen.
Wir alle wissen, dass es aus verschiedenen Gründen nicht gut ist, die Sitzungs-ID per GET-Anfrage zu übermitteln. Dies ist einer davon.
Manche Leute lieben es, Excel als Passwort-Manager zu nutzen.
Bitcoin-Wallets erlauben es, Ihren privaten Schlüssel zu exportieren, um ihn woanders zu importieren. Wenn Sie jedoch einen Screenshot Ihres privaten Schlüssels veröffentlichen, kann Ihr gesamtes Wallet gefährdet sein.
