1.13.2021

Pentesting Mobile 101: Métodos para obtener un APK (ADB, Tiendas Alternativas, Raccon) para realizar un análisis

En esta entrada veremos diferentes formas para obtener el APK que deseamos analizar, con el fin de realizar un análisis estático con algún framework o de forma manual, el proceso de como realizar un análisis estático, que debemos de buscar o tratar de encontrar como malas prácticas lo tendremos en próximas entradas conociendo herramientas que nos ayudan para este proceso, como también comandos desde la misma terminal. 

 
Cuando uno inicia un proceso de pentesting de una aplicación móvil, lo primero que procedemos es en obtener el APK Android Aplication Package, llegando a descargar directamente de la Playstore tienda oficial de android, utilizando ADB (Android Device Bridge), nos permite descargarlo directamente, para ello comenzamos viendo el uso de ADB. 

Comandos básicos de ADB

Antes de todo iniciaremos conociendo un poco sobre ADB los comandos básicos, para el cual necesitamos que este conectado el dispositivo móvil al ordenador, o en otro caso un emulador iniciado.
  
adb devices: Lista los dispositivos conectados en el ordenador. 
adb push: Copia un archivo desde el equipo al dispositivo.
adb pull: Descargar un archivo desde el dispositivo al equipo. 
adb shell: Permite obtener una shell interactiva en el dispositivo 
adb install: Permite realizar la instalación de un APK al dispositivo.
adb uninstall: Desinstalar una aplicación del dispositivo. 

NOTA: Se puede trabajar con ADB a través de una conexión inalámbrica, como siempre para profundizar en los comandos de ADB ejecutar adb --help 

Descargando por ADB a través de PlayStore 

Este llega a ser la forma más rápida y practica para obtener un APK ya que solo necesitamos descargar desde la tienda la aplicación. 

 
Después de ello debemos de conectar el cable USB al ordenador para con ADB realizar la descarga del apk, considerando que el dispositivo debe de estar en modo desarrollador y habilitar la depuración por USB.


Con el siguiente comando procedemos a buscar el nombre del paquete apk, en este caso sabemos el nombre del juego. 
Snifer@L4b's:$ adb shell pm list packages | grep -i NombredelAPK


Luego de identificar y saber cual es el APK que deseamos descargar procedemos a descargarlo.
Snifer@L4b's:$ adb shell pm path <apk> 
Snifer@L4b's:$ adb pull <path_apk> 
En las siguientes capturas veremos el proceso con el APK de ejemplo que estamos utilizando.
Después de obtener el path procedemos a descargar con pull y el path completo. 



Ya con ello contamos con el apk listo para instalar en otro dispositivo, o proceder con el análisis del mismo.

Sitios Online - tiendas alternativas de android.

Muchos sitios online o tiendas alternativas nos permiten obtener una versión antigua del APK, a partir de ello obtener endpoints, datos que fueron retirados desde la Aplicación pero no así en el servidor con el que interactua, incluso podrían contar con ausencia de controles que en la ultima versión si fue implementado. 

Apkpure: https://apkpure.com/es/
Apkmirror: https://www.apkmirror.com
Apps.evozi: https://apps.evozi.com/apk-downloader/


Muchas o pocas veces podremos encontrar algún apk en otras tiendas de Android como ser:
  • Aptoide 
  • F-droid 
  • Amazon Appstore
  • Etf
NOTA: Tengan en cuenta que muchas veces algunas aplicaciones no se encuentran disponibles en estas tiendas alternativas, además de considerar que estas pueden ser modificadas

Descargando con Raccon desde la tienda de Android

Raccon una utilidad escrita en Java, que cuenta con una versión (FREE) Gratuita y se deseamos tener algunos extras se debe de pasar por caja, inicialmente con la versión gratuita se tiene para realizar las cosas según el uso que lo necesitamos extraer APK de la tienda de Android sin contar con el acceso a un dispositivo móvil o de manera directa. 



Primero procedemos a descargar el fichero .jar que se encuentra en su sitio oficial Racoon   al ingresar identificamos que es un .jar por lo cual debemos de contar en nuestro equipo con Java, el proceso de instalacion y/o configuracion corre por cada uno. 

Iniciamos la herramienta con:
java -jar Raccon.jar
Visualizamos la siguiente interfaz. 

Lo primero que configuramos es una cuenta de gmail para que realice la conexión y autenticación con Google Play.  

Después nos pedirá si deseamos registrarlo con un dispositivo nuevo, siempre use esta opción. 


Después de configurar la cuenta de correo, podremos ir al buscador y poner el nombre de la aplicación que deseamos.



Al dar click sobre la aplicación  tenemos en la parte inferior izquierda para realizar la descarga. 


La ubicación donde se descarga se encuentra en HOME/USER/content/apps/nombredelpaquete.

Otra ventaja de Raccon es que nos permite realizar un downgrade de las aplicaciones para ello en la parte superior Market  -> Downgrade APP, lo que debemos de estar seguros es la versión a la que queremos hacer el downgrade.


Creo que es necesario especificar que existen muchos otros métodos como ser scripts en python que nos permiten realizar las descargas desde la tienda oficial, o alternativas de tal manera que permite automatizar muchas tareas. 
  • Quisieras que abordemos algún tema en profundidad de lo mencionado en esta entrada, escribe en los comentarios.
  • Desearías que estas entradas  se encuentren disponibles en formato video en el canal de Youtube?
  • Conoces otras tiendas alternativas o métodos?
“Dime y lo olvido, enséñame y lo recuerdo, involúcrame y lo aprendo”. Benjamin Franklin.

Regards, 
Snifer


Compartir:

1.04.2021

Burp Suite XXXV - Cambia el esquema de Colores por defecto con BurpCustomizer

La última entrada que compartimos sobre esta serie fue Enumeración de sub-dominios de manera Pasiva, que por cierto se creó también 8 vídeos aproximadamente de Burp Suite entre ellos menciono los nuevos cambios, incluyendo la opción de trabajar con el browser integrado y el cambio del esquema de Colores. 



Además entre los últimos cambios más significativos que se tuvo fue  la opción de que Burp se actualice de manera automática, y el esquema de colores  ya que anteriormente se contaba con los siguientes temas.
  • Metal
  • Nimbus
  • GTK+
  • Darcula
El que usaba principalmente por mi problema de la vista fue Darcula, siempre al hacer algún cambio en el esquema de colores nos correspondía reiniciar todo el proyecto ahora no es necesario porque se realiza el cambio directamente. 



Si eres de los que no les llega a gustar aun del todo estos dos únicos esquemas de colores Corey Arthur vino a brindarnos una alternativa que es el plugin BurpCustomizer, que nos permite contar con un mayor número  temas a elegir. 

El proceso de instalación consta en descargar el .jar desde el Github de Burp Customizer  adicionarlo a Burp y nos abrirar una nueva pestaña con el nombre de Customizer, el proceso de instalación de un nuevo plugin se tienen en estas dos entradas Curso de Burp Suite desde 0 - Configuración de Plugins - Configuración de Plugins.

Después de que lo tengas instalado disponemos de la opción Select Theme. 



En el siguiente gif se puede apreciar en mayor detalle los cambios que nos permite ahora realizar respecto al esquema de colores gracias al plugín instalado.


Por mi parte Nord es el que mas me agrada, aunque tengo que ver el resto de los tabs, y su comportamiento si me siento mas a gusto.


“Cada momento es un nuevo comienzo.” - T.S. Eliot

Regards, 
Snifer
Compartir:

12.31.2020

Recuento de lo que dejo el 2020 en Snifer@L4b's - Install 2021

La ultima entrada del 2020 como cada año, vengo a escribir unas cuantas lineas sobre lo que me dejo el año transcurrido lo bueno lo malo y lo feo, tanto en la vida profesional, personal y en el blog. 


Antes de que decidas irte, déjame darte las gracias  por otro año más que estuviste leyendo cada una de las entradas, siguiendo los proyectos que comenzaron a salir durante este año que  no fue el mejor de todos para muchos, porque perdimos a seres queridos o no pudimos estar con ellos. 

Los proyectos que se realizaron o retomaron que forman parte de Snifer@L4b's. 



El podcast DameUnaShell: Estuvimos intermitentes pero como muchos saben es un tema que me agrada el poder comunicarme a través de este formato, si gustas lo tienes en Youtube, Ivoox, Spotify, Google Podcast solo búscanos como Dame una Shell.  
El canal de Youtube: Retornamos un poco con el Canal con la serie de Burp Suite desde 0, tengo planificado crear nuevo contenido como dije hace un tiempo atrás tengo planificado hacer contenido referente a los C2 comentando la infraestructura  y como funcionan veremos como va aparte de las entradas en el blog que seguirán presentes, y como lo mencione en Twitter y el Canal del Blog. 



Boletín de Seguridad: Después de andar muchos días pensando y viendo posibles opciones decidí crear los boletines por medio de Telegra.ph, ya tenemos 2 Boletines publicados. 


El canal de Telegram como siempre estuvo presente durante esta gestión llevando el grupo con algunos debates, siempre esta abierto para todos los que deseen compartir hablar. 




El Discord fue el menos usado, espero este nuevo año darle un mejor uso o rebuscar alguna manera de interactuar con la comunidad.  

Gracias a todos los que forman parte de este proyecto, a los chicos de Hackthebox Hispano que siempre andan compartiendo contenido. Agradecer desde este espació a los chicos que apoyan el proyecto desde Patreon sin ellos no es posible mantener el blog y traer algunas entradas en específico.  

Si quieres conocer  algo mas en lo personal puedes continuar con la lectura ;).

Lo personal y profesional


Este año perdí a mi abuelo, y mi tío en ambos casos no fue por el Covid, pero por el no pude llegar a despedirlo o venir donde ellos para despedirme 

Del mismo modo, mi Superheroe  encontró su criptonita a medio año, algo que me derrumbo completamente aun me mantiene algo triste saber que la persona que me dio la vida se encuentra así el mejor regalo que me pudieron dar fue recién esta semana, saber que esta por en receso el avance y toca esperar los cambios que vendrán, solo queda valorar cada momento que paso con el. 

Un año que aprendí a valorar mas el tiempo en familia, y además de ello me deja este ultimo mes con un problema de salud  el cual me toca afrontarlo, me hizo ver la vida de una manera diferente además de apreciar mas cada día. 

Este año por cosas de la vida, no me puse con otra nueva certificación estuve con mi año sabático de certificaciones, pero nunca deje de aprender en especial el área mobile  que por cierto ando desarrollando  una serie de entradas en el blog que posterior a ello se vendrá con un cheat  o guía de lo que se debe de hacer un pequeño adelanto. 


Mejore mucho mas con el área web e infraestructura, para terminar el año me anime a dar un siguiente paso que en los próximos meses estaré compartiendo lo que pasará. Fue una mejora continua en el trabajo en la empresa Dreamlab que siempre estan presentes con el apoyo y soporte se que este nuevo año vendrá con mas fuerza el crecimiento profesional y personal. 


Este 2021 queda darle con todo a lo que venga, seguir con cada locura y afrontar el día a día, que todo lo que deseas se cumpla en este nuevo año por mi parte continuare con el proyecto que el pasado mes de Octubre cumplimos ya 9 años a un paso de los 10 años el tiempo pasa.... 


Regards, 
Snifer
Compartir:

12.12.2020

Boletín de Seguridad Informática #1 - Release Candidate (RC)

Hace un par de meses atrás comencé con la idea de tener un Boletín de Seguridad Informática inicialmente pensé que sería enviado cada semana, tuve un par de problemas con la decisión inicial que tome, porque estaba limitado a recursos para el envío de los correos y las pruebas que realice con servicios gratuitos no cumplía con las expectativas puestas, gracias a las 15 o 20 personas que se suscribieron y formaron parte de esa prueba. 

La semana pasada que estaba en pleno traslado se me vino a la mente retomar la idea del Boletín específicamente por medio de Telegra.ph el medium de Telegram, así que ayer después del trabajo me puse a crearlo y redactar en su primera versión Release Candidate

La estructura del boletín será la siguiente:
  • 1 o 5 noticias referentes a bugs, o parches de Seguridad. 
  • Alguna conferencia o vídeo recomendado que fue o que sucederá en los próximos días.
  • Herramienta para aprender! - Donde mencionaremos algún Framework o herramienta recomendada. 
  • #BugBountyTips, #Oneliner and #HackingTips - Se tendrá algún tip para pentesting tanto web como de infraestructura, y como ahora esta de moda la caza de bugs.
  • Herramienta de la semana - Tendremos en este apartado alguna herramienta que haya aprendido a usar durante la semana y compartí la misma en el blog, no limitandonos solo a herramienta también vendrá algún script.
  • Proyectos - Esta ultima sección tendremos algún proyecto o serie de entradas del Blog. 

El boletín sera compartido de manera semanal cada viernes para dejar con algo por leer para el fin de semana teniendo todos los boletines disponibles aquí, además de contar en el mismo Blog la referencia, cual es la diferencia al resto de Boletines?. 

No necesitas suscribirte, puedes acceder al mismo cuando quieras, totalmente gratuito, y lo mas importante es totalmente abierto, este lo compartire por Twitter y el Canal de Telegram

Así es, están cordialmente invitados a unirse a este proyecto con alguna sección en especifico que desearías colaborar podemos coordinar, me escribes por Telegram @sniferl4bs y vamos armando el boletín en comunidad. 

“Me gusta compartir las cosas que sé y que me han funcionado en la vida.” - Reuben Blades.

Regards,
Snifer
Compartir:

11.24.2020

Password Cracking 101: Que es un Hash, para que sirve?

Iniciamos esta nueva serie con el fin de aprender sobre el crackeo de contraseñas, en cada una de las entradas veremos el uso de diferentes herramientas e iremos avanzando principalmente le daremos una atención a Hashcat, sin olvidarnos de otras como ser John, Cain & Abel por mencionar algunos, incluyendo el uso de servicios ONLINE que previamente ya estuvimos viendo en entradas previas del blog.



Esta primera entrada veremos lo que es un HASH, el uso que tiene en muchas ramas de informática como también algunas herramientas y sitios web que nos permiten identificar el tipo de hash que corresponde.

 Que es un Hash


Es una representación de un fichero por medio de una función matemática, el cual tiene una longitud fija, la cual es independiente al valor de entrada el principal uso que puede darse es identificar la integridad y no modificación de los ficheros exceptuando las colisiones que es cuando mas de un fichero tienen el mismo hash, en el blog contamos con la entrada de identificar documentos duplicados por medio del hash. 

A continuación abordaremos algunos ejemplos y usos de las funciones hash. 

Veremos un ejemplo práctico de dos imágenes, la primera original que es la siguiente. 


El hash de la imagen es:  EAAF4C190627A40E59A6153F16993118FA33CCD4
En el caso de que un tercero modifique o realice algún cambio como es este caso, el hash llega a cambiar  siendo este diferente. 


El hash de la imagen es: 6878662DC5F3FFD516D3CB853581DADCE029DC85

Esto es usado para temas forenses por ejemplo para verificar la autenticidad de  algún dato y seguir la cadena de custodia. 

Llega a suceder lo mismo con las contraseñas o textos por ejemplo sacaremos el hash en SHA1 de la palabra Snifer es 5B430A9D87BA3B22B658B60C88F170A6F70E14CF, ahora si generamos la suma de la palabra snifer 1142AAE63905871A52F0BC1DAE5CF917A2BEF19C llega a cambiar la suma. 

La longitud de un hash en sha-1 corresponde a 40 caracteres, por ejemplo y no importa lo que ingrese a la función obtendremos el mismo resultado. 

Muchas aplicaciones de escritorio y web utilizan las contraseñas hasheadas para almacenar los credenciales del login, esto jamas puede ser conocido por el sistema al menos que se utilicen credenciales débiles, considerando  que a veces no lo hacen siendo esto una mala practica, como podríamos darnos cuenta de este mal uso, es cuando se realiza el reseteo de la contraseña envían la password en claro. 

Otro uso de los hashes es para la identificación de malware en el caso de VirusTotal, podemos consultar la detección del mismo, o si alguien ya lo mando para un análisis y en vez de mandar todo el fichero solo debemos de contar con el hash en sha256. 


Después de enviar el hash obtenemos los resultados de detección. 


Este proceso también es realizado por los antivirus que usamos en los equipos ya que muchos o pocos comparten las bases de datos o utilizan alguna pública.


Considerando todo esto, un hash debe de cumplir:
  • Un fichero, contraseña no puede generar el mismo hash. (Si sucede esto se denomina colisión de hashes.)
  • Siempre se genera el mismo hash del mismo contenido o dato. 
  • Sin importar la longitud o tipo de fichero, el hash siempre mantendrá la misma longitud. 
  • Un hash puede ser crackeado? si, todo depende de la robustez  además de que el mismo debe de contener un SALT. 
El SALT es una semilla que se agrega al algoritmo para modificar el resultado, podría ser como un vector de inicialización. 




A continuación mencionamos la longitud de los hashes más usados. 
  • MD5: 32 Caracteres. 
  • SHA-1: 40 Caracteres. 
  • SHA-256: 64 Caracteres. 
Si desean verificar e identificar una función hash puedes utilizar algunas herramientas online como también locales en el propio equipo.  

  • CyberChef - Con la receta respectiva para identificar el Hash. 
Para la terminal tenemos Hashid o Hashidentifier las cuales se encuentran ya pre instaladas en algunas distribuciones o también podemos configurarlo de manera local en nuestros equipos, en la entrada del blog  Hacking 101 - Identificando Hashes y buscando en la red en texto claro se da un mayor detalle. 


A veces, caer también nos enseña cosas. En los sueños, muchas veces caes antes de despertar. - Patrick Rothfuss

Deseas algún tema en particular tratar en el blog? Escribe en los comentarios y con gusto realizamos. 

Regards,
Snifer

Compartir: