This page looks best with JavaScript enabled

Scripts for Linux Enumeration & Privilege Escalation Checks

 ·   ·   5 min read

Esta entrada andaba dormido desde hace un par de meses atras quizas mas de 6 meses ya que la misma la dejare tal cual estaba siendo redactada, solo que ahora tuvo un pequeño disparador para terminar de realizarla y fue la consulta  de uno de los chicos del grupo de Telegram que pregunto: " Tengo kernel X.Y.X  como puede escalar privilegios" por lo cual espero les agrade ya que esta llega a ser una referencia general de entradas y material para considerar cuando se necesite por lo tanto si conocen o saben de mas informacíón incluso de scripts, no duden en compartirlo para tenerlo disponible.

Desde que realize el reto de VulnHub y me estanque en el primero, especificamente con la parte de escalamiento de privilegios en Sleepy, como tambien con SickOS,  me pico aun mas el deseo de armar un script para enumeración y escalamiento de privilegios, revisando y verificando por donde ir o bien a donde apuntar especificamente para lograr el preciado ROOT, estuve viendo como llegar a lograr mi objetivo recopilando estos dias información al iniciar el reto de PIPE que se tiene en el blog, ademas de pensar a futuro para tener mi propia utilidad para el OSCP o la certificación que ando ahora realizando por ello en ese proceso note que realizar esta tarea es algo innecesario ya que es re-inventar la rueda cuando puedo hacer uso de otros scripts y en el peor/mejor de los casos modificar uno de ellos y realizar mi propia versión ya que anda de moda los MODS ;).

LinEnum

Este script se encuentra realizado en Bash creado por RebootUser el cual nos comparte su creación en base a su checklist que el mismo se puso a generar y crear el cual pueden verlo en la siguiente entrada Local Linux Enumeration & Privilege Escalation Cheatsheet si le dan click al boton es posible identificar y ver lo que nos llega a brindar el script un resumen básico de ello verifica los permisos, cron visibles, liberación de credenciales, servicios.

etalles

Kernel and distribution release details
System Information:
Hostname
Networking details:
Current IP
Default route details
DNS server information
User Information:
Current user details
Last logged on users
List all users including uid/gid information
List root accounts
Extracts password policies and hash storage method information
Checks umask value
Checks if password hashes are stored in /etc/passwd
Extract full details for ‘default’ uid’s such as 0, 1000, 1001 etc
Attempt to read restricted files i.e. /etc/shadow
List current users history files (i.e .bash_history, .nano_history etc.)
Basic SSH checks
Privileged access:
Determine if /etc/sudoers is accessible
Determine if the current user has Sudo access without a password
Are known ‘good’ breakout binaries available via Sudo (i.e. nmap, vim etc.)
Is root’s home directory accessible
List permissions for /home/
Environmental:
Display current $PATH
Jobs/Tasks:
List all cron jobs
Locate all world-writable cron jobs
Locate cron jobs owned by other users of the system
Services:
List network connections (TCP & UDP)
List running processes
Lookup and list process binaries and associated permissions
List inetd.conf/xined.conf contents and associated binary file permissions
List init.d binary permissions
Version Information (of the following):
Sudo
MYSQL
Postgres
Apache
Checks user config
Default/Weak Credentials:
Checks for default/weak Postgres accounts
Checks for default/weak MYSQL accounts
Searches:
Locate all SUID/GUID files
Locate all world-writable SUID/GUID files
Locate all SUID/GUID files owned by root
Locate ‘interesting’ SUID/GUID files (i.e. nmap, vim etc)
List all world-writable files
Find/list all accessible *.plan files and display contents
Find/list all accessible *.rhosts files and display contents
Show NFS server details
Locate *.conf and *.log files containing keyword supplied at script runtime
List all *.conf files located in /etc
Locate mail

 LinuxPrivChecker

Otro script realizado en Python es el que mas me agrada debido a que te pemite identificar los datos mas importantes algo semejante al anterior, pero cada uno puede ver cual le agrada mas o no y a donde apuntar por decirlo así, en próximas entradas veremos cada uno de ellos en entornos reales para que puedan observarlo.

Linux Exploit Checker

Este  script esta desarrollado en Python y data del 2011 aproximadamente,  como su nombre lo indica realiza un chequeo verificación de exploits en base a la versión del kernel de Linux y nos muestra de una manera amigable. 

Vale aclarar que este script necesita de nuestra intervención para actualizar su base de conocimiento ;), veremos si saco algo de tiempo y adiciono lo nuevo, pero de que sirve viene de maravillas

Linux Exploit Suggester

Exploit Suggester del mismo modo que el anterior cumple con la misma funcionalidad que Exploit Checker, el cual se encuentra desactualizado desde el 2014, pero cumple con la funcionalidad que tiene de identificar el kernel y ver si existe algun exploit disponible.

Root Helper

Y el ultimo script que aglutina todos los scripts en uno solo pero no con el fin de ejecutarlo si no de descargar y tenerlos listo en el servidor que se vea afectado procdemos a ejecutar y tiene 2 funcionalidades principales que son:

  • Descargar: Descargar los scripts para tenerlos todos disponibles y proceder a ejecutarlos

  • Eliminar: El borrar todo rastro, que se tenga de la ejecución de lo ejecutado

  • RootHelper

Aunque esto no es un script mas que todo llega a ser una buena guia o checklist de lo básico que debemos considerar al querer realizar un escalamiento de privilegios vien de la mano de g0tmi1k’s Blog
Basic Linux Privilege Escalation.

Espero sea de su agrado, y recordarles que mañana tenemos el primer debate en Dame una Shell, donde hablaremos de lo que el dia de hoy salio de Vault7

“VIVE como si fueras a morir mañana. APRENDE como si fueras a vivir siempre.” - Mahatma Gandhi

Regards,
Snifer

Share on
Support the author with

Avatar
WRITTEN BY