Lunes, 20 de Enero de 2020: Brr… brr…

Querido Diario…

La última vez que vi nieve confundí un barco con un edificio; no era como ahora. Nadie sonreía, yo te escribía porque pensé que sería la última vez; y vi las auroras boreales, que tanto me gustaron, y que tanto me gustaría mostrarte; y por eso te dije que viajásemos un día a Islandia.

La nieve aquí no es igual, es cálida, es alegre. Chloris y yo pasamos la tarde haciendo a Olaf.

Los chilangos no estamos listos para estas temperaturas.

Querido Diario…

Son las 3:36am… desearía que la noche termine, que el día sea corto; y mi vida efímera. Desearía haberme perdido en esa nieve de Tobolsk.

Te extraño.

Jueves, 16 de Enero de 2020: Insominio

Querido Diario…

No había dormido nada en toda la noche… en todas las noches que llevó aquí, en todas las noches que me fui, y desde que volví… estos días es un poco complicado explicar que hago durante el insomnio…

Hay algo que me tiene un poco traumatizado, no puedo poner screenshots, pero imagina que te autenticas a una aplicación, y la aplicación que genera una sesión tipo:

{"session":{"access_token":"2-291009-761399659-EwOps5gDpm2s4U"}}

Luego mandas la petición con la que te autenticas, al Repeater de Burp Suite, y generas otras sesiones más… las que tú quieras:

{"session":{"access_token":"2-291009-761399659-5g5AfP5A83DNXT"}}
{"session":{"access_token":"2-291009-761399659-uYE5bTk5mJTaeB"}}

Y luego te que le diste «Send» y «Send» y más «Send»… te autenticas normal con el browser:

{"session":{"access_token":"2-291009-761399659-cwzw1LWUuouT9B"}}

Ahora… pues analicemos un poco de la estructura del token. Primero tenemos un ID, que básicamente nos da el nivel de lciene que tenemos, luego nos da otro ID que aparentemente es la región del usuario, luego nos da el ID de usuario… lo cual desde aquí es interesante, porque ese ID de usuario es el nombre de usuario para ingresar a la cuenta; y finalmente nos da un token alfanumérico.

Es decir, tenemos varios datos estáticos y finalmente unos que no son estáticos que podemos, con el mismo generador de tokens de Burp Suite, probar para generar otros.

Tú me dirás, y el equipo de desarrollo de la aplicación: «¡Ahhhh… vas a querer intentar generar tokens de sesión aleatorios para conectarte!, pues no; eso no es una vulnerabilidad».

¡No!, la vulnerabilidad que reporté no era esa. La vulnerabilidad que reporté es que yo estoy generando varios tokens. Cada sesión, para un servicio como este, debería de tener un único token, y al momento de crearse otro, destruir el anterior y así hasta que siempre tengamos como máximo uno. ¿Por qué?, si yo cierro el token o cierro el browser con el tachecito, la aplicación me mata la sesión, perooo.. sólo la última; es decir, todas las sesiones anteriores se quedan abiertas. ¿Qué origina esto?.

Imagina ahora que esta es una aplicación con ¡millones!, no miles, ¡millones de usuarios!. El usuario tiene la sesión cerrada, yo mando a llamar, desde el browser la URL para ver el panel de usuario y me aparece sin autorizar; en ese momento metó un token, y ¡zas! estoy dentro.

¿Qué puede derivar esto?, sniffeo al usuario o lo que sea; ganó una sesión válida, replico 1000 veces la sesión; o, si, aplicó fuerza bruta y generó sesiones; y me conectó a todos los usuarios sin que la sesión jamás me expiré, porque es una sesión extra, y válida que ni siquiera será destruida cuando el usuario acceda o cuando cierre su sesión; la mía va a seguir abierta.

Ahora imagina que esta aplicación con millones de usuarios, te da la oportunidad de sacar datos bancarios que tiene el usuario almacenado para facturar sus servicios; o acceso a millones de sitios web… ta, ta, ta…

Pero… el equipo de seguridad, dijo que esto no era una vulnerabilidad 🤔

Lo sé, es un poco complicado de explicar sin las requests, pero… como era un bug bounty, no puedo mostrar los detalles técnicos y no quiero ir a la cárcel. Y bueno, llevó más de una semana pensando en como puedo modificar el vector de ataque con tal de demostrar la severidad del bug desde otro enfoque y que acepten la vulnerabilidad.

Querido Diario…

