miércoles, 31 de enero de 2018

Resumen de este mes de enero 2018

Quiero crear una costumbre en el blog y es la de al final de cada mes, hacer un resumen de ese mes. No sé si será posible hacerlo siempre, pero yo lo intentaré. Así que empecemos con este primer resumen de este primer mes de 2018.


Ha sido un mes donde he experimentado cosas nuevas en el blog. He hablado de lo que me ha dado la gana, cuando me ha dado la gana y cuando me ha dado la gana. He escrito sobre cualquier cosa, sobre temas diferentes, sobre ataques diferentes. Ha sido un mes de mucho curro.

Me he preparado bastante gran parte de las entradas, aunque es cierto que no todas pueden tener la misma preparación y no a todas las entradas les puedo dedicar el mismo tiempo si quiero publicar una entrada al día.

El nivel ha subido y espero que así siga. Tengo más ideas para entradas que espero poder llevar a cabo. Espero que el tiempo no sea un problema.

Espero también, que a finales del mes de febrero os pueda enseñar un proyecto en el que he estado trabajando durante unos meses.

Ya os aviso que febrero va a ser, para mi, un mes loco. En febrero voy a cerrar muchos capítulos en mi vida y empezar otros igual o más importantes. Con la locura del mes de febrero, espero poder estar disponible todos los días en el blog, espero no faltar ni un sólo día, aunque si el nivel de las entradas baja, ya sabéis por qué es.

Para 2018 os quiero traer muchas novedades de muchos proyectos en los que voy a estar trabajando, espero poder sacarlos todos adelante y que los podáis ver por el blog.

Si sigo trabajando a este nivel, que no os extrañe que en verano me tome unas vacaciones de algunas semanas, porque si sigo trabajando a este nivel, voy a necesitar un descanso, que llevo ya cerca de 3 años que no me tomo ninguno en el blog. Pero dejemos al tiempo que hable. Os traigo muchas sorpresas, 2018 puede ser un gran año.

¿Hackeamos el Mundo?

martes, 30 de enero de 2018

Crear un servidor NAS por unos 30€ con Raspbery Pi 3

Tener un servidor donde realices tus copias de seguridad es algo bastante importante, ya que en caso de error, tienes ese ervidor de respaldo, por lo que solamente tendrías que pillar un USB e instalarte tu sistema operativo Debian o cualquier otra distro de GNU/Linux {Si eres un luser, entonces tu SO en Microsoft Windows XP}. 






Muchos pueden decidir realizar sus copias de seguridad en la nube, pero yo no me termino de fiar del todo. Por lo tanto, hay que buscar una solución. La solución parece ser la de utilizar un servidor NAS, de acuerdo, veamos cuánto puede costar.



Después del dolor de riñón, me recupero y pienso otras opciones que sea más asequibles para todos los bolsillos, en especial el mío ¡Eureka, tengo Raspberry y tengo una tarjeta microSD!

Sólo necesitáis eso además de un teclado y un ratón, por lo demás os lo he dejado todo en este documento que os enlazo. Espero que os pueda servir y podáis tener todos vuestro propio servidor NAS en casa.

¿Hackeamos el Mundo?

lunes, 29 de enero de 2018

WP SuperCache y cómo solucionar la vida de tu Wordpress es menos de 10 minutos

Increíble pero cierto. Hay administradores de sistemas y programadores que creen que elaborar una web en Wordpress es CSS e inserción de plugins ¿Dónde ha quedado la correcta configuración de Apache y MySQL? ¿Dónde ha quedado el estudio del código para que no sea redundante? ¿Dónde están tus modales, señorito?


Seamos claros, un Wordpress sin sistemas de caching o supercaching no va a tirar en la vida. Es más, si encima tienes habilitado el xmlrpc.php, lo más seguro es que tu Wordpress caiga a base de F5. Necesitamos soluciones entonces.


