
Script de enumeración local de Linux que identifica vectores de escalada de privilegios, incluyendo configuraciones incorrectas, archivos con permisos de escritura mundial, contraseñas en texto claro y exploits aplicables para evaluaciones de seguridad y preparación para CTF.
Este script está diseñado para ejecutarse localmente en un sistema Linux para enumerar información básica del sistema y buscar vectores comunes de escalada de privilegios, como archivos escribibles por cualquier usuario, configuraciones incorrectas, contraseñas en texto claro y exploits aplicables.
Linuxprivchecker está diseñado para identificar áreas potenciales para investigar más a fondo, no para proporcionar acción directa o explotación. Esto es para ayudar a los usuarios a aprender cómo funcionan estas escaladas de privilegios y mantenerse en línea con las reglas, para la explotación autodirigida, establecidas para el OSCP, HTB y otros CTFs/exámenes.
Haremos todo lo posible por proporcionar información adicional y referencias cuando sea posible. Como mantenedor actual, también planeo acompañar las nuevas características añadidas con una publicación en mi blog (hackersvanguard.com) para explicar más a fondo cada área potencial de escalada de privilegios y qué criterios pueden ser necesarios.
Para ejecutar en sistemas Python >2.6 heredados, simplemente obtén el script de Python todo en uno y ejecútalo.
wget https://raw.githubusercontent.com/sleventyeleven/linuxprivchecker/master/linuxprivchecker.py
python linuxprivchecker.py -w -o linuxprivchecker.log
Por ahora, Linuxprivchecker para Python 3.X debe considerarse una versión beta estable. Pueden ocurrir problemas con el script y ciertamente puede omitir posibles vulnerabilidades (abre un issue o PR).
Para ejecutar la versión de Python 3, simplemente utiliza pip.
pip install linuxprivchecker
Luego simplemente ejecútalo desde la línea de comandos si runpy está disponible.
linuxprivchecker -w -o linuxprivchecker.log
o si runpy falla al agregar el script a tu PATH
python3 -m linuxprivchecker -w -o linuxprivchecker.log
Si el sistema que estás probando tiene Python 2.6 o superior y/o argparser instalado, puedes utilizar las siguientes opciones. Si la importación de argparser no funciona, se ejecutarán todas las comprobaciones y no se escribirá ningún archivo de registro. Sin embargo, aún puedes usar la redirección de terminal para crear un registro, como 'python linuxprivchecker.py > linuxprivchecker.log.'
usage: linuxprivchecker.py [-h] [-s] [-w] [-o OUTFILE]
Intenta recopilar información del sistema y encontrar posibles exploits
argumentos opcionales: -h, --help muestra este mensaje de ayuda y sale
-s, --searches Omitir búsquedas que consumen mucho tiempo o recursos
-w, --write Si se debe escribir un archivo de registro, se puede usar con -o para especificar nombre/ubicación
-o OUTFILE, --outfile OUTFILE El archivo para escribir los resultados (debe ser escribible para el usuario actual)
Warning
Este script se proporciona tal cual, sin promesa de funcionalidad o precisión. No tengo planes de mantener actualizaciones, no lo escribí para que sea eficiente y en algunos casos puedes encontrar que las funciones pueden no producir los resultados deseados. Por ejemplo, la función que vincula paquetes con procesos en ejecución se basa en palabras clave y no siempre será precisa. Además, la lista de exploits incluida en esta función deberá actualizarse con el tiempo. Siéntete libre de modificarlo o mejorarlo de la manera que consideres adecuada.
Eres libre de modificar y/o distribuir este script como desees. Solo pido que mantengas la atribución al autor original y no intentes venderlo ni incorporarlo en ninguna oferta comercial (como si valiera algo de todos modos :)