Domingo, 5 de Enero de 2020: Nuevo Año, nuevas restricciones

Querido Diario…

¿Recuerdas cuando Nessus lucia así?

Eran buenos tiempos… levantabas el servidor, usabas el Home Feed, y escaneabas de 10 en 10 IPs cada vez. Luego vino la moda web.

Aun así, seguías teniendo tus 10 IPs por escaneo, y de hecho podías usar el cliente desktop, al final era sólo un cliente que se conectaba al servicio para ejecutar los escaneos. Alguna vez incluso vi a Jorge, un amigo de Aguascalientes, programar algunos scripts en Python para conectarse al API y automatizar los assessments que nos llegaban; así todos los lunes podíamos ir al carrito fuera de Softtek por café y té de matcha muy especiado; mientras nuestros escaneos corrían sin tener que configurarlos.

De hecho, Querido Diario, mientras escribo esto, me preguntó si aun funcionaría conectar el cliente desktop… como sea, el asunto cambio. El día de hoy me encontré con esto:

Adiós a las 10 IPs por escaneo, hoy en día tienes 16 IPs, las cuales puedes registrar por una única vez. Y aunque elimines los escaneos anteriores, y las IPs, ya no podrás dar de alta más. ¡Genial!, ahora necesito una licencia de Burp Suite, Acunetix… un celular Android más reciente para pruebas a aplicaciones, y… $2500 USD para una licencia de Nessus… ¡rayos!, ser un bug bounty hunter «profesional» no está siendo sencillo.

Querido Diario…

No, no podía dormir bien en ningún sitio… ¿cómo podía dormir contigo en mi mente?. Aun faltaban muchas horas para mi vuelo, y debido a que no puedo automatizar el análisis de vulnerabilidades en infraestructura, y tampoco quiero terminar usando OpenVAS, pues… creo que me centraré en la parte del API del bounty que estoy hackeando ahorita.

Mientras hackeaba desesperado por dinero, como si no hubiese un mañana. Al fin cumplí mi promesa de ver la película de Estefania.

Sólo diré… #viejastodassoniguales… vengativas; entre otras cosas.

Por cierto… Querido Diario, ¿te fijaste que el formato cambió un poco?, así es; ya no tengo compromisos comerciales, ahora escribiré por el gusto de escribir y… serás un diario de un bug bounty hunter como se supone que deberías de haber sido siempre 🙂

Martes, 24 de Diciembre de 2019: Hallo ich bin Augusto

Querido Diario…

Desperté durante la noche, no sabía exactamente que hora era. Había soñado la Villa Navideña en Mexicali, con renos; y después una escena muy extraña sobre el Krampus, la versión antagónica de Santa Claus. Después estaba en casa, escuchaba a mi mamá llamarme, pero no había electricidad, sólo veía la luz colarse por las ranuras de las puertas de madera… y desperté…

Tenía las manos frías del miedo, y el dolor en la garganta que no me había dejado desde que me metieron el tubo en la garganta en el hospital. Saqué el celular de debajo de la almohada, y me detuve antes de escribir; no había a quién.

Sobre el escritorio no estaba mi computadora, estaba la computadora que sonaba a turbina de avión y tenía muchos focos de colores. Entonces recordé que tenía un banco que hackear.

No tenía nada mejor que hacer, incluso, no tenía ni siquiera ganas de pensar en escapar. Al menos, aquí estaba ocupado en algo; y con la leve posibilidad de que al fallar, tal vez rompiesen mi maldición. Me puse de pie y fui al baño. Al volver, tome la computadora y me fui a la sala. Sabía que de todas formas estaría rodeado de seguridad, a la señora brasileña, no le importaría si me iba a un sito con más luz.

Lo primero que se me ocurrió fue buscar algo en el código fuente que me llevase a explotar la aplicación. Así que decompile la aplicación:

$ apktool d AppBank.apk -o appbank

Como, mencioné antes, el AndroidManifest.xml es un archivo muy importante, porque contiene el nombre del paquete, actividades, servicios, broadcasts, receivers, permisos de uso e información de librerias externas. Podemos buscar esta información haciendo uso de un grep:

$ less AndroidManifest.xml | grep "package"

Una vez que lo hayamos encontrado, podremos navegar el directorio en donde se encuentra el código fuente de la aplicación: /smali/jakhar/aseem/appbank

Aquí ya se puede explotar el código, y encontraremos algunas cosas que vienen en texto claro e incidicios del funcionamiento, pero para ser honestos ¿quién lee MSIL?, lo mejor es decompilar:

$ ./jadx appbannk.apk -d appbank_d

Se ven muchos errores, pero no importa, esos warnings en su mayoría son cosas que no encuentra el decompilador, como librerias. Ahora si, «cd appbank_d» y podemos empezar a explorar el código en claro.

Cuando uno está del lado del atacante, es más sencillo hacer un análisis de una aplicación; podemos pasar mucho tiempo, cuando uno está del lado que defiende, es más conveniente hacer detecciones rápidas. Es cuando me gusta usar SourceTrail.

SourceTrail importa toda la estructura de una aplicación, y nos muestra flujos, métodos, clases. De esa forma, podemos tener una idea más o menos genera de como funciona, y hacer búsquedas más sencillas. Incluso se puede conectar con un IDE, pero para eso se tiene que tener el proyecto bien armado o sino sólo nos encontraremos relaciones rotas.

Lo primero que hago cuando reviso código es buscar clases que suenen interesesantes, tratandose de un banco «MoenyDispatcher», «TokenAuthentication», «TransactionDispatcher», «Swift», «XSSWrapper», suenan bien.

En el caso de Android, también es importante tener en cuenta métodos que usen Android Native Library (JNI). JNI es algo que se encarga de manejar la comunicación entre las librerias nativas y el código en Java.

Un ejemplo común son los inputs, como este:

Cualquier cosa que leemos, la pasamos a través de una libreria nativa. Si examinamos las librerias, nos encontraremos con esto:

Una lista de las librerias compiladas para diferentes arquitecturas.

Dentro de todo esto a veces nos podemos encontrar información hardcodeada, como claves de cifrado principalmente, pero a veces algo más sensible.

Había un avance, pero no lo suficientemente importante. En realidad, aun no sabía ni siquiera como saltaría de la aplicación móvil, al banco. Me senté un momento en el sofá sólo a pensar, estábamos en uno de los pocos edificios de San José. Me dio algo de sed, dado que era un prisionero, sacaría el mejor partido de mi situación, así que fui hacia la cocina y busqué en el refrigerador algo que beber.

Encontré jugo, no sé exactamente de que era, era algo naranja. Cuando se está en Sudamérica, es difícil saber que estas comiendo. Todas las frutas son deliciosas, y la mayoría de ella no las conocemos en México.

Cerré la ventana y sentí un resplandor de luz azul; era un acuario que dividía una barra entre la cocina y el comedor. Era un acuario marino, pero aun sin nada, me le quedé viendo, recordando cuando extraño tener peces. Recordé cuando alegré dijiste «ella se llama Samantha», un Disco Heckel, que curiosamente resultó si ser hembra:, de los cuatro, Samnatha era mi favorita, sólo porque era tuya.

Mis pensamientos se disiparon cuando escuche su voz.

- Ele ainda não tem nada, dizem que ele está amadurecendo, enquanto ele está todo morto

Mire a un lado, era levemente más alta que yo, de inmediato supe que era familiar de la señora que habla portugués; se parecía en todo, pero varías décadas más joven. Excepto por los ojos, ella los tenía café oscuro. Su adicción al gimnasio se notaba en cada parte de ella, altiva.. tanto que intimidaba.

- Isso não está certo. Desde o primeiro momento, um aquário tem vida - dije, mientras le di un empujoncito para que se asomase al acuario - Você consegue ver esses pelinhos verdes nos corais? São algas, algas verdes. Isso significa que ele está em execução há cerca de uma semana ou duas
- Dois
- Dois - asentí - são algas que se alimentam de fosfatos, fosfatos que existem graças a resíduos de matéria orgânica de algo
- De algo?
- Sim, algo vivo

Mi explicación pareció haberle convencido, nos quedamos los dos mirando el acuario. Hasta que ella me tomo del brazo y me invitó a sentarme en un diván. Abrió el refrigerador, sacó más jugo, se sirvió un vaso y volvió a rellenar el mío.

- Por que você precisa esperar tanto tempo antes de colocar o peixe? - rompió el silencio una vez más
- Eles precisam cultivar várias colônias de bactérias, que destroem os resíduos. Se não fosse o esperado, o lixo envenenaria o peixe
- Eu quero peixe-palhaço. Quais são seus favoritos?
- O peixe Disco, do seu país

De nuevo se quedó en silencio todo el departamento por unos minutos, hasta que ella habló

- ¿Cual es mi país?

Su español era claro, sin acento nasal, de inmediato pude detectar que era su lengua nativa

- Suponía que Brasil, pero ahora... ya no estoy seguro
- Nací en San Paulo, así que supones bien - me dijo mientras extendía su mano - soy Evelyn
- Augusto - respondí el saludo

Nos quedamos otro rato mirando el acuario vació, las ondas de azul neón que se formaban por la corriente del filtro, entonces se levantó y me dijo que la acompañase.