Estaba un poco abrumado, me metí a bañar y salí para buscar algo que desayunar. ¡Oh rayos!…

… yo tenía mi sudadera azul puesta.

Caminé hacía el río y entonces la señorita de pelo color pokemón me marcó para preguntarme si ya había desayunado. Le dije que no y quedamos de vernos en Maelu.

Mientras llegaba me senté en una mesa y empecé a leer las noticias de mi feed, revisar Plurk, Instagram, el correo, Facebook… y entonces me apareció este -> recuerdo.

No pude dejar de recordar esa noche… ¿no podría recordarla?. Tengo tan mala memoria… tengo tan mala memoria que recuerdo que ese día comimos en Apple Bees, yo comí costillas y tu ensalada; me metí por error al baño de mujeres en vez del de hombres; pediste de beber la bebida que servían en una copa grande de esas redondas.. y no cenamos, ya era tarde.

Dania llegó, se sentó y preguntó que quería para desayunar, para ayudarme a pedirlo. Luego me preguntó si me sentía nervioso. Hice un gesto altivo y le dije que «el gran, el único, el increíble Augusto.. jamás está nervioso». Ella desayunó un cuernito, yo uno de esos panquecitos que parecen esferas de caramelo de matcha y café.

Pedí un taxi, y la pasé a dejar a su trabajo… yo seguí. Fui a negociar si aceptaba o no la oferta de trabajo. Mientras esperaba a que me recibiese el CTO, quería volver a ver la foto… recuerdo que en la foto dije que mientras yo veía YouTubePorn, tu estudíabas, y Memo, el novio de Clausen, se burló de eso. Pero cuando iba a verla nuevamente la secretaría me llamó para pasar.

Jueves, 9 de Enero de 2020: No es un hash ni un token, ¡baboso!

Querido Diario…

Muchas veces había visto parámetros separados así:

(Sin la carita feliz)

Nunca me había dado cuenta que lo que está junto al header del Contet-type, son los caracteres usados para dividir cada parámetro. Y yo pensando que era un hash o un token de algo.

Querido Diario…

Veo las películas en PopCornTime, porque no entiendo nada si voy al cine.

 

Martes, 7 de Enero de 2020: Siri, créame un patrón de 5000 bytes

Querido Diario…

Me he vuelto taaaaan viejo, tan flojo.. que; bueno no, no le dije a Siri que me crease un patrón de 5000 bytes para calcular unos buffers, pero ¿recuerdas cuando Backtrack traía todas las herramientas en un directorio /exploit/?, pues; ¿cuanto tiempo tiene que no existe BackTrack?, ¿puedes creer que mi primer comando fue un:

$ cd /exploit/metasploit3/framework/tools/

Si, lo sé… lleva años que ni siquiera viene la versión 2. Después reaccione:

Por cierto, los scripts cambiaron un poco y tienen opciones 😛

$ ./pattern_create -l 5000

¡Ay!

Querido Diario…

Algo viene, muy pronto.. viene… ya casi…

Si, lo sé… ahora que soy un desempleado, tengo mucho tiempo libro… al menos hasta que dure el dinero. Lo que me ha llevado de nuevo al bug bounty hunting.. lo que me ha llevado a tener que confiar en la venia de los dioses todos los días para saber si encontraré una vulnerabilidad o no; pero parece ser que los dioses me han advertido de alta traición:

Luego, platicando con la Señora Esthela, me enteré que ella me traicionó hace un año, armo todo un caso, me envió evidencia falsa, lo editó… y yo lo creí; y me enteré hasta un año después. Ya no se puede confiar en nadie </indignación_1000>

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 🙂

Sábado, 4 de Enero de 2020: Dejavú

Querido Diario…

Tomé el tren de regreso, me había gustado más esta ciudad; los adornos navideños, y lo poco que tuve oportunidad de conocer. Pude ir al muro, aunque ya tengo una piedra que me regaló Dania desde la última vez que estuvo aquí; también fui por chocolate con whisky y ron.

Finalmente fui a dar mi conferencia; fue interesante. A diferencia de occidente en donde alos 25 años eres un anciano; aquí la trayectoría y experiencia tienen relevancia. Firmé algunos autógrafos, respondí algunas preguntas sobre mi opinión en el aprendizaje, lo poco que queda de filosofía; e intenté bromear un poco sobre lo bajo que es caer a ser un bug bounty hunter.

Finalmente fui a comer con Shadow; teníamos 16 años de no vernos.. sin embargo, los amigos siempre son amigos. Nos vimos, nos saludamos, y platicamos como si hubiese sido ayer la última vez que nos habíamos visto en persona. Finalmente, al dejarme en la estación de tren, me dijo que si Colette no me convencía, no dudase en regresar con él, que mis habilidades serían bien apreciadas; sin embargo, todo parecía que sería al mismo tipo de contrato.

Me despedí, quisé pedirle una foto para algún día decir «hey… estuve con el shellcoder más increíble de todos los tiempos», pero me contuve, y le dije que esperaba nos viesemos en México proximamente. Sin embargo, no le dije el secreto que tenía guardado desde hace dos días.

Ya en la estación, mientras esperaba el tren, compré un café; pasé mi tarjeta, y sólo por confirmar… ¡sólo por confirmar!, vi mi estado de cuenta. Ok… la situción empezaba a volverse un tanto, compleja.

Así que aprovechando la espera seguí con el mismo network security assessment que estaba realizando; lancé mi script para puertos comunes, y encontré algunos puertos web 8080, 80, 443, 8433, 8888; y para buscar listados de directorios rápidos, consolas, etc, descargué todo lo que se pudiese en ellos, usando wget:

$ wget --no-parent -r http://www.bigshot.beer/

Y luego usé greps para intentar fitlar por JBOSS, IIS, Apache, y algunas instalaciones por detecto; o un «Directory» para buscar listados de directorios.

$ grep "IIS" -r ./

Encontré varios listados de directorios con imágenes, código JS de librerias, etc… nada grave, pero confiaba en que me los aceptasen.

Sin embargo… hum… pues… tuve un dejavú, de cuando tuve una racha muy buena, y luego pues.. bueno, los dioses se olvidaron de mi.

Querido Diario…

Esta semana ha sido mala, no he obtenido nada… ya se terminaron las vacaciones, empiezan a regresar todos los bug bounty hunters; y sé que no podré compitiendo con todos ellos.

En fin…

Llegué al sofá y me tiré a ver la tele… estaba cansado, a pesar de que no había hecho mucho. Aunque la emoción me ganabam, tenía muchas ganas de seguir hackeando, desde hacía mucho tiempo no sentía esa adrenalina.

Pedí pizza, una pepsi, pusé la tele y me preparé para una noche pwneando antes de tomar el vuelo de mañana.

Entonces, Janey me escribió…

Viernes, 3 de Enero de 2020: No todos los hashes se rompen

Querido Diario…

Estaba corriendo en una casa enorme, buscaba la puerta para salir, pero no podía encontrarla. Corría y corría, pero no la encontraba… las macetas caían a mi alrededor, y yo corría; huyendo de alguien, pero no estaba seguro de quién. Entonces desperté…

El cielo empezaba a clarear, y la luz entraba por las cortinas. Vi la hora y apenas eran las 7am… tenía mucho frío, y había pasado la noche tosiendo. Pero me resistía a encender la calefacción, sonaba tan fuerte que me despertaba, y me despertaba después de un tiempo el calor; aunque el frío hacía lo mismo. En lo que llevaba la noche había despertado al menos cada hora, con una pesadilla diferente. Tenía las manos heladas, incluso el cristal del celular me parecía doloroso de tocar.

Ya no sé si lo que tenía era simplemente alergia o me estaba enfermando de algo, después de la semana en el hospital creo que todo se ha ido a pique y ahora me enfermo de cualquier cosa. Supongo que estoy a nada de convertirme en una persona sumamente enfermiza.

Le mandé un mensaje a Dania pelo pokemón, para decirle que su casa estaba a salvo, y no había explotado nada aun. Vi el correo de Colette, la muchacha tan insistente en la cena de fin de año, al parecer ya habían aceptado, leí todo el correo, era mucho más de lo que esperaba; pero no lo más importante. El siguiente correo era sobre una vulnerabilidad que había reportado. En un network security assessment había sniffeado unas credenciales de una consola que pedía credenciales para acceder; y estas estaba en NTLM.

Era la primera vez que veía que se pedía NTLM, todas las ocasiones que había visto algo así era Basic Authentication. El correo era para debatirme el reporte, pues decían que debía de explicar el impacto. Las credenciales no iban en Base64, como en Basic Authentication, por lo tanto, me debatían la vulnerabilidad justificando que el hash hacía segura la transmisión. Si, y no, en efecto, en el proxy lo que veía era un hash:

¿Seguro?, ¿tenía que pasar horas, días o semanas rompiéndolo?… hum… no lo sé, pregunté a Google:

Cuando se usan passwords tan sencillos, ni siquiera hay que esforzarse para romperlos; Google ya los tiene en algún sitio por allí. Nota, lo que me causó mucha curiosidad 😛 es que el mismo hash lo encontré en varios repositorios de SourceForge y Github, coff.. coff.. creo que ya me sé las credenciales de varías aplicaciones productivas rondando por el mundo 😛

Envié la evidencia, y me llegó la notificación de aceptación de la vulnerabilidad. No había sido mucho, pero la verdad es que fue un fallo muy sencillo de encontrar.

Querido Diario…

Me fui al sofá, y OMG… en la 13va Doctora vuelve a salir The Master, ya quiero llegar a ese capítulo 😀

Viernes, 28 de Diciembre de 2019: Un beso resuelve todo

Querido Diario…

Desperté, pensé que ya eran las 7am o algo así, pero no… apenas eran las 12:35am… ¡habían pasando 35 minutos!, parecían una eternidad, fui al baño y me lave la cara, miré por la ventana, regresé a la cama. Cerré los ojos y le pedí a Lucifer un momento sin pensar, una noche sin recordar nada, una noche en la que durmiese en blanco. Le pedí dormir.

Apenas había terminado de rezar, escuché un estruendo, estaba un poco confundido. Escuche pasos hacía la puerta de la habitación; y me escondí detrás de la cama.

- ¡Joven!... este... ¿joven?, ¿estas escondido? - Lalo me miraba hacía abajo
- Hum... no, estoy aquí manteniendo la posición
- ¿Posición de cobarde?
- No, es la posición... 54-1-A... técnicas avanzadas de combate de fuerzas especiales; ya sabes, las aprendí con los caibiles de Guatemala
- Tú nunca has estado en Guatemala
- ¿Ah no?... digo, carabineros de Chile
- Hum... como sea, ten... y ponte esto - me aventó dos pistolas y un chaleco antibalas

Tome mis cosas, me puse rápidamente los tenis, y tiré a un lado el chaleco. Tal vez hoy fuese el día que terminase mi maldición. Al salir lo único que veía era un caos, todos tirando a todos lados, sin orden. Lalo estaba dándole un sape a Janey, Beto corría por todos lados disparando como maniático… y veía sudafricanos aparecer por todo el departamento de la señora que habla portugués.

- ¡Becario!, avanza por 45... fuego directo, Lalo cubre a Becario, mantén posición detrás de ese sofá. Alonso, Isaac... fuego a discreción, 45 a 165... todos los demás, cubran a Alonso e Isaac

Era inútil, eran demasiados; cada vez eran más, y su equipo era muy bueno. Levante el puño, y todos tiramos las armas. La señora que habla portugués entró con sus tres nietos, estaba roja de furia; también cerró su puño y me miró de extremo a extremo de la habitación.

- Oye... - Alonso me habló al oído - Lalo 3 y Paola tiene una sorpresita, no te preocupes. Perder aquí estaba planeado

Cuando me dijo eso, un halo de confianza regresó a mi, caminé directo a ella, sin titubear y la amenace

- Sinto muito, senhora Olga, mas ... nos aposentamos. É uma pena que eu não tenha terminado de hackear o banco pra você
- Você retornará ao seu quarto e terminará. E os outros vão acabar em pedaços por todo San José
- Vê aquele garoto ali? - señalé a Becario - ele é o nosso pozolero... você não vai acabar em pedaços se não me tirar da frente; nada vai acabar de você

Carambales.. ¿de donde me salió esa valentía?, mientras miraba amenazante a la señora que habla portugués, Becario se me acercó y hablo a mi oído

- Joven, no se que estas diciendo pero... shhhh
- O Mover - dije a la señora que habla portugués
- Joven - Becario me interrumpía
- O Mover agora - casi grité
- Joven...
- ¿Qué pasa Becario?, estoy en alg... - Paola y Lalo 3 salieron volando por el suelo, arrojados por uno de los guardias
- Você tem 1 hora, antes de eu matar ao todos

Nos dejaron sólos en la sala. Me acerqué para ayudar a Lalo 3 y Paola a levantarse.

- Jefe... - Lalo 3 se veía afligido
- Beli...

Paola me vio a los ojos arrepentida, pero les sonreí para liberar la culpa