El plugin WP Super Cache es un plugin que toda persona que utilice Wordpress debería tener descargado. WP Super Cache lo que va a hacer será cachear todo lo que nosotros le indiquemos.


Lo primero sería activar el caching. Sin esto no vamos a conseguir nada. Por las demás opciones ya dependen mucho de ti y de qué cosas quieres cachear o no.


Opciones hay muchas, lo que requeriría de un manual especializado y dedicado para este plugin. No obstante, hay determinadas configuraciones que son asequibles a cualquier persona.


Si tenéis un sitio en Wordpress, ya estáis corriendo a descargar y configurar este plugin, ya que es muy útil y nos va a servir para garantizar la dispnibilidad de los servicos. La disponibilidad es seguridad, eso no deberíamos de olvidarlo nunca.

¿Hackeamos el Mundo?

domingo, 28 de enero de 2018

Hackeando a Mr. Chapuzas

Hace unas semanas estuve dando unos talleres muy sencillitos sobre seguridad muy básica. Allí enseñé un poco de seguridad en servidores y de cómo solucionar algunas configuraciones chapuzas que me suelo encontrar.



Allí comenté cosas muy sencillitas de las que ya he hablado por aquí en el blog. Os dejo las diapositivas y un documento donde he desarrollado lo que dije más o menos y así os sirve de resumen. Aquí tenéis lectura para este domingo en el que espero que os sea de provecho.

¿Hackeamos el Mundo?

sábado, 27 de enero de 2018

Aprovecharse de Software desactualizado e inseguro para acceder a sistemas ajenos

Uno de los consejos que se suele dar siempre a los usuarios es el de actualizar todo su software para evitar posibles agujeros de seguridad. Pero claro, muchas veces dices esto y te toman por paranoico...hasta que lo demuestras. Hoy os vengo a hacer esa prueba que suelo hacer. Es una prueba bastante sencilla y que suele gustar a la gente.


Primero os voy a comentar el escenario que he planteado para que entendáis más o menos quiénes forman parte de este "show" y qué es lo que vamos a hacer.

Escenario 

Dispondremos de un equipo con un sistema operativo Microsoft Windows 7 con el software vulnerable, BadBlue Enterprise Edition 2.7 y otro equipo en Kali Linux. El equipo en Kali Linux será el atacante y el equipo en Windows 7 será la víctima.




La IP del atacante será 192.168.1.41/24 y la de la víctima 192.168.1.32/24, por lo que estarán los dos equipos en la misma red LAN. En la máquina víctima hay montado un Wordpress y se usa el software BadBlue, que es vulnerable y es el software que se va a usar para esta prueba de concepto.
Desarrollo del ataque
Para realizar correctamente el ataque se debe iniciar el software que estará escuchando por el puerto 80 en la máquina víctima. 
Se iniciará en el localhost y nos permitiría añadir archivos o buscar ficheros que tuviésemos en nuestro servidor.  

Dentro de la fase de fingerprinting, haremos un escaneo a los puertos del equipo 192.168.1.32 para tratar de sacar el software que hay tras cada puerto. Tras realizar el Banner Grabbing observamos que, entre todos sus puertos abiertos, está el puerto 80, del servicio http que corresponde con BadBlue.
Si buscamos esta versión que hemos obtenido con nmap encontraremos que existe un CVE asociado a esta versión y, además 1 módulo de Metasploit y con un CVSS de 7.5. 


Dentro de Metasploit, si buscamos cualquier exploit que contenga la palabra badblue, nos mostrará dos resultados, uno para realizar un ataque de Buffer Overflow y otro de PassThru, siendo esta última la que trataremos explotar y de conseguir acceso sin necesidad de iniciar sesión en la máquina víctima.
Usamos este exploit y en las opciones ya tendremos definidas la opción RPORT y SSL, sólo nos quedará agregar la máquina remota que será la víctima.
A continuación veremos si se ha introducido correctamente el filtro RHOST. Ahora seleccionaremos el payload que vamos a utilizar para explotar la vulnerabilidad existente en BadBlue.
 El payload a utilizar será el que corresponde a Windows [ya que la máquina víctima es un Windows] y le diremos que nos abra una puerta a su equipo mediante una sesión meterpreter. Como ya tenemos todas las opciones rellenas en el payload que vamos a utilizar, no tendremos que especificar nada más y podremos seguir adelante con el ataque. 