Salimos del departamento, hasta ese momento no había reparado en la altura a la que estábamos, sólo sabía que estábamos en un departamento. Por los corredores había guardias por todos lados, que con sólo verla, inclinaban la cabeza hacía abajo. No sólo tenían mucho poder y dinero, también les tenían un pánico notorio.

Bajamos por el elevador hasta un sótano, allí vi algo que hizo que me diese un vuelco el corazón, de la emoción. Era una sala de tiro.

- Aquí entrenan nuestros guardias - me explicó, mientras me ponía frente a una pared de triplay repleta de armas
- ¿Estas segura?
- Si, te ves de confianza

Tomé una Glock, me puse los aisladores de sonido y disparé. Fue todo en automático, como si fuese algo natural, como si el arma fuese parte de mi, de esas cosas que jamás se olvidan; como andar en bicicleta… bueno, si supiese andar en bicicleta.

Sin embargo al primer impacto algo pasó, a pesar del aislamiento del sonido, sentí un agujero en el estomago. Los siguientes disparos continuaron más complicados. Hasta que mi mano izquierda cedió, mis costillas resintieron los culatazos; pero no lo dejé. Cambié el cartucho y disparé.

Caracas, Moscú, Morelia, Ottawa… una imagen diferente me aparecía en cada disparo; apreté los labios y disparé con más rabia, con más fuerza…

7, 8, 9… cambio…. 7, 8, 9… cambio

Respiré lo más hondo que pude, el olor a pólvora me volvía loco. Me emocionaba, al mismo tiempo que recordaba todas las ocasiones en que lo había olido, los gritos, la sangre, el sufrimiento… aunque me acercó un cartucho más; no pude hacerlo, me retiré.

- Para tu fama, es un resultado un tanto patético - miré el objetivo, tenía razón
- Bastante.... ¿tal vez un 150/300?. Te toca
- Yo no sé

Me parecía extraño, le quité la Glock de las manos, y fui por un Colt 38. Le puse una única bala, la ajuste en el inicio del carrusel y cambié el objetivo.

Le tomé los brazos por detrás, cuidando no tocar de más; no quería recibir una cachetada, o que el disparo terminase en mi; le levanté la barbilla, le dije que pusiese el estomago duro; y jaló el gatillo. Apunto a la cabeza, entró en el cuello… como sea, habría muerto el objetivo.

- Es emocionante
- Si, mientras sean objetivos de cartulina.. cuando son reales deja de ser emocionante
- Mi turno
- ¿De qué? - pregunté confundido
- ¿Quieres salir?, un poco de aire
- ¿Salir a donde? 
- Vamos a un bar, algo... ¿comes ravioles?
- Creo que tu abuela se enojaría un poco
- Nah, mi abuela es dueña de Costa Rica entera, no puedes escapar, ni siquiera podrías tomar un vuelo sin que ella lo autorice
- No se si tranquilizarme o asustarme

Me tomó de la mano y caminamos al elevador, subimos al siguiente sótano y subimos a una Cayenne. Le dio algunas instrucciones al chófer y empezamos a avanzar.

Ahora si, estaba asustado, ni siquiera Don R tenía tanta soltura como esta muchacha.

Cruzamos San José y llegamos a Escazú; apenas bajamos me sentí avergonzado de haber venido en playera y pantalón de mezclilla. Entremos a un restaurante, por fuera se veía más sencillo que cualquiera de la Ciudad de México; pero al entrar me pude dar cuenta que no era cualquier sitio.

La hostes se me acercó y me puso un blazzer.

- Caballero, creo que se sentirá un poco más cómodo
- Gracias, me sigo sintiendo igual de incómodo, pero gracias

Nos dieron la mejor mesa del lugar, lo sé por la regla de «la mejor mesa es desde donde puedes ver a todos, pero no todos te pueden ver a ti»; ella pidió ravioles y me pasó la carta de vinos. Había cosas allí que ni siquiera podría imaginar probar; pero vamos que soy mexicano, un mexicano jamás queda en ridículo.

- Esta botella de la familia Comenge, por favor
- ¿Le gusta la mineralidad?
- Más la acidez - dije, como si supiese de que me hablaban 
- Excelente elección Don Augusto

¿Cómo sabía mi nombre?…. preferí no pensar en eso.

Estaba mudo, no sé si estaba asustado de tal lujo, asustado de que esta muchacha me hubiese sacado de mi prisión, que el mesero supiese mi nombre; o asustado de que al final me dijese que debía de pagar yo.

El mesero sirvió el vino, y se me hizo muy gracioso que me sirviese primero a mi; acepté y nos sirvió a ambos. Levantó su copa para que brindásemos.

Comimos, bebimos, nos mareamos… pedimos una botella más. Y al final, me comporté como un caballero y pagué. Casi me dio un microinfarto al ver la cuenta, pero pagué.

Mientras volvíamos al departamento, vi un grupo de patrullas ir a toda velocidad seguidas de auto verde chillón, no le di mucha importancia.

Al llegar nos sentamos en el sofá, el alcohol había hecho efecto, me sentía muy relajado; borracho alegre. Es lo mágico del vino.

- ¿Te gustó la cena? - preguntó
- Si
- La pasta es mi comida favorita; adoro cuando voy en verano a Sicilia, ¿cual es la tuya?
- Los peneques
- ¿Qué es eso?
- Hum... algo así como una quesadilla rellena de queso panela, pero más gruesa y con caldillo de jitomate
- ¿Qué es una quesadilla?
- Ouuu... creo que es un poco complicado de explicar - estallamos en risas

Entonces, de pronto el ambiente se volvió serio, extrañó; me miro a los ojos, algo pasaba

- Necesito de tu ayuda
- ¿Tú de mi?
- Ayúdame a rescatar a mi abuela - no entendí
- ¿Rescatarla?
- Si, sé que ella no es quién está haciendo todo esto... ella no es así
- Hum... no es por dañar tu imagen familiar, pero... tu abuela me tiene secuestrado, y secuestró a mi amiga antes; y me acabas de decir que es dueña de todo un país
- Lo sé, pero ella no es así, algo.. no sé qué.. es lo que la obliga a hacerlo; sus socios, no sé - las lagrimas empezaron a mojar sus mejillas
- ¿Por qué crees eso?
- Porque esto es tan grande, que no puede ser sólo una persona quién mande, la debieron de amenazar

Me recargue en el sofá, si lo que decía era cierto… no, no, no…. imposible. Ni es EEUU hay relaciones criminales tan complejas.

- Dicen que tu sabes todo de todos; tú puedes averiguar si lo que digo es verdad o no, y si no lo es... 
- No soy el único, sniffear es una habilidad básica de muchas personas
- ¿Una ciudad completa? - objetó... no sabía que responder, todo esto me tomó por sorpresa
- No siempre lo que lees es bueno
- ¿Por qué no?, si puedes saber todo de todos, nadie te puede engañar, puedes saber lo que piensan a tu alrededor y adelantarte a todo
- Hum...

Recordé ese día en el sushi, cuando decidí que jamás volvería a interceptar el tráfico; como esas dos personas se burlaban de mi. Cuando yo ni siquiera sabía quienes eran. Los ojos de Carito cuando leyó aquella conversación que intercepté sólo para mostrarles como funcionaba; como me di cuenta que la gente es mala; como supe que todo había sido planeado…

- No puedo, dije... - mi corazón se hacía un nudo
- Te daré lo que quieras, lo que sea... mi abuelo también me dejó mucho dinero, todo es tuyo si rescatas a mi abuela
- No es por eso, no me interesa el dinero
- Tú eres famoso por hacerle favores a los ricos y poderosos, yo lo sé... ¡ayúdame!, por favor

Dejó de poder contener las lágrimas, me abrazó y no pude más que corresponderle el abrazo.

¿Sniffear de nuevo?, no podía quitarme esa imagen y aunque no pude verles, leer todo eso…

- Oye... - le dije al oido
- ¿Qué?
- ¿Lo qué yo quiera?
- Si, cualquier cosa; lo juro - los sollozos empezaban a calmar
- Tres cosas, primero... quiero mi computadora; tú abuela me la quitó al secuestrarme
- Pero te compró una Alienware Area 51 de $7, 000 USD
- Si, pero... yiuck... Linux, yo uso Apple
- Ok
- Dos... necesito que me ayudes a cuidar de los locos que andan dando balazos por todo San José buscándome, que los entretengan, pero que no les pase nada
- Ok
- y tres... yo te ayudo con tus peces, ¿vale?

El llanto explotó de nuevo, y su abrazo era tan fuerte que sentía sus uñas lastimando mi piel.

Después de un rato el alcohol y las lagrimas la hicieron dormir. La acomodé en el sofá y me fui a la prisión. Alguien tocó a la puerta, era un guardia, me dio mi mochila; mi computadora.

Me senté en el escritorio y voté a un lado la computadora que sonaba a turbina. Sentí en mis manos suaves las delicadas teclas que sólo Apple puede hacer, y me puse a pensar…

Pufff… la señora que habla portugues usa Whatsapp para todo, ¿desencriptar Whatsapp?… hum… el cifrado punto a punto… funciona… pero.. ¿y si manipulo la aplicación de un lado para poder controlar la forma en que la aplicación manda los datos de un lado a otro?.

Cuando se establece la comunicación con Whatsapp web, y leemos el código QR para poder enlazar el celular con el navegador; se generan las llaves privadas.

