En esta oportunidad quiero traer un post de mi amigo @DamonCDB, quien es uno de los mas disciplinados que he conocido en este tema de hacking etico y pentesting. Podeis visitar su Blog llamado "Mis Hobbies".
Este articulo es de su autoría y quiero tambien compartirlo con vosotros para que conozcais su trabajo. Podeis visitar el post original AQUI
En esta ocasión vamos a ver una sala que nos muestra algunos comandos a la hora de empezar con el pentesting. La sala se llama: CC - Pen testing
Más adelante veremos cada una de estas herramientas con más detenimiento, pero por ahora esto es un acercamiento a dichas herramientas para ir familiarizándonos con ellas.
Esta sala estará dividida, ya que consta de 7 secciones distintas, y bastante extensas. Además, en esta ocasión os he publicado las respuestas de cada una de las preguntas, aunque la mayoría son sencillas de encontrar con tan solo usar la página del manual de cada herramienta o, en su defecto, la ayuda (*ya sabéis, para usar el manual solo tenéis que escribir "man comando"
y para la mayoría de herramientas la ayuda aparece con comando "--help"
).
Para cualquier duda, no tengáis problema en poneros en contacto con @DamosnCDB en su blog, y os atenderá tan pronto le sea posible.
La idea tras esta sala es proveer de una introducción a varias herramientas y conceptos que os encontraréis de forma habitual en los test de penetración.
Esta sala asume que tenéis un conocimiento básico de Linux y redes. Además, no está destinada a ser un “final absoluto” en el tema de las pruebas de penetración.
Las tareas en esta sala pueden completarse en cualquier orden; de todos modos, si eres nuevo en el mundo del pentesting, es recomendable completar las dos primeras antes de hacer nada más.
Nmap
es una de las herramientas más importantes en el arsenal de cualquier pentester. Ésta nos permite ver qué puertos están abiertos, además de información sobre qué servicios están corriendo en cada uno de esos puertos. Por lo tanto, esta tarea se enfocará a enseñaros varios modificadores de nmap
. Las primeras preguntas pueden contestarse con tan solo utilizar la página de manual de nmap
. Las últimas requerirán que despliegues la máquina virtual que te facilitamos.
Network Mapper
-p
-sn
-sU
-sC
-A
-O
-sV
Es hora de desplegar la máquina adjunta:
1
Apache
2.4.18
Apache2 Ubuntu Default Page: It Works
Netcat, también conocido como nc
, es una herramienta extremadamente versátil. Permite a los usuarios conectar a puestos específicos y enviar y recibir datos. También permite a las máquinas recibir datos y conexiones en puertos específicos, lo cual hace de nc una herramienta muy popular para conseguir una Reverse Shell
.
Después de conectar a un puerto con nc
podréis enviar datos, esto también tiene la consecuencia para el usuario de poder mandar datos mediante una tubería o pipe con nc
. Por ejemplo, se puede hacer "echo hello | nc <ip> 1234
" para enviar la cadena hello
al servicio corriendo en el puerto 1234
.
Nota: Hay múltiples versiones de nc
, por lo que si no puedes encontrar una respuesta en tu página de manual específica, prueba con las páginas de manual de otras versiones.
-l
-v
-p
-e
-u
Uno de los principales problemas en el pentesting de páginas web es no saber dónde está cada cosa. Un reconocimiento básico puede decirnos dónde se encuentran algunos ficheros y directorios; de todos modos, algunas de las cosas más importantes estarán ocultas a los ojos de los usuarios. Ahí es donde entra Gobuster
, la idea tras este programa es que intenta encontrar directorios válidos de un diccionario de posibles directorios. Gobuster
puede utilizarse también para subdominios válidos utilizando el mismo método.
Las primeras preguntas de esta tarea se pueden contestar utilizando la página de manual de Gobuster
, mientras que las últimas requerirán el despliegue de la máquina virtual.
Si en el SO que estás utilizando no se encuentra la página de manual de Gobuster
, utiliza "gobuster –help"
.
dir
dns
-x
-w
-U
-P
-s
-k
-a
-H
-u
Despliega la máquina adjunta:
secret
password
Nikto
es una herramienta de escaneo web muy popular que permite a los usuarios encontrar vulnerabilidades comunes en la web. Normalmente se utiliza para verificar CVE’s comunes como shellshock, además de para conseguir información general acerca de un servidor web que le indicamos.
-h
-nossl
-ssl
-id
-plugins
apacheusers
-update
--list-plugins
Metasploit
es uno de los frameworks de pentesting más populares que existe. Contiene una extensa base de datos de casi todos los CVE, los cuáles puedes utilizar fácilmente contra una máquina. El objetivo de esta sección es adentraros un poco en algunas de las características de metasploit, y al final encontraréis una máquina que necesitaréis explotar.
Una vez instalado metasploit
por medio de su instalador o de los repositorios de vuestra distribución, tendréis varios comandos disponibles. Esta sección se enfocará principalmente en el comando msfconsole
.
La ejecución de este comando nos presentará un prompt de “msf5”
el cual nos permitirá entrar los comandos. Todas las tareas se pueden contestar con el comando “help”
search
use
info
options
advanced
show
Una vez encontrado el módulo necesario para la máquina que queráis explotar, necesitaréis seleccionarlo y configurar las opciones pertinentes. Esta tarea os llevará a través de esta selección y configuración de opciones para uno de los módulos más conocidos de metasploit: “eternalblue”
. Todos los comandos básicos que pueden ejecutarse antes de seleccionar un módulo pueden utilizarse también una vez que el módulo ha sido seleccionado.
use exploit/windows/smb/ms17_010_eternalblue
RHOSTS
RPORT
set
set SMBPass username
set SMBUser password
arch
payload
exploit
-j
sessions
-i
Una vez ejecutado el exploit, lo ideal es que os dirija a una de estas dos cosas: una shell de comandos o una shell de meterpreter. Meterpreter
es el “centro de control” de metasploit
donde podéis hacer varias cosas para interactuar con la máquina. Podéis encontrar una lista de los comandos más comunes de meterpreter aquí.
Nota: Las regular shells pueden actualizarse a shells de meterpreter usando el módulo
post/multi/manage/shell_to_meterpreter
.
download
upload
ps
migrate
ls
execute
shell
search
cat
background
Es momento de utilizar todo lo aprendido en las tareas anteriores de metasploit y probarlas en una máquina de ejemplo. Esta máquina es vulnerable al módulo de metasploit exploit/multi/http/nostromo_code_exec
en el puerto 80
, y esta tarea os llevará a lo largo del proceso de explotación y obtención de una shell en la máquina.
use exploit/multi/http/nostromo_code_exec
rhosts
set rport 80
lhost
Es hora de desplegar la máquina:
s3cretd1r
Woohoo!