ciberseguridad
pentesting
red team
Muchos nuevos hackers provienen de entornos Windows pero rara vez (si acaso) utilizan sus herramientas de línea de comandos integradas. Como hacker, a menudo necesitarás controlar el sistema objetivo usando solo comandos de Windows sin depender de una interfaz gráfica.
Aunque herramientas como Meterpreter de Metasploit ofrecen capacidades extensas, no siempre están disponibles. Algunos exploits solo otorgan un shell CMD en el sistema Windows objetivo. En estos casos, comprender cómo controlar el sistema estrictamente a través del símbolo del sistema es esencial.
Esta lección demuestra comandos esenciales de Windows CMD ejecutándolos desde un sistema Kali remoto en el objetivo.
1cd \
cd ..
Subir un nivel de directorio.
1cd ..
dir
Listar el contenido del directorio actual.
1dir
md <directorio>
Crear un nuevo directorio (equivalente a mkdir
en Linux).
1md nuevo_directorio
Después de crear un nuevo directorio, ejecutar dir
mostrará el directorio recién creado.
Gestionar archivos creando, visualizando y eliminándolos dentro del sistema de archivos.
del <nombre_archivo>
Eliminar un archivo especificado.
1del confidencial.txt
Después de la eliminación, intentar mostrar el contenido del archivo resultará en:
El sistema no puede encontrar el archivo especificado.
type <nombre_archivo>
Mostrar el contenido de un archivo especificado (similar a cat
en Linux).
1type confidencial.txt
copy <origen> <destino>
(Adición Opcional)
Copiar archivos de una ubicación a otra.
1copy archivo1.txt D:\backup\archivo1.txt
move <origen> <destino>
(Adición Opcional)
Mover o renombrar archivos.
1move archivo1.txt D:\documentos\
Monitorear y controlar los procesos en ejecución en el sistema objetivo para gestionar el comportamiento del sistema o interrumpir servicios.
tasklist
Listar todos los procesos en ejecución.
1tasklist
tasklist | findstr <nombre_proceso>
Filtrar la lista de procesos para encontrar uno específico (similar a grep
en Linux).
1tasklist | findstr explorer
taskkill /PID <ProcessID> /F
Terminar un proceso usando su ID de Proceso (PID) con fuerza (/F
).
1taskkill /PID 1532 /F
Reunir información relacionada con la red y gestionar las conexiones de red en el sistema objetivo.
ipconfig
Mostrar la configuración de red del sistema (similar a ifconfig
en Linux).
1ipconfig
netstat
Mostrar conexiones de red activas y puertos en escucha.
1netstat
ping <dirección>
(Adición Opcional)
Probar la accesibilidad de un host en la red.
1ping www.google.com
tracert <dirección>
(Adición Opcional)
Rastrear la ruta que toman los paquetes para llegar a un host en la red.
1tracert www.google.com
Ver y gestionar cuentas de usuario en el sistema objetivo, lo cual puede ser crucial para la escalada de privilegios o el movimiento lateral.
net user
Mostrar una lista de cuentas de usuario en el sistema.
1net user
net user <nombre_usuario>
(Adición Opcional)
Mostrar información detallada sobre una cuenta de usuario específica.
1net user administrador
whoami
(Adición Opcional)
Mostrar el usuario actual conectado.
1whoami
Ejecutar aplicaciones en el sistema objetivo para realizar tareas o desplegar cargas adicionales.
iexplore <URL>
Lanzar Internet Explorer y navegar a una URL especificada.
1iexplore www.google.com
Este comando abre Internet Explorer en el sistema objetivo y navega a google.com, útil para desplegar cargas útiles a través de enlaces maliciosos o dirigir al objetivo a un servidor web controlado.
start <aplicación>
(Adición Opcional)
Iniciar una aplicación especificada (por ejemplo, Notepad).
1start notepad.exe
Reunir información detallada sobre la configuración del hardware y software del sistema.
systeminfo
Mostrar información detallada sobre la configuración del ordenador y su sistema operativo.
1systeminfo
wmic
(Windows Management Instrumentation Command-line)
Interactuar con Windows Management Instrumentation para consultar detalles del sistema.
1wmic cpu get name, maxclockspeed, currentclockspeed
Obtener permisos de nivel superior en el sistema objetivo para realizar acciones restringidas.
runas /user:<nombre_usuario> <comando>
Ejecutar un comando con credenciales de usuario diferentes.
1runas /user:Administrador cmd.exe
whoami /groups
Listar los grupos a los que pertenece el usuario actual, ayudando a identificar rutas de escalada de privilegios.
1whoami /groups
Entender y utilizar estos comandos conlleva responsabilidades éticas significativas. Siempre asegúrate de tener permiso explícito para realizar cualquier actividad de pruebas de penetración o control del sistema. El acceso no autorizado o el control de sistemas es ilegal y poco ético. Utiliza estas habilidades para mejorar la seguridad y proteger sistemas, no para explotar vulnerabilidades de manera ilegal.
Obtener una visión completa de la configuración del sistema objetivo y los procesos en ejecución, identificar posibles objetivos para escalada de privilegios y terminar procesos relacionados con la seguridad para mantener un acceso encubierto.
Has establecido con éxito un shell CMD remoto en un sistema Windows objetivo. Tu objetivo es recopilar información del sistema, enumerar cuentas de usuario, identificar procesos de seguridad en ejecución y terminar esos procesos para evitar la detección y mantener un acceso persistente.
Propósito:
Entender la configuración del sistema objetivo, incluyendo la versión del sistema operativo, actualizaciones instaladas y detalles del hardware. Esta información es crucial para identificar vulnerabilidades y planificar acciones adicionales.
Comandos:
systeminfo
Muestra información detallada sobre la configuración del ordenador y su sistema operativo.
1systeminfo
wmic cpu get name, maxclockspeed, currentclockspeed
Recupera información sobre la CPU, incluyendo su nombre y velocidades de reloj.
1wmic cpu get name, maxclockspeed, currentclockspeed
Explicación:
Al ejecutar estos comandos, obtienes una visión general del entorno de hardware y software del sistema, lo cual es esencial para identificar posibles vulnerabilidades y comprender las capacidades del sistema.
Propósito:
Identificar todas las cuentas de usuario en el sistema objetivo para encontrar posibles objetivos para la escalada de privilegios o movimiento lateral.
Comandos:
net user
Muestra una lista de las cuentas de usuario en el sistema.
1net user
whoami
Muestra el usuario actualmente conectado.
1whoami
1whoami /groups
Explicación:
Listar todas las cuentas de usuario ayuda a identificar cuentas administrativas o usuarios con privilegios elevados. El comando whoami
revela la identidad del usuario actual y las membresías de grupo, lo cual es vital para evaluar el nivel de acceso y las posibles rutas de escalada.
Propósito:
Localizar y terminar procesos relacionados con la seguridad (por ejemplo, software antivirus) para reducir las posibilidades de detección e interferir con los mecanismos de defensa del sistema.
Comandos:
tasklist
Lista todos los procesos en ejecución.
1tasklist
tasklist | findstr "antivirus"
Filtra la lista para encontrar procesos relacionados con software antivirus.
1tasklist | findstr "antivirus"
1tasklist | findstr "explorer"
taskkill /PID <ProcessID> /F
Termina un proceso específico usando su ID de Proceso (PID) con fuerza.
1taskkill /PID 1532 /F
Explicación:
Al identificar y terminar procesos de seguridad, puedes minimizar el riesgo de que tus actividades sean detectadas por software antivirus u otro software de seguridad. Este paso es crucial para mantener el acceso encubierto y prevenir que el sistema inicie contramedidas.
Propósito:
Organizar tus herramientas y cargas útiles dentro del sistema objetivo para asegurar un acceso y ejecución fáciles durante sesiones futuras.
Comandos:
md C:\Windows\Temp\Payloads
Crea un nuevo directorio llamado "Payloads" dentro de la carpeta Temp.
1md C:\Windows\Temp\Payloads
copy payload.exe C:\Windows\Temp\Payloads\
Copia el ejecutable de la carga útil al nuevo directorio creado.
1copy payload.exe C:\Windows\Temp\Payloads\
Explicación:
Crear un directorio dedicado para tus herramientas asegura que estén organizadas y sean fácilmente accesibles. Copiar cargas útiles a este directorio prepara el sistema para ejecutar comandos adicionales o establecer un acceso persistente.
Propósito:
Ejecutar tu carga útil o puerta trasera para establecer una conexión persistente o realizar actividades maliciosas en el sistema objetivo.
Comandos:
start C:\Windows\Temp\Payloads\payload.exe
Lanza el ejecutable de la carga útil.
1start C:\Windows\Temp\Payloads\payload.exe
tasklist | findstr "payload"
Verifica que la carga útil esté en ejecución.
1tasklist | findstr "payload"
Explicación:
Ejecutar tu carga útil es esencial para establecer una puerta trasera o mantener acceso al sistema objetivo. Verificar que la carga útil esté en ejecución asegura que tus acciones hayan sido exitosas y que puedas confiar en este acceso para operaciones futuras.
Propósito:
Eliminar cualquier rastro de tus actividades para evitar la detección y mantener un acceso a largo plazo sin levantar sospechas.
Comandos:
del C:\Windows\Temp\Payloads\payload.exe
Elimina el ejecutable de la carga útil después de la ejecución.
1del C:\Windows\Temp\Payloads\payload.exe
rmdir C:\Windows\Temp\Payloads
Elimina el directorio Payloads.
1rmdir C:\Windows\Temp\Payloads
Explicación:
Limpiar eliminando tus cargas útiles y eliminando directorios ayuda a borrar evidencia de tu presencia en el sistema. Este paso es crucial para mantener el encubrimiento y reducir las posibilidades de que tus actividades sean descubiertas durante auditorías del sistema o escaneos de seguridad.
md
copy
del
rmdir
systeminfo
wmic
net user
whoami
whoami /groups
tasklist
findstr
taskkill
start