 Baina, gaurien brightly da, txelako argidea ez zidagetzen eta horu da an zer dut. Mesatetaaz, tukoa. Ekoa bai baitouko erraldea oso, eta saizaea seguriak atztuioa, atxepreturik, daizhiz planetorriak, atxepreturik, etxepreturriak, etxepreturik. Erraela ere Alden eentzen, etikal hage zilako. Hintza hagezatza alrelaa. Estu ez unboko los puntos gui atratar. Vean, percien, hazea una pina introduziona alserramientas de Pentezenen-Baiton komentando alguno de los módulos principales que podemos encontrar, como los módulos sokes, el módulo request, beautiful sub, o el módulo de Shoran para obtener información de servidores, información pública que estas cuesta en internet. Lo pasarea un po moment comentar extracción de metadata, de imágenes, documentos, etc. Y por ultimo, aspectos unboko mas avanzados como hacer un scanner de puertos, chequear las vulnerabilidades de un servidor y luego mostraré una herramienta que hecho a modo de prueba de concepto donde se integra todas estos módulos para que veais como seria. Básicamente las herramientas hoyen día en Pentezenen-Baiton es un lenguaje multiplataforma y que posibilita que tiene como ventajas que es muy fácil hacer pruebas rapidas de concepto. Entonces, eso junto con la documentación que hay mucho por internet de todas las librerías, de todas las herramientas que hay nos permita hacer de forma rápida una prueba de concepto, una herramienta rápida que nos permita comprobar la seguridad de un servidor, los puertos que tiene abierto, la subida de una aplicación web, etc. Hoy en día, no de las herramientas principales que podemos encontrar dentro del ecosistema Paiton que están hechas con Paiton, podemos encontrar, por ejemplo, su Culemap que permite detectar vulnerabilidades del tipo de SQL Injection en aplicaciones web, no solo detecta vulnerabilidades, esplotar vulnerabilidad. Y otras herramientas que están hechas con Paiton es el Social Engineering Toolkit que permite realizar ataques de ingeniería social. Vale, una de las herramientas que tenemos actualmente que está en desarrollo es Sparta. Sparta está hecha en Paiton y es una herramienta que te permite realizar ataques por fuerza bruta, ver los puertos que tiene abierto, etc. Entonces, esta herramienta, veremos que uno de los principales módulos con las cuales está hecha esta herramienta es el módulo de Paiton en emat. Pero volveremos. Otra de las herramientas que también nos permite obtener información de servidores, es de Javestert, nos permite obtener información de publica, es pública en los servidores. Entonces, para ello, utiliza buscadores, utiliza buscador de Google, de Bing, y demás. Y también podemos estar en información del dominio contra extra... correos eletrónicos, URL, dominio, servidores que están bajo esa URL. Otras de las herramientas también muy conocidas es el WDL3aF, que es una herramienta que te permite también hacer autorías web, detectando publicidades de todos los tipos. Esekurringetio, cross-excrit, etc. Para empezar, comentar el módulo de shockers. Bueno, una de las primeras pruebas de concepto que se nos podría ocurrir es detectar los puertos que tiene abierto servidor. Para ello, la forma sencilla es utilizar el módulo de shockers. Entonces, abriendo un shocker con el servidor podríamos ver sin determinado puerto, si ese puerto está abierto o no. Una vez de sabemos si un puerto está abierto o no, ahí ya podremos hacer más cosas sobre ese puerto. Bueno, este seria un programa donde vemos con 15 lineas se podría hacer un escanar de puerto sencillo, donde básicamente preguntaremos al usuario el IP, el puerto a partir del cual empieza a escanear, el puerto inicio y el puerto de fin, y nos daría como resultado los puertos si está abierto, si está cerrado, o si está filtrado para ese IP. El módulo de shockers también ofrece la posibilidad de resolver la resolución inversa. A partir del IP, obtener el nombre de dominio y a partir del nombre de dominio obtener el IP. A partir con las funciones GEDJOS bailadres y GEDJOS binary. Otro de las funciones de las características que también podemos obtener con el módulo de shockers es obtener el banner de selgidor. Es decir, podemos obtener, por ejemplo, el sistema operativo, la versión del servidor que está corriendo en esa máquina, etc. Entonces, con un programa muy sencillo, un banner server al cual le pasaríamos por parámetro el target, el IP del servidor y el puerto sobre el cual queremos obtener la información del servidor. De forma muy sencilla podríamos obtener, en este caso el servidor es un en GEDJOS, está corriendo en el puerto tal y da. Otro de los módulos que tenemos dentro de Python es el módulo de requets, mono requets, es un módulo que surgió a raíz de las librerías URL2, URL3 para mejorar, digamos, para que fuera más sencillo a la hora de hacer peticiones a una página web, a un servidor, a un IP-RES, por ejemplo. Entonces, soluciona el tema de mejor, es más léjido y de código, la nivel de testing es mucho mejor, mucho más rápida con respecto a las versiones de URL. Con requets, básicamente, podemos, por ejemplo, obtener las cabeceras de tanto de la petición como la respuesta a partir del accediendo a la respuesta de la petición y dentro del response punto headers, ayer tendríamos las cabeceras tanto de la petición como la respuesta. En este ejemplo, vemos como obtenemos un status code 200, que es un OK, diciendo que el servidor ha respondido bien y podríamos obtener información de las cabeceras, por ejemplo, que servidor está en ejecución, si está enviando cookies por debajo, si está tanto en la petición como en la respuesta, el tipo de conexión, etc. La proporciona a las cabeceras de la petición. Otra característica interesante de requets es que nos podemos conectar a un URL a través de un proxy. Esta característica también la posibilitaba URL, pero bueno, en este caso en requets se ha simplificado bastante ya que pasando simplemente un diccionario, un proxy dig, donde indicamos la dirección HTTP del proxy, podríamos usarlo de una forma más sencilla. También posibilita temas de autenticación. Si tenemos un servidor, va a necesitar que esté basado en autenticación, AUTH o AUTH, autenticación de yes o con AUTH, copas E64, podríamos de una forma sencilla autenticarnos. B2FullSub es una de las librerías principales que te disponemos en Python para el tema de parsear la respuesta de una página y nos da una serie de funcionalidades, una serie de métodos para acceder a los distintos elementos de la página. En este caso en este ejemplo vemos como de una forma muy sencilla podemos recuperar todos los links a partir de una URL. Con el método final y pasándolo como parámetro la etiqueta de un enlace, podríamos obtener todos los enlaces de una página. B2FullSub se utiliza también, se puede utilizar también para crear spiders o crawlers que vayan navegando por las distintas páginas a partir de un dominio y vayan extrayendo la información sobre links, información que esté en la web, información pública. Lo otra cosa que podemos hacer es extraer con esta funcionalidad podemos extraer imágenes y documentos. En este caso B2FullSub podemos utilizar una serie de parses predefinidos como LXML y HTML. En este caso estamos utilizando el HTML, el parse es la HTML y mediante expresiones xpaz, es decir expresiones del tipo barra-barra-img-arroba-src accedera a los distintos imágenes del documento. En este caso estamos extrayendo información de las imágenes, información de las imágenes que esten en esa URL y documentos PDF con expresiones xpaz. Otras de las librerías que disponemos también un poco a raide que también se puede utilizar para recuperar información, extraer información de forma automática, crear nuestros spiders o nuestros crawlers, es scrappy. Es un framework bastante potente y ya que se puede hacer un montón de cosas. Básicamente permita crear nuestros propio spiders a partir de una serie de reglas que nosotros predecinamos y con esas reglas lo que hace el scrappy es extraer la información que nosotros le digamos. Por debajo de esta herramienta utiliza twisted como librería para ejecutar llamadas sincronas y usa por debajo del paradigma de desarrollo dirigido por eventos para realizar llamadas sincronas y demás. Bueno, si queréis más información sobre web scrappy en algunas charlas, scrappy en web y Python 2 por web scrappy que las tenéis disponibles en el speaker. Vale, una de las principales fuentes de información que disponemos en internet es Shodan para todo el tema de hacking ético se usa mucho para tener información pública que está expostada en servidores. Entonces básicamente Shodan lo que nos permite. Bueno, Shodan tiene aparte de la web es si te registras como desarrollador como modeloper tienes a la hora de hacer las búsquedas, tienes si te registras, tienes la posibilidad de que te revuelvan más resultados. Ya que si haces una búsqueda sin registraros los resultados están más limitados. Bueno, y tengo una API para developer y es bastante sencilla de instalar y de usar. Básicamente lo que necesitamos es una API key y nada importamos el módulo de Shodan y con esa API key ya tendríamos en disposición de obtener la información de un determinado host, de un determinado dominio o podemos incluso obtener la información, los banners de la misma forma que hemos visto antes con el módulo de Shokies para obtener la información del banner, del servidor pues Shodan también nos permite obtener el banner del servidor, los portos que tiene abiertos, etc. Eta seria un ejemplo con Shodan donde vemos información pública. En este caso es la web del EuroPython donde vemos información sobre el host, los portos que tiene abierto, el 22, 25 y 80 y luego para cada servicio nos da información sobre la versión de ese servidor que está corriendo, etc. Esta información con Shodan seria tan fácil como invocar al método que hemos visto antes del host donde nos da toda la información sobre el host y bueno, básicamente lo que nos devuelve ese método es un diccionario, no es clave valor, no es directo sino que es un poco más complejo ya que en realidad es un diccionario y en realidad hay algunas posiciones que es un vector entonces tienes que ir jugando con vector diccionario para acceder a toda la información que vemos. O todo los módulos que disponemos en Python es build with bueno, esto es un módulo muy sencillo ya que básicamente lo que nos da es información sobre los frameworks que está utilizando por ejemplo un sitio web simplemente tiene un método que es parse que le pasamos el sitio web y nos devuelve información que framework está usando si esta utilizando por ejemplo un jQuery y el servidor web que esta auto es usando por debajo En cuanto a metadata bueno, básicamente disponemos dentro de Python el pipedef2 que es el módulo que nos permite extraer metadatos de documentos pdc entonces básicamente con 10 lineas podemos obtener toda la información que tenga los metadatos o al final es información que va adjunta al documento que en principio parece que no esta pero bueno, luego si descubrimos un poco vemos como es que hay cosas bueno, nos da información sobre ello de la misma forma podemos proceder para imágenes mediante otro módulo que es el módulo PIL y con el sub módulo es Shift Tax a lagunas imágenes cuando hacemos una imagen por ejemplo siempre se suele de almacen a información por ejemplo información relativa a cuando se hizo esa imagen información de gps incluso se puede guardar con que se hizo la imagen etc. Otro de los módulos que disponemos es el pguipe que nos permita a partir de una dirección IP obtener información de geologalización básicamente país, latitud, logitud, etc. uno de los módulos principales una de las herramientas principales que se usan dentro del mundo de hacking épico es el porg scan es muy conocido por NEMAP es un multiplataforma se puede estar en cualquier sete operativo es muy potente ya que te permite echar un vistazo muy rápido es los puertos abiertos o cerrados o filtrados que tiene una determinada máquina uno de los módulos principales que podemos usar en Python es Python NEMAP este módulo dispone a grandes modos de dos modos por un lado tenemos el modo sincrono donde tu lanzas el scanner y va digamos 1 a 1 bueno básicamente para hacer el scan le pasas la IP y el numero de puertos y el modo sincrono va 1 a 1 comprobando si el puerto está abierto cerrado o filtrado y luego tiene otro modo bueno esto seria un ejemplo donde vemos como se haria un scan de modo sincrono básicamente tiene un metodo que se llama porda scanner donde inicializamos ese scanner y luego con el metodo scan le pasamos el host y la lista de puertos para lanzar por debajo lanzaria el comando NEMAP del sistema operativo este seria un ejemplo donde le pasamos el target y luego una lista de puertos y lo que hacemos es lanzar el comando por debajo lanza NEMAP con una serie de parametro y dos en el puerto 21, 22, 23, 24, 25, 80 y en la IP tal y nos dice si esta abierto o cerrado y el otro modo es el modo sincrono donde de este modo nos podemos aprovechar por ejemplo para ir ejecutando un escaneo en cada puerto 1 a 1 pero sin tener que esperar finalize 1 para empezar el otro de esta forma podemos proceder para cuando queramos hacer un escaneo sincrono lo que tiene es un metodo un parametro de callback donde definimos una función entonces con esta función lo que queriamos es que cuando se escane en un puerto determinado cuando termine el escaneo saltea esta función en esa función podríamos hacer un tratamiento adicionado por ejemplo si queremos comprobar una vulnerabilidad en ese puerto lanzando un script de NEMAP como ahora veremos bueno este seria un ejemplo también modo sincrono donde vemos como lanzamos un escaneo en el puerto 21 y donde aparte decir si esta abierto o cerrado si esta abierto tambien tendremos la posibilidad de por ejemplo lanzar los scripts de NEMAP que vienen instalados cuando instalas NEMAP vienen una serie de scripts para detectar vulnerabilidades en ese puerto hay scripts para cualquier tipo de puerto cualquier tipo de servicio que se puede así imaginar ctp, http baserator, mySQL lo que querais bueno en unis por ejemplo en la ruta o user NEMAP scripts estarian estos scripts donde vemos como hay una cantidad bastante importante de scripts lo que permiten estos scripts es encontrar vulnerabilidades en un determinado puerto por ejemplo si el puerto de mySQL esta abierto pues aprovecharíamos para lanzar un script para por ejemplo si si el por ejemplo mySQL hay una serie script para obtener información sobre servicio tambien dispone de scripts para ejecutar un proceso de fuerza bruta para obtener el número de usuarios por ejemplo y podemos en fin podemos detectar vulnerabilidades en cualquier servicio abierto este seria un ejemplo donde con mySQL comprobando el puerto 3306 lanzariamos podriamos irk comprobando por ejemplo lanzando los scripts hay un mySQL audid mySQL brute para ejecutar un proceso para obtener los usuarios mediante fuerza bruta hay otro script que te da las bases de datos en el caso de de que se puede acceder en fin hay muchos scripts que te permiten que te permiten hacer estas cosas luego con respecto a otros asodan tambien te permite por ejemplo por ejemplo comprobar el si un ftp soporta el anonymous login es decir anonymous un login que no requiere esenia de forma muy sencilla con la libreria ftp lib podriamos comprobar si un determinado servidor ftp soporta la autentikacion anonymous o no en cuanto al bese futzer bueno esto basicamente permite a partir de una url y una serie de bueno a partir este caso a partir de un fichero que contiene una serie de url internas que podiamos testear sobre un servizio basicamente lo que nos permite bueno dentro de python tenemos el pig with booth donde vemos que este modulo nos permite a partir de un de un de un de un de un mediante forza bruta o mediante direktiones mediante direcciones un proceso de forza bruta basado en direcciones url nos descubriria que direcciones estan disponibles en un determinado servidor vale entonces este este modulo el pig with booth nos proporciona una serie de submodulos probar descubrimiento a servicios que esten en un determinado dominio probar por ejemplo podemos probar si un determinado dominio es vulnerable a un login por ejemplo que este que este descubierto de forma sea vulnerable en ese sentido por ejemplo este modulo nos permite por ejemplo obtener las urls que son predecibles dentro de un dominio tales las típicas como admin index login logon urls que podrían que a simple vista tu no la ves porque no es no es público que no es información que se pueda ver a simple vista pero luego si vas probando vas probando las distintas las distintas urls vas viendo que efectivamente por ejemplo en este en este servidor vemos como que hay un index punto php y ademas se puede hacer un logon vale entonces una forma un poco mas rapide un poco mas automatizada podemos testear si hay urls predecibles bajo que a simple vista no se ven pero si que estan ahi vale otro de los de los bueno las cosas que podemos hacer es por ejemplo testear la seguridad de los servidores por ejemplo si hay un si un servidor tiene una librería tiene un modulo open ssl que es vulnerable al herbled, el herbled es un bug que se intento hacer en el 2014 para que es un modulo es una vulnerabilidad en el modulo de open ssl herbled para que te permite bueno conectarte descubrir tener certificados del servidor et cetera entonces de una forma sencilla podriamos enviar testear la seguridad de un servidor desde este punto de vista intentando la sitio no vulnerabilidad a este bug basicamente lo que hay que hacer es enviar una peticion enviar un paquete especial entonces en este caso estoy utilizando el modulo sockets mediante la metodosen enviamos este paquete especial es como esto es como si fuera el payload cuando se quiere testear la seguridad de un servidor o esplotar una temida bunda migral lo que se hace es enviar en la jerga dentro de la seguridad es enviar un payload entonces en este caso se está enviando un payload especifico para este para este bug entonces lo que recibimos una respuesta que esten consonancia con ese IP eluar significa que el servidor es vulnerable en este caso vemos como la respuesta tenemos ahí un montón de información y vemos como en este IP vemos como que para este IP, para una IP determinada que podemos por ejemplo en algún sitio que podemos ver si una determinada IP es vulnerable a este bug entonces no hay información si es vulnerable o no para herramientas más avanzadas que podemos usar también para en el que se podemos integrar desde Python metasploid como herramienta principal para explotar vulnerabilidades nexpose nexus openbask son herramientas que te permiten realizar análisis de vulnerabilidades análisis de vulnerabilidades en servicios en base de datos etc. y w3af que es la herramienta hasta que he comentado antes esta también se puede integrar desde Python en el caso de metasploid hay un modo que se llama Python msfrpc basicamente con metasploid lo que hacemos es levantar una instancia primero tenemos que levantar una instancia de metasploid es la que se llama la consola de metasploid y una vez levantada la consola ahi ja podríamos jugar enviando información al servidor enviando información al servidor metasploid dispone de una cantidad bastante grande de módulos de explotación de payloads modus auxiliares etc. que vienen muy bien para para testear la seguridad de los servidores de las aplicaciones web otra de esas herramientas también interesante es nexpose nexpose es una herramienta desarrollada por rapid 7 para escanearla y descubrir vulnerabilidades en servicios servidores etc. y permite básicamente el acceso de forma programatica desde Python tanto mediante http https etc. y una forma de obtener la información de este modulo es mi antibitufursub ya que la información cuando nos conectamos a un servidor de nexpose la información nos la devuelve en formato LXML entonces de una forma muy sencilla podríamos mi antibitufursub con el parse LXML podríamos acceder a las vulnerabilidades que estar registradas en el servidor al cual nos conectamos vale por ultimo comentar una herramienta pentesin tool que es una herramienta donde integrado todos estos modulos que he comentado estan integrados en esta herramienta la herramienta esta disponible en g-hab en g-hab personal vamos a ver una pequeña demo bueno básicamente aqui tengo una maquina virtual donde tengo una serie de esto es una maquina virtual que esta disponible internet que se llama metals portable linux que tiene ya una serie de puertos abiertos una serie de servicios vulnerables msql,ftp,ssh etc entonces vale voy a lanzar sobre el porto 21 en el target de 122,168,561 que es la IP de la maquina esta habitual sobre el porto 21 entonces bueno la primera opción que podemos hacer es un escano de puertos sobre el porto 21 checking por 21 y nos tendría que decir que efectivamente esta abierto ese puerto dado un poquillo porque por debajo bueno esto ejecuta enema por debajo y bueno hasta que nos ejecuta por debajo no se por que no esta funcionando voy a probar con un dominio no se por que no esta funcionando por 21 bueno esto es el sepido que he comentado en expose donde básicamente lo que hace esto es escanear, tu le pasas un IP un dominio, una URL y lo que te haces de escanear ese sitio detectando vulnerabilidades en este caso es escaneado la maquina habitual esta Ubuntu que tiene una serie de servicios abierto y demas que se llama meta explotable y una de las opciones que tiene la herramienta la opción 15 en exacto es la conexión con un servidor en expose básicamente lo que tenemos que hacer es pasarle bueno el IP deslocal el puerto donde esta escuchando el servidor y luego el usuario que es el cual te lo veas te esta devolviendo la informacion primero te devolve el site que ha sido analizado no temo esta el IP pero bueno la IP la podemos ver dentro de aquí bueno es la 122, 1601 y aquí vemos como nos esta sacando todas las vulnerabilidades que tiene esta maquina esto básicamente lo que haces es leer un XML que esta devolviendo el servidor y mi antepitus gulsube esta accediendo a toda la informacion sobre que esta devolviendo el servidor bueno esta maquina tiene un ton de vulnerabilidades en cada servicio tiene vulnerabilidades a nivel de PHP servidor de PHP todo el vulnerabilidades que os podemos imaginar tiene esta maquina aquí salen todas las vulnerabilidades que tiene los exploits para cada vulnerabilidad los servicios que tiene abierto porto 21, FTL por ejemplo las vulnerabilidades detectadas y luego aquí vemos como las vulnerabilidades bueno si queréis echarle un vistazo estan en GIP HAP a veces cuando se me ocurre alguna funcionalidad por lañado si queréis echarle un vistazo pues está disponible libremente bueno en el GIP HAP también tengo una serie de scripts individuales para probar una determinada funcionalidad por ejemplo un escala de puertos o comprar un socket o comprobar un un proceso de fuerza gruta o en el FTP en GIP HAP también da una serie de scripts para si queréis probar de forma individual alguna funcionalidad y por último referencias y librerías bueno la documentación oficial y luego la pagina de Python Security punto or estan las librerías que he comentado y muchas más están en esa pagina y por último referencias libros que son las más importantes Black Hat Python Python Pentesters de Student Sentials Grey Hat Python y Python Pentesters que es el único libro en español que he encontrado que trata estos temas editorial publicado por editorial 0xwar que es una editorial de las más importantes a nivel de publicaciones a nivel de seguridad etc gracias vamos 9 minutos retrasados pero si alguien quisiera hacer una pregunta si nos alcanza pues gracias una cosa super japonés eso entiendo que es un buscador que no te dice nada que no sea información pública ya solamente que la tiene indexada la tiene indexada en sus servidores es información pública que entiendo en esa todo lo que hacen es perfectamente legal porque hay información pública perfecto, muchas gracias y no hay más preguntas que disfruten el español pausa el día gracias