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”