Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sagar Rahalkar
Machine Translated by Google
Sagar Rahalkar
Machine Translated by Google
Sagar Rahalkar
Pune, Maharastra, India
En este libro pueden aparecer nombres de marcas comerciales, logotipos e imágenes. En lugar de utilizar un símbolo de
marca registrada cada vez que aparece un nombre, logotipo o imagen de marca registrada, usamos los nombres, logotipos
e imágenes solo de forma editorial y para beneficio del propietario de la marca registrada, sin intención de infringir la
marca comercial.
El uso en esta publicación de nombres comerciales, marcas comerciales, marcas de servicio y términos similares, incluso si no
están identificados como tales, no debe tomarse como una expresión de opinión sobre si están sujetos o no a derechos de
propiedad.
Si bien se cree que los consejos y la información contenidos en este libro son verdaderos y precisos en la fecha de su publicación.
publicación, ni los autores ni los editores ni el editor pueden aceptar ninguna responsabilidad legal por los errores
u omisiones que puedan cometerse. El editor no ofrece ninguna garantía, expresa o implícita, con respecto al material
contenido en este documento.
Distribuido al comercio del libro en todo el mundo por Springer Science+Business Media New York, 233 Spring
Street, 6th Floor, New York, NY 10013. Teléfono 1800SPRINGER, fax (201) 3484505, correo electrónico pedidosny@
springersbm.com o visite www.springeronline.com. Apress Media, LLC es una LLC de California y el único miembro
(propietario) es Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc es una corporación
de Delaware .
Para obtener información sobre traducciones, envíe un correo electrónico a Rights@apress.com o visite www.apress.com/
derechospermisos.
Los títulos de Apress se pueden comprar al por mayor para uso académico, corporativo o promocional. Versiones de libros
electrónicos y licencias también están disponibles para la mayoría de los títulos. Para obtener más información, consulte nuestra página
web de ventas al por mayor de libros impresos y electrónicos en www.apress.com/bulksales.
Cualquier código fuente u otro material complementario al que haga referencia el autor en este libro está disponible para los
lectores en GitHub a través de la página del producto del libro, ubicada en www.apress.com/9781484242698.
Para obtener información más detallada, visite www.apress.com/sourcecode.
Tabla de contenido
Acerca del autor vii
Introducción xi
NMAP 4
Instalación de NMAP 5
Scripts NMAP 20
Salida NMAP 40
NMAP y Python 40
Resumen 44
Capítulo 2: OpenVAS 47
Introducción a OpenVAS 48
Instalación 49
Administración de OpenVAS 55
Gestión de usuarios 57
Panel de control 59
III
Machine Translated by Google
Tabla de contenido
Programador 60
Papelera 60
Ayuda 61
Escaneo de vulnerabilidades 62
Rendimiento 66
Calculadora CVSS 67
Configuración 68
Informes 69
Resumen 71
Capítulo 3: Metasploit 73
Introducción a Metasploit 73
Auxiliares 76
Cargas útiles 76
Explotaciones 77
Codificadores 77
80
versión 81
conectar 82
Historia 83
y obtener 85 desarmar y
desarmar 85
IV
Machine Translated by Google
Tabla de contenido
guardar 86
información 87
irb 87
mostrar 88
carrete 89
fabricante 89
db_initiate 90
db_status 90
espacio de trabajo 91
NMAP 92
OpenVAS 95
DNS 100
FTP 101
HTTP 102
RDP 104
Pymes 104
SSH 106
VNC 107
v
Machine Translated by Google
Tabla de contenido
115
ls 116
getuid
hashdump 119
Searchsploit 120
Resumen 120
Índice 135
vi
Machine Translated by Google
Sobre el Autor
Sagar Rahalkar es un experimentado profesional de seguridad de la información
con 11 años de experiencia integral en los distintos sectores verticales de
la seguridad de la información. Su dominio se centra en investigaciones de delitos
cibernéticos, análisis forense digital, seguridad de aplicaciones, evaluación de
vulnerabilidades y pruebas de penetración, cumplimiento de mandatos y
regulaciones, y CRC de TI. Tiene una maestría en ciencias de la computación y
varias certificaciones reconocidas en la industria, como Investigador certificado
de delitos cibernéticos, Hacker ético certificado, Analista de seguridad
certificado, Auditor líder ISO 27001, Especialista certificado de IBM Rational AppScan,
Gerente de seguridad de la información certificado (CISM) y PRINCE2, por
nombrar algunos. Ha estado estrechamente asociado con las agencias de
aplicación de la ley de la India durante más de cuatro años, ocupándose de
investigaciones de delitos digitales y capacitaciones relacionadas para oficiales, y ha
recibido varios premios y reconocimientos de altos funcionarios de la policía y de
organizaciones de defensa de la India. Es autor de varios libros y artículos sobre seguridad de la
viii
Machine Translated by Google
ix
Machine Translated by Google
Introducción
La evaluación de vulnerabilidades y las pruebas de penetración se han vuelto muy
importantes, especialmente en los últimos años. Las organizaciones suelen tener redes
complejas de activos que almacenan datos confidenciales y dichos activos están
expuestos a amenazas potenciales tanto desde el interior como desde el exterior. Para
obtener una visión general de la postura de seguridad de una organización, realizar
una evaluación de vulnerabilidad es un paso esencial. La realización de pruebas de
penetración requiere un enfoque metódico y bien planificado.
Para ayudarlo a realizar diversas tareas en las fases del ciclo de vida de las pruebas de
penetración, hay toneladas de herramientas, scripts y utilidades disponibles. Las distribuciones
de Linux como Kali Linux incluso proporcionan herramientas incluidas para realizar estas
tareas.
xi
Machine Translated by Google
CAPÍTULO 1
Introducción a NMAP
La evaluación de vulnerabilidades y las pruebas de penetración han ganado gran
importancia, especialmente en los últimos años. Las organizaciones suelen tener una red
compleja de activos que almacenan datos confidenciales. Dichos activos están expuestos
a amenazas potenciales tanto desde dentro como desde fuera de la organización. Para
obtener una visión general de la postura de seguridad de la organización, es esencial
realizar una evaluación de vulnerabilidad.
Es importante entender la clara diferencia entre vulnerabilidad
evaluaciones y pruebas de penetración. Para comprender esta diferencia, consideremos
un escenario del mundo real. Observa que la puerta de su vecino no está cerrada
correctamente y que el vecino no está en casa. Esta es una evaluación de
vulnerabilidad. Ahora bien, si realmente abres la puerta del vecino y entras a la casa,
entonces eso es una prueba de penetración. En un contexto de seguridad de la
información, es posible que observe que el servicio SSH se ejecuta con credenciales
débiles; esto es parte de una evaluación de vulnerabilidad. Si realmente utiliza esas
credenciales para obtener acceso, entonces se trata de una prueba de penetración.
Las evaluaciones de vulnerabilidad suelen ser seguras, mientras que las pruebas de
penetración, si no se realizan de forma controlada, pueden causar daños graves en los sistemas de d
Por tanto, una evaluación de la vulnerabilidad es uno de los requisitos previos
esenciales para realizar una prueba de penetración. A menos que sepa qué
vulnerabilidades existen en el sistema de destino, no podrá explotarlas.
2
Machine Translated by Google
sea persistente.
registro, crear registros de auditoría, etc. Cubrir tus huellas implica limpiar
Para realizar diversas tareas en estas fases, existen cientos de herramientas, scripts y utilidades
disponibles. Las distribuciones de Linux como Kali Linux incluso proporcionan herramientas incluidas para
Sin embargo, existen algunas herramientas que son tan poderosas y flexibles que por sí solas pueden
Este libro trata sobre tres de estas herramientas: NMAP, OpenVAS y Metasploit.
El solo hecho de tener estas tres herramientas en su arsenal puede proporcionar amplias
La Tabla 11 describe cómo estas herramientas podrían usarse en varias fases de
3
Machine Translated by Google
De esta tabla, es evidente que las tres herramientas son capaces de realizar
tareas en todas las fases del ciclo de vida de las pruebas de penetración.
NMAP
Ahora que tiene una idea clara de las diferentes fases del ciclo de vida de las pruebas de
• Instalación de NMAP
4
Machine Translated by Google
Instalación NMAP
NMAP se puede instalar tanto en sistemas basados en Windows como en Unix. Para
Para sistemas basados en Unix, puede instalar NMAP desde la línea de comandos.
Las distribuciones de seguridad como Kali Linux tienen NMAP instalado de forma predeterminada.
Sin embargo, para otras distribuciones habituales, es necesario instalarlo por separado.
Simplemente puede usar el comando apt install nmap para sistemas basados en
Debian, como se muestra en la Figura 11. Este comando instalará NMAP junto con todas las
dependencias necesarias.
5
Machine Translated by Google
6
Machine Translated by Google
• Destino: puede ser una única dirección IP, una lista de múltiples
IP o una subred completa.
7
Machine Translated by Google
Aunque la versión actual de NMAP es capaz de realizar muchas tareas, inicialmente comenzó
como un escáner de puertos. NMAP tiene ciertas formas de detectar si el puerto del
sistema de destino está abierto o cerrado. NMAP detecta el estado del puerto de destino
utilizando estados predefinidos de la siguiente manera:
8
Machine Translated by Google
Sin filtrar: el estado Sin filtrar indica que los puertos están
Antes de comenzar con el escaneo real, es importante tener en cuenta que NMAP es
una herramienta ruidosa. Crea una gran cantidad de tráfico de red y, en ocasiones, puede
prevención de intrusiones pueden detectar y bloquear el tráfico NMAP. Se dice que un escaneo
NMAP básico predeterminado en un solo host puede generar más de 4 MB de tráfico de red. Por lo
tanto, incluso si realiza un escaneo básico en una subred completa, creará alrededor de 1 GB de
tráfico. Por lo tanto, es esencial realizar escaneos NMAP con conocimiento completo de los
9
Machine Translated by Google
Figura 14. Salida del escaneo NMAP básico realizado en una única dirección IP
10
Machine Translated by Google
Figura 15. Salida del escaneo NMAP básico realizado en una subred
11
Machine Translated by Google
Figura 16. Archivo de hosts que contiene una lista de direcciones IP que
se analizarán
Figura 17. Salida del escaneo NMAP básico realizado en múltiples direcciones
IP enumeradas en el archivo hosts.txt
Escaneo de motivo
12
Machine Translated by Google
En un escaneo NMAP normal, es posible que obtenga una lista de puertos abiertos; sin embargo,
no sabrá la razón por la cual NMAP informó que un puerto en particular estaba abierto.
El escaneo de motivos de NMAP es una opción interesante en la que NMAP
proporciona un motivo para cada puerto informado como abierto, como se muestra en la Figura 18.
Los escaneos NMAP se basan en los indicadores TCP que se configuran en la solicitud
y la respuesta. En este caso, los puertos abiertos se detectaron según los indicadores SYN y
ACK establecidos en los paquetes TCP.
Figura 18. Salida del motivo del escaneo NMAP realizado en una única
dirección IP
Protocolos admitidos
Aquí está el comando:
13
Machine Translated by Google
Figura 19. Salida del escaneo del protocolo NMAP realizado en una única dirección IP
Sonda de cortafuegos
Figura 110. Salida de la sonda de firewall NMAP realizada contra una única dirección
IP
14
Machine Translated by Google
Topología
Ahora que tiene una lista de hosts activos dentro de la subred, puede
Realice algunos escaneos detallados para descubrir los puertos y servicios que se
ejecutan en ellos. Puede configurar la dirección IP de destino, seleccionar Quick
Scan como perfil y luego ejecutar el escaneo. La Figura 112 muestra el resultado de un
escaneo resaltando varios puertos abiertos en el objetivo.
15
Machine Translated by Google
Figura 112. Salida de un escaneo TCP NMAP rápido realizado en una única
dirección IP
Enumeración de servicios
Ahora que tiene un host activo y también sabe qué puertos están abiertos, es
hora de enumerar los servicios asociados con esos puertos. Por ejemplo, puedes ver que el
puerto 21 está abierto. Ahora necesitas saber qué servicio está asociado y cuál es la
versión exacta del servidor.
atender el servicio. Puede utilizar el comando nmap sV <dirección IP de destino>, como
se muestra en la Figura 113. El modificador sV representa la versión de servicio. La
enumeración de servicios y sus versiones proporciona una gran cantidad de información
que se puede utilizar para crear más ataques.
dieciséis
Machine Translated by Google
Figura 113. Salida del escaneo del servicio NMAP realizado en una única
dirección IP
Todos los escaneos que realizó hasta ahora le brindaron información solo sobre los
puertos TCP. Sin embargo, el objetivo también puede tener servicios ejecutándose en puertos UDP.
Un escaneo NMAP predeterminado sondea solo los puertos TCP. Debe buscar
exclusivamente puertos y servicios UDP. Para escanear puertos UDP comunes, puede
mientras que el parámetro p 11024 limitará el NMAP a escanear solo los puertos en el
rango de 1 a 1024. También es importante tener en cuenta que el escaneo del puerto UDP
lleva mucho más tiempo. más tiempo que un escaneo TCP normal. La Figura 114 muestra
el resultado de un escaneo UDP de muestra.
17
Machine Translated by Google
Figura 114. Salida del escaneo NMAP UDP básico realizado en una única
dirección IP
18
Machine Translated by Google
Figura 115. Salida del análisis de detección del sistema operativo NMAP realizado en una única
dirección IP
Escaneo intenso
19
Machine Translated by Google
Figura 116. Salida de un intenso análisis NMAP realizado en una única dirección IP
Guiones NMAP
NMAP ha evolucionado desde hace mucho tiempo desde un escáner de puertos básico. Es
mucho más potente y flexible que un simple escáner de puertos. La funcionalidad
de NMAP se puede ampliar mediante scripts NMAP. El motor de secuencias de comandos
NMAP es capaz de ejecutar secuencias de comandos que permiten la enumeración detallada
de objetivos y la recopilación de información. NMAP tiene alrededor de 600 scripts que
sirven para diferentes propósitos. En Kali Linux, los scripts se pueden encontrar en /usr/
share/nmap/scripts. La siguiente sección discutirá cómo puede usar scripts NMAP para enumerar
varios servicios TCP.
Enumeración HTTP
HTTP es un servicio común que se encuentra en muchos hosts. Se ejecuta en el puerto
80 de forma predeterminada. NMAP tiene un script para enumerar servicios HTTP. Se
puede invocar usando el comando nmap –script httpenum <IP de destino
20
Machine Translated by Google
21
Machine Translated by Google
Métodos HTTP
HTTP admite el uso de varios métodos como GET, POST, DELETE, etc. A
veces, estos métodos se dejan abiertos en el servidor web innecesariamente.
Puede utilizar los métodos http del script NMAP, como se muestra en la Figura
118, para enumerar los métodos HTTP permitidos en el sistema de destino.
Figura 118. Salida de métodos http del script NMAP ejecutados contra una
dirección IP de destino
22
Machine Translated by Google
Los siguientes son algunos scripts NMAP adicionales para la enumeración HTTP:
• título http
• seguimiento http
• búsqueda http
• httpwordpressenum
• httpdevframework
Enumeración de PYMES
23
Machine Translated by Google
Los siguientes son algunos scripts NMAP adicionales para la enumeración SMB:
• smbvulnms17010
• protocolos smb
• smbmbenum
• usuariosenumsmb
24
Machine Translated by Google
• procesosenumsmb
• serviciosenumsmb
Enumeración DNS
25
Machine Translated by Google
Los siguientes son algunos scripts NMAP adicionales para la enumeración de DNS:
• dnscachesnoop
• descubrimientodeserviciodns
• recursividad dns
• dnsbruto
• transferenciadezonadns
• dnsnsid
• dnsnsecenum
• DNSfuzz
• dnssrvenum
Enumeración FTP
El Protocolo de transferencia de archivos (FTP) es el protocolo más utilizado para
transferir archivos entre sistemas. Se ejecuta en el puerto 21 de forma predeterminada.
NMAP tiene varios scripts para enumerar el servicio FTP. La Figura 122 muestra el
resultado de dos scripts.
• sistema ftp
• ftpanón
El resultado muestra los detalles de la versión del servidor FTP y revela que el
El servidor acepta conexiones anónimas.
26
Machine Translated by Google
Dado que el objetivo ejecuta el servidor vsftpd, puede probar con otro NMAP
script, que comprobará si el servidor FTP es vulnerable. Se puede utilizar el
script ftpvsftpdbackdoor, como se muestra en la Figura 123.
27
Machine Translated by Google
• ftpbruto
• ftp NSE
• rebote ftp
• ftpvulncve20104221
• ftplibopie
28
Machine Translated by Google
Enumeración MySQL
MySQL es uno de los sistemas de gestión de bases de datos relacionales de
código abierto más populares. Se ejecuta en el puerto 3306 de forma predeterminada.
NMAP tiene scripts para enumerar el servicio MySQL. Enumerar un servicio MySQL
puede revelar mucha información potencial que podría usarse para atacar la base de
datos de destino. La Figura 124 muestra el resultado del script mysqlinfo. Muestra los
detalles de la versión del protocolo, las capacidades del servidor y el valor de sal en uso.
Figura 124. Salida del script NMAP mysqlinfo ejecutado contra una
dirección IP de destino
Los siguientes son algunos scripts NMAP adicionales para la enumeración de MySQL:
• enumeración mysql
• mysqlbruto
• consulta mysql
• mysqlcontraseñavacía
• mysqlvulncve20122122
• usuarios de mysql
• variables mysql
29
Machine Translated by Google
Enumeración SSH
El protocolo Secure Shell (SSH) se utiliza ampliamente para inicios de sesión y
administración remotos seguros. A diferencia de Telnet, SSH cifra el tráfico, haciendo
que la comunicación sea segura. Se ejecuta en el puerto 22 de forma predeterminada.
NMAP tiene scripts para enumerar el servicio SSH. La Figura 125 muestra el resultado
del script ssh2enumalgos. Enumera los diferentes algoritmos de cifrado admitidos por
el servidor SSH de destino.
30
Machine Translated by Google
Los siguientes son algunos scripts NMAP adicionales para la enumeración SSH:
• sshbruto
• ejecución ssh
• sshv1
Enumeración SMTP
El Protocolo simple de transferencia de correo (SMTP) se utiliza para la
transmisión de correo electrónico. Se ejecuta en el puerto 25 de forma
predeterminada. NMAP tiene varios scripts para enumerar el servicio SMTP.
Estos scripts NMAP podrían revelar varias debilidades en el servidor SMTP, como
retransmisiones abiertas, aceptación de comandos arbitrarios, etc. La Figura 126
muestra el resultado del script smtpcommands. Enumera varios comandos que
acepta el servidor SMTP de destino.
31
Machine Translated by Google
Muchos servidores SMTP habilitan por error la retransmisión abierta. Esto permite a cualquiera
para conectarse al servidor SMTP sin autenticación y enviar correos electrónicos.
32
Machine Translated by Google
• comandos smtp
• smtpbruto
• información smtpntlm
• SMTPpuerto extraño
• smtpvulncve20111764
33
Machine Translated by Google
Enumeración VNC
El protocolo Virtual Network Computing (VNC) se utiliza comúnmente para
compartir escritorios gráficos remotos. Se ejecuta en el puerto 5900 de forma
predeterminada. NMAP tiene varios scripts para enumerar el servicio VNC. La Figura
128 muestra el resultado del script vncinfo. Muestra los detalles de la versión del
protocolo junto con el tipo de autenticación.
Figura 128. Salida del script NMAP vncinfo ejecutado contra una
dirección IP de destino
34
Machine Translated by Google
• vncbruto
• títulovnc
35
Machine Translated by Google
Figura 129. Salida del banner del script NMAP ejecutado contra una
dirección IP de destino
Detectar vulnerabilidades
Hasta ahora, ha visto las capacidades NMAP de escaneo y enumeración
de puertos. Ahora verá cómo se puede utilizar NMAP para realizar
evaluaciones de vulnerabilidad. Aunque no es tan completo como los escáneres
de vulnerabilidades como Nessus y OpenVAS, NMAP ciertamente puede
realizar una detección básica de vulnerabilidades. NMAP hace esto con la
ayuda de ID de exposición y vulnerabilidades comunes (CVE). Busca
CVE coincidentes con los servicios que se ejecutan en el objetivo. Para convertir NMAP en
36
Machine Translated by Google
• https://github.com/vulnersCom/nmapvulners.git
• https://github.com/scipag/vulscan.git
Una vez que haya descargado los scripts necesarios, estará listo para
ejecutarlos en el objetivo. Puedes usar el comando nmap sV –
script nmapvulners <dirección IP de destino>, como se muestra en la Figura 131.
37
Machine Translated by Google
Figura 131. Salida del script NMAP nmapvulners ejecutado contra una
dirección IP de destino
Curiosamente, puede ver que hay muchos CVE disponibles para ISC BIND
9.4.2 que se ejecuta en el puerto TCP 53. Esta información de CVE se puede utilizar
para explotar aún más el objetivo. También puede ver varios CVE para el puerto TCP
80 ejecutando el servidor Apache httpd 2.2.8, como se muestra en la Figura 132.
38
Machine Translated by Google
Figura 132. Salida del script NMAP nmapvulners ejecutado contra una
dirección IP de destino
39
Machine Translated by Google
Salida NMAP
Hasta ahora, ha escaneado varias funciones útiles de NMAP. Es importante tener en cuenta que
el resultado producido por NMAP se puede utilizar para muchas otras herramientas y productos de
seguridad. Por lo tanto, debe conocer los diferentes formatos de salida que NMAP es capaz de
archivo salida.txt
el archivo output.grep
NMAP y Python
A lo largo de este capítulo, ha visto numerosas capacidades de NMAP y cómo NMAP se puede
interpretado de alto nivel para programación de propósito general. De hecho, Python es fácil
de usar y extremadamente flexible. Tiene un rico conjunto de bibliotecas listas para usar para
realizar
40
Machine Translated by Google
diversas tareas. Entrar en detalles sobre los conceptos básicos y la sintaxis del
lenguaje Python está fuera del alcance de este libro. Suponiendo que tenga algunos
conocimientos básicos sobre Python, esta sección discutirá cómo puede usar Python.
para invocar y automatizar escaneos NMAP.
Python se instala de forma predeterminada en la mayoría de los sistemas basados en Unix. Sin embargo,
raíz@kali:~# pitón
Python 2.7.14+ (predeterminado, 5 de diciembre de 2017, 15:17:02)
[GCC 7.2.0] en Linux2
Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener más
información.
41
Machine Translated by Google
Ahora puede crear un nuevo objeto llamado nmp para invocar PortScanner
función. Luego inicie una nueva exploración para la dirección IP de destino 127.0.0.1 y los
puertos del 1 al 50, como se muestra aquí:
'150', 'method': 'syn'}}, 'command_line': 'nmap oX p 150 sV 127.0.0.1'}, 'scan':
{'127.0.0.1': {'status': {'state': 'up', 'reason': 'localhostresponse'}, 'nombres de host ':
[{'tipo': 'PTR', 'nombre': 'localhost'}], 'proveedor': {}, 'direcciones': {'ipv4': '127.0.0.1'}, 'tcp':
{ 22: {'producto': 'OpenSSH', 'estado': 'abierto', 'versión': '7.7p1 Debian 4', 'nombre': 'ssh',
'conf': '10', 'extrainfo': 'protocolo 2.0', 'razón': 'synack', 'cpe': 'cpe:/o:linux:linux_kernel'}}}}}
Aunque el resultado anterior está sin formato, ciertamente se puede formatear usando
muchas de las funciones de Python. Una vez que haya ejecutado el análisis inicial, puede
explorar diferentes funciones para recuperar detalles específicos del análisis.
información de escaneo()
La función scaninfo() devuelve detalles del escaneo, como el método utilizado y el rango de
puertos analizados.
>>> nmp.scaninfo()
{'tcp': {'servicios': '11024', 'método': 'syn'}}
42
Machine Translated by Google
todos_hosts()
>>> nmp.all_hosts()
['192.168.25.129']
estado()
llaves()
La función key() devuelve una lista de todos los puertos abiertos encontrados durante el escaneo.
has_tcp()
>>> nmp['192.168.25.129'].has_tcp(22)
Verdadero
línea de comando()
>>> nmp.command_line()
'nmap oX p 150 sV 127.0.0.1'
43
Machine Translated by Google
nombre de host()
todos_protocolos()
>>> nmp['127.0.0.1'].todos_protocolos()
['tcp']
Ahora que conoce las funciones básicas para invocar NMAP desde Python, puede
escribir un código Python simple que utilice un bucle para escanear múltiples direcciones
IP. Luego puede utilizar varias funciones de procesamiento de texto para limpiar y
formatear la salida.
Resumen
En este capítulo, aprendió sobre los conceptos de evaluación de vulnerabilidades y pruebas
de penetración. Ahora comprende las diferentes fases del ciclo de vida de las pruebas
de penetración y la importancia de NMAP, OpenVAS y Metasploit, que son capaces de
realizar la mayoría de las tareas en todas las fases del ciclo de vida de las pruebas de
penetración.
Este capítulo le informó sobre los conceptos básicos y esenciales de la herramienta
NMAP y le brindó información sobre cómo se pueden ampliar las capacidades de NMAP
mediante scripts. El capítulo también aborda la integración de NMAP con secuencias de
comandos Python.
44
Machine Translated by Google
45
Machine Translated by Google
CAPITULO 2
OpenVAS
En el capítulo anterior, aprendió sobre NMAP y sus capacidades.
En este capítulo, aprenderá cómo se puede utilizar OpenVAS para realizar evaluaciones
de vulnerabilidad. Específicamente, este capítulo cubre lo siguiente:
• Introducción a OpenVAS
• Configuración de OpenVAS
• Exploración de vulnerabilidades
• Informes
Capítulo 2 OpenVAS
Introducción a OpenVAS
En el capítulo anterior, aprendiste sobre NMAP. NMAP es una herramienta que es
mucho más que un simple escáner de puertos. Por ejemplo, utilizó NMAP para la
detección de vulnerabilidades. Sin embargo, tiene ciertas limitaciones. NMAP detecta
principalmente sólo CVE conocidos limitados. Por lo tanto, ciertamente necesita
una mejor solución para realizar una evaluación de vulnerabilidad. Estas son algunas
de las opciones populares:
• Neso
• Nexponer
• QualysGuard
• OpenVAS
48
Machine Translated by Google
Capítulo 2 OpenVAS
Instalación
OpenVAS viene con múltiples opciones de instalación, incluido el contenedor Docker. Se
puede instalar en varios sistemas operativos. Sin embargo, la forma más fácil y rápida de
comenzar con OpenVAS es descargar el dispositivo virtual OpenVAS. La imagen ISO del
install_use_gce/.
imagen ISO, iniciarla en VMware/VirtualBox y configurar algunas cosas básicas, y OpenVAS estará
Una vez que inicie el ISO descargado, puede comenzar seleccionando la opción Configuración,
49
Machine Translated by Google
Capítulo 2 OpenVAS
Ahora necesita crear un nuevo usuario que utilizará con fines administrativos,
Luego establece una contraseña para el usuario recién creado, como se muestra en
Figura 24.
50
Machine Translated by Google
Capítulo 2 OpenVAS
51
Machine Translated by Google
Capítulo 2 OpenVAS
Puede ver que la configuración de OpenVAS está completa y su interfaz web está
52
Machine Translated by Google
Capítulo 2 OpenVAS
Mientras tanto, debe iniciar el sistema operativo y realizar algunos cambios de configuración
53
Machine Translated by Google
Capítulo 2 OpenVAS
54
Machine Translated by Google
Capítulo 2 OpenVAS
Administración OpenVAS
En la sección anterior, vio cómo configurar OpenVAS descargando la configuración de
la máquina virtual lista para usar. Ahora, antes de pasar a la parte de escaneo real, necesita
configurar algunas cosas como parte de la administración.
Actualización de feeds
55
Machine Translated by Google
Capítulo 2 OpenVAS
La actualización del feed tardará algún tiempo; Una vez hecho esto, puede volver a
ir a la interfaz web de OpenVAS y verificar el estado de la fuente. Ahora debería ver que
el estado de la alimentación es actual, como se muestra en la Figura 213.
56
Machine Translated by Google
Capítulo 2 OpenVAS
Gestión de usuarios
OpenVAS funciona en una arquitectura clienteservidor, donde varios usuarios
pueden conectarse a un servidor centralizado. Por tanto, es importante crear y
gestionar usuarios y grupos. Antes de crear usuarios, debe tener algunos grupos
de usuarios implementados. Para crear nuevos grupos de usuarios de OpenVAS,
vaya a Administración Grupos, como se muestra en la Figura 214.
Una vez que haya creado y configurado los grupos requeridos, puede crear
nuevos usuarios y asignarlos a grupos específicos según sus niveles de privilegio.
Para crear un nuevo usuario, vaya a Administración Usuarios, como se muestra
en la Figura 215.
57
Machine Translated by Google
Capítulo 2 OpenVAS
58
Machine Translated by Google
Capítulo 2 OpenVAS
Panel
OpenVAS tiene un panel completo que es su página de inicio de forma
predeterminada. El panel ofrece una vista centralizada de tareas, hosts, NVT, etc.,
como se muestra en la Figura 218. Cada grupo demográfico se puede exportar en formato CSV.
59
Machine Translated by Google
Capítulo 2 OpenVAS
Programador
En un entorno empresarial, puede suceder que sea necesario ejecutar análisis después
del horario comercial. En tal escenario, el programador OpenVAS puede resultar útil.
Se puede acceder al programador en Configuración Programaciones y se puede
utilizar para activar análisis en un momento específico, como se muestra en la Figura 219.
Bote de basura
60
Machine Translated by Google
Capítulo 2 OpenVAS
Ayuda
Aunque la mayoría de las tareas en OpenVAS son simples y fáciles de encontrar, puede
suceder que necesites ayuda con ciertos temas. OpenVAS tiene documentación de ayuda
61
Machine Translated by Google
Capítulo 2 OpenVAS
Escaneo de vulnerabilidades
Ahora que tiene OpenVAS configurado y ejecutándose con fuentes actualizadas, puede
comenzar a escanear un objetivo en vivo. Aquí, primero intentará escanear un
sistema Linux. Inicie sesión en la interfaz web de OpenVAS, como se muestra en la Figura 222.
62
Machine Translated by Google
Capítulo 2 OpenVAS
El siguiente paso es crear una nueva tarea de escaneo. Para crear una nueva tarea de análisis,
Ahora puede optar por iniciar un asistente de tareas simple o utilizar un asistente de tareas
avanzado que ofrece más flexibilidad de escaneo. Por ahora, comenzará con el asistente de tareas
simples, como se muestra en la Figura 224. Todo lo que necesita hacer es ingresar la dirección IP de
63
Machine Translated by Google
Capítulo 2 OpenVAS
Tenga en cuenta que OpenVAS tiene varios perfiles de escaneo predefinidos. Dependiente
Según el requisito específico, puede elegir uno de los siguientes perfiles de escaneo:
• Descubrimiento
• Completo y Rápido
• Descubrimiento de host
64
Machine Translated by Google
Capítulo 2 OpenVAS
El análisis se inicia y podrá ver que el estado del análisis está configurado en En ejecución, como se muestra
en la Figura 225. La pestaña de acción del análisis proporciona varias formas de pausar y reanudar el análisis si es necesario.
Una vez que se completa el análisis, puede ir a Análisis Resultados para ver las vulnerabilidades identificadas
durante el análisis, como se muestra en la Figura 226. Ahora que el escaneo está completo, simplemente puede ver los
resultados del escaneo en la consola web de OpenVAS o descargar un informe completo en el formato que elija.
Capítulo 2 OpenVAS
También es posible filtrar los resultados de vulnerabilidad. Por ejemplo, es posible que desee
ver sólo las vulnerabilidades relacionadas con HTTP. Simplemente vaya a Escaneos Resultados
y en la pestaña Filtro, ingrese los criterios de filtro, como se muestra en la Figura 227.
Hasta ahora ha visto cómo configurar la máquina virtual OpenVAS y comenzar con el escaneo
ofrece mucha personalización. Esta sección habla sobre algunas configuraciones adicionales
Actuación
OpenVAS es sin duda una herramienta que consume muchos recursos. Puede consumir
mucha memoria y CPU. Por lo tanto, al escanear varios sistemas, vale la pena vigilar su
rendimiento. Para ver los datos de rendimiento, vaya a Extras Rendimiento, como se
muestra en la Figura 228. Puede ver los datos de rendimiento para un período de tiempo
66
Machine Translated by Google
Capítulo 2 OpenVAS
Calculadora CVSS
El Sistema Común de Puntuación de Vulnerabilidad (CVSS) es la base utilizada
por muchos productos de seguridad para calcular la gravedad de una vulnerabilidad.
CVSS toma en consideración múltiples parámetros antes de calcular la
puntuación de vulnerabilidad. OpenVAS ofrece una calculadora CVSS lista para
usar que puede utilizar para calcular puntuaciones de vulnerabilidad. Puede
acceder a la calculadora CVSS en Extras Calculadora CVSS, como se muestra
en la Figura 229. Puede encontrar más detalles sobre CVSS en https://www.first.org/cvss/.
67
Machine Translated by Google
Capítulo 2 OpenVAS
Ajustes
OpenVAS es un sistema altamente configurable y tiene muchas configuraciones. Puede resultar
realmente útil obtener una descripción general de todas las configuraciones y sus valores en un solo
lugar. Puede ir a Extras Mi configuración, como se muestra en la Figura 230, para obtener una
68
Machine Translated by Google
Capítulo 2 OpenVAS
Informes
Hasta ahora ha aprendido cómo puede utilizar OpenVAS de forma eficaz para
escanear sistemas de destino. Una vez que se completa el escaneo, el siguiente paso
importante es generar un informe detallado. Tener un informe completo es
extremadamente importante porque ayudará a los administradores a corregir las vulnerabilidades iden
OpenVAS admite múltiples formatos de informes, que se enumeran aquí:
• XML anónimo
• IRA
• CPE
• Anfitriones CSV
• Resultados CSV
•HTML
• ITG
• Látex
• NBE
• Topología SVG
• TXT
• Verinice ISM
• Verinice ITG
• XML
69
Machine Translated by Google
Capítulo 2 OpenVAS
70
Machine Translated by Google
Capítulo 2 OpenVAS
• Resumen
• Impacto
• Solución
• Software/SO afectado
• Referencias
Resumen
Este capítulo le brindó una descripción general esencial de OpenVAS, desde su
configuración hasta su uso para realizar una evaluación de vulnerabilidad. El próximo
capítulo le presentará el marco versátil de Metasploit y le ayudará a comprender
cómo se pueden integrar NMAP y OpenVAS con Metasploit.
71
Machine Translated by Google
CAPÍTULO 3
metasploit
Los dos capítulos anteriores cubrieron NMAP y OpenVAS, que puede utilizar para realizar
recopilación de información, enumeración y evaluaciones de vulnerabilidad. En el futuro,
este capítulo cubre los conceptos básicos de Metasploit, que lo ayudarán a navegar por las
fases restantes del ciclo de vida de las pruebas de penetración. Específicamente, este
capítulo cubre lo siguiente:
• Introducción a Metasploit
Introducción a Metasploit
Metasploit se lanzó en 2003, cuando HD Moore desarrolló una herramienta de red portátil
en Perl. En 2007 se revisó y utilizó Ruby. El proyecto Metasploit ganó aceptación
comercial y popularidad cuando Rapid 7 lo adquirió en 2009.
Capítulo 3 Metasploit
• Metasploit Pro
• Comunidad Metasploit
• Marco Metasploit
74
Machine Translated by Google
Capítulo 3 Metasploit
Puedes ver que Metasploit tiene una estructura bien definida que clasifica sus
diversos componentes en diferentes categorías.
En un nivel alto, Metasploit se puede visualizar como se muestra en la Figura 32.
75
Machine Translated by Google
Capítulo 3 Metasploit
Tropas auxiliares
Los auxiliares son los módulos que hacen que Metasploit sea tan flexible. Un auxiliar de Metasploit no es más
que un fragmento de código escrito específicamente para realizar una tarea. Por ejemplo, es posible que
desee comprobar si un servidor FTP en particular permite el acceso anónimo o si su servidor web es vulnerable
De hecho, Metasploit cuenta con más de 1.000 módulos auxiliares clasificados en 19 categorías. Las
vsploit
Cargas útiles
Ya has aprendido que un exploit es el fragmento de código que se utilizará contra el componente
vulnerable. El código de explotación puede ejecutarse correctamente, pero lo que desea que suceda una
vez que la explotación sea exitosa está definido por la carga útil. En términos simples, una carga útil es la acción
76
Machine Translated by Google
Capítulo 3 Metasploit
Para crear un shell inverso en su sistema, debe seleccionar la carga útil de Metasploit adecuada para
Hazañas
Los exploits son una parte extremadamente importante de Metasploit. El propósito del marco es ofrecer
exploits para diversas vulnerabilidades. Un exploit es el código real que se ejecutará en el sistema de destino
Unix ventanas
Codificadores
Metasploit te ayuda a generar una amplia variedad de cargas útiles que puedes enviar al objetivo de múltiples
maneras. En el proceso, es muy posible que su carga útil sea detectada por el software antivirus o
cualquiera de los programas de seguridad presentes en el sistema de destino. Aquí es donde los
77
Machine Translated by Google
Capítulo 3 Metasploit
Los codificadores utilizan varias técnicas y algoritmos para ofuscar la carga útil de manera que no sea
detectada por el software antivirus. Metasploit tiene alrededor de 40 codificadores en diez categorías,
comando Genérico
Mipsbe Mipsle
PHP ppc
Rubí Sparc
X64 X86
exploits disponibles, puede utilizar los módulos de publicación para infiltrarse aún más en el sistema
78
Machine Translated by Google
Capítulo 3 Metasploit
Aix Androide
cisco Firefox
Hardware de enebro
linux Multi
osx Solaris
ventanas
interfaz. Para acceder a Metasploit, abra la terminal y escriba el comando msfconsole, como
79
Machine Translated by Google
Capítulo 3 Metasploit
ayuda
Una vez que haya abierto MSFconsole, puede obtener información sobre todos los
comandos básicos usando el comando de ayuda, como se muestra en la Figura 34.
80
Machine Translated by Google
Capítulo 3 Metasploit
versión
Las vulnerabilidades se descubren rápidamente y el código de explotación
correspondiente suele publicarse poco después. Por lo tanto, es importante que
Metasploit esté actualizado y tenga el último conjunto de códigos de explotación. Para
asegurarse de que la versión del marco sea la más reciente, puede utilizar el
comando de versión, como se muestra en la Figura 35. Luego puede comparar
esta versión con la disponible en el repositorio Metasploit Git.
81
Machine Translated by Google
Capítulo 3 Metasploit
conectar
Todos conocemos utilidades como Telnet, SSH y Netcat que nos ayudan en la
administración remota. Metasploit tiene una utilidad incorporada llamada connect que
puede usarse para establecer una conexión e interactuar con un sistema remoto. Admite
SSL, proxies, pivotación y transferencias de archivos. El comando de conexión necesita
una dirección IP y un puerto válidos para conectarse, como se muestra en la Figura 36.
82
Machine Translated by Google
Capítulo 3 Metasploit
historia
MSFconsole se opera completamente en la línea de comandos y, para cada tarea
a realizar, es necesario escribir algún comando. Para ver los comandos que ha
usado hasta ahora en MSFconsole, puede usar el comando de historial, como
se muestra en la Figura 37.
83
Machine Translated by Google
Capítulo 3 Metasploit
configurar y configurar
Metasploit tiene algunas variables que deben configurarse antes de ejecutar cualquier
módulo o exploit. Estas variables son de dos tipos.
• Local: las variables locales son limitadas y válidas sólo para una única
instancia.
requerido.
El comando set se utiliza para definir valores de variables locales, mientras que el
El comando setg se utiliza para definir valores de variables globales, como se muestra en
la Figura 38.
84
Machine Translated by Google
Capítulo 3 Metasploit
conseguir y conseguir
desarmar y desarmar
El comando unset se usa para eliminar valores asignados a una variable local,
mientras que el comando unsetg se usa para eliminar valores asignados a una
variable global, como se muestra en la Figura 310.
85
Machine Translated by Google
Capítulo 3 Metasploit
ahorrar
86
Machine Translated by Google
Capítulo 3 Metasploit
información
conocerlos todos. Siempre que desee utilizar cualquier módulo, puede encontrar más detalles
irb
Metasploit está basado en Ruby. Ofrece un shell interactivo Ruby (irb) en el que puede
ejecutar su propio conjunto de comandos personalizados. Este módulo mejora las capacidades
87
Machine Translated by Google
Capítulo 3 Metasploit
el comando irb, como se muestra en la Figura 313, para ingresar al shell irb. Para
obtener más información sobre la programación de Ruby, consulte https://www.rubylang.
org/en/.
espectáculo
Capítulo 3 Metasploit
carrete
fabricante
89
Machine Translated by Google
Capítulo 3 Metasploit
db_iniciar
Considerando la naturaleza compleja de Metasploit, es trivial que deba existir
alguna base de datos que pueda usarse para almacenar los datos de la tarea.
Metasploit está integrado de forma predeterminada con la base de datos
PostgreSQL. Primero debe iniciar el servicio de base de datos ejecutando systemctl start postgresq
comando seguido del comando msfdb init, como se muestra en la Figura 317.
estado_bd
Una vez que haya inicializado la base de datos, puede confirmar que Metasploit
está conectado ejecutando el comando db_status en MSFconsole, como se
muestra en la Figura 318.
90
Machine Translated by Google
Capítulo 3 Metasploit
espacio de trabajo
91
Machine Translated by Google
Capítulo 3 Metasploit
NMAP
Aprendió sobre NMAP anteriormente en este libro. Viste que NMAP puede ser
92
Machine Translated by Google
Capítulo 3 Metasploit
93
Machine Translated by Google
Capítulo 3 Metasploit
Una vez que se completa el escaneo NMAP, puede usar el comando hosts para
asegurarse de que el escaneo esté completo y el objetivo se agregue a la base de datos de
Metasploit.
94
Machine Translated by Google
Capítulo 3 Metasploit
OpenVAS
Ya está familiarizado con OpenVAS porque vislumbró la mayoría de sus características en
capítulos anteriores. Sin embargo, Metasploit ofrece capacidades para integrar OpenVAS
para realizar tareas desde dentro del marco. Antes de poder realizar cualquiera de las
tareas de OpenVAS desde MSFconsole, debe cargar el complemento OpenVAS
ejecutando el comando cargar openvas, como se muestra en la Figura 322.
Una vez que OpenVAS está cargado en MSFconsole, existen numerosas tareas
que puede realizar. Puede utilizar el comando openvas_help, como se muestra en la
Figura 323, para enumerar todas las tareas posibles.
95
Machine Translated by Google
Capítulo 3 Metasploit
96
Machine Translated by Google
Capítulo 3 Metasploit
Una vez que la conexión al servidor OpenVAS sea exitosa, deberá crear un nuevo
Después de crear un nuevo objetivo, debe seleccionar los perfiles de escaneo usando el
97
Machine Translated by Google
Capítulo 3 Metasploit
Una vez que haya seleccionado el perfil de escaneo, es hora de crear una tarea de escaneo.
El comando openvas_task_create se puede utilizar para crear una nueva tarea, como se muestra
en la Figura 327. Debe proporcionar el nombre del análisis, los comentarios, si los hay, el ID de
Figura 327. Crear una nueva tarea de escaneo OpenVAS usando el comando
openvas_task_create en MSFconsole
98
Machine Translated by Google
Capítulo 3 Metasploit
Pasará un tiempo antes de que se complete el escaneo. Una vez que se completa
Ahora que se completó el escaneo y el informe está listo, puede descargarlo usando
ID del informe, el formato del informe, la ruta de salida y el nombre del informe como parámetros
de este comando.
99
Machine Translated by Google
Capítulo 3 Metasploit
DNS
En el capítulo anterior, aprendió cómo se puede utilizar NMAP para enumerar
un servicio DNS. Metasploit también tiene varios módulos auxiliares que se pueden utilizar
para el reconocimiento de DNS.
100
Machine Translated by Google
Capítulo 3 Metasploit
ftp
Supongamos que al realizar un escaneo NMAP encontró que su objetivo está ejecutando un
101
Machine Translated by Google
Capítulo 3 Metasploit
HTTP
El Protocolo de transferencia de hipertexto (HTTP) es uno de los servicios
más comunes en los hosts. Metasploit tiene numerosos exploits y auxiliares para
enumerar y explotar un servicio HTTP. El módulo auxiliar auxiliar/
escáner/http/http_version, como se muestra en la Figura 334,
102
Machine Translated by Google
Capítulo 3 Metasploit
enumera la versión del servidor HTTP. En función de la versión exacta del servidor,
Muchas veces un servidor web tiene directorios que no están expuestos directamente
y puede contener información interesante. Metasploit tiene un módulo auxiliar llamado
auxiliar/scanner/http/brute_dirs que escanea dichos directorios, como se muestra en la
Figura 335.
103
Machine Translated by Google
Capítulo 3 Metasploit
PDR
PYME
En el capítulo anterior, utilizó NMAP para enumerar SMB. Metasploit tiene muchos módulos
auxiliares útiles para la enumeración y explotación de SMB.
104
Machine Translated by Google
Capítulo 3 Metasploit
105
Machine Translated by Google
Capítulo 3 Metasploit
SSH
Secure Shell (SSH) es uno de los protocolos comúnmente utilizados para la
administración remota segura. Metasploit tiene muchos módulos auxiliares para la
enumeración SSH. Puede utilizar el módulo auxiliar auxiliar/scanner/ssh/
ssh_version, como se muestra en la Figura 340. Es necesario establecer el valor del
106
Machine Translated by Google
Capítulo 3 Metasploit
VNC
Virtual Network Computing (VNC) es un protocolo utilizado para la administración
remota gráfica. Metasploit dispone de varios módulos para la enumeración y
explotación de VNC. La Figura 341 muestra el uso del auxiliar/escáner/
módulo vnc/vnc_login. Debe establecer el valor de la variable RHOST en la
dirección IP de su sistema de destino. El módulo utiliza un diccionario de contraseñas
integrado e intenta un ataque de fuerza bruta. Una vez que el módulo completa la
ejecución, le proporciona la contraseña de VNC que puede usar para iniciar sesión.
107
Machine Translated by Google
Capítulo 3 Metasploit
Metasploit que utiliza técnicas de inyección de DLL en memoria para interactuar con un
sistema de destino. Ofrece varias herramientas y utilidades útiles posteriores a la explotación.
Comandos de Meterpreter
Meterpreter es una carga útil avanzada para realizar diversas actividades posteriores
a la explotación. Los siguientes son algunos de los comandos esenciales que pueden ayudarle
a navegar por Meterpreter.
Comandos principales
La Tabla 31 describe un conjunto de comandos principales de Meterpreter que pueden ayudarle
con diversas tareas relacionadas con la sesión en su sistema de destino.
108
Machine Translated by Google
Capítulo 3 Metasploit
Dominio Descripción
codificación
codificación
Identificador de máquina
Obtiene el ID de MSF de la máquina conectada al
sesión
(continuado)
109
Machine Translated by Google
Capítulo 3 Metasploit
establecer_tiempos de espera
Establece los valores de tiempo de espera de la sesión actual
110
Machine Translated by Google
Capítulo 3 Metasploit
Dominio Descripción
proceso actual
111
Machine Translated by Google
Capítulo 3 Metasploit
Dominio Descripción
tiempo de inactividad Devuelve el número de segundos que el usuario remoto ha estado inactivo
112
Machine Translated by Google
Capítulo 3 Metasploit
Dominio Descripción
comprometido.
Dominio Descripción
jugar Reproduce un archivo de audio en un sistema de destino, sin nada escrito en el disco
Dominio Descripción
113
Machine Translated by Google
Capítulo 3 Metasploit
La Tabla 37 describe un comando que le ayuda a obtener los hashes de contraseña
sin formato del sistema comprometido.
Dominio Descripción
La Tabla 38 describe un comando que forma parte de las capacidades antiforenses de
Metasploit.
Dominio Descripción
Usando Meterpreter
Para familiarizarnos con Meterpreter, primero obtengamos acceso remoto a un sistema
de destino utilizando la vulnerabilidad netapi SMB MS08067, como se muestra en
la Figura 342. El exploit fue exitoso y obtienes el shell Meterpreter.
114
Machine Translated by Google
Capítulo 3 Metasploit
Una vez que haya comprometido el objetivo mediante un exploit, debe verificar algunos
detalles básicos sobre el objetivo, como la versión exacta del sistema operativo,
el nombre de la computadora, el dominio, la arquitectura, etc. Meterpreter ofrece
un comando llamado sysinfo que se puede utilizar para recopilar información
básica sobre el objetivo, como se muestra en la Figura 343.
115
Machine Translated by Google
Capítulo 3 Metasploit
es
116
Machine Translated by Google
Capítulo 3 Metasploit
getuid
Una vez que haya obtenido acceso al sistema de destino, debe comprender qué
privilegios de usuario tiene en el sistema. Tener privilegios de nivel raíz
o administrador es lo más deseable, y un acceso con privilegios más bajos implica
muchas restricciones en sus acciones. Meterpreter ofrece un comando llamado
getuid, como se muestra en la Figura 345, que verifica el nivel de privilegio
actual en el sistema comprometido.
obtener sistema
Una vez que haya obtenido acceso al sistema de destino mediante un exploit
aplicable, el siguiente paso lógico es comprobar los privilegios. Usando el getuid
comando, ya ha medido su nivel de privilegio actual. Es posible que no haya
obtenido acceso de nivel raíz o administrador. Por lo tanto, para maximizar la
penetración del ataque, es importante elevar sus privilegios de usuario.
Meterpreter le ayuda a escalar privilegios. Una vez que se abre una sesión de
Meterpreter, puede usar el comando getsystem, como se muestra en la Figura 346,
para escalar privilegios a los de administrador.
117
Machine Translated by Google
Capítulo 3 Metasploit
captura de pantalla
118
Machine Translated by Google
Capítulo 3 Metasploit
volcado de hash
119
Machine Translated by Google
Capítulo 3 Metasploit
Searchploit
Hasta ahora has aprendido que Metasploit tiene una rica colección de auxiliares,
exploits, cargas útiles, codificadores, etc. Sin embargo, en ocasiones es posible que
no exista un código de explotación para una determinada vulnerabilidad en Metasploit.
En tal caso, es posible que deba importar el exploit requerido a Metasploit desde
una fuente externa. ExploitDB es una fuente integral de exploits para varias
plataformas y Searchsploit es una utilidad que ayuda a buscar un exploit particular
en ExploitDB. La Figura 350 muestra el uso de la herramienta Searchsploit para
buscar exploits relacionados con uTorrent.
Resumen
Este capítulo le presentó los diversos aspectos de Metasploit, desde la estructura
de trabajo auxiliar de framewnd hasta el uso de servicios de exploits. También
aprendió a aprovechar las capacidades de Metasploit para integrar NMAP y
OpenVAS. Habiendo aprendido sobre varios Metasploit
120
Machine Translated by Google
Capítulo 3 Metasploit
121
Machine Translated by Google
CAPÍTULO 4
Caso de uso
Puede que no siempre sea posible poner a prueba las habilidades recién adquiridas en
sistemas de producción en vivo. Por lo tanto, puedes probar tus habilidades en tu propio
laboratorio virtual de forma restringida.
No tiene ninguna credencial para iniciar sesión en el sistema, por lo que tendrá que usar
sus habilidades de prueba de penetración para ingresar.
Realización de reconocimiento
En Kali Linux, inicie ZENMAP para realizar un escaneo de puertos y una enumeración
de servicios en este destino, como se muestra en la Figura 42.
124
Machine Translated by Google
Figura 42. Salida del análisis intenso NMAP realizado en el sistema de destino
En la salida de ZENMAP, puede ver que los siguientes puertos están abiertos:
125
Machine Translated by Google
puerto 22
Explotando el sistema
Cuando intenta acceder al sistema en el puerto 80 usando un navegador, obtendrá la página del
126
Machine Translated by Google
El resultado del script le indica que hay una carpeta en el servidor web.
secreto llamado, que podría tener algo interesante para ti.
Habiendo recibido información sobre la carpeta secreta en el servidor, intente
acceder a ella, como se muestra en la Figura 45.
127
Machine Translated by Google
Puedes ver una pantalla que implica que es algún tipo de blog basado en
WordPress. Sin embargo, la página web parece estar rota e incompleta.
Cuando intenta cargar la página, el navegador busca el host vtcsec.
Eso significa que necesita configurar su sistema para resolver este nombre de host.
Simplemente puede abrir la terminal y luego abrir el archivo /etc/hosts en un editor de
texto, como se muestra en la Figura 46.
Figura 46. Editar el archivo /etc/hosts para agregar una nueva entrada de host
128
Machine Translated by Google
Ahora que ha realizado los cambios necesarios en el archivo de hosts, intentemos acceder a la
interfaz web una vez más. La interfaz se carga, como se muestra en la Figura 47.
Al examinar la página que se muestra en la Figura 48, es evidente que la aplicación está
basada en WordPress.
129
Machine Translated by Google
• Utilice una herramienta para descifrar contraseñas como Hydra para descifrar la
cartas credenciales.
130
Machine Translated by Google
Ahora que tiene las credenciales de la aplicación, puede usar Metasploit para
cargar un complemento malicioso en WordPress, que le brindará acceso remoto al
shell. Un complemento de WordPress es un fragmento de código listo para usar que
puede importar a la instalación de WordPress para habilitar funciones adicionales.
Puede utilizar el comando de búsqueda en MSFconsole para buscar exploits relacionados
con la administración de WordPress, como se muestra en la Figura 49.
131
Machine Translated by Google
132
Machine Translated by Google
de destino.
133
Machine Translated by Google
Índice
métodos, 22–23
A, B
dirección IP de destino, 21
función all_hosts(), 43 función
MySQL, 29
all_protocols, 44
PYME, 23
servidor SMTP, 31
C servidor SSH, 30
VNC, 34
función línea_comando(), 43
Vulnerabilidades comunes y vulnerabilidades, 36
Exposición (CVE), 36
directorios git, 37 F
vulnerabilidades nmap,
Protocolo de transferencia de archivos (FTP), 26, 101
37 resultados de, 38–39
Puntuación de vulnerabilidad común
Sistema (CVSS), 67 GRAMO
D
sistema de nombres de dominio h
(DNS), 25, 100 función has_tcp(), 43 función
nombre de host(), 44
DNS, 25
Versión del servidor FTP, 26 yo, j
banners de servicio de captura, 35 Comando interactivo Ruby
HTTP, 20 (irb), 87
Índice
mostrar,
Función
88 carrete,
de teclas K, L (), 43
89 desarmar y desarmar, 85–
86 versión,
METRO
81 espacio de trabajo, 91
Auxiliares de Meterpreter, 108
estructura y anatomía de comandos de
Metasploit, 76 salida de audio, 113
136
Machine Translated by Google
Índice
comando protocolos, 13
openvas_report_list, 99 escaneo de motivos,
comando 16 topología, 15
openvas_task_start, Escaneo de puertos
99 UDP, 17 scripts (ver enumeración)
complemento, 95 fases de, 73 ZENMAP
137
Machine Translated by Google
Índice
openvas_task_create, 98 comando
P, Q
openvas_task_start, 99 Pruebas de penetración, ver también
de informes, herramientas
60 configuración, command_line(), 43
configuración de usuario, 54 43
Autenticación RADIUS, 59
138
Machine Translated by Google
Índice
R V, W, X, Y
Protocolo de escritorio remoto (RDP), 104 Laboratorio virtual, 123, 124
34, 107–108
Función S, T,
Evaluaciones de vulnerabilidad
U scaninfo(), 42 OpenVAS, 47
Protocolo Secure Shell organizaciones, 1
(SSH), 30, 106–107 Panel de análisis de
Protocolo de bloque de mensajes del vulnerabilidades y asistente de tareas, 63
servidor (SMB), 23, 104, 106 perfil completo y rápido, 64
Protocolo simple de transferencia de correo página de inicio de
(SMTP), 31 sesión, 62 resultados y filtros,
función estado(), 43 66 perfiles de análisis,
Explotación del sistema 64 resultados del
/etc/hosts archivo, 128 análisis, 65 panel de estado de tareas, 65
salida de, 127
carpeta secreta, 127–128
131 interfaz, 8
139