CÓMO EXTRAER LOS DATOS SENSIBLES (NOMBRE DE USUARIO, TOKEN DE ACCESO O NÚMEROS DE TARJETA DE CRÉDITO) DE UNA IMAGEN

INTRODUCCIÓN

Hay muchos casos en los que se desea extraer algo de información de una captura de pantalla o de alguna imagen. Los hackers utilizan algunas de estas técnicas para extraer datos de las imágenes. A continuación, mostraremos cómo enumerar los datos confidenciales dentro de la imagen o una captura de pantalla usando una herramienta llamada Shotlooter, que es un software de reconocimiento, además de usar Tesseract OCR (reconocimiento óptico de caracteres).

Tesseract es un motor de OCR para los diversos sistemas operativos y, en combinación con Shotlooter, un usuario puede encontrar los datos confidenciales (contraseñas, números de tarjetas de crédito, claves API, etcétera) contenidos en una imagen.

ENTORNO

SO: Kali Linux 2019.3 64bit

Versión de Kernel: 5.2.0

PASOS DE INSTALACIÓN

  • Use este comando para instalar las dependencias del sistema
  • sudo apt install libsm6 libxext6 libxrender-dev tesseract-ocr –y
root@kali:/home/iicybersecurity# sudo apt install libsm6 libxext6 libxrender-dev tesseract-ocr -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
libsm6 is already the newest version (2:1.2.3-1).
libsm6 set to manually installed.
libxext6 is already the newest version (2:1.3.3-1+b2).
libxext6 set to manually installed.
libxrender-dev is already the newest version (1:0.9.10-1).
libxrender-dev set to manually installed.
The following additional packages will be installed:
  liblept5 libtesseract4 tesseract-ocr-eng tesseract-ocr-osd
The following NEW packages will be installed:
  liblept5 libtesseract4 tesseract-ocr tesseract-ocr-eng tesseract-ocr-osd
0 upgraded, 5 newly installed, 0 to remove and 1569 not upgraded.
Need to get 7,197 kB of archives.
=============================================================================================================SNIP================================================================================================================
Setting up tesseract-ocr-eng (1:4.00~git30-7274cfa-1) ...
Setting up liblept5:amd64 (1.79.0-1) ...
Setting up libtesseract4:amd64 (4.1.1-2) ...
Setting up tesseract-ocr-osd (1:4.00~git30-7274cfa-1) ...
Setting up tesseract-ocr (4.1.1-2) ...
Processing triggers for man-db (2.8.6.1-1) ...
Processing triggers for libc-bin (2.30-4) ...
Scanning processes...
Scanning linux images...
  • Use este comando para clonar el proyecto
  • git clone https://github.com/utkusen/shotlooter
root@kali:/home/iicybersecurity# git clone https://github.com/utkusen/shotlooter
Cloning into 'shotlooter'...
remote: Enumerating objects: 52, done.
remote: Counting objects: 100% (52/52), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 52 (delta 21), reused 20 (delta 1), pack-reused 0
Receiving objects: 100% (52/52), 948.56 KiB | 707.00 KiB/s, done.
Resolving deltas: 100% (21/21), done.
  • Use el comando cd para ingresar al directorio Shotlooter
root@kali:/home/iicybersecurity# cd shotlooter/
root@kali:/home/iicybersecurity/shotlooter#
  • Use el siguiente comando para instalar los requerimientos
  • pip3 install -r requirements.txt
root@kali:/home/iicybersecurity/shotlooter# pip3 install -r requirements.txt
Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 1)) (2.23.0)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 2)) (4.8.2)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from -r requirements.txt (line 3)) (6.2.1)
Collecting pytesseract
  Downloading pytesseract-0.3.4.tar.gz (13 kB)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from -r requirements.txt (line 5)) (1.17.4)
Collecting imutils
  Downloading imutils-0.5.3.tar.gz (17 kB)
Collecting opencv-python-headless
  Downloading opencv_python_headless-4.2.0.34-cp38-cp38-manylinux1_x86_64.whl (21.6 MB)
     |████████████████████████████████| 21.6 MB 165 kB/s
==============================================================================================================SNIP===============================================================================================================
  Stored in directory: /root/.cache/pip/wheels/c8/d6/0f/b0c3892b70c59f0d202f8619a449f7d14cb839a0af2f943869
Successfully built pytesseract imutils
Installing collected packages: pytesseract, imutils, opencv-python-headless
Successfully installed imutils-0.5.3 opencv-python-headless-4.2.0.34 pytesseract
  • Ahora, use este comando para encontrar la opción de ayuda
  • python3 shotlooter.py –h
Shotlooter - Help
  • Ahora, use este comando para encontrar la información confidencial python3 shotlooter.py –code sjgmm1
  • Después de usar este comando, comienza a escanear todos los datos almacenados en la base de datos como (claves API, private_key, smtp_pass, access key, mongodb+srv, etcétera) y también podemos especificar agregando esta opción como – –no-cc, –no-keyword y –no-entropy
root@kali:/home/iicybersecurity/shotlooter# python3 shotlooter.py --code sjgmm1
Analyzing: sjgmm2
Analyzing: sjgmm3
Analyzing: sjgmm4
Analyzing: sjgmm5
Analyzing: sjgmm6
Analyzing: sjgmm7
Analyzing: sjgmm8
Analyzing: sjgmm9
Analyzing: sjgmma
Analyzing: sjgmmb
Analyzing: sjgmmc
Analyzing: sjgmmd
Analyzing: sjgmme
Analyzing: sjgmmf
Analyzing: sjgmmg
Analyzing: sjgmmh
Analyzing: sjgmmi
Analyzing: sjgmmj
Analyzing: sjgmmk
Analyzing: sjgmml
Analyzing: sjgmmm
/usr/lib/python3/dist-packages/PIL/Image.py:988: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
warnings.warn(
Analyzing: sjgmmn
Analyzing: sjgmmo
Analyzing: sjgmmp
Analyzing: sjgmmq
Analyzing: sjgmmr
Analyzing: sjgmms
Analyzing: sjgmmt
Analyzing: sjgmmu
  • Después de escanear, almacena dos archivos diferentes: findings.csv y output
  • El archivo findings.csv contiene toda la alta entropía (API Keys) y el directorio output contiene todas las imágenes sensibles
  • Ahora, use el comando cat para ver los datos en los results.csv
    • cat findings.csv       
shotlooter - Entropy
  • Ahora, use el comando cd para ingresar al directorio de salida para ver las imágenes sensibles
root@kali:/home/iicybersecurity/shotlooter# cd output/
root@kali:/home/iicybersecurity/shotlooter/output# ls
placeholder sjgmtt.png sjgmym.png sjgn3b.png sjgng2.png sjgniq.png sjgnok.png sjgnsx.png sjgo9a.png sjgoj8.png sjgoza.png
sjgmmy.png sjgmx2.png sjgmzd.png sjgn4.png sjgngw.png sjgnjb.png sjgnpl.png sjgo4x.png sjgofb.png sjgoks.png
sjgmsc.png sjgmxm.png sjgn28.png sjgnc3.png sjgnh2.png sjgnk4.png sjgnpr.png sjgo6s.png sjgoho.png sjgokz.png

  • Ahora, abra el archivo para verificar los datos confidenciales.
    • sjgngw.png
Shotlooter - Access Token
  • En la imagen de arriba, vemos el token de acceso por el servidor de autorización
  • Ahora, abra la otra imagen
    • sjgnok.png
Shotlooter - Emails
  • En la imagen de arriba vemos ID de correo electrónico.

CONCLUSIÓN

Vimos lo fácil que es recuperar la información confidencial de la base de datos alta. También puede probar con sus imágenes personalizadas para extraer datos confidenciales de las capturas de pantalla.