Solamente tendremos que escribir exploit y nos montará un escenario y posteriormente nos abrirá una sesión meterpreter y con el comando sysinfo veremos información relativa a la víctima para comprobar que realmente estamos dentro de su equipo. 
Una vez dentro de su ordenador, ya podemos hacer de todo, como iniciar un keylogger y capturar, por ejemplo, sus credenciales de Facebook, ya tendríamos su usuario y contraseña que podríamos probar en otros servicios. 


 Si intentamos elevar privilegios veremos que Kali nos dice que ya somos unos usuarios con permisos, es decir, el usuario al que hemos accedido pertenece al grupo de Administradores de Windows.
Esto facilita el trabajo, pues solamente tenemos que escribir getsystem y seremos SYSTEM en el equipo víctima. Esto nos posibilita poder descargar o subir cualquier archivo sin problemas de permisos. 
Si se cotillea por el sistema, nos percatamos de que se usa un XAMPP [X=sistema operativo X, A=Apache, M=MySQL, P=PHP, P=ProFTP]. Aquí se hace más interesante nuestro ataque dado que somos SYSTEM y tenemos permiso para hacer lo que queramos. 
Es realmente curioso el caso de XAMPP, ya que en .../xampp crea y guarda un documento que se llama passwords.txt donde se almacenan en texto claro los usuarios y contraseñas del administrador de la base de datos MySQL, de Filezilla,etc. Un atacante que tuviese acceso a este archivo, podría acceder al sistema sin mayores problemas si en el archivo /etc/mysql/my.cnf el bind-address está con la dirección 0.0.0.0 o algo por el estilo. 
Si se permitiese, mediante el bind-address=0.0.0.0, la conexión remota de la base de datos, como ya sabemos las credenciales del usuario root y muy posiblemente se haya dado permisos al usuario root con GRANT ALL PRIVILEGES ON *.* TO root@’%’ ; podamos modificar todo lo que queramos en la base de datos, desde eliminar usuarios hasta borrar toda una Base de datos. Podemos imaginar los daños que podría ocasionar esto en organizaciones como Amazon o un Hospital. 
Además, como podemos observar, dispone de la carpeta wordpress con su .htaccess y, entre otras cosas, el xmlrpc.php, fuente de tantos problemas de DoS o DDoS.

EL XML-RPC es el que permite los pingback y los trackbacks, es decir, el encargado de emitir una notificación al autor de una web cuando se ha subido un post en el caso de Wordpress. El problema es que en sistemas webs como Wordpress es posible hacer DoS o DDoS a base de F5, sobre todo si no se tienen sistemas de supercaching para mejorar el rendimiento de nuestra web y reducir la probabilidad de sufrir una denegación de servicio.

Pero esto se puede evitar de varias formas:

  1. Renombrar el fichero xmlrpc.php. Esto se tendría que hacer con cada actualización de Wordpress ya que con cada actualización nos pondrá el xmlrpc original.
  2. Se podría añadir add_filter('xmlrpc_enable','__return_false'); en el archivo wp-config.php después de la línea en la que aparece escrito (ABSPATH . 'wp-settings.php');
  3. Añadir a functions.php el siguiente código 
add_filter( ‘xmlrpc_methods’, function( $methods ) { 
unset( $methods['pingback.ping'] );
return $methods;
} );
Son 3 soluciones bastantes sencillas para aplicar en nuestro Wordpress, aunque como se puede observar, hemos entrado en un bucle infinito, ya que conocemos las credenciales del usuario root y el bind-address permite la configuración remota, por lo que podremos entrar a la base de datos, modifciarla o borar una base de dato cualquiera. Además tenemos acceso a la máquina víctima. En definitiva, un gran problema de seguridad que, si sois administradores de sistemas, deberéis tener muy en cuenta.
¿Hackeamos el Mundo?

viernes, 26 de enero de 2018

El manual del Internatua seguro [Parte I: Estoy expuesto]

No os confundáis, no voy a dar la clave para estar seguros al 100%, pero sí que daré unas serie de pautas que yo considero ensenciales para estar un poco más seguro en Internet, de ahí que lo llame el manual del Internatua seguro.


Pero hay que ir por partes [así puedo publicar una entrada al día]. Hoy os voy a dar una serie de enlaces que deberíais visitar para que veáis cómo de expuestos estáis en Internet.

1. ¿Quién eres?

Tu navegador da mucha información sobre ti, y por eso es importante que visitéis My Browser info y veáis toda la información que se puede sacar por el simple hecho de navegar por páginas webs.

2. ¿Tu navegador permite el tracking?

Panopticlick es un gran proyecto que, con un sólo click, te dice si tu navegador permite o no el tracking, algo que es realmente importante.


3. Comprueba si has sido hackeado 

Have I Benn Pwned es posiblemente la mejor solución para esto. Si tu correo aparece en alguna base de datos hackeada, lo mejor que puedes hacer es cambiar tus contraseñas [en otra entrada veremos cómo generar strong passwords y cómo protegernos lo mejor posible de esto].

Con estos 3 tips ya se puede ir tirando para que veamos que no estamos nada seguros en Internet. En las próximas entradas se comentará cómo solucionar un poco todo esto, aún asú, os dejo un gran vídeo de Marta Peirano para que os cagéis viv@s.



 
 
¿Hackeamos el Mundo?

jueves, 25 de enero de 2018

Deshabilitar el firewall de Windows desde Powershell

Ayer ya os comenté cómo se puede sacar la contraseña si el usuario es tan incauto como para tener sus credenciales copiadas en un archivo de texto y se limita a copiar y pegar sus credenciales. Esto en sistemas Microsoft es fácil usando powershell, pero aún podemos darle unas vueltas más.


En entornos en los que queremos tener acceso al ordenador de la víctima mediante un archivo que se le pase infectado tal y como se ha mostrado en entradas como Hackear Windows 7 con Kali, se requiere de dos cosas principalmente:

  1. El usuario no debe tener antivirus o debe tenerlo deshabilitado en ese momento.
  2. El usuario debe tener deshabilitado el firewall de Windows.
En cuanto a la primera opción, aunque parezca increíble, hay muchos usuarios que no disponen de un antivirus en sus sistemas porque consideran que ya no sirven para nada, lo que es un error muy gordo. Esto pasa también mucho en entornos de Windows Server donde ya me he encontrado a más de un administrador de sistemas que no se descargan un AV.

La segunda opción puede ser suerte, muchos usuarios deshabilitan el firewall para jugar a un juego o muchos administradores de sistemas prefieren deshabilitar el firewall antes que añadir una excepción cuando tienen que comprobar la conectividad entre 2 máquinas y realizan un ping [con el firewall habilitado daría error].

Para la primera opción, ya lo veremos en futuras entradas y para la segunda opción hoy os muestro cómo se puede deshabilitar el firewall de Windows de nuestras víctimas con un simple línea en Powershell.


Es un simple comando, basta con escribir set-netfirewallprofile -enable false y se deshabilitará el firewall de la máquina víctima. Si esto lo metemos en unarchivo .ps que bindearemos en el archivo que le pasemos como trampa, tendremos la mitad del trabajo previo al ataque hecho.

También aviso que este comando sólamente sirve para las versiones de Powershell superiores a la 5.0, así que si vuestros objetivos son equipos Windows 10, con este comando lo conseguiréis sin problema. Esto es algo muy bueno para los atacantes, ya que hasta con las versiones más actualizadas de Windows se podría conseguir realizar este ataque y muy malo para el usuario.

Ya lo que toca es que seáis vosotros los que, en vuestro laboratorio de Hacking, prueben todo esto para ver si os sale o no y si podéis probarlo para realizar el ataque de obtener sesión meterpreter que ya os he ido contando por este blog.

¿Hackeamos el Mundo?

miércoles, 24 de enero de 2018

Hackear tu contraseña utilizando Powershell

Muchos de los scripts que me elaboro son para Linux, ya que yo lo que uso en mis equipos personales es sistemas de Software Libre basados en Linux. Actualmente estoy usando Linux Mint 18.3 Sylvia y en verano lo más seguro es que utilice Debian. Para mí es muy útil la programación de scripts en Linux, tiene un potencial increíble, no obstante, Windows [a pesar de mi opinión personal sobre el sistema operativo de Microsoft] viene muy potente con Poweshell.


Estoy probando una serie de cosas para un proyecto que creía que iba a sacar para este mes, pero le sigo metiendo más cosas y al final quiero que se pueda usar tanto en Windows como en Linux, de ahí que esté tardando más en sacarlo.


Hay un comando en Powershell que es get-Clipboard y que nos sirve para sacar lo que hay guardado en el portapapeles. Esto es interesante cuando estamos ante un usuario que tiene sus credenciales un archivo de texto y copia y pega sus credenciales.


Solamente tendremos que esperar a que copie su usuario y contraseña y nosotros lo veremos. Esta función es similar a lo que realiza un keylogger.


Para mejorarlo podríamos meterloen un bucle for donde la $i inicial sea el segundo en el que se encuentra.


La $i final podría ser la $i que representa a los 59 segundos posteriores y hacer que todo eso se repita para que cada segundo almacene lo que hay en el portapapeles en un archivo de texto, por ejemplo. Deberemos tener en cuenta que el formato será de tipo fecha y no un número, tendremos que hacer un casting para convertirlo a número, pero la base teórica es esta, con este script, podremos sacar todo lo que se copie en el portapapeles, por lo que una contraseña compleja y muy larga, la podríamos copiar igualmente.

¿Hackeamos el Mundo?

martes, 23 de enero de 2018

Un día de peluquería

Hace unos días tuve que ir a cortarme el pelo a una peluquería. A mí no me agrada eso de tener que ir a cortarme el pelo porque, por norma general, suele ser una gran pérdida de tiempo. Y esta vez, también lo fue. No obstante, esta vez ocurrió algo distinto.


Estaba esperando mientras miraba cómo las señoras iban pasando por el tinte. Suelo ir siempre a la misma peluquería pero esta vez tenía tantas cosas que hacer, que la espera me estaba matando y decidí pensar en mis cosas.

Pero no era posible, mucho ruido de secadores y de gente que habla más alto de lo normal. Me estaba fijando en todo, en cosas que ya me había fijado con anterioridad pero que esta vez hubo algo que hizo click en mi cabeza.

En la peluquería a la que voy, las señoras cuando quieren ponerse un tinte, si no es la primera vez que se lo ponen ahí, el/la peluquer@ coge un archivado con trozos de papel/cartón ordenados, supongo, por orden alfabético y van buscando hasta que encuentran el nombre en cuestión. Os recreo la situación.

-Peluquer@: ¿Cuáles son sus apellidos?
-Persona: Villa Alcaide, María
-Peluquer@: [buscando en el archivador hasta que lo encuentra]

Me hizo gracia porque en shellscript hay algo muy parecido con un for $linea in $(cat archivo.txt) en el que se va leyendo línea a línea el archivo. Tras esto, yo ya me puse a pensar qué comandos escribiría para encontrar el nombre.
Bueno, sin duda, lo que haría sería algo como 
read -p "Dígame sus apellidos: " apellidos
grep $apellidos tintes.txt 
 Eso sería bastante rápido, se tardaría muy poco.

Eso pasó por mi cabeza, pero yo seguía pensando en cómo optimizar esta tarea para tardar menos tiempo, ya que parece una tontería, pero en una peluquería donde hay esperando 6 personas y sólo hay 2 peluquer@s, que 1 de los peluquer@s se tire de 1-3 minutos buscando qué tinte corresponde a cada cliente, es una pérdida de tiempo que ante mayor número de clientes que quieran echarse un tinte, la espera irá creciendo y creciendo y los clientes se irán impacientando; incluso alguno se podría ir. Así que mi pregunta era ¿Cómo optimizaría esto yo? 


Lo primero que haría sería crearme una base de datos donde la llame primaria sea el DNI, ya que utilizar los apellidos como query, es bastante ineficiente, ya que pueden existir 2 personas con los mismos apellidos [casos de herman@s], pero es que incluso pueden existir 2 personas con el mismo nombre y los mismos apellidos, aunque es bastante improbable que esas 2 personas con el mismo nombre y apellidos estén en la misma ciudad y vayan a la misma peluquería, pero podría pasar.

A continuación crearía una aplicación web, ya que puede ser que el equipo de la peluquería puede que no sea muy potente ni tenga muchos recursos, por lo que lo mejor sería montar una aplicación web sobre el localhost y que se conecte a la base de datos y dada la consulta generada en el <input type="text" name="dni"> se envíe a la base de datos en la variable $consulta=$_POST['dni'] y busque coincidencias. Por supuesto, sólamente tendría que encontrar un resultado.
Si se usa el DNI como factor de búsqueda es porque el dni lo suele tener todo el mundo a mano y además no pueden existir 2 dnis iguales, por lo que así reduces el tiempo de búsqueda [no llega ni a 1 segundo] y además evitas la redundancia. Y es que podríamos estar ahorrando entre 1 y 3 minutos por cliente.

                                                t=ßn

Podríamos decir que el tiempo de espera [t] es el equivalente del producto del tiempo de búsqueda del historial del cliente que quiere echarse un tinte [ß] y el número de clientes [n]. Supongamos que el tiempo de búsqueda es de tan sólo 25 segundos por cliente, entonces, suponiendo que estén 8 horas y en cada hora entren 6 clientes nuevos, tendríamos que la espería sería de...


 20 minutos en buscar. De una jornada de 8 horas, 20 minutos se les estaría dedicando a, solamente, buscar qué tinte tiene un determinado cliente. A esto se le tendría que añadir el tiempo que se tarda en poner un tinte a una persona. 20 minutos pueden parecer pocos, pero ya os digo que en esos 20 minutos se pueden hacer muchas cosas.
Ahora supongamos que con nuestra base de datos, se tarda 1 segundo por búsqueda. Pues bien, en 8 horas, el tiempo que se le habría dedicado a la búsqueda de qué tinte tiene un determinado cliente, es de 48 segundos, que no llega ni a un 1 minuto. Para simplificar cálculos, estamos ganando 19 minutos por día para hacer otras tareas. Por ejemplo, a mí tardan en pelarme 10 minutos, pues en ese tiempo de espera podría cortarse el pelo 2 personas como yo, por lo que la espera sería menor.

Rápidamente me di cuenta de otro problema. Hay clientes que no siempre quieren el mismo tinte y deciden cambiar. Eso es un problema, ya que el/la peluquer@ tendría que sacar la paleta de los números de tintes y ponérselos al lado del cliente para que vaya viendo cuál le podría quedar mejor, pero claro, en esa tabla hay un mechón que los clientes comparan con todo su pelo; eso es ineficiente. Yo propongo una solución sencilla, elegante y divertida.


Creo que es conocido por todos que tanto Instagram como Snapchat utilizan varios filtros que te cambian la voz, la cara y...wait for it...¡EL PELO! Yo he hecho la prueba con Snapchat, y tienen un filtro que te cambia el pelo por lo que véis en la foto, pues bien, esto funciona porque en nuestros teléfonos móviles tenemos una Inteligencia Artificial que ha recibido una gran cantidad de datos [caras de humanos en este caso] y que gracias a esos datos, ha sacado sus propias conclusiones sobre las proporciones de una cara humana y así poder utilizar esos parámetros para ponerte esos filtros que tanto gusta a la gente.

Yo no veo problema alguno en el que en esos grandes espejos que hay en las peluquerías, los espejos tuviesen una inteligencia artificial que puedieses activar con un botón en el lateral por ejemplo [para que no vaya cambiando el pelo a todo el que pasa] y que en sus filtros tuviesen ese catálogo con los tintes, así el usuario se lo vería al instante cómo le quedaría y podría tener una primera imagen del resultado final y no esa cosa tan cutre de ponerse al lado de su pelo un puto mechón con un tinte. Hemos sido capaces de hacer que una IA cambie nuestra voz, el tamaño de nuestra boca,etc. esto es igualmente posible por el simple hecho de que ya lo tenemos tal y como demuestro en la última foto.

Además a la gente le podría llamar la atención ese smart-mirror with AI y podrían ir a la peluquería nada más que para ver cómo funciona y ya de paso aventurarse a un cambio de look.

Pero esto que propongo con los tintes, sería lo mismo con cortes de pelo, por ejemplo, así ahorramos tiempo en la decisión del cliente[el cuál estaría viendo el resultado final y así saber cómo le quedaría cada uno] y por tanto, terminaríamos antes con el cliente y la espera de los demás clientes se reduciría prácticamente al tiempo de corte, lavado y/o tinte, es decir, el tiempo de espera dependería de la agilidad del peluquero. Esto para gente ocupada es lo mejor.

En la segunda parte de esta entrada, os comentaré qué ventajas podría tener para el dueño de la peluquería, que se invierta en innovación tecnología, una innovación como con la que he teorizado.

¿Hackeamos el Mundo?


lunes, 22 de enero de 2018

SniffPark is coming

Os estoy preparando varias sorpresas para este año, una de ellas es la que os voy a adelantar hoy en esta entrada. No os quiero dar muchas pistas, aunque creo que lo podéis intuir. Solamente os voy a dejar un vídeo y ya vosotros teorizáis.





Os dejo el enlace a mi canal de Youtube para que veáis el vídeo. El vídeo se llama SniffPark is coming ¿Qué creéis que puede ser?

¿Hackeamos el Mundo?

domingo, 21 de enero de 2018

ARP SPOOFING Y DNS SPOOFING sin condón

El año pasado os hablé sobre cómo hacer un MiTM haciendo ARP SPOOFING y DNS SPOOFING con Ettercap. No obstante, existe otra forma de hacerlo sin herramientas gráficas y es la forma de la que os vengo a hablar hoy.







El ataque se basa en envenenar las tablas ARP de la víctima, por lo que como estamos en nuestro laboratorio, sería ideal que mirásemos las tablas ARP de la víctima antes del ataque y durante el ataque.


Nuestra víctima de momento no tiene las tablas ARP envenenadas, por lo que de momento nuestra víctima estaría a salvo.


Una de las funciones que haremos será la de enrutar el tráfico que nos venga de la víctima hacia el router, por lo que tendremos que cerciorarnos de que el archivo /proc/sys/net/ipv4/ip_forward esté a 1.


A continuación haremos uso de la herramienta arpspoof, cuyo comando para realizar el ataque es arpspoof -i [mi interfaz] -t [IP Víctima] [gateway]


