Sábado, 30 de Septiembre de 2017: Como quedarte sin comer teniendo dinero

Querido diario… tengo hambre, me gruñe la panza, me duele la cabeza; creo que me voy a desmayar.

Hoy desperté y dije “¡Ahhhhh! Santo Chucho Cristo Redentor; hoy va a ser un día muuuuuy productivo para mi, voy a cambiar el mundo, voy a hacer ejercicio, voy a cocinar comida saludable, voy a buscar un empleo decente… ah.. si, hoy es un nuevo día, lleno de esperanzas y expectativas.. ala, mira…. que hasta el horóscopo dice que hoy es un día de cambio”; y pues si, todo iba bien hasta que:

Y bueno… la buena noticia es que; mi amiga Kar… bueno esto es un diario de un bug bounty hunter ilegal hay que proteger la identidad de las personas,… mi amiga Cinthya consiguió su jersey de Club de Cuervos, también la buena noticia es que mientras tooooodos estaban trabajando, aburridos es sus trabajos, pues yo… creo que fui el primero de todas las personas que conozco en ver la nueva temporada de Club de Cuervos completa; la mala noticia es que no trabajé, pero la peor de las peores noticias es que ¡no comí!.

¿Y por qué no comí?, bueno… pues primero me pasé toda la mañana viendo la serie, de pronto empezó a hacer hambre y dije “ahhhh… pues creo que es tiempo de comer”, pero el día de ayer me di cuenta que este mes debo como $8, 000 de tarjeta de crédito, ¡sólo de taxis! (vivo en un sitio en donde es imposible salir a donde sea si no es en taxi), más todo lo demás. Así que no podía usar mi tarjeta para pedir comida, vi mi cuenta de PayPal y ouuu.. tenía mágicos $0, y luego vi y ya eran las 3:09pm, lo cual en tiempo real es las 5:09pm, ósea.. ya no alcanzaba a hacer una transferencia para poder comprar alimento.

¡Diablos!, ¿cómo podía conseguir para pedir algo de comer?…. hum… ¿sería que los dioses bendecirían mis santas manos para encontrar una vulnerabilidad en algún bug bounty y poder tener dinero en mi cuenta de PayPal para pedir comida?.

Empecé a ver el listado de los diferentes bug bounties disponibles, la mayoría habían sido lanzados entre lunes a martes, así que encontrar una vulnerabilidad sencilla y rápida iba a ser complicado.

Mucha gente puede que haya leído la metodología de Jhaddix, bueno… si, funciona, tiene coherencia, y el básicamente te dice como cubrir la mayor parte de las vulnerabilidades de una aplicación web en un par de horas.. “mayoría”, porque yo creo que las vulnerabilidades más complejas de explotar que tienen que ver con la lógica de la aplicación, que generan más impacto y por ende más dinero, no las vas a encontrar; pero el puntoooo es que a partir de que publicó su metodología puedes ver a un montón de bug bounty hunters buscando los famosos “juicy bugs” como desesperados para llevarse sus $50 a $100 dlls… ¿esta mal?, obvio no… los bug bounty hunters somos la basura de la seguridad, ya hemos caído muy bajo al dedicarnos a esto, ponernos pikys por como buscas tus fallos sería un poco tonto.

En fin, la verdad es que $50 dlls eran más que suficientes para comer, pero… hum… bueno, no perdía nada con intentar un “juicy bug”, además cuando yo revisó una aplicación, no importa que el bounty ya llevé tiempo de liberado; siendo que algún día fui un consultor en seguridad informática respetable sigo todos los pasos de mi metodología y hago revisiones exhaustivas. Así que siempre empiezo lanzando algunos scripts, scanners y listas precargadas para encontrar fallos.

Una de las listas que ejecutó es para la búsqueda de archivos sensibles, por allí en ingles encontrarán esto como “information leak”, aunque incluso podría entrar como en configuration management, debido a que es el sysadmin el que debió de haberse asegurado que el entorno donde ejecuta la aplicación esta limpio… bueno, ¿qué que quiere decir todo esto?, pues nada más que encontramos un archivo que no debía de estar allí.

Hay varios tipos de archivos “sensibles” y no tan sensibles que te puedes encontrar, como por ejemplo un index.jsp que alguien haya cambiado de nombre por un index.jsp_, index.jsp.bk, index.jsp.old, etc… tú me entiendes, ¿no?; algunos de prueba como test.aspx, algunos index.html viejos, confs.php, archivos de properties, o algo así. La verdad es que son un montón de tipos, además no hay que olvidar directorios sensibles, paths comunes como un /admin/, /private/, etc, etc, etc, etc…