- ¿Quienes de nosotros quedan allá afuera? - pregunté
- Xohicalito, Kevin y Joseph - me indicó Alonso
- La pura banda pesada, papá - no sé si Krusty dijo eso sarcásticamente
- Ok, Lalo, Beto, Karen, Becario, Luis... creo que hay que hackear un banco en una hora - dije mientras caminaba de regreso a la habitación
- Huuuuuy que poca confianza tienes en tus becarios, joven
- A menos que Joseph les aviente proteinazos encima, Kevin los agarre a mazapanazos y Xochicalito haga lo que sea que sea su talento secreto, creo qu...

Sentí el golpe de la explosión y quede sordo, ciego y aturdido; veía humo por todos lados, había un boquete enorme en el departamento y veía cuerpos tirados por todos lados. Un incendio empezaba a propagarse y vi como los pocos guardias que quedaban corrían protegiendo a la señora que hablaba portugués, mientras sus nietos corrían detrás de ella.

- La culpa no era mía, ni de donde venía, ni como vestía, era del inge Erick, que la dinamita traía... - Joshua entró cantando
- Jajajaja chaaa... se me pasó poquito
- Esta H. Organización Turbia e Ilegal se esta saliendo de control.. pero.. recuérdenme que al regresar, les haga una revisión del sueldo a los dos - giré hacia los demás - este... creo que aquí es en donde todos corremos como gordas frente a Luis Miguel

Mientras salíamos corriendo a un autobús que tenía afuera Enrique estacionado, vi a Evelyn que iba a corriendo en sentido contrario. Corrí tas de ella..

- ¡Oye tú!

Su mirada estaba inundada en lagrimas, confusión.. sabía que me iría, y con ello la oportunidad de salvar a su abuela.

- Te lo prometí - empezó a llorar - encontré algo, pero necesito más tiempo... confía en mi

Asintió con la cabeza, pero en su mirada podía ver que no creía nada de lo que decía

- Corre... ushca...

Vi como corrió con su abuela y hermanos, mientras subían a un helicóptero sin siquiera voltear hacia donde estaba yo. Todo había terminado.

- Joven - Becario estaba a mi lado - ya estamos listos
- Vayámonos Becario.. mucha acción por hoy

Cuando el avión cruzó Chiapas, me sentí seguro y tranquilo; sólo hasta ese momento. Me paré al baño a lavarme la cara, al regresar me senté en otro de los asientos.

- ¿Qué ve Señora Houses?
- Gray's Anatomy - me pasó uno de sus audífonos
- No, gracias... eso es como para llorar a moco suelto
- No, esta temporada no, en esta puros dramas pen&/() que hacen, en vez de arreglar todo a besos
- Una vez alguien me dijo que eso sólo pasa en las películas. Y la vida no era una película
- ¿Entonces como se arreglan las cosas en la vida real?

- No lo sé...  - mi celular vibro, leí el mensaje. Lo esperaba; le mostré la pantalla; había sido relevado del mando
- ¡Ah nu ma!, ¿ahora qué?
- La semana pasada gané algo de dinero... voy a ocultarme un tiempo
- ¿En dónde?
- Hum... Múnich
- ¿Qué harás allá?
- Lo normal, beber cerveza, comer salchichas y terminar en las sábanas de todas las rubias, güeras, altas y pechugonas; con vestido bávaro que me encuentre
- Suena a que vas visitar cada museo de la Segunda Guerra Mundial que haya, y pasarla con la única persona que no te juzgará por estar triste
- Hum... mi plan suena mejor
- ¿Qué vamos a hacer sin ti?
- Ponerse serios, estudiar, progresar, titularse, ser todos unos ingenieros, pensar en el futuro, sacar un crédito INFONAVIT, actualizar y descargar los parches de seguridad de Windows, subir stories en Instagram mostrando sus grandes logros escolares y laborales, selfies en el trabajo, en el gimnasio y obvio con sus autos nuevos... no hay que olvidar las frases motivacionales "un logro más, gracias Dios", "2019 lleno de logros, 2020 ya no puedo esperar"; ya es Diciembre "si... otro 10, ya falta menos... matemática en progreso", "un semestre más y matemática", "tardecita de estudio y trabajo, rendido, súper equipo", "mi razón para luchar" y compartir memes de gatos... bueno, los memes de gatos están chidos, aunque sigo sin entender porque en todos los memes de gatos la humana se llama Karen
- Jajajaja... - escupió la pantalla - Beli, eso suena como todo lo contrario a ti, siempre nos has dicho que eso es falso e hipócrita
- Debes de prometerme, tú y los demás, que si no estoy yo; seguirán las ordenes del nuevo lugarteniente
- Estas hablando en serio... - su cara se entristeció
- Yo siempre hablo en serio... nada de tonterías, los quiero a todos alineados; deben seguir el plan
- Tú nos han enseñado a no tener planes, siempre improvisar, un problema a la vez, siempre asumir que todo va a salir bien, y cada que todo el universo nos indique que no lo debemos e hacer, no hacerle caso y seguir avanzando. Y cuando haya crisis, no tenemos que preocuparnos, Beli va a llegar en un avión a arreglar todo.
- ¿Sabes?
- ¿Qué?
- Me caes bien... - le di un golpecito en el hombro
- Es la primer vez que me dices eso
- Bajando del avión me voy a desaparecer, no le digas nada a nadie
- ¿Regresarás?
- Ten ... - le puse un mangomi en su mano
- ¿Qué?
- Cometelo - se lo metió a la boca
- No entiendo
- Yiuck... se me había caído al suelo

Querido Diario…

Llegué al mostrador de Aeroméxico, en un descuido de todos.

- Hola, buenas tardes
- Buenas tardes, señor - la aeromosa me sonrió
- Quiero un boleto a Múnich, el primer vuelo que tenga
- La temporada es complicada, tengo uno con conexión en Dublín
- Me lo llevó
- Sólo, señor.. es un poco caro, por la temporada alta
- Tengo 350 mil puntos de Aeroméxico
- Excelente señor, ¿primera clase?
- ¿Es de esos aviones 737 con cabina que se hace cama?
- Si señor
- ¿Cobijita?
- Si señor
- ¿Me la puedo llevar después del vuelo?
- No señor
- Hum...
- Pero si gusta se puede llevar los audífonos
- Ok, démelo, ventanilla por favor

Mientras esperaba en la sala de espera escribí una carta de agradecimiento:

«A todos los lectores de este blo.. diario…

Este es el último post del año, les quiero agradecer todo su apoyo; hemos llegado a 2 millones 400 mil visitas en 2019; muchas gracias por querer aprender un poco de seguridad informática de una forma un tanto extraña.

Muchas gracias a Platzi y Packt, por ayudarnos a mantener el proyecto. Recuerden que si tienen suscripción Platzi, no pueden dejar de entrar a https://platzi.com/seguridad-informatica/ para tomar el mejor curso de seguridad web en línea que podrán ver en el mundo mundial, y no olviden comprar uno de mis libros en https://www.packtpub.com/authors/carlos-lozano, todo ayuda a seguir mateniendo este, otros proyec… y nah.. la realidad es que soy un fanático de no morir de hambre 😛 y de esa forma me ayudan para RedBull y cheetos.

Nos vemos el siguiente año, con más historias de la vida de un pobre muchachito que vivía feliz en un pueblito revisando aplicaciones; y ahora hace lo que sea por sobrevivir, aunque sean cosas turbias e ilegales.

// vendetta
»

El altavoz anuncio mi vuelo, cerré rápido la computadora y subí al avión. Seleccioné la película en la tablet.

Los demás llegaron al día siguiente a las oficinas de la H. Organización Turbia e Ilegal, esperaban verme, pero no llegué.

- ¿Dónde esta Belindo? - cuestionó Lalo a Paola
- No sé, ¿yo por qué sabría?
- ¡Becario!, ve por Lalo 3 nos lo vamos a pozolear
- No, no, no... se fue a Múnich
- ¡¿Múnich?!, ¡¿Europa?!
- Si
- Becario... suelta a Lalo3
- Ok joven, ¿quieres que le vaya avisando a mi esposa que vamos a ir a Europa por Belindo?
- No Becario, eso está fuera de nuestra jurisdicción... son sitios peligrosos
- Ouuu... ¿ese joven irá a estar bien?
- Hum... seeeeh... Belindo aprendió todo lo que sabe de esa gente
- Ouuuu... ¿y entonces?
- Es momento de buscar trabajo Becario, a mandar CVs
- ¿Qué?, ¿cómo que buscar trabajo? - gritó Paola
- ¿Te dijo que volvería?, ¿te pidió mantener lealtad?, ¿te prometió fama, honor y gloria?, ¿te dijo que era momento de mantenernos unidos y luchar por nuestros sueños antes que por nuestros bolsillos?
- Si
- I-lu-sa - Lalo hizo una pobre imitación de mi

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.