Viernes, 28 de Septiembre de 2018: El perro del otro lado del espejo

Querido Diario…

Me acabo apenas de dar cuenta que Symantec adquirió hace muchos años LopthCrack. Poco antes liberaron su versión 7 (yo me quedé en la 6), pero jamás le dieron más continuidad, porque las regulaciones de EEUU prohibieron que pudiese ser comercializada. Y si… me he preguntando: entonces, ¿ahora como le hace el mundo para sacar hashes?, bueno… como ya no hay LC, pensé en pwdump, pero desde pwdump7 no ha habido una nueva versión. ¡Demonios!, hoy todo mundo usa Mimikatz.

¿Ah si?, ¿por qué quiero sacar unos hashes?… bueno, un command injection.

Aunque no lo creas aun se pueden encontrar estas cosas por el mundo… lo complejo de esto es que imagina un escenario con dos servidores, uno de ellos es tu objetivo, pero no está expuesto, el otro es donde está el command injection; y desde allí hay que saltar al interno… pero no tengo ninguna cosa para administrarlo, pero ya cree un usuario de dominio 😛

Lo sé, parece escenario de CTF, pero no… ya sabes como odio los CTF, esto es un coff.. coff.. banco coff.. coff.. es un buen bounty 😛 coff.. coff… ¿para qué?, bueno…

En realidad no, ya casi termina el calor… “termina”, en Mexicalli jamás termina el calor, el invierno es como un verano chilango; pero Shellcode ya pude salir sin miedo. Pero… lo que nos hemos dado cuenta es que no cabe en un coche; y eso que aun es chiquita, así que, ya sé que voy a hacer si gano el bounty.


En ese color azul-morado 😛

Pero.. primero tengo que ver como resuelvo el problema de la administración usando el usuario que cree y jumpeando desde el servidor con el command injection.

Querido Diario… aun tengo cierto atractivo en el mundo….

Aunque ya sabemos que respondí… por otra parte, Querido Diario… ¿los perros podrán ver su reflejo?, y si lo ven… ¿son capaces de saber si el reflejo son ellos o piensan que es otro perro?, los peces no pueden saber que se trata de ellos mismo. Y algo me dice que Shellcode tampoco puede saberlo; acá podemos ver a la señorita heredera de la valentía de todo labrador.

Querido Diario… creo que es momento de tomar un descanso, y terminar al fin el 10mo Doctor. Después de llorar a moco suelto por el capítulo donde el Doctor al fin logra volver a ver a Rose.

Viernes, 7 de Septiembre de 2018: Copypasteishon

Querido Diario…

Siempre mover archivos dentro de una red es un poco truculento; y ahora con los IDS’s o las herramientas de DPL, puede ser un martirio más grande. Desde montar compartidos que puedan ser leídos desde donde sea, usar el administrador de conexión de DRP que no sé porque ese si deja, pero una conexión de terminal service normal no, y como siempre, el confiable netcat.

Con netcat podemos mover archivos con gran facilidad, con un sólo comando; aunque los IDS’s comúnmente lo detectarán.

Algunos movimientos simples que pueden servirte, no sé… por ejemplo cuando estas echo bolita dentro de un parlamento extranjero, con ganas de secuestrar a la ministra de economía; o meterlo un tiro al primer ministro… pueden ser estos:

Exfiltraciones:

nc -l -p 12345 > "archivo"

nc -l -p 12345 | tr -d $'\x0d' | base64 -d > "archivo"

Descargas:

nc -l -p 12345 < "archivo"

base64 "archivo" | nc -l -p 12345

Querido Diario, no me gusta el escocés..

Miércoles, 5 de Septiembre de 2018: Lo lindo de lo simple

Querido Diario…

Haya por los años del quién sabe cuando que no recuerdo, Microsoft, hizo una modificación interesante a la forma en que se venía llamado a los Exceptions Handlers; en Windows XP SP1.

Los Exception Handlers son una cadena de “objetos” (en realidad no son objetos, pero llevo todo el día intentado recordar como se llaman exactamente… creo que estructuras, pero no recuerdo, me quedé dormido en esa clase xD), en donde se tienen dos elementos, uno es un puntero al siguiente Exception Handler, y otro es el puntero hacia la acción que va a ejecutar ese Exception Handler. Lo que inicialmente hacían los hackers para explotar algún fallo que encontraban, era modificar el salto del EIP disparando un Exception Handler, y a su vez el Exception Handler, te mandaba hacia una dirección modificada. Para hacer eso, se tenía que ingresar directamente a la dirección de memoria del Exception Handler.

Lo que hizo Microsoft para evitar fue esto, es extremadamente sencillo. Cada que ntdll.dll dispará el SEH Chain (el inicio de la cadena de Exception Handlers) se “XORean” todas las direcciones, de esa forma antes de usarse tienen un 0x00000000, es decir.. se borra todo y se inutilizan. Y listo, así de sencillo no es posible alocar una shellcode allí. Después en Windows 2003 server implementaron el mismo cambio.

Microsoft… siempre a la vanguardia en seguridad, muy por encima de todos los S.O.’s…. (escuche un par de linuxeros rabiar y llorar por allí coff.. coff… esa cosa que aun tiene BOF’s es 2018 😛 )