Yo lo que hago es que por allí… la verdad no recuerdo donde, descargue ya unas listas que incluyen un montón de listas de posibles archivos sensibles, paths comunes, archivos de configuración que varios manejadores de versiones o herramientas de QA y deployment van dejando; y lo que hago es que utilizó eso para buscarlas. Ahora, yo lo hago usando Burp Suite, perooooo, hay herramientas que dentro de sus pruebas hacen esto. Por ejemplo Nikto o Wikto, yo siempre pensando que es una herramienta muy chafa, como que nada más toma esas listas de búsqueda, y la GHDB y ¡zas! manda requests y por banner trata de identificar vunerabilidades, o por código de error… la verdad no me gusta, y si hay detrás un IPS o un WAF, olvídate, te van a cachar.. incluso algunas veces ni acaba si estas en un entorno Cloud, el balanceador te va a ir limitando las requests. Por otra parte también los escáners de aplicaciones hacen esto mismo, con listas internas… Acunetix es muy común que encuentre estos archivos; peroo.. hum.. aunque lo puedas encontrar con un escáner, de todas formas para un bug bounty vas a tener que mostrar la request manual; y la otra es que yo configuró muy tranquilos los escáners, porque casi todos los bounties están en la nube y también genera mucho ruido su uso; además de que muchos bounties como los de Bugcrowd y HackerOne están en producción… así que seguro tienes algo allí antes de la aplicación que te va a parar.

Lo que yo hago es cargar mis listas en Burp Suite.. tiene dos objetivos, uno de ellos es que es una validación “manual”, que en caso de encontrar algo lo que hago es poner como evidencia una screenshot del response donde se vea el contenido del juicy file; y la otra es que no siempre te tienes que fijar en los error codes, ósea si un 200 es un OK, y un 404 es un file not found, peroooo… en estos tiempos de los frameworks fancy para front end, te vas a encontrar muchos 3xx con redirects o 200 pero que en realidad regresan JSON’s con 1’s, o’s, trues, falses o vacíos; que a pesar de eso puedes seguir identificando por el tamaño del response.

Lo sé, lo sé.. más de un pentester acaba de suicidarse al leerme en este momento.. pero muchachos, ustedes sigan usando Hugo Boss y viviendo en ciudades llenas de tecnología, yo no puedo sentarme con un cliente a perdirle que me levante un ambiente de testing o de stage; yo encuentro fallos como sea y en donde sea, porque sino, no como; y en donde vivo no hay nada de tecnología.

La verdad que hacer esto es sencillísimo… abres tu navegador, configuras el proxy y hacer una petición a la aplicación o al path específico que quieres analizar; teóricamente si, debieses de analizar todos los paths que te encuentres en tu spydering.

Click derecho y mandas tu request al Intruder, agregas un comodín al final del path…

Y en Payloads cargas la lista de tus más common files… (ya te dije, no se de donde saque la mía, pero… bueno, si te interesa, luego te la pasó).

Aquí las demás opciones no importan, así que le das con un one shot y si quieres puedes jugar un poco con los time outs o los threads, pero en general si estas en testing o stage, pues no importa; si estas en productivo sal por TOR o ProxyChains y ya.

Bueno… que al final la cosa es que encontré un info.php.. ¿por qué razón los infophp() siempre se llaman info.php?… no entiendo, podrían llamarse como fuesen, pero siempre se llaman así. Un “juicy file” muy poco juicy.. pero lo reporté, no me tardé ni 5 minutos, y me pagaron $150 dlls; al parecer ese bounty llevaba una semana y nadie lo había reportado aun.. si, el gran Quetzatcoatl estaba de mi lado. Al fin tenía dinero. Marqué a Pizza Ring y dije.. bueno, voy a pedir la pizza de cheetos, que si no me voy a morir de la curiosidad. Transferí los $150 dlls a mi PayPal y justo en eso me llegó un correo.

Era tan simple el bug que me pidieron hacer el path verification cuanto antes. Sólo mandé un replay del request donde apareció el info.php y me pagaron $75 dlls extra.. bien, tenía $225 dlls para comer. Así que marqué de nuevo a Pizza Ring y pedí un ponche.

40 minutos después llegó el repartidor.. salí en pijama y pantuflas; y mis únicos $10 en efectivo. Le dije que no tenía dinero, que me acercase su lector de Apple Pay… “¿mi qué?”… esa fue su respuesta. Fue raro… viví dos años en un pueblo, lejos de la tecnología y las comodidades usuales de la civilización, ahora vivo en una ciudad, pero es una ciudad rara.. donde no usan tarjetas de crédito. ¡En serio!, no tarjeta, no PayPal, no Samsung Pay, no Apple Pay, no Google Pay, no Pay, Pay… dinero, en efectivo, como los cavernícolas cuando negociaban los ribeyes de triceratops con el T-Rex. Tenía $225 dlls en mi PayPal, tenía una pizza frente a mi y el pizzero se la iba a llevar porque quería un billete.

¿Es en seriooooo? </acento_cachanillo>

Y después de rogarle que me fiase la pizza, porque de todas formas nadie estaba tan menso como para pedir una pizza de cheetos, se iba a hacer dura y la tendrían que tirar, se llevó mi pizza. Son las 23:17, mi estomago gruñe, gané los $225 dlls más fáciles de mi vida, y no tengo como comprar comida. Después de todo, Quetzatcoatl no me bendijo tanto.

¡Oh!, por cierto querido diario… cada vez voy a escribir más poético en ti, porque tomé un taller de cuento mexicano en el CEART.

Pero no entendí mucho la verdad, pero no importa, porque cuando Belinda sea presidenta todo va a cambiar; llegará la tecnología a Mexicali y habrá montones de empresas de seguridad informática que busquen desesperadamente ex consultores como shoooo…

¡Diablos! D: si tengo hambre…

 

Marcar el Enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *