Recolección de información
| Comandos | DESCRIPCIÓN |
| /etc/resolv.conf | Contiene los servidores DNS |
| /etc/motd | Mensaje del dia |
| /etc/issue | versión de la distribucuón |
| /etc/passwd | Lista de usaurios |
| /etc/shadow | Lista de hashes de usuario (requiere permisos de root) |
| /home/USUARIO/.bash_history | Te muestra los comandos ejecutados por el usuario |
Sistema
| Comandos | DESCRIPCIÓN |
|---|---|
| uname -a | Muestra la información del kernel, architectura y distribución |
| ps aux | Lista procesos que están corriendo |
| id | Usuario actual y grupos al que pertenece |
| uname -m | Arquitectura del procesador |
| w | Usuarios conectados |
| who -a | tiempo de actividad, nivel de ejecución, tty, procesos, etc. |
| gcc -v | Versión de GCC |
| mysql –version | versión de MySQL |
| perl -v | versión de perl |
| ruby -v | versión de Ruby |
| python –version | versión de Python |
| df -k | File system montados |
| mount | File system montadops |
| last -a | Ultimos usuarios conectados |
| getenforce | Obtener el estado de SElinux |
| dmesg | Muestra información sobre el ultimo arranque del sistema |
| lspci | Lista todos los dispositivos PCI |
| lsusb | Lista todos los dispositivos USB |
| lscpu | Muestra la información de la CPU |
| lshw | Lista información del hardware |
| cat /proc/cpuinfo | Muestra información sobre la CPU |
| cat /proc/meminfo | Muestra información sobre la memoria |
| du -h –max-depth=1 / | Muestra la capacidad total para un directorio |
| which nmap | Localiza donde esta el comando NMAP |
| locate bin/nmap | Localiza donde esta el comando NMAP |
| locate bin/nc | Localiza donde esta el comando NC |
| java -version | Versión de Java |
Redes
| Comandos | DESCRIPCIÓN |
|---|---|
| hostname -f | Nombre del servidor |
| ip addr show | muestra direccionamiento IP |
| ip ro show | Muestra direccionamiento IP y gateway |
| ifconfig -a | Muestra todas las interfaces con su direccionamiento IP |
| route -n | Información sobre las rutas |
| cat /etc/network/interfaces | Configuración de red bajo distrtibuciones basadas en Debian |
| iptables -L -n -v | Muestra reglas de iptables |
| iptables -t nat -L -n -v | Nuestra reglas NAT de iptables |
| ip6tables -L -n -v | Muestra reglas de ipv6 de iptables |
| iptables-save | Guardar conjunto de reglas existentes |
| netstat -anop | Lista todas las conexiones establecidas |
| netstat -r | Información sobre las rutas |
| netstat -nltupw | Conexione establecidas con sockets |
| arp -a | Muesta la tabla ARP |
| lsof -nPi | Muestra el proceso y la conexión establecida |
| cat /proc/net/* | más discreto, toda la información proporcionada por los comandos anteriores se puede encontrar al buscar en los archivos en / proc / net, y este enfoque es menos probable que active el monitoreo u otras cosas |
Cuentas de usuarios
| COMANDOS | DESCRIPCIÓN |
|---|---|
| cat /etc/passwd | Muestra todos los usuarios locales |
| cat /etc/shadow | Lista de hashes de usuario (requiere permisos de root) |
| /etc/security/passwd | Lista de hashes de usuario en AIX |
| cat /etc/group | List los grupos |
| getent passwd | Vuelca información de todos los usaurios locales, LDAP y NIS |
| getent group | Vuelca información sobre todos los grupos locales, LDAP y NIS |
| pdbedit -L -w | Base de datos de SAMBA |
| pdbedit -L -v | Base de datos de SAMBA |
| cat /etc/aliases | Alias de correos electronicos |
| find /etc -name aliases | Busca alias dentro del directorio /etc |
| getent aliases | Lista de alias |
| ypcat passwd | Muestra el archivo de contraseñas de NIS |
Obtener Información de usaurios
| Comandos | DESCRIPCIÓN |
|---|---|
| ls -alh /home/*/ | Listar todos los archivos dentro de los directorios de /home |
| ls -alh /home/*/.ssh/ | Listas contenido de ssh dentro de los directorios de /home |
| cat /home/*/.ssh/authorized_keys | Mostrar el authorized_keys dentro de los directorios de /home |
| cat /home/*/.ssh/known_hosts | Mostrar las claves DSA dentro de los directorios de /home |
| cat /home/*/.hist | Mostrar los history de todos los usuarios |
| find /home//.vnc /home//.subversion -type f | Buscar dentro de /home archivos .vnc o .subversion |
| grep ^ssh /home/*/.hist | Buscar dentro de los history strings que contengan ssh |
| grep ^telnet `/home/*/.hist | Buscar dentro de los history strings que contengan telnet |
| grep ^mysql /home/*/.hist | Buscar dentro de los history strings que contengan mysql |
| cat /home/*/.viminfo | mostrar el contenido del archivo .viminfo |
| sudo -l | Mostrar los permisos que tiene un usuario con sudo |
| crontab -l | Listar tareas programadas |
| cat /home/*/.mysql_history | Mostrar el contenido del archivo .mysql_history |
Credenciales
| Archivo | Descripción |
|---|---|
| /home//.ssh/id | Claves SSH, a menudo sin contraseña |
| /tmp/krb5cc_* | Tickets Kerberos |
| /tmp/krb5.keytab | Tickets Kerberos |
| /home/*/.gnupg/secring.gpgs | PGP keys |
Archivos de configuración
| archivo/COMANDO | DESCRIPCIÓN |
|---|---|
| ls -aRl /etc/ * awk ‘$1 ~ /w.$/’ * grep -v lrwx 2>/dev/nullte | Muestra todos los archivos de configuracion |
| cat /etc/issue{,.net} | versión de la distribucuón |
| cat /etc/master.passwd | Contiene loa hashes encriptados en FreeBSD |
| cat /etc/group | Muestra los grupos locales |
| cat /etc/hosts | obtener una relación entre un nombre de máquina y una dirección IP |
| cat /etc/crontab | archivo de configuración de crontab |
| cat /etc/sysctl.conf | Archivo de configuración del kernel |
| for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done |
Listar todos los archivos crontab de todos los usaurios |
| cat /etc/resolv.conf | Archivo de configuración DNS |
| cat /etc/syslog.conf | Archivo de configuración de syslog |
| cat /etc/http.conf | Archivo de configuración del servicio apache |
| cat /etc/lighttpd.conf | Archivo de configuración del servicio lighttpd |
| cat /etc/cups/cupsd.confcda | Archivo de configuración del servicio de impresoras |
| cat /etc/inetd.conf | Archivo de configuración del «supervisor» de la red |
| cat /opt/lampp/etc/httpd.conf | Archivo de configuración de apache del servicio XAMPP |
| cat /etc/samba/smb.conf | Archivo de configuración del servicio de SAMBA |
| cat /etc/openldap/ldap.conf | Archivo de configuración de LDAP del servicio de OpenLDAP |
| cat /etc/ldap/ldap.conf | Archivo de configuración de LDAP |
| cat /etc/exports | Archivo donde se exportan los directorios compartidos de NFS |
| cat /etc/auto.master | Archivo de configuración de NIS |
| cat /etc/auto_master | Archivo de configuración de NIS |
| cat /etc/fstab | Archivo de configuración donde se montan todos los file system |
Determinar la distribución
| Archivo | DESCRIPCIÓN |
|---|---|
| uname -a | Podemos ver la distro en la mayoria de los Linux |
| lsb_release -d | Comando genérico para todas las distribuciones de LSB |
| /etc/os-release | Genérico para distribuciones usando «systemd» |
| /etc/issue | Genérico pero a menudo modificado |
| cat /etc/*release | |
| /etc/SUSE-release | Suse |
| /etc/redhat-release, /etc/redhat_version | Red Hat |
| /etc/fedora-release | Fedora |
| /etc/slackware-release, /etc/slackware-version | Slackware |
| /etc/debian_release, /etc/debian_version | Debian |
| /etc/mandrake-release | Mandrake |
| /etc/sun-release | Sun JDS |
| /etc/release | Solaris/Sparc |
| /etc/gentoo-release | Gentoo |
| /etc/arch-release | Arch Linux |
| arch | OpenBSD; sample: “OpenBSD.amd64” |
Obtener una shell despues de hacer un reverse shell
| COMANDOS | DESCRIPCIÓN |
|---|---|
| python -c ‘import pty;pty.spawn(«/bin/bash»)’ | Obtener shell mediante python |
| echo os.system(‘/bin/bash’) | Obtener shell mediante comando Linux |
| /bin/sh -i | Obtener shell mediante SH |
| perl -e ‘exec «/bin/sh»;’ | Obtener shell mediante perl |
| perl: exec «/bin/sh»; | Obtener shell mediante perl |
| ruby: exec «/bin/sh» | Obtener shell mediante ruby |
| exec «/bin/sh» | Obtener shell mediante exec |
| :!bash | Obtener shell mediante comando Linux |
| :set shell=/bin/bash:shell | Obtener shell mediante comando Linux |
| !sh | Obtener shell mediante comando Linux |
Paquetes instalados
| COMANDOS | DESCRIPCIÓN |
|---|---|
| rpm -qa –last | head | Dsitribuciones basadas en Red hat |
| yum list | grep installed | Dsitribuciones basadas en Red hat |
| dpkg -l | Distribuciones basadas de Debian |
| dpkg -l | grep -i “linux-image” | Distribuciones basadas de Debian |
| dpkg –get-selections | Distribuciones basadas de Debian |
| pkginfo | Solaris |
| cd /var/db/pkg/ && ls -d / | Gentoo |
| pacman -Q | Arch Linux |
Script para la recopilación de información.
| Script | URL |
|---|---|
| LinEnum | https://github.com/rebootuser/LinEnum |
| mimipenguin | https://github.com/huntergregal/mimipenguin |
| Linuxprivchecker | https://github.com/sleventyeleven/linuxprivchecker/ |
| linux exploit suggester | https://github.com/mzet-/linux-exploit-suggester |
| Linux Exploit Suggester 2 | https://github.com/jondonas/linux-exploit-suggester-2 |
Una respuesta a “Linux Post Exploitation Cheat Sheet”