Intenté ver el flujo para la generación de la imagen con el fin de entender, pero me dolió la cabeza. En general todo se basa en un dato «secret», el cual se comparte para poder compartir la información y la private key para poder cifrar la información de punto a punto. ¡Matemáticas! [inserte aquí emoticón de la cabecita explotando]

El punto es después de ver mucho del tráfico sacando del proxy, se puede sacar las llaves. Lo importante de esto, es que Whatsapo no falló, sino simplemente yo estoy manipulando el comportamiento de la aplicación desde el cliente, en este caso el navegador.

*Probando….*

¡Oh si!

Luego me di cuenta que no era necesario que lo hiciese yo a mano, había una extensión en Burp Suite para poder hacerlo, lo cual lo hacía mucho más sencillo. Podría hacer un MITM interceptar toda la comunicación de Whatsapp y poder obtener las conversaciones de todas las personas en la misma red.

Me conecté a la red… lo deje correr. Pude ver cuando la señora que habla portugues mandó sus primeros mensajes del día… oh diablos, Evelyn.

A varios kilómetros de mi, los muchachos habían encontrado un sitio que parecia sospechoso, entraron y empezaron a catear el lugar en búsqueda de información sobre mi. Sin embargo, cuando todo parecía bien, policías llegaron; lo único que se les ocurrió fue robar un auto verde chillón y salir manejando a toda velocidad.

Todos, casi todos.. pudieron escapar, excepto Chucho… no pudo correr, y fue detenido. Todos el equipo estaba decaído, habían perdido a uno de los más fuertes del equipo. Mientras tanto, seguían sin pistas sobre mi.

Querido Diario…

Puede que sea un bug bounty hunter muy malo, pero si algo puedo hacer, es localizar personas; y como dice la historia, sniffear.

- ¿Glühwein?
- Tú lo serás uno más que yo - lo probé, sabía muy dulce y caliente - ¿por qué traías dos?
- Porque dijiste que estabas a unas calles
- ¿Y me creíste?, alguien normal habría dicho "ajá si, cómo no. Dejado en visto"
- Si algo sé, es que contigo todo puede pasar

Jueves, 19 de Diciembre de 2019: Whiskas

Querido Diario….

Después de haber llenado de cemento a la única pista que tenían para encontrarme, Fab empezó a investigar al guardia. Para ello, intentó primero romper el código de autenticación de su celular para obtener acceso a sus fotos o redes sociales, pero no lo consiguió. Entonces intentó buscar información haciendo uso de la detección de rostros de Instragram, lamentablemente seguían sin encontrar nada.

Mientras tanto yo seguía en lo mío, siguiendo las recomendaciones de Leonel, me había ido por la opción de inentar algo desde las aplicaciones móviles del banco; lo cual pfff.. me hacía sufrir un poco, porque tenía muuuuucho tiempo que no revisaba una aplicación móvil.

Hoy en día, es normal ver que las aplicaciones son completaemente nativas, ya sea para iOS o para Android, pero anterioremente eran en realidad navegadores que consumian vía web la aplicación y lo mostraban al usuario. El mundo había cambiado, y yo no había cambiado con el mundo.

De entre iOS y Android, preferí empezar por las aplicaciones en Android, porque pues coff.. coff.. #android… lo primero que me encontré es que la arquitectura de Android va en capaz, una sobre la otra. Así como se ve en la imagen. No puedo negar que sentí pena cuando vi la palabra Linux, no puedo creer que hayan usado el kernel de Linux para un producto con malo como lo es Android.

Una de las cosas más importantes que se pueden ver en el diagrama, es que Android maneja dos niveles de seguridad; uno proporcionado directamente por el kernel de Linux y otro por Android como tal. Linux maneja los permisos a nivel bajo, como los UID y GID; mientras que Android maneja la seguridad de alto nivel como el acceso a los dispositivos de almacenamiento, permiso de acceso de las aplicaciones a la información del equipo, etc.

Todos estos permisos vienen definidos en un archivo que se llama AndroidManifest.xml, y que es creado por el desarrollador de la aplicación; aquí vienen también algunas otras cosas como la versión de Android requerida por la aplicación, dependencias, etc.

Pfff.. hay otras cosas que tener en cuenta, como las Activities, Services, Broadcast Receivers, Shared Preferences, Intents y Content Providers; pero cuando uno tiene que hackear un banco para mantenerse vivo no se tienen tiempo para verificar todo esto, así que ya iré aprendiendo eso en el camino.

Existen aplicaciones de prueba para aprender, como DIVA (https://github.com/payatu/diva-android); pero… tampoco hay mucho tiempo para detenernos en el aprendizaje, hay que pasar a la acción.

Ya en la acción, lo primero que necesitamos es poder instalar cosas en nuestro dispositivo. En el caso de que estemos usando Genymotion podemos simplemente arrastrarlo y que todo pase magicamente, o podemos hacer uso del Android Debug Bridge (adb); está herramienta nos permite instalar aplicaciones en el dispositivo, debuggear aplicaciones, visualizar los logs de la aplicación, perfilar.

Si queremos ver una lista de los dipositivos que tenemos conectados, podemos usar el comando:

$ adb services

Para conectarnos a un equipo, podemos usar:

$ adb connect [dirección IP del dispositivo]

$ adb -s [dirección IP del dispositivo] shell

Para subir archivos al dispositivo, podemos utilizar:

$ adb push archivo.txt /mnt/sdcard/archivo.txt

Para descargar archivos:

$ adb pull /mnt/sdcard/archivo.txt archivo.txt

Incluso podríamos hacer un backup de la aplicación, algo que @Tania_ me preuntó en la semana:

$ adb backup package_name -f store.ab

Podemos ver los procesos ejecutandose:

$ adb shell ps | grep -i [nombre de la aplicación]

Ver lo que la aplicación está realizando en ese momento:

$ adb logcat | grep -i process_id

Instalar aplicaciones:

$ adb install aplicacion.apk

Desinstalar:

adb uninstall aplicacion.apk

Esto se podría decir que es únicamente para poder trabajar con el dispositivo, lo importante viene en el análisis. En donde lo primero es realizar una ingeniería en reversa, para eso usamos Dex2jar

$ ./d2j-dex2jar.sh aplicacion.apk

En este momento ya podemos trabajar con la aplicación como si fuese un JAR; podems usar JD-GUI para poder analizar la aplicación de forma gráfica. Otra forma es utilizar Apktool, la cual es también utilizada para hacer ingenieria inversa a las aplicaciones:

$ apktool d aplicacion.apk -o /mnt/descompilacion

Eso es básicamente lo básico para poder empezar a trabajar, y de allí… pues un TXT con los dominios de OWASP, como decía El ingeniero: «pues todas las aplicaciones son lo mismo ingeniero, autenticación, autorización, validación de entradas… »

A pesar de que estuve mucho tiempo en esto, aun no había avanzado mucho. Fue cuando tocaron a la puerta, y entraron dos tipos armados; junto a la señora.

- Boa tarde Augusto. Como você vai?
- Ainda é difícil dizer, mas segui em frente 
- Não estou muito animada em ouvir isso ... mas tudo bem, continuarei confiando em você. Tens fome? - dijo minetras indicaba con un gesto que la siguiense

Caminamos hacia un comedor, puesto frente a un ventanal y que daba con la vista al mar. En la mesa había dos platos servidor, me senté en un extremo y con cuidado empecé a comer.

Esa señora era muy extraña, sabía que ella era la encargada de todo, pero aun no sabía que rol jugba aquí. Mientras estabamos sentados apareció una niña, la cual le abrazo y le dijo algo al oido. Estabe en su departamento personal.

- Ela é sua neta? - pregunté
- Sim, é um amor. Tem filhos?
- Não
- Não te agradam?
- Sim, eu amo as crianças. Eu adoraria ter filhos
- Onde você aprendeu a falar português? - empezó a comer también
- Na escola. Eu sempre odiei o inglês, mas precisava de um idioma estrangeiro para me intitular, então escolhi um que não fosse desagradável

Se llamaba Olga, no era turbia e ilegal, pero al fallecer su esposo un día se dio cuenta que todo el dinero del que gozaban venía de negocios muy rentables y poco éticos. Así que se dedicó a hacerlos crecer, algo parecido a la Duquesa, versión tica.

Hace poco, cuando Don R anunció su salida de los negocios aprovecho para acrecentar su poder dentro Costa Rica. Quienes habían secuestrado a Janey eran también sus nietos. Ahora, lo que le interesaba era poder sacar mucho dinero tan rápido como pudiese de los bancos, y moverlo entre sus cuentas de Asia y África.

Había escuchado de nuestra reputación a lo largo de México, y pensó que seríamos una gran opción, dado nuestro conocimiento de Costa Rica. Sin embargo, nunca pensó que intetasemos rescatar a Janey, y mucho menos que me intercambiaria por ella. Al parecer teníamos una versión del riesgo muy distinta.

- Eu tenho informação; Seus meninos estão procurando por você. Ontem eles atacaram a casa segura que tínhamos. Felizmente, para mim, eles não conseguiram nenhuma informação - dijo mientras encendía un cigarro. 
- Hum ... sim, eu assumi. Nós somos o que somos, mas #temosaatitude
- Quero que você entre em contato com eles e peça que desistam, ou não vou responder pela segurança deles. - Mintras decía eso, quitó una sabana que cubría el sofa

- Com todo o respeito, acho que você nos subestima. Vou continuar invadindo o banco, como prometi; mas não posso garantir a segurança do seu gente, nem de você. Nós, mexicanos, somos muito diferentes do que você está acostumado a tratar - me puse de pie, y regresé a mi celda.

Querido Diario…

Cuando volví a sentarme frente a la computadora tenía una llamada perdida. La regresé, era «Amanecer»; nuevamente me buscaba para invitarme a Seattle, agradecí y me paré de la computadora. Fui a tirarme a la cama; quería cerrar los ojos, despertar, ver ese color azul con blanco de las paredes; el aroma a fresco del perfume, el sonido del motorcito, verte durmiendo, abrazarte, darte un abrazo en la frente sin que te dieses cuenta, y volver a decir: que feliz soy a tu lado. Y cerrar los ojos, para quedarme dormido a tu lado.

Miércoles, 13 de Noviembre de 2019: un villano, pero nuestro villano

Querido Diario…

Caminaron hacia los casilleros; empzaron a prepararse. Se colocaron los viejos chalecos; era increíble que aun siguiesen intactos a pesar de nuestras múltiples aventuras turbias e ilegales. Mientras entre ellos se acomodaban los chalecos, los cuales cada vez empezaban a apretarles más; la Señora Esthela les iba pasando uno a uno los rifles.

- ¿Y tú qué o qué?, ¿qué vendes o que anuncias? - la Señora Esthela se me acercó con un Red Bull
- Aquí coordinando las acciones Señora
- ¿Y qué tú no vas a cambiarte?
- Oooooh... tsss.. ¿qué pasó señora?, se me arruga el saco; psss.. si yo tengo que verme acá, ya sabe, como si supiese lo que hago
- Jajaja órale no seas payaso
- Es en serio Señora, ¿qué no ha escuchado que estamos en los tiempos de no más balazos, solo abrazos?, voy a ir a platicar decentemente
- ¿Y entonces por qué todos van a tirar madra%&/()?
- Ahhh psss.. por si las platicas no salen muy cordiales... mejor paseme unas galletitas Señora, unas orejitas, pero de las que no tienen chocolate
- ¿Cuantas?
- Echeme unas diez que no he comido
- Ya vas

Una vez que estuvieron listos todos salimos todos juntos. Fuimos caminando, para estirar las piernas. Mientras caminaba, me preocupaba la situación del cabello de Lalo.

Llegamos al edificio, me presenté y pasamos todos juntos a un salón grande situado en el piso de abajo.

- Mucha gente, muchas armas - me dijo el Comandante
- Soy una persona prevenida - me giré y les indique a todos que se quedasen fuera, mientras me pase

El salón era bastante grande, con una mesa para unas veinte personas, pero el Comandante también ordenó que toda su gente se quedase fuera.

El Comandante me acercó un vaso de bourbon me extendió la mano para invitar a sentarme. Primero se acerqué a su silla y dejé un hoja de papel doblada, que contenía la contraseña de La Condesa. Me senté al otro extremo, mientras daba un largo trago, el abrió la hoja y la dejó a un lado.

- ¿Cómo fue?, ¿MITM?
- Hum... no - suspiré, recordando el cansacio que me había generado el lograr todo - fue un API hooking. No me fue posible hacer un MITM, estar dentro de la red de La Condesa no es sencillo, intenté hacer movimientos laterales para elevar privilegios, pero tampoco pude. No tiene muchos equipos, siempre he creído que las redes pequeñas son más complicadas de atacar. Tenían un end-point en los equipos, usualmente los end-point protegen el lsass.exe, así que, era complicado usar las herramientas usuales. Usando el API hooking, cuando uno se encuentra con privilegios de algún usuario comprometido, es posible obtener las credenciales en texto claro de sesiones de RDP.

Paré mi explicación, y le empujé mi vaso, el Comandante parecía interesado en mi explicación; asi que se pusó de pie y me sirvió más; y me devolvió el vaso.

- Usé MS Detours, odio Frida, por un detalle que tuve hace poco con un banco - me sonreí un poco recordando el sufrimiento de Alicia - sé que no es elegante, pero no me gusta complicarme. Usé un hook para MessageBox()
#include "pch.h"
#include 
#include 
#include

static int(WINAPI * TrueMessageBox)(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType) = MessageBox;
int WINAPI _MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType) {
return TrueMessageBox(NULL, L"Hooked", L"Hooked", 0);
}
int main()
{
// Hook MessageBox
DetourRestoreAfterWith();
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
DetourAttach(&(PVOID&)TrueMessageBox, _MessageBox); // Two Arguments DetourTransactionCommit();
MessageBox(NULL, L"We can't be hooked", L"Hello", 0); // Detach Hooked Function
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
DetourDetach(&(PVOID&)TrueMessageBox, _MessageBox); DetourTransactionCommit();
}
- Hum... se puede usar un API monitor para ver las conexiones

- Viendo las API calls me contré con el CredIsMarshaledCredentialW(), y allí está como parámetro el password.

- Se puede identificar bien por el método CryptProtectMemory, allí se verá un puntero hacia el password. Con el propio API monitor se puede ver que el método se encuentra en una DLL llamada Crypt32.dll, pero eso no es correcto - bebí el resto del bourbon de un trago - en realidad está en dpapi.dll

- Al final sólo hay que asumir que el password se encuentra en una estructura, y debe de estar al inicio, porque no tendría sentido el performance establecer una conexión si no se tienen primero los parámetros para autenticarla; un puntero, 4 bytes.

Después de que terminé mi explicación, el Comandante duró largo tiempo viendo el password, escrito con mi letra; y al final habló

- Augusto... traicionaste a las Gemelas M, a los italianos, a los trajeados, y ahora quieres venir a entregarme a La Condesa, esperando que todos se maten entre todos, y al final yo la aprese. ¿Cómo podría confiar en alguien que hace algo así?
- Hum... no le estoy pidiendo que confié
- ¿Entonces?
- Le pido que sea egoísta. A usted le irá muy bien si detiene a todos estos grupos criminales de forma tan abrupta. A mi me irá muy bien quitándome a los enemigos de enfrente. Seré sincero Comandante, si vengo con toda mi gente armada es porque si usted no acepta, vamos a agarrarnos aquí a balazos hasta que quedé alguien de algún lado, o podemos salir despedirnos con un abrazo y un apretón de manos; y cada quién verse beneficiado uno del otro; hasta que nos volvamos a ver, y tal vez allí no seamos tan amigos.

El Comandante se quedó largo tiempo pensando. Parecía no estar tan convencido.

- Si me permite - y apunte al bourbon, insinuándole quería servirme más. Mientras caminé a la botella, lo revía de reojo - veo que no lo convenzo
- Ves bien - saqué de mi saco otro papel y se lo extendí, el Comandante lo abrió y vio su contraseña escrita en el papel
- ¿Lo debo tomar como una amenaza?
- Lo debe tomar como la pizquita de sal que le haga decidirse

Escuché su respiración profunda y tensa. Podía oler su miedo, lo controlaba muy mal. Entonces se paró, y me extendió su mano para cerrar el acuerdo; le di la mía; y salí.

- Vamos - dije sonriendo a todos, y salimos del edificio.

Estaba en el Red Team viendo Doctor Who, ahora en 4K gracias al Becario y sus cuentas de Mega piratas, cuando Janey se me acercó

- Bien jugado Belindo - me dijo mientras me daba palmaditas en la espalda y se sentaba a un lado
- ¿Revisaste tu cuenta? - le pregunté
- Me llegó la notificación
- Ok
- Me hubieses dicho, apenas lo había comprado
- Quería creer... de hecho, aun quiero creer - pausé el capítulo y la miré - ¿vas a decirme algo?
- Si, hoy escuché algo que me recordó a cuando nos conocimos
- A ver...

Querido Diario…

Había panes de huevo, y <> de frijoles de puercos; sea lo que sea, que sea un frijol puerco; y donas; que me encantaron. Pero escogió el pan de huevo.

- Me gustó la dona, era como azucarada y sabor a canela
- Guacalá. sabe a churro
- Ajá, todo mundo adora los churros
- Odio los churros
- D:

Domingo, 3 de Noviembre de 2019: Un problema a la vez

Querido Diario…

Enrique me dejó en la frente a la puerta, y bajó a abrirme. Al abrir la puerta del coche sentí el frío de la noche y el aroma a jardín. Salí del coche, mientras Enrique acomodaba mi saco, me quede viendo hacía la fuente. El viento golpeaba el agua y me rociaba la cara. Una vez que mi saco estuvo listo, me despedí de Enrique y toqué la puerta.

Abrieron la puerta, salude asintiendo la cabeza y entonces me pasé. Fui conducido hasta un salón grande, en donde estaba La condesa, con algunos de sus colaborares, incluyendo a Patricia, y junto a una silla vacía, Janey, que al verme abrió los ojos de sorpresa… espero, sorpresa buena.

Me acerqué a la silla vacía, mientras le daba a Janey un golpecito en el hombro y le guiñaba el ojo, para darle a saber que todo estaba bien. Me quité el sacó y se lo dí al sirviente.

- Don Augusto - se dirigió hacia mi La condesa.

Se le apodaban así por sus desplantes de riqueza, no tenía mesura en demostrar lo bien que le iba en los negocios; desde que se hacía cargo de ellos. A su esposo, lo habían asesinado hace unos años cerca de Guerrero, y a decir verdad, esos negocios empezaron a ir mejor desde que ella estaba al frente; había sabido diversificar los ingresos, y su violencia era tan fuerte, que sus competidores y socios les temían.

- Condesa, un placer - le salude también asintiendo la cabeza, mientras esperaba me indicase que me sentase
- Un hombre con gustos clásicos, me encantan los hombres en trajes de tres piezas - su mirada me incomodaba, aun no estoy tan desesperado como para tener una sugar mommy, así que sólo sonreí y tomé asiento
- Sirve para cubrir la lonja
- Que bueno que nos acompaña Don Augusto, tenía mucho tiempo que quería conocerlo. Es muy diferente a como me lo imaginé
- ¿Si?, ¿Por qué lo dice Condesa?
- Ya sabe lo que decía José Vasconcelos: "donde empieza la carne asada, la civilización ac... " - interrumpí su comentario discriminatorio
- Descuida Condesa, soy Chilango
- Si, así parece; dígame Don Augusto, ¿le gustaría elegir lo que beberemos? - me dijo, mientras me señalaba la cava

La miré detenidamente, tenía vinos alemanes de los llamados ice wines; extremadamente caros, pero decidí tomar algo más normal. Tomé la botella y se la entregué al sirviente.

- ¿Bebirius? - exclamó La condesa
- Está rico, ne gusta su acidez, además la historia de porque la familia Comenge le dio ese nombre es muy buena
- ¿Ah si?, ¿cual es?
- Bueno, el emperador Tiberius intentó invadir esa región, pero era muy mal conquistador, así que mientras sus tropas mantuvieron el sitio, él se la pasó conociendo los viñedos y las mujeres. En latín, Biberius quería decir algo como "él que bebe el caldo caliente", y bueno... creo que no necesito decir que el caldo caliente no se refiere al vino
- Jijijiji... - rió - que indiscreto

El sirviente empezó a servir, Janey me veía de reojo, su nerviosismo era evidente. Una vez que tuve llena mi copa, golpeé la de ella y le sonreí.

Sirvieron la cena y comí tranquilamente, Janey apenas tocó el plato. El ambiente estaba lleno de tensión, fuera de mi, sólo La Condesa comía tranquila, platicando sobre sus grandes planes; a los que yo únicamente me limite a escuchar. Sus invitados, unos tipos que casi no hablaban me veían de reojo, nerviosos, pero entre ellos sonriendo con complicidad. Debían de ser ellos.

Al llegar el postre vi que venía algo de chocolate, porque aproveche el momento para hacer la salida, el acto y demostrar que no les tenía miedo.

- Condesa, me disculpo por tener rechazar su postre; pero mi chofer está fuera esperando para llevarme a otra reunión importante. Quería únicamente platicar con usted ciertos detalles de nuestra operación, pero sin duda no pude negarme a compartir un momento con usted
- Le agradezco Don Augusto, una lastima que no disfrute el chocolate
- No es mi estilo - levanté la mano y le pedí al sirviente una pluma, en una tarjeta anoté "la está traicionando, búsqueme"

Me puse de pie y me acerque a La condesa, apenas lo hice y los invitados se pusieron de pie en alerta. Así que me acerqué con sutileza y le di la tarjeta

- Le dejó mi tarjeta, una disculpa; hace poco cambié mi número y no he impreso nuevas, pero se lo he anotado - me puse tras Janey para jalar su silla - nos retiramos Condesa; las transferencias por sus ganancias llegarán durante la semana. Si tiene alguna duda, por favor, no dude en buscarme. 
- Le agradezco las atenciones. Patricia, por favor, begleiten Sie unseren Besucher zur Tür und stellen Sie sie in Frage. Es scheint wichtige Informationen zu haben

Retiré la silla de Janey y ella me siguió, cruzamos el salón y a la salida me entregaron mi saco. Entonces salimos y Enrique ya estaba estacionado fuera de la casa. Cuando íbamos a avanzas, hacía la libertad, Patricia nos detuvo.

- Augusto
- ¿Dónde quedó el "Don"?, ¿ya no hay respeto?
- Hum... ¿qué es lo que tienes?
- Esos dos de allí, son quienes están traicionando a La Condesa
- ¿Ah si?, ¿tienes pruebas? - saqué mi celular y lo mostré una screenshot tomada de un Excel - ¿Cómo la obtuviste?
- Abuso de archivos SYLK
- Explicate
- Los .slk son archivos que existen desde 1980, y hasta ahora siguen siendo mapeados por Excel por defecto, incluso por las versiones de OS X, que son las que usan ellos - quise recalcar OS X - lo más importante de estos archivos, es que la protección del view sanbox no aplica para ellos; como para las Macros comunes, eso los hace perfecto

- Cuéntame más - Patricia estaba poniendo atención, mucha... desde que dije OS X
- Es posible crear archivos SYLK con payloads dentro, puedes tomar, si gustas, el ejemplo más sencillo; abrir una simple calculadora:
ID;P 
O;E 
NN;NAuto_open;ER101C1
C;X1;Y101;EEXEC("CALC.EXE") 
C;X1;Y102;EHALT() 
E
- Después de eso, cargas el archivo y ejecutará. La calculadora es el inicio, después de ello, sólo es dejar correr tu imaginación, y planear la forma de entrega. Como sabes, las shellcodes son mi especialidad.

- Lo mejor de todo - enfatice nuevamente - OS X puede aceptarlas, pero no sólo eso, la versión de Office de OS X tiene un falló que no lanza el warning sobre la existencia del SYLK. Y debido a que Microsoft ahora apuesta sólo por versiones en la nube, no le da mayor soporte a esta versión. 
- ¿Antivirus?
- Nada, es válido... podrían detectarse si encuentran algo raro en la shellcode, pero se pueden ejecutar muchas cosas sin lanzar un binario
- ¿Qué propones? - Patricia había entendido
- Comparte está información con La Condesa, para que sepa con quienes se sienta a compartir la mesa, no siempre estas rodeado de amigos
- Bien, ¿ustedes?
- Nosotros seguiremos con nuestro trabajo. Janey mañana se presentará en Querétaro, y las ordenes de compra y pago se generarán; de eso me encargo yo
- Buenas noches Augusto, eres todo lo que cuentan 
- ¿Macho, mujeriego y vividor? - mostré una leve sonrisa
- Egocéntrico, cínico y descarado

Se giró y entró a la casa. Janey me tomó del brazo y me lo apretó, como diciendo «corramos ahora que podamos». Apenas unos minutos más tarde escuchamos los disparos; entonces me giré y la empujé a subir al coche.

- Enrique, vayámonos a la H. Organización Turbia e Ilegal
- Si Augusto

Después de un tiempo, al fin Janey habló

- Buen ataque
- Hum... nah, trucos; son simples trucos
- Jamás pensé que esos tipos estuviesen traicionando a La Condesa
- No lo hicieron - Janey me miró confundida, sus ojos se abrieron como platos
- Pero, tú... 
- Estabas tan nerviosa que no te diste cuenta la marca de sus mochilas - la miré y le mostré mi insolencia - Alienware; se veían todos ñoños, los ñoños usan Alienware, Asus, Thinkpad, cosas gamers... sólo la gente con estilo usamos Apple
- Pero... 
- Patricia, ella tenía una Macbook sobre la mesa
- ¿Ella?
- ¿No la recuerdas?
- No
- Que raro, trabaja para una de tus amigas
- ¡Mi tocaya!
- Así es, las Gemelas M; ellas son quienes están traicionando a La Condensa. 
- Pero, ¿por qué no se lo dijiste a La Condesa?, ella ya las habría matado
- Las Gemelas M son pequeñas, más o menos como nosotros; esos tipos se veían pro, son al menos unos setecientos, La Condesa los quitará de nuestro camino
- ¿Y Las Gemelas?
- Después de que Patricia les diga lo que le dije, sabrán que lo sé, es una advertencia; eso las mantendrá a raya
- ¿Y si no?
- Ya veremos, un problema a la... - Janey me interrumpió
- ... a la vez; es de las frases que siempre dices que más odio
- Lo siento, no soy multitarea....
- No estoy segura de que haya sido buena idea
- Dejaremos los negocios turbios, los demonios y todas las cosas que no sabemos hacer. Dejaremos todo y nos dedicaremos a lo que si sabemos hacer, y usaremos lo que si sabemos hacer
- ¿Y qué sabemos hacer?
- Sabemos tener más información que los demás, siempre... eso es lo nuestro, siempre saber todo de todos.

Querido Diario…

Enrique paró en la H. Organización, bajé para subir al coche alienigena y le pedí llevar a Janey a su casa. Tal vez Janey no lo entendía, pero es mejor tener un enemigo pequeño que puede ser vencido, a un aliado grande, que en algún momento nos puede comer. Somos nosotros, contra todos.

Mi teléfono comenzó a sonar… era Mom

- Bueno
- ¿Qué onda?, ¿cómo estas?
- Bien
- Que bueno, ¿cómo salio todo?
- Bien, como te dije
- Excelente. ¿Y el otro encargo?
- Listo, desde una VPN con IP arábe
- Excelente

Colgué.

Viernes, 23 de Agosto de 2019: Julia Augusta

Querido Diario…

Me desperté sobre las 3am, sudando… estaba a nada de gritar, apenas vi una sombra y me asusté; sin embargo era Shellcode que me miraba preocupada, intentando saber porque me había despertado tan exaltado. Todo había sido real…

Después de todo lo que he vivido, pensaría que mi mayor miedo es a que un coche se me patine en medio de una autopista, me quede en medio de los carriles y un trailer venga hacía mi, o que de pronto me encuentre unos tipos de sombrerito rojo y me empiecen a disparar; o que yo vaya tranquilamente caminando cuando unos tipos güeros me secuestren y me torturen hasta morir de dolor… pero no, mi temor más fuerte; es reprobar.

Soñé que regresaba a la escuela, tomaba clases, y reprobaba. Sentí el mismo miedo que me daba ver las listas de calificaciones, o cuando cerraba los ojos y le decía a alguien más: «tú ve mi calificación, yo no quiero ver, si pasé grita, si no pasé, sólo ciérralo y no me digas», soñé esas tardes en donde un maestro decía «bien, sacaste 4» y yo decía «ohhh que bien, aun puedo pasar», y después decía «de 100» y yo decía «oooooh que mal»; o ese día en UPIBI cuando saqué -7 en un examen. Dos veces he soñado que vuelvo a la escuela, y nos veces he despertado aterrado, con miedo y ganas de vomitar el pánico.

Por eso un día, ¡un día! yo seré maestro… y me vengaré de todo lo que me hicieron. Voy a reprobarlos a todos, apenas respiren y estarán en ETS, si antes era obligatorio que pasase una persona por grupo, yo voy a hacer que pasen cero.

Después de bañarme y darme cuenta que sólo era un sueño; me dispuse a trabajar en la H. Organización Turbia e Ilegal, sin embargo no duré mucho tiempo, cuando recibí una llamada, que sólo podía significar algo:

- Bueno - Primeishooooon
- ¡Oh rayos!, ¿ya?, ¿ya?, ¿hoy es el día? - respondí lleno de emoción
- Ya se está saliendo el champurrado
- OMG, OMG, OMG... <<quemocioooooon>>
- Primeishon, si no despierto, sólo recuerda, que te odiaré toda mi vida por no haber ido al baby shower
- Si no despiertas, iré yo mismo en persona al infierno; y te voy a picotear con el tridente por no abrir los ojos
- Deséame suerte
- ¡Suerte!, dale duro; si se desmaya el barbón, le tomas foto para luego burlarme de él
- Dale

¡Qué emoción!, recuerdo las veces que ella me decía que nunca, y yo al contrario; le decía las tantas ganas que quería unos 10… tal vez ahora mismo ya todo haya pasado.

Me di cuenta que no me estaba concentrando, así que fui a comer la cosa más extraña que he visto desde el chile en nogada relleno de comida china, un chile en nogada de carne de cerdo. En el norte se come carne, comida china, pero… la comida compleja, llena de especias, sazón y garnachera… no; eso no es por aquí. Lo que eso si, el maridaje estuvo muy bueno; mi favorito.

Beberse una botella de vino completa, tiene sus problemas… como llegar tarde a tus citas:

En fin, no es bueno beberte una botella tú sólo. Después, pues seguí sin poder concentrarme, así que decidí jugar un rato.

Me encontré una aplicación que hacía uso de un CMS, Drupal…. ese CMS famoso que un montó de gente del Mexicali Open Source usan; y que no entiendo porque. Vi algo que se me hizo interesante, ya hace algunas semanas otro bug bounty hunter había reportado una vulnerabilidad sobre información sensible, por lo que estaba en la tabla de cambios, el «fix» de esa vulnerabilidad. Acorde a las notas, la forma sencilla en que lo resolvieron fue remover de la ruta la información sensible, pero ¿y el endpoint?.

Esta aplicación tenía el caching system por default, y lo pude identificar facilmente porque en el header viene un campo:

x-drupal-cache

Lo que hice fue poisonear el cache para inyectar una testing string para un XSS, para hacerlo lo hice directamente en el header.

El XSS fue almacenado, y se reflejada directamente… como se puede ver en la imagen, la testing string no era compleja ni nada… una inyección «sencishita».

[Inserte aquí meme de la rana rene]… a veces veo mis bounties y creo que es tiempo de dejar de trabajar.

Pero luego recuerdo ese sitio de 2m x 2m, donde tuve que dormir con cucarachas, sin ventanas, y sudando por lo caliente de la habitación; y pasar meses en la oscuridad, sólo esperando a que pasasen los días rápido… y se me olvida.

Ser un criminal turbio e ilegal… eso es lo único que puedo hacer por aquí…

Antes de finalizar la tarde, platiqué con Alonso

- ¿Y ese quién es? - me preguntó, un poco receloso de que lo pudiese desplazar
- Hum... alguien que creo que ya enamoró a Mom
- ¿Y si es todo lo que dice ser?
- Por lo poco que lo he investigado, lo dudo... 
- Hum.. siendo sinceros, así como que no quiero saber. ¿Estoy en peligro? - me sorprendió su sinceridad, creo que empieza a haber confianza y complicidad
- No, tú no... pero creo que yo si... y con los errores recientes que he tenido... pues... 
- Hum.. a veces ocurren accidentes, puede que yo llegue a la reunión con Mom
- Cierto, a veces ocurren accidentes... se vería muy mal que yo hiciese algo para evitar esa reunión, pero... eso no quita que ¡alguien!, por allí pudiese evitar la reunión. Los accidentes suceden
- Pues si...

Querido Diario…

 - ¿Gü$%&/ cómo lo conociste?
- En un viñedo, en Querétaro
- ¿Cómo?, ¿La loca?
- Otra loca, habían ido a un maratón o algo así; y yo me quedé en la noche esperando. Así que compré una caja de vino para esperar, dejaron de vender y todos me intentaron comprar botellas, platiqué con ellos y de pronto ya eramos amigos
- ¿Y él era el que le hacía las canciones?
- Si
- ¿Cómo puedes conocer famosos así como así?, ¿o sea cuando Belinda?
- Yiuck nah, esta fea

Y al final de la noche… pasó…

Martes, 13 de Agosto de 2018: Esto no se factura joven

*Extraído del diario de Lalo Landa*

Estimado diario.. el Uber nos dejó cerca de la calle, desde allí nos conectamos a la red; y dentro Aldo hizo el escaneo hacia el Apple TV. Una vez que los Apple TV encendieron, entramos usando hydra con la contraseña por defecto a las cámaras de seguridad. Primero entramos para sacar la forma de autenticación por donde podríamos loguearnos.

Para poder acceder a la administración, se podía usar autenticación básica.

¡Perfecto!, podíamos lanzar directo un Hydrazo sin necesidad de complicarnos en las formas:

Una vez que estuvimos dentro, ingresamos a cada una de las cámaras a crear los layers para crear los puntos ciegos y pasar sin que nos viesen los matones de La loca.

Si hubiesen sido detallistas, se habrían dado cuenta que la visión se había reducido en más o menos 30cm en cada una de las pantallas. Pero no lo hicieron, así pudimos entrar.

Mientras Aldo y yo cambiábamos las contraseñas de las cámaras, para evitar que se diesen cuenta y nos encontrarán. Alonso, Krusty, Isaac y Sergio entraron, durante un momento todo fue silencio, pasaron alrededor de 10 min en los que no se escucho nada, en las cámaras no vimos nada, y de pronto… dos disparos, y no más. Se había acabado. Aldo y yo entramos apuntando a la sala, todos los guardias estaban inmóviles.

Con la mirada y a regañadientes, nos iban guiando con la mirada hacia donde estaba Belindo; al entrar vimos un delgado hilo de sangre corriendo por el mármol, proveniente de los dos guardias de La loca, que ya hacían en el suelo sin vida. Alonso había dado dos disparos certeros; La loca estaba sentada en el sofá, aun amenazada por dos rifles R15, nos veía de forma retadora.

- ¿Dónde esta A[...]o? - preguntó Alonso, serio, sin titubea

Con la mirada mostró una puerta de madera, me apresuré a abrirla mientras Aldo reforzaba la guardia, con miedo a que de pronto entrase alguien a intentar asaltarnos. Entonces lo vi.

… no puedo describirlo sin sentir un agujero en el estomago.

Estaba sentado en un banco, tenía los brazos amarrados a las patas; estaba completamente desnudo; la espalda la tenía roja, parecía como si se hubiese quemado, aunque él no era blanco. De arriba una pequeña luz lograba iluminar apenas una parte de la espalda. Por los brazos ligeros hilos de sangre recorrían de la espalda hasta desaparecer entre el agua.

Al cortar los lazos que lo aferraban al banco, lo vi a los ojos. Vi a un muerto, los ojos no tenían brillo. Sus ojos me miraban fijamente, pero no parecía que lo hiciese, su mirada estaba perdida, abrió la boca, pero no emitió sonido alguno, ni siquiera un gemido, un ronquido, nada.

Lo saqué cargando, no tenía fuerza para ponerse de pie; simplemente lo arrastraba. Al salir, tomé el mantel de la estancia y lo cubrí con él; La loca me vio mientras lo sacaba, todos me vieron sacarlo. Vi en Krusty, quién ha visto cosas terribles en esta H. Organización Turbia e Ilegal, una mirada de miedo, de culpa… jamás pensamos que le podría pasar algo así.

Isaac le amarró las manos a La loca por la espalda, y entonces estábamos por salir, pero un sonido al fin salió de sus labios

- Candia - dijo lastimosamente
- ¡Joven!, calma... ya estamos afuera, ya nos vamos
- No... acción, acción
- No se preocupe joven, tenemos todo planeado, ahorita el Becario va a publicar la localización de ellos a sus enemigos, los van a venir a finiquitar, justo como tú lo harías
- No.... no... 
- ¿No?
- ¡Mátalos!
- Joven
- Mátalos... disparales por la espalda, como cobardes, mátalos... 
- Joven, yo creo qué
- ¡Es una orden! - gritó... Alonso miró a Isaac y Sergio, y les asintió con un gesto; Isaac por detrás le puso el rifle a La loca; y el blanco del tirol de la sala, se tiño carmesí.

Estimado Diario…

Cuando le contamos a Mom lo sucedido, nos pidió llevarlo a una de sus fincas cerca de Querétaro. Mientras, nos coordinamos para establecer guardias, en caso de que hubiese un contrataque, pero no lo hubo, nadie apareció. Pocos días después vimos en las noticias como fueron detenidos y desmantelados todos los activos de La loca.

- Joven, a ver, ¿qué es esto? - me dijo Señorita RH
- Pues del Uber
- ¿Y esto?
- Pues la caseta, el segundo piso, psss.. si salió bien caro
- No joven, esto lo vamos a poder pasar, y luego, ¿por qué Uber Black?
- Psss.. porque necesitábamos una camioneta, éramos seis y con equipo
- Huuuuy no joven, pues hay que ahorrar.. ¿y esto?
- Pues pasamos a comer, nos cansamos
- No joven, ahorita le hago las cuentas para que vean cuanto deben
- ¡¿Qué?!, ¿deber?.. chaaaaaaaaaa

Viernes, 9 de Agosto de 2019: Vídeos de gemidos nivel avanzado

*Extraído del diario de Lalo Landa*

Estimado Diario…

Después de votar por rescatar a Belindo, nos pusimos a discutir el plan, por todos lados, teníamos las de perder; no encontrabamos forma de sacar a Belindo sin que perdiesemos al menos a toda la H. H. Organización Turbia e Ilegal.

Después de todo el análisis, sacar a Belindo implicaba una misión suicida. Finalmente rompí el silencio.

- Yo creo que hay que ser realistas y no arriesgarnos todos, debemos de ir los que más experiencia tenemos
- Concuerdo - dijo Alonso - de nosotros creo que va Krusty, Isaac y Sergio 
- Ahhhh... demonios - dijo Sergio al saberse elegido
- Nosotros somos muy pocos - dije - supongo que vamos todos menos Aldo
- Yo voy - dijo Aldo
- ¿Ee?
- Es el jefe, hay que sacarlo - dijo Aldo muy confiado - hum.. yo creo que vamos sólo nosotros dos Lalo 
- ¿Eh? - estaba perplejo 
- Entonces creo que hay que pensar como profesionales - dijo Alonso de forma muy pensativa - hay que pensar como, hum.. como, como Oscar Santoyo, ¿qué haría él?
- Inge, hum.. yo no creo que el Inge Oscar hubiese caído en una situación así - interrumpió Krusty
- Si, eso es verdad, Oscar no estaría secuestrado, en ese caso nosotros tendríamos a la loca secuestrada - dijo muy, muy acertadamente Alonso 
- Entonces hay que pensar como pensaría Belindo - pensé y pensé, ¿qué haría Belindo
- Güe%&/( Belindo pondría un canal porno con gemidos o algo así - dijo Janey
- Como distracción y entraríamos en ese momento
- ¿Cómo podemos poner un canal porno? - cuestioné
- Hum.. según la información que nos dio el buen Sergio, en su red tiene Apple TV's conectados a las televiones, que seguramente usan para monitorear las cámaras
- Ajá
- Pues, podemos encender el Apple TV y ponerles el canal, los distraemos, en ese momento entramos, configuramos un layer en las cámaras, seguirán teniendo visión, pero generaremos puntos ciegos por los que entraremos y ya que estemos dentro, pues.. haremos lo que sea que se hace cuando estemos dentro - dijo Aldo mientras encendía un cigarro
- ¿Y eso como se puede hacer? - preguntó Alonso
- No es tan complicado, mi buen Alonso, sólo necesitamos lanzar un scaneo de nmap con un -sV, algo como:
nmap -sV [IP del Apple TV]
- Eso nos va a responder sus puertos:

- ¿Y ya con eso?
- Si, es un error que tienen los Apple TV's, si nos pusiesemos a analizar que pasa veríamos que en algún momento hay una interacción donde el puerto 5000 recibe una petición que hace encender el Apple TV

- De hecho, podemos poner directamente la request con Telnet y obtendríamos las opciones para hacer funcionar el Apple TV

- Para hacerlo más sencillo nos conectamos a la red, lanzamos un script, prendemos el Apple TV, ponemos el canal porno; y mientras ellos están confundidos, entramos a las cámaras que tienen contraseña por defecto, ponemos el layer y listo. Podemos entrar sin ser vistos.

- Tenemos de tiempo para hacer eso en lo que ellos buscan que pasó; unos minutos y listo. 
- Suena a un buen plan - Alonso dijo meditando detenidamente
- Suena a algo que Belindo haría - aun así quedaba la duda de que haríamos estando dentro - ¿y luego adentro qué?
- No sé, allí ya ustedes saben mejor que yo la parte de los ¿cómo?, tehuacanazos, como dice el buen Augu[...]to
- Ok - pues vamos
- ¡Vamos!

Estimado diario…

Era una idea tonta, pero problemas desesperados, acciones desesperadas… pusimos música de misión imposible, y nos alistamos para ir por el H. Belindo.

- Señorita RH
- ¿Qué pasó joven? - le puso pausa a la serie que estaba viendo en Netflix
- Vamos a ir a rescatar a Belindo.. es una larga historia, pero lo tienen secuestrado, probablemente torturado, y también puede que ya este muerto. Pero, somos buenas personas y aun así daremos nuestra vida por ir a rescatarlo. ¿Nos puedes prestar el coche?
- Huy joven, pide mucho
- ¡¿Es en serio?!, es Belindo
- Hum.. déjame checarlo con mi jefa

Al final nos mandaron en un Uber, que espero me facturen… pero así fue como al fin íbamos con toda la actitud a rescatar a Belindo

Jueves, 20 de Junio de 2019: Dame una señal

Querido Diario…

Esstaban Lalo y Lalo 2 alias el Becario que no es becario viendo un video en YouTube:

- Hum... me recuerda a Belindo
- Pero Belindo no ha tenido éxito
- Pues no, pero ese sería si le fuese bien
- Hum... me pregunto como seguirá, deja le marco - Lalo me marcó, pero la llamada no entró, después de un tiempo, se iba al buzón - hum.. que raro, no me contesta
- Eso es malo, ¿no?, quiere decir que ya se lo pozolearon
- ¿Crees?
- Sonaba preocupado
- Ese joven jamás se ve preocupado, deja trato de nuevo - volvió a marcar, pero yo no podía responder, estaba un poco lejos del celular - ¡demonios!, ¿sabes Becario?, tal vez esto sea bueno, además, en nuestra defensa, no teníamos forma de saber en donde estaba
- ¿Y si en vez de un UF era un simple proxy web lo que le pusieron en frente?
- ¿Y eso qué?
- Pues... si es un proxy web pudieron haber sacado por allí sus conexiones de Whatsapp, y mandarlas a la IP de Gracia
- Pero, mandaría un error de certificados, ¿no?
- No si con un self-XSS le hicieron instalar el certificado del proxy, es como cuando bajas el paquete, le cambias la ruta del certificado y lo recompilas; va a funcionar, porque es el mismo que trae
- Becario, ¿cómo sabes todo eso?
- Pues, ese joven me lo dijo un día, así hackeo Instagram
- ¿Belindo te contó como hacer eso?
- Pus más o menos
- ¡Becario!, ¿sientes eso?
- Ohhhh ¿qué pasó joven?
- Hablo en serio Becario, ¿no sientes como que un angelito que nos dice que tenemos que salvarlo?
- Ahhhhh.. pues, no sé joven, no la hemos pasado muy bien durante su gobierno
- Hum.. podría ser peor Becario, obvio podría ser mejor, pero; podría ser peor... ¡Becario!, localizate ese servidor web

Becario buscó el servidor, y en efecto, era sólo un proxy, no parecía estar asegurado o algo así, era sólo un proxy web, ¿sería que todo lo estaban tuneleando por HTTP?

- Joven, no le encuentro nada, ya le tiré un nmap -A y pus no sale nada.
- Hum.. tal vez usando redirecciones con Burp Suite
- Paso, yo no sé hacer eso
- Hum...

Lalo abrió Burp Suite, fue al tab de Proxy, luego opciones, y al final configuró unas redirecciones para cuando detectase algo dependiendo del user-agent. Esa era una forma muy sencilla que utilizaban los desarrolladores para poder identificar el dipositivo desde donde alguien hacía un request, y muchas veces cambiaba el comportamiento de una aplicaciones dependiendo del dispositivo.

Pero este truco, además de eso, podía encontrar en algún momento errores de autorización que le permitiesen a Lalo encontrar alguna ruta extra que no se vería sola, por ejemplo; un post de este tipo:

POST /api/getUserDetails HTTP/1.1
Host: proxydelosnarcos.bigshot.beer
Cookie: mycookies

{"user":"123"}

Obtuvo una response como está:

{"data":{"currentUser":{"userData":[
{"userLevel":READONLY,"subscriptionLevel":"BASIC"}
]}}}

En el response viene el «nivel» de usuario, Lalo hizo un simple cambio:

No funcionó, entonces hizo otro cambio:

HTTP/1.1 200 OK

{"data":{"currentUser":{"userData":[{"userLevel":ADMIN,"subscriptionLevel":"PROFESSIONAL"}]}}}

¡Woala!

Lalo entró a una pequeña consola, y allí vio una IP localizada en Mexicali, era de Izzi y bueno, coff.. coff.. ¿Izzi?, ¿por qué alguién usaría Izzi?…

- ¡Becario!, lo tengo
- Hum... ¿qué hiciste? - Lalo le explicó el pequeño truco de la sustitución, paso a paso, hasta como llegó a mi - Joven, eso suena tan incoherente que suena a esas cosas raras que luego Belindo hace, cuando ya todos perdimos la fé en él, y de nuevo vuelve a engatuzar a todos, y allí vamos como mensos para confiar en él, ¿dónde aprendiste a hacer eso?
- No sé, sólo se me ocurrió
- Joven, ¿no será que al H. Lugarteniente ya se lo quebraron y te está hablando desde el más allá?
- Naaaaaah.. pero hay confirmar - y empezó a gritar - ¡Belindoooooo!, ¡Belindooooo!, si eres tú, mandanos una señal

Y de pronto, en la radio empezó una canción:

 

Lalo y el Becario se quedaron asustados, sintieron un aguejero en la panza; y sintieron una sensación extraña que no habían sentido antes, ¿remordimiento?, ¿acaso yo estaba muerto ya?

- Joven, tal vez no debí de haber visto esa serie en YouTube
- Tranquilo Becario, ese joven tiene mucha suerte, los dioses jamás lo abandonarían

Lalo fue por su celular y marcó a la Organización Turbia e Ilegal

- ¿Fab?.. joven, te tengo un trabijo
- ¿Qué tranza chavo? - respondió Sergio desde las instalaciones de la Organización Turbia e Ilegal
- Necesito que me localices todo lo relacionado a esta dirección IP de Izzi, quiero mapas, fotos, nombres, todo, vámos para allá

Dos horas más tarde, después de pasar por una torta, Lalo y Becario llegaron; estaban todos reunidos, pero el primero en recibirlos fue Alonso

- ¿Qué tranza?
- ¿Encontraron donde esta Belindo? - preguntó Lalo
- Si, ya tenemos todo - dijo Sergio mostrando su pantalla
- Pero, hum... creo que tenemos que pensar muy bien antes
- ¿Por?
- PUes... hum... estuvimos analizando las fotos, y entrar allí requiere de mucho esfuerzo y hum... pues... no creo que regresemos muchos
- ¡Qué encandalo!, pero es Beli, no lo vamos a dejar, ¿verdad? - intentó Paola hacer entrar a todos en razón
- El Inge Belin... digo A[...]o siempre nos han brinda su apoyo, yo creo que hay que corresponde igual - Krusty levantó la mano
- Hum... hace no mucho vi que hizo un checkint en Torre Loghar - dijo Joshua - creo que, eso se considera traición
- ¿Recuerdan cuando vomitó la labadora de Nemux?, porque, sino recuerdan, yo tengo fotos - Becario fresa no me estaba ayudando
- Hum... el Inge tiene buenas ideas, pero aahhh,, chiaaaaa... bueno, cuando se lo llevaron a la cárcel, casi me divorcian - ¿Erick?... yo confiaba en ti
- ¿Oscar, Alfred?
- Hum... ¿cómo dicen que se llamaba ese que antes estaba de él? - preguntó Alfredo
- ¿Oscar?
- Ouuuu ese sujeto era un gran tipo - dijo Lalo ... u.u
- No sé, dicen que era bueno ¿no? - Alfredo creo que tampoco estaba muy de mi lado
- ¿Oscar? - lo miraron todos
- Hum... Bytevik me dijo que nunca confiará en él... este.. jejejeje - su risa nerviosa hizo que todos entendiesen su voto
- Pues entonces, creo que tenemos una solución ¿no? - Alonso miró hacia todos, creo que me habían sepultado - así es la democracia, Belindo nos enseñó eso, ser una dictarura democrática... Karen, ¿tú tienes algo que decir?
- Hum.. chaaa.. es que ese gü%&/(... yo diría que pues si, la neta si, vamos a armarla de ped%&/() y sacarlo, pero vale ma%&/ pin$%&/ Belindo, me pusó a exponer, no ma$%&/( g´$%&/ todos los días desvelada, ¿y me pone a exponer?, nel a la ver$%&/( golpe de estado - D: ¡Janey!
- Pues entonces si no tenemos argumentos a favor... pues... creo que
- Hey - Lalo interrumpió a todos, ante la sorpresa de todos..

Supongo que Lalo dijo algún buen comentario sobre Oscar Santoyo y como he pirateado sus documentos una y otra vez.

Querido Diario…

Estaba sentado, en un sillón, mis manos temblaban, pero no podía moverlos, sentía ardor, dolor, mientras el agua humedecía mis pies descalzos y el frío helado del agua molestaba en los pies.

- ¿Te puede?
- Hay tipos de dolor más fuertes que este - tartamudeaba al hablar, el dolor era enorme
- Te resistes
- Dime, ¿recuerdas esto? - me pusó una foto frente a mi, mi mirada se convirtió en odio, en dolor
- Si
- Dime, ¿qué sentiste en el taxi al volver?
- ¿Sabes?, la madera es buena, pero... si humedeces un poco más las toallas y me golpeas con un tubo me va a doler más

Se rió, me miró… no le iba a dar el gusto de obtener respuesta alguna de mí. Sentí como alguien detrás me pusó una toalla en el brazo, luego el golpe de la tabla… el dolor era tan grande, que la garganta me dolió del grito de sufrimiento que dí. No era la primer vez que me hacían esto…

 

Lunes, 3 de Junio de 2019: Complicidad más vulnerabilidad

Querido Diario…

Eran apenas las 5am, en Domingo… cuando recibí un mensaje.

¿A quién se le ocurría lanzar una amenaza cobrando bitcoins en Domingo?, ¿qué no duermen?… pues yo si dormía, cerré los ojos y me quedé perdido sobre la panza de Shellcode.

Soñé que estaba en un puente, en un muy puente muy largo, que se me hizo parecido al de Monterrey… sentía miedo, no sentía fuerzas para poder despertar, e intentaba aferrarme a seguir durmiendo. Cerraba los ojos lo más que podía, pero… al final no lo conseguí, abrí los ojos y desperté.

Qué tan diferente era a esos días en los que me quedaba a dormir, después de comer copiosamente; feliz, tranquilo… la suavidad del sofá, la alegría con la que limpiaba… por la simple ilusión. Ahora sólo era dormir, dormir para no vivir.

Tenía esa sensación de miedo, de vació, de soledad y de tristeza. Entonces volví a tomar el celular y vi el mensaje, era momento de actuar. Para ser sinceros parecía una amenaza un tanto aleatoria, pero no podía dejarlo pasar, el problema de ser personas turbias e ilegales, es que siempre hay que cerciorarse que las cosas se hacen siempre en orden. Pedí acceso al servidor de correo electrónico y me di cuenta que la dirección venía por parte de Tor.

Eso me hacía creer que era aun más falsa la amenaza, ¿por qué alguien profesional haría una amenaza haciendo uso de Tor simple?, al menos un túnel sobre túnel se podría, pero sólo una me llevaba más a una farsa.

Se «dice» que Tor es una forma anónima de poder navegar sin que seas reconocido, ¿de verdad?, hum… coff.. coff..

Verifiqué el user-agent en los logs del correo electrónico, y en efecto; se estaba conectando con la versión de Firefox modificada para ser usada con Tor, como Tor Browser, de esa forma pude saber que hacía uso de TOR SOCKS5.

Después de eso sólo esperé la navegación normal. Usualmente las personas creen que si se conectan a un servidor de correo electrónico, todo va cifrado, pero la gente se sorprendería que incluso la autenticación o la reautenticación puede ir sin cifrar. Lo único que hay que hacer es enviar un 301, a través de un nodo falso de Tor, y sólo a esperar.

Unas horas después lo tenía… había sido una amenaza al azar, proveniente de una universidad, había explotado un open relay, y eso era todo.

Querido Diario…

Puse dos bolitas de melón, una rodaja de pepino y perfumé un poco la copa con una cascará de limón, puse mucho hielo raspado y al final le puse un chorro de agua tónica y un chorrito de ginebra. Di un trago grande… exhalé el sabor frutal y seco…

- Complicidad, más vulnerabilidad... - lo pensé, pero lo dije.

Un mensaje me llegó:

- ¡Joven
- ¿Qué pasó joven?, ¿ya esta el asuntito?
- Ots, ya vamos de regreso
- ¿Supieron algo de él?
- No
- ¿Familia?
- No vimos fotos
- ¿Las buscaron?
- Joven... focus, ¿cuando te han lastimado las personas se detienen a ver si te van a hacer daño o no?
- No
- Bien, esta muerto
- Gracias