Lo interesante de esto… es que es muy limpio y muy sencillo, y totalmente válido hasta la fecha para evitar la alocación directa de algún payload en una dirección de memoria. Lo que evita un clásico pop ret, ret, ret o un pop %eax o un mov directo, etc..

Querido Diario…

Siempre me ha encantado los cíclidos por su temperamento. Adoraba los Oscares, y siempre quise un FH…

Martes, 4 de Septiembre de 2018: Tiene que ser una locura…

Querido Diario…

He leído muchas versiones e historias de bug bounty hunters; algunos que dicen que es el mejor empleo del mundo, la cantidad enorme de dinero que ganan… y otras muy malas, otras de aprendizaje y otras de sufrimiento real. Mi historia no es buena… y hoy es “ñeeee”, gracias a que no dependo de ello, y cree una regla a partir de eso. No es lo mismo buscar vulnerabilidades con el estomago vacío que con un rib eye y una copa de vino en la mesa.

Leí este articulo, que me pareció interesante: https://medium.com/@nmalcolm/bug-bounties-and-mental-health-40662b2e497b

Pero no muestra del todo el efecto que puede tener en ti el bug bounty hunting.

Imagina despertar cada día, después de una noche sin dormir; bañarte, cambiarte e ir al Starbucks más cercano y empezar 8 horas diarias. Si encuentras algo, lo explotas, lo reportas y al día siguiente o incluso unas horas después, tendrás en PayPal unos $500 dlls. Nada más para un día de trabajo. Pero no siempre es así…

Había días en los que no encontraba nada, y yo mismo me alentaba con un “bueno.. pero… ayer gané $500 dlls, es más de lo que ganaría la mayor parte de las personas, mañana me irá mejor; puede que mañana gané uno de $1000”. Pero con el tiempo ganaba más. Se terminó en algún punto el dinero para ir a Starcbucks, y terminé en el mismo hotel donde vivía, trabajando y durmiendo… “durmiendo”. Hasta que un día terminé debajo de un puente, y al siguiente fui a pedir dinero como montacarguista.

¿Y por qué?, porque algo que no se menciona en el articulo, no sólo es el estrés, es la frustración y como esa cambia tu forma de trabajo. Yo toda la vida había consultor mimado, el cual ni siquiera trabajaba en un cubiculo, sino me daban una sala de juntas, secretaría para el proyecto, viáticos si era fuera… seguía mi metodología, si encontraba algo bien, sino también, a mi me pagaban y para ser sinceros y por lo que hacía, no me iba nada mal.

Como bug bounty hunter, empecé siguiendo la metodología, y escuchaba en mi cabeza una y otra vez al Ingeniero, quién fuese mi jefe en mi primer empleo “ingeniero.. todas las aplicaciones son iguales, autenticación, autorización, manejo de sesiones… siempre es igual”. Y creo que tiene razón, hacía un TXT y me ponía a trabajar. Pero conforme pasaba el tiempo, dejé el TXT y empecé a explotar juicy bugs, a irme hacia la vulnerabilidad del día anterior, si veía que alguien ya había explotado un fallo en el sitio de EEUU, lo intentaba replicar en el de China… y después de todo eso.. seguía sin nada.

Había días en los que no sé como, pero corría con suerte… otros en los que pasaron meses, sin que ganase algo. Tan pocas veces encontré un fallo, que cuando lo logré, celebraba como si fuese algo especial. Algunas personas dicen que es cosa de constancia, pero… yo era bug bounty hunter 20 horas al día… todos los días.

Morí de hambre… y al principio el hambre me había mejorar, pero la desesperación siempre terminaba ganando. Ese es el verdadero estrés.

Y entonces… ¿es malo ser un bug bounty hunter?, ¿lo dejó?…

Hum… no, pero no es para todos.

Hoy soy un bug bounty hunter, y lo empiezo a disfrutar.. .de hecho me divierto con ello después de pasar horas haciendo cosas aburridas, o después de haber tenido que matar a alguien, o mientras estoy en el hospital todo baleado, uno se desestresa bastante cantando baby girl mientras explota unas vulnerabilidades de SQL injection, pero en mi opinión.. si no eres un hacker de elite, olvídate de vivir de esto únicamente, si quieres complementarlo es perfecto… te encantará el riesgo, aprenderas muchas tecnologías hispter, etc.

¿Qué hago?.. me dedico unas horas en especifico y sólo a eso, unas cuatro horas diarias. Me voy a la metodología, no importa que ya lleve el bounty mucho tiempo, sigo mi TXT (Ingeniero, un saludo)… y cuando es network assessment, no soy agresivo… son el mismo de hace años. que los chinos se peleen, yo estoy en lo mío.

En cuestión de ventas (estoy siguiendo el articul0), a mi no me gustan los públicos… no me gusta Bugcrowd, trabajas mucho tiempo gratis por nada; prefiero HackerOne, Synack, no se diga el modelo de Zerodium.

El aprendizaje.. hum… aprende trucos, lee otros reportes, ve lo que hacen otros y les funciona. No es como que tomes una certificación y aprenderas, como dice Udemy.

Y no gastes todo tu dinero… puedes pasar mucho tiempo viviendo de avena.

Querido Diario… me gusta mucho el canal de este tipo: