


























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Se trata de todas las bases de hackeo.
Tipo: Resúmenes
1 / 98
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



























































































Versión 2.7 - Mayo del 2018
“KALI LINUX ™ is a trademark of Offensive Security.”
Puede obtener la versión más actual de este documento en: http://www.reydes.com/d/?q=node/
Sobre el Instructor
Alonso Eduardo Caballero Quezada es EXIN Ethical Hacking Foundation Certificate, LPIC-1 Linux Administrator, LPI Linux Essentials Certificate, IT Masters Certificate of Achievement en Network Security Administrator, Hacking Countermeasures, Cisco CCNA Security, Information Security Incident Handling, Digital Forensics, Cybersecurity Management, Cyber Warfare and Terrorism, Enterprise Cyber Security Fundamentals y Phishing Countermeasures. Ha sido instructor en el OWASP LATAM Tour Lima, Perú del año 2014 y expositor en el 0x11 OWASP Perú Chapter Meeting 2016, además de Conferencista en PERUHACK 2014, instructor en PERUHACK2016NOT, y conferencista en 8.8 Lucky Perú 2017. Cuenta con más de catorce años de experiencia en el área y desde hace diez años labora como consultor e instructor independiente en las áreas de Hacking Ético & Forense Digital. Perteneció por muchos años al grupo internacional de seguridad RareGaZz y al grupo peruano de seguridad PeruSEC. Ha dictado cursos presenciales y virtuales en Ecuador, España, Bolivia y Perú, presentándose también constantemente en exposiciones enfocadas a Hacking Ético, Forense Digital,
Material Necesario
Para desarrollar adecuadamente el presente curso, se sugiere al participante instalar y configurar las máquinas virtuales de Kali Linux y Metasploitable 2 utilizando VirtualBox VMware Player, Hyper-V, u otro software para virtualización.
Enlace: https://images.offensive-security.com/virtual-images/kali-linux-2018.2-vm-i386.zip
Enlace: https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
VirtualBox
Enlace: https://www.virtualbox.org/wiki/Downloads
1. Metodología de una Prueba de Penetración
Una Prueba de Penetración (Penetration Testing) es el proceso utilizado para realizar una evaluación o auditoría de seguridad de alto nivel. Una metodología define un conjunto de reglas, prácticas, procedimientos y métodos a seguir e implementar durante la realización de cualquier programa para auditoría en seguridad de la información. Una metodología para pruebas de penetración define una hoja de ruta con ideas útiles y prácticas comprobadas, las cuales deben ser manejadas cuidadosamente para poder evaluar correctamente los sistemas de seguridad.
Existen diferentes tipos de Pruebas de Penetración, las más comunes y aceptadas son las Pruebas de Penetración de Caja Negra (Black-Box), las Pruebas de Penetración de Caja Blanca (White-Box) y las Pruebas de Penetración de Caja Gris (Grey-Box).
No se tienen ningún tipo de conocimiento anticipado sobre la red de la organización. Un ejemplo de este escenario es cuando se realiza una prueba externa a nivel web, y está es realizada únicamente con el detalle de una URL o dirección IP proporcionado al equipo de pruebas. Este escenario simula el rol de intentar irrumpir en el sitio web o red de la organización. Así mismo simula un ataque externo realizado por un atacante malicioso.
El equipo de pruebas cuenta con acceso para evaluar las redes, y se le ha proporcionado los de diagramas de la red, además de detalles sobre el hardware, sistemas operativos, aplicaciones, entre otra información antes de realizar las pruebas. Esto no iguala a una prueba sin conocimiento, pero puede acelerar el proceso en gran magnitud, con el propósito de obtener resultados más precisos. La cantidad de conocimiento previo permite realizar las pruebas contra sistemas operativos específicos, aplicaciones y dispositivos residiendo en la red, en lugar de invertir tiempo enumerando aquello lo cual podría posiblemente estar en la red. Este tipo de prueba equipara una situación donde el atacante puede tener conocimiento completo sobre la red interna.
El equipo de pruebas simula un ataque realizado por un miembro de la organización inconforme o descontento. El equipo de pruebas debe ser dotado con los privilegios adecuados a nivel de usuario y una cuenta de usuario, además de permitirle acceso a la red interna.
2. Máquinas Vulnerables
Nada puede ser mejor a tener un laboratorio donde practicar los conocimientos adquiridos sobre Pruebas de Penetración. Esto aunado a la facilidad proporciona por el software para realizar virtualización, lo cual hace bastante sencillo crear una máquina virtual vulnerable personalizada o descargar desde Internet una máquina virtual vulnerable.
A continuación se detalla un breve listado de algunas máquinas virtuales creadas específicamente conteniendo vulnerabilidades, las cuales pueden ser utilizadas para propósitos de entrenamiento y aprendizaje en temas relacionados a la seguridad, hacking ético, pruebas de penetración, análisis de vulnerabilidades, forense digital, etc.
Enlace de descarga: https://github.com/rapid7/metasploitable
Enlace de descarga: https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
Enlace de descarga: https://www.vulnhub.com/entry/metasploitable-1,28/
Vulnhub proporciona materiales que permiten a cualquier interesado ganar experiencia práctica en seguridad digital, software de computadora y administración de redes. Incluye un extenso catálogo de maquinas virtuales y “cosas” las cuales se pueden de manera legal; romper, “hackear”, comprometer y explotar.
Sitio Web: https://www.vulnhub.com/
En el centro de evaluación de Microsoft se puede encontrar diversos productos para Windows, incluyendo sistemas operativos factibles de ser descargados y evaluados por un tiempo limitado.
Sitio Web: https://www.microsoft.com/en-us/evalcenter/
Metasploitable 2 es una máquina virtual basada en GNU/Linux creada intencionalmente para ser vulnerable. Esta máquina virtual puede ser utilizada para realizar entrenamientos en seguridad, evaluar herramientas de seguridad, y practicar técnicas comunes en pruebas de penetración.
Esta máquina virtual nunca debe ser expuesta a una red poco fiable, se sugiere utilizarla en modos NAT o Host-only.
Imagen 2-1. Consola presentada al iniciar Metasploitable
Enlace de descarga: https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
Nunca descargar las imágenes de Kali Linux desde otro lugar diferente a las fuentes oficiales. Siempre asegurarse de verificar las sumas de verificación SHA256 de loas archivos descargados, comparándolos contra los valores oficiales. Podría ser fácil para una entidad maliciosa modificar una instalación de Kali Linux conteniendo “exploits” o malware y hospedarlos de manera no oficial.
Kali Linux puede ser descargado como imágenes ISO para computadoras basadas en Intel, esto para arquitecturas de 32-bits o 64 bits. También puede ser descargado como máquinas virtuales previamente construidas para VMware Player, VirtualBox y Hyper-V. Finalmente también existen imágenes para la arquitectura ARM, los cuales están disponibles para una amplia diversidad de dispositivos.
Kali Linux puede ser descargado desde la siguiente página:
https://www.kali.org/downloads/
Kali Linux puede ser instalado en un un disco duro como cualquier distribución GNU/Linux, también puede ser instalado y configurado para realizar un arranque dual con un Sistema Operativo Windows, de la misma manera puede ser instalado en una unidad USB, o instalado en un disco cifrado.
Se sugiere revisar la información detallada sobre las diversas opciones de instalación para Kali Linux, en la siguiente página: http://docs.kali.org/category/installation
Por una buena práctica de seguridad se recomienda cambiar la contraseña por defecto asignada al usuario root. Esto dificultará a los usuarios maliciosos obtener acceso hacia sistema con esta clave por defecto.
Enter new UNIX password: Retype new UNIX password:
[*] La contraseña no será mostrada mientras sea escrita y está deberá ser ingresada dos veces.
Kali Linux incluye algunos servicios de red, lo cuales son útiles en diversos escenarios, los cuales están deshabilitadas por defecto. Estos servicios son, HTTP, Mestaploit, PostgreSQL, OpenVAS y SSH.
De requerirse iniciar el servicio HTTP se debe ejecutar el siguiente comando
Estos servicios también pueden iniciados y detenidos desde el menú: Applications -> Kali Linux -> System Services.
Kali Linux proporciona documentación oficial sobre varios de sus aspectos y características. La documentación está en constante trabajo y progreso. Esta documentación puede ser ubicada en la siguiente página:
https://docs.kali.org/
Imagen 3-1. Escritorio de Kali Linux
4. Shell Scripting
El Shell es un interprete de comandos. Más a únicamente una capa aislada entre el Kernel del sistema operativo y el usuario, es también un poderoso lenguaje de programación. Un programa shell llamado un script, es un herramienta fácil de utilizar para construir aplicaciones “pegando” llamadas al sistema, herramientas, utilidades y archivos binarios. El Shell Bash permite automatizar una acción, o realizar tareas repetitivas las cuales consumen una gran cantidad de tiempo.
Para la siguiente práctica se utilizará un sitio web donde se publican listados de proxys. Utilizando comandos del shell bash, se extraerán las direcciones IP y puertos de los Proxys hacia un archivo.
's/</td>/:/g'
Imagen 4-1. Listado de las irecciones IP y Puertos de los Proxys.
Guía Avanzada de Scripting Bash: http://tldp.org/LDP/abs/html/
5. Capturar Información
En esta fase se intenta recolectar la mayor cantidad de información posible sobre el objetivo en evaluación, como posibles nombres de usuarios, direcciones IP, servidores de nombre, y otra información relevante. Durante esta fase cada fragmento de información obtenida es importante y no debe ser subestimada. Tener en consideración, la recolección de una mayor cantidad de información, generará una mayor probabilidad para un ataque satisfactorio.
El proceso donde se captura la información puede ser dividido de dos maneras. La captura de información activa y la captura de información pasiva. En el primera forma se recolecta información enviando tráfico hacia la red objetivo, como por ejemplo realizar ping ICMP, y escaneos de puertos TCP/UDP. Para el segundo caso se obtiene información sobre la red objetivo utilizando servicios o fuentes de terceros, como por ejemplo motores de búsqueda como Google y Bing, o utilizando redes sociales como Facebook o LinkedIn.
Existen diversos recursos públicos en Internet , los cuales pueden ser utilizados para recolectar información sobre el objetivo en evaluación. La ventaja de utilizar este tipo de recursos es la no generación de tráfico directo hacia el objetivo, de esta manera se minimizan la probabilidades de ser detectados. Algunas fuentes públicas de referencia son:
Se utilizan herramientas para recolectar información o metadatos desde los documentos disponibles
Imagen 5-1. Parte de la información de Software y correos electrónico de los documentos analizados
DNSenum https://code.google.com/archive/p/dnsenum/
El propósito de DNSenum es capturar tanta información como sea posible sobre un dominio. Realizando actualmente las siguientes operaciones: Obtener las direcciones IP del host (Registro A). Obtener los servidores de nombres. Obtener el registro MX. Realizar consultas AXFR sobre servidores de nombres y versiones de BIND. Obtener nombres adicionales y subdominios mediante Google (“allinurl -www site:dominio”). Fuerza bruta a subdominios de un archivo, puede también realizar recursividad sobre subdominios los cuales tengan registros NS. Calcular los rangos de red de dominios en clase y realizar consultas whois sobre ellos. Realizar consultas inversas sobre rangos de red (clase C y/o rangos de red). Escribir hacia un archivo domain_ips.txt los bloques IP.
La opción “--enum” es un atajo equivalente a la opción “--thread 5 -s 15 -w”. Donde:
La opción “--threads” define el número de hilos que realizarán las diferentes consultas.
La opción “-s” define el número máximo de subdominios a ser arrastrados desde Google.
La opción “-w” realiza consultas Whois sobre los rangos de red de la clase C.
Imagen 5-2. Parte de los resultados obtenidos por dnsenum
fierce https://www.aldeid.com/wiki/Fierce
Fierce es una escaner semi ligero para realizar una enumeración, la cual ayude a los profesionales en pruebas de penetración, a localizar espacios IP y nombres de host no continuos para dominios específicos, utilizando cosas como DNS, Whois y ARIN. En realidad se trata de un precursor de las
Imagen 5-3. Ejecución de fierce y la búsqueda de subdominios.
dmitry https://linux.die.net/man/1/dmitry
Dmitry (Deepmagic Information Gathering Tool) es una programa en línea de comando para Linux, el cual permite capturar tanta información como sea posible sobre un host, desde un simple Whois hasta reportes del tiempo de funcionamiento o escaneo de puertos.
La opción “-w” permite realizar una consulta whois a la dirección IP de un host.
La opción “-e” permite realizar una búsqueda de todas las posibles direcciones de correo electrónico.
La opción “-n” intenta obtener información desde netcraft sobre un hot.
La opción “-s” permite realizar una búsqueda de posibles subdominios.
La opción “-o” permite definir un nombre de archivos en el cual guardar el resultado.
Imagen 5-4. Información de Netcraft y de los subdominios encontrados.
Aunque existe una opción en Dmitry, la cual permitiría obtener información sobre el dominio desde el sitio web de Netcraft, ya no es funcional. Pero la información puede ser obtenida directamente desde el sitio web de Netcraft.
http://searchdns.netcraft.com/