Ahora viene lo gracioso, ya que si nos vamos a las tablas ARP de la víctima, veremos que le hemos conseguido envenerar ARP para que tanto su router como la máquina atacante tengan la misma MAC ADDRESS.
Para asegurarnos de que toda esta parte funciona, haremos uso de tcpdump realizando unos filtros para que nos salga por pantalla únicamente el tráfico de la víctima.


No debería darnos problema ninguno el dns del equipo de la víctima, pero como estamos en un entorno de pruebas, nos vamos a asegurar limpiando los registros dns del equipo víctima.


Ahora tendremos que crear un archivo cualquiera que nos haga del famoso /etc/hosts. A este nuevo archivo da igual cómo lo llamemos, ya que se lo vamos a enviar a la víctima más adelante y este archivo será el que le resuelva los DNS.


El siguiente paso que tendremos que realizar será ejecutar el ataque de DNS SPOOFING con dnsspoof -i [mi interfaz] -f [archivo anteriormente creado] host [ip víctima] .



Finalmente, tendremos que clonar la web que queremos suplantar. Esto lo podríamos hacer una vez que conocemos a los trabajadores de una organización y en la fase de footprinting hemos sacado que tenían cuentas de Facebook o Twitter, de ahí la importancia de mostrar cuanta menos información, mejor.

El clonado de la web lo podemos hacer nosotros a pelo, o con la herramienta SET seleccionando las opciones 1>2>3>2.


Hasta que nos pida introducir nuestra dirección ip [la del atacante] y el sitio a clonar, en mi caso, lo haré con Twitter, que Facebook está muy visto ya.


Si desde la víctima entramos en cualquier navegador web y escribimos www.twitter.com nos llevará a la web que hemos suplantado de Twitter, pero el usuario no tiene por qué darse cuenta de esta jugado.


Pero por detrás, nosotros estamos viendo en texto plano sus credenciales de su cuenta de Twitter ¿Os imagináis que reutilizase el mismo correo y contraseña para más de una identidad digital?


En /root/.set/reports nos encontraremos con archivos con los reportes en html y en xml.


Si lo mostramos desde el navegador veremos los campos que se utilizan. No obstante, todo esto podems mejorarlo un poco y organizarlo mejor. Me paso el .xml a /var/www/html y me lo descargo en mi máquina anfitriona con Linux Mint 18.3 Sylvia para poder tratar este archivo de una mejor forma.


Por lo pronto, podemos crearnos un script en shellscript que nos formate el archivo para que nos aparezcan los campos de usuario y contraseña con la forma USUARIO/ y PASSWORD/ respectivamente para, posteriormente, pasarle el cut -d "/" -f1 y almacenemos cada resultado en su respectiva variable y lo insertemos en una base de datos que previamente he creado.


Y tendremos nuestros datos en una base de datos en MariaDB. Ya hemos organizado la información, pero podemos apretar las tuercas un poco más y hacer que se vean los mismos datos de forma gráfica.


Aún nos podemos crear una sencillita aplicación web con HTML, CSS y PHP para que se muestren los datos en una tabla en nuestro navegador.


Y nos tiene que quedar algo como lo que se muestra en la anterior captura, de una forma más gráfica y que sea fácilmente entendible y accesible para cualquier usuario independientemente de sus conocimientos.

Si recapitulamos, en esta entrada se han visto conceptos de:

  1. Redes
  2. Seguridad Informática
  3. Programación de scripts en Linux
  4. Bases de datos
  5. HTML, CSS y PHP
Realizar más casi todas las ramas de la Informática es algo casi imposible, pero que como se ha visto, no se requiere de conocimientos muy avanzados en nada. Además esta entrada ha tenido la filosofía del software libre, "CREAR Y COMPARTIR", por eso os he compartido todos los códigos de programación que he realizado [a pesar de no ser nada del otro mundo], y es que los conocimientos deben ser libres, el conocimiento se debe compartir.

¿Hackeamos el Mundo?
Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...