
una herramienta de reconocimiento que encuentra datos sensibles dentro de las capturas de pantalla subidas a prnt.sc
La herramienta Shotlooter está desarrollada para encontrar datos sensibles dentro de las capturas de pantalla que se suben a https://prnt.sc/ (a través del software LightShot) aplicando métodos de OCR y procesamiento de imágenes.
+-------------------+
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 requiere Python3, pip3 para funcionar y ha sido probado en macOS y sistemas Linux basados en Debian.
Instalación de dependencias para macOS: brew install tesseract
Instalación de dependencias para Linux basado en Debian: sudo apt install libsm6 libxext6 libxrender-dev tesseract-ocr -y
Clona el repositorio:
git clone https://github.com/utkusen/shotlooter.git
Entra en la carpeta
cd shotlooter
Instala las librerías requeridas
pip3 install -r requirements.txt
Uso básico: python3 shotlooter.py --code PRNT.SC_ID
Busca palabras clave coincidentes (ubicadas en keywords.txt), cadenas de alta entropía y números de tarjeta de crédito. Puedes encontrar un ID subiendo una imagen a https://prnt.sc/. Por ejemplo python3 shotlooter.py --code sjgmm5
Comprobará los IDs incrementándolos uno por uno:
sjgmm6
sjgmm7
sjgmm8
sjgmm9
sjgmma
sjgmmb
...
Búsqueda de imágenes: python3 shotlooter.py --code sjgmm5 --imagedir IMAGE_FOLDER_PATH
Buscará los elementos cubiertos en el uso básico y también buscará las imágenes pequeñas proporcionadas dentro de las capturas de pantalla más grandes. Si planeas usar esta función, coloca tus imágenes pequeñas dentro de la carpeta img.
Excluir búsqueda: Puedes excluir cualquier tipo de búsqueda proporcionando el argumento correspondiente: --no-cc, --no-entropy, --no-keyword
Por ejemplo: python3 shotlooter.py --code sjgmm5 --no-entropy. Shotlooter omitirá la verificación de cadenas de alta entropía.
Shotlooter tiene una alta tasa de falsos positivos para la coincidencia de cadenas de alta entropía y tarjetas de crédito. En realidad, no son falsos positivos, pero pueden no ser los elementos que estás buscando. Detecta cadenas de alta entropía para capturar claves API, claves privadas, etc. Sin embargo, cualquier cadena aleatoria no sensible también tendrá una alta entropía y Shotlooter la detectará. Lo mismo ocurre con las tarjetas de crédito.
Si no quieres lidiar con falsos positivos, excluye las búsquedas de entropía y tarjetas de crédito.
Ejecuté Shotlooter durante 2 semanas e identifiqué más de 300 imágenes que contenían varios datos sensibles. Puedes ver los hallazgos que encontré más a menudo a continuación:
Contiene IDs de sesión útiles, tokens de acceso, etc.
Las capturas de pantalla se toman desde la consola de la nube o desde un cliente de escritorio
Todos sabemos que no es bueno pasar el ID de sesión con una solicitud GET por diferentes razones. Esta es una de ellas.
A algunas personas les encanta usar Excel como gestor de contraseñas.
Las carteras de Bitcoin te permiten exportar tu clave privada para importarla a otro lugar. Pero si publicas la captura de pantalla de tu clave privada, toda tu cartera puede verse comprometida.
