Script que lee por mí

En el pasado hice un pequeño script para extraer documentos de un sitio web. Ese programita sigue funcionando de maravilla. Sin embargo, ahora tuve que crear un script que lee por mí para poder investigar rápidamente esos archivos extraídos de los sitios. En caso contrario, tendría que investigar esos documentos uno por uno y eso no es viable.


Cuando exfiltramos documentos de un sitio grande, como una universidad, por ejemplo, podemos obtener en minutos centenares o miles de archivos. Archivos que muchas veces no nos dicen nada por su nombre pues son del tipo 2012HO94K.pdf. ¿Y qué vamos a hacer para encontrar lo que estamos buscando? No podemos leer archivo por archivo, eso sería una locura.

Así como no fuimos página por página del sitio buscando archivos para descargar, tampoco podemos revisarlos uno por uno para saber cuáles contienen lo que estamos buscando. Debemos entonces automatizar también esa tarea.

Para eso creé en Python el script que lee por mí. Sé que hay muchas formas de hacer esto pero a mí me gusta crear mis propias herramientas y la sencillez de la línea de comandos. Mi superprograma tiene 89 líneas de código y pesa 2,9 Kb. Sé que no es GTA 5 pero funciona 😎


Script que lee por mí
Click para ampliar.

Su funcionamiento también es muy básico. Nos preguntará la ruta del directorio que queremos escanear y, una vez se la demos, nos preguntará la o las palabras claves separadas por comas. Y eso es todo. Tras un tiempo que podrá ser largo o corto dependiendo del número de archivos a leer, nos dirá cuáles de ellos contienen la o las palabras que estamos buscando. El script también nos dirá cuántos archivos no pudieron leerse (por estar protegidos con contraseña, por ejemplo). Hagamos un ejercicio.

Para ello elegí una universidad al azar. La primera del resultado de búsqueda en Brave fue la Universidad Andrés Bello de Chile. No es personal, no tengo ningún interés allí. A su URL le corrí el script para extraer documentos y lo detuve cuando pasó de 100 archivos hallados y descargados. De no hacerlo, pudieron ser 500, 1000, 10000 o vaya uno a saber cuántos. Es una institución educativa y puede tener miles de documentos.

Ya con los archivos descargados puedo correr el script que lee por mí y buscar cualquier cosa en esos documentos. Para este ejercicio busqué la palabra: Singapur. Veamos que halló el script:

Introduce el directorio donde buscar: /aquí/sus/rutas/
Introduce las palabras clave separadas por coma: Singapur
Archivos que contienen las palabras clave:
/home/karniv/Tools/Scripts/UNAB.CL/Found/politica-de-investigacion-unab.pdf
/home/karniv/Tools/Scripts/UNAB.CL/Found/memounab2015-20150824.pdf

Errores encontrados: 0
Archivos protegidos con contraseña o no leídos: 0

Vaya, con el primer script descargué 102 documentos del sitio web y gracias al script que lee por mí ahora sé que en 2 de ellos se encuentra lo que estoy buscando. Esto lo puedo usar para encontrar personas, proyectos, presupuestos, contratos, memorandos y cualquier cosa que se me ocurra. ¿Cuánto tiempo ahorraría si en el 98% de los documentos no se encontraba lo que estaba buscando?

Esto lo hice en una máquina GNU/Linux Ubuntu 24.04 LTS. Intenté de varias formas encontrar la palabra Singapur desde la búsqueda del gestor de archivos pero no pude así que el pequeño script que lee por mí es muy útil. Al menos para mí lo es.


Script que lee por mí


Para terminar de hacer más práctico mi superprograma, a VSC le instalé la extensión vscode-pdf. Así, cuando el script que lee por mí me arroje sus resultados, yo solo debo darle CTRL + Click a cada uno de ellos para que se abran dentro del mismo editor de código. Todo desde una misma aplicación. En la imagen anterior se ve abierto en VSC uno de los documentos hallados por el script y subrayada la palabra que buscaba: Singapur.

Muchas personas creen que hackear es solo descubrir y explotar vulnerabilidades a veces dejando a alguien perjudicado. Pero no es así. Estas pendejadas también son hackear porque el hacking consiste en conocer el funcionamiento de las cosas y aprovecharlas o modificarlas. Espero les sirva. Hasta la próxima.

Categorías: G33ks, GNU / Linux, Hacking Ético, OSINT / SOCMINT
J. Inversor

Escrito por:J. Inversor Otros posts del autor

Hackear es un acto noble y altruista porque trae a la existencia la multiplicidad inagotable de todos los códigos, sean naturales, sociales, computacionales o poéticos.