Hacking Ético, Seguridad Informática, Redes, RedTeam

domingo, 19 de septiembre de 2021

Pentesting Móvil Parte 2

 

Pentesting Móvil Parte 2

En la entrada de hoy veremos como hacer el bypass de Root para poder iniciar sesión y así poder usar la aplicación correctamente.

la instalación y configuración de  Frida y WaTF-Bank, se las dejo en los enlaces al final del post.


¿Cómo hacer el ByPass?

Iniciamos la aplicación y vemos que nos dice que no se puede usar en dispositivos rooteados, procedemos a usar Frida y los scripts que la app de prueba trae.

 




Ejecutamos dos cosas. 1. el server de la aplicación. 2. iniciamos el servidor de frida lo hacemos desde en el teléfono e iniciamos desde otra consola la aplicación de la siguiente forma como se ve en la imagen.

 


 de esta forma procedemos a hacer el bypass  ya solo nos queda iniciar sesión.


Otro método de hacer el Bypass, si se usa nox, podemos desmarcar la opción de arrancar en modo root, y con ello ya nos saltaríamos la pantalla del login.



Espero les sea de utilidad, nos vemos en la tercer parte.

Happy-Hacking 😊

Como instalar y usar Frida

Como instalar WaTF-Bank

viernes, 30 de julio de 2021

Pentesting Móvil Parte 1

Pentesting Móvil Parte 1


La entrada de hoy veremos cómo hacer pentestong móvil con la ayuda de un servidor de pruebas llamado “WaTF-Bank”, la herramienta Jadx y otras más, veremos lo relacionado a temas de OWASP Mobile Top 10, manos a la obra.  

¿Qué es Owasp Mobile Top 10?

Es un recurso centralizado destinado a brindar a los desarrolladores y equipos de seguridad los recursos que necesitan para crear y mantener aplicaciones móviles seguras.

Los 10 principales riesgos para dispositivos móviles: lista final de 2016



Herramientas:

Para la parte dinámica usaremos el servidor de pruebas WaTF-Bank, BurpSuite u Owasp-Zap, Nox o GenyMotion, Frida y ADB.  y para la parte  estática usaremos: Jadx y MobSF.

¿Qué es WaTF-Bank:?

La aplicación de banca móvil What-a-Terrible-Failure (WaTF-Bank), escrita en Java, Swift 4, Objective-C y Python (marco Flask) como servidor backend, está diseñada para simular servicios web del "mundo real". aplicación de banca móvil habilitada que contiene más de 30 vulnerabilidades.



¿Qué es Jadx?

Herramientas de línea de comandos y GUI para producir código fuente Java a partir de archivos Android Dex y Apk.

Principales características:

  • descompilar el código de bytes de Dalvik en clases de Java desde archivos APK, dex, aar, aab y zip
  • decodificar AndroidManifest.xml y otros recursos de resources.arsc
  • Desofuscador incluido

características de jadx-gui:

  • ver código descompilado con sintaxis resaltada
  • búsqueda de texto completo
  • entre otras cosas más

Otros servidores o entornos de prueba:

Diva

Insecurebank


Instalación WaTF-Bank: clonaremos el repositorio desde github: git clone https://github.com/WaTF-Team/WaTF-Bank.git, luego de ello entraremos la carpeta backend que nos crea e instalaremos los requerimientos: sudo pip3 install -r  requirements.txt, luego ejecutaremos el servidor de la siguiente forma: sudo python3 app.py -h 192.168.1.7 -p 5000, nos muestra que el funcionamiento del servidor esta correcto y nos muestra además una url con un puerto por defecto, procedemos a instalar la aplicación .apk en nuestro emulador. En mi caso usare Nox. Y modificaremos los parámetros ip:puerto con los que configuramos anteriormente en el servidor. Colocamos el usuario y la contraseña y con esto ya estría nuestro laboratorio listo para empezar las pruebas.

Nota: esta aplicación antes de conectarnos se necesita hacer un bypass de Root, se enseñara como realizarlo en la entrada siguiente.








Instalación Jadx-GUI: Para la instalación lo usaremos en Windows descargamos el .jar desde aquí, luego descomprimimos el archivo y ejecutamos el archivo.





Ejemplos:  M1. Uso Inadecuado de la Plataforma

Permisos excesivos: A menudo las aplicaciones nos solicitan un cantidad de permisos para su instalación, cuando revisamos estos detenidamente nos damos cuenta que algunos no los usan o no tendrían por qué solicitarlos.


Copia de seguridad Activa:  Es muy recurrente que se deje activa (true) andoird.allowBackup, esto de rebe de ir “false”.

Proveedor de contenido de Android:  Se encuentra que un receptor de transmisión se comparte con otras aplicaciones en el dispositivo, por lo tanto, lo deja accesible para cualquier otra aplicación en el dispositivo.

Receptor de radiodifusión de Android:

Se encuentra que un proveedor de contenido se comparte con otras aplicaciones en el dispositivo, por lo tanto, lo deja accesible para cualquier otra aplicación en el dispositivo.


Abarcaremos más contenido en las demás partes.

Happy-Hacking 😊

jueves, 15 de julio de 2021

TRABAJAR COMO HACKER O PENTESTER DE FORMA PROFESIONAL

 TRABAJAR COMO HACKER O PENTESTER DE FORMA PROFESIONAL 


El tema de esta entrada será un poco diferente al resto, espero que les guste y lo disfruten.

¿Qué es el hacking?

En resumidas cuentas, es la búsqueda y explotación de vulnerabilidades de seguridad en sistemas o redes, el hacking consiste en la detección de vulnerabilidades de seguridad, y también engloba la explotación de estas.

¿Qué es un hacker?

Según Wikipedia: Es alguien que descubre las vulnerabilidades de una computadora o un sistema de comunicación e información, aunque el término puede aplicarse también a alguien con un conocimiento avanzado de computadoras y de redes informáticas.

¿Qué tipo de hacker quiero ser?

Según Wikipedia:

Un hacker de sombrero blanco (del inglés, white hat), penetran la seguridad del sistema, suelen trabajar para compañías en el área de seguridad informática para proteger el sistema ante cualquier alerta.

los hackers de sombrero negro (del inglés, black hat), también conocidos como crackers muestran sus habilidades en informática rompiendo sistemas de seguridad de computadoras, colapsando servidores, entrando a zonas restringidas, infectando redes o apoderándose de ellas o creando virus, entre otras muchas cosas utilizando sus destrezas en métodos hacking. Rompen la seguridad informática, buscando la forma de entrar a programas y obtener información o generar virus en el equipo o cuenta ingresada.

Los hackers de sombrero gris (del inglés, grey hat) son aquellos que poseen un conocimiento similar al hacker de sombrero negro y con este conocimiento penetran sistemas y buscan problemas, cobrando luego por su servicio para reparar daños y mejorar el software.

¿Qué debo de saber?

Se debe de tener conocimientos en algunas de estas área: redes, criptografía, programación, bases de datos, sistemas operativos, si no estas familiarizado con alguna de estas áreas, la disciplina y ser autodidacta puede ayudarte a mejorar tus habilidades.

¿Cómo comenzar en este mundo?

Como lo mencione, se debe de tener ciertos conocimientos para trabajar como hacker o pentester, puedes trabajar por tu propia cuenta o bien laborar para una empresa.

¿Es necesario certificarse?

En base a mi experiencia les comento si es necesario, ¿pero qué certificaciones debo de tener ?, dentro del mercado existen muchas certificaciones y empresas que certifican, como lo está ElearnSecurity, OffensiveSecurity, Mile2, Ecouncil, entre otras, las certificaciones más atractivas o llamativas dentro del mercado estarían:

Offensive-Security ofrece:

  •      OSCP, OSEP, OSWP, OSWE

B. Elearn-Security ofrece:

  •     eJPT, eMAPT, eCPPT, eWPTX.

Mile2 ofrece:

  •           CPEH, CPTE, CPTC, CSWAE, CVA, CDFE.

Ecouncil ofrece: 

  •      CEH, C¨PENT, CND, APT, CHFI.

Claro y además de esto se puede sacar cursos en:

¿Dónde puedo aprender Hacking de forma legal y segura?

Existen distintas plataformas para aprender este hermoso arte, por mencionarles podemos usar: HackTheBox o bien TryHackme, en ambas hay laboratorios controlados por medio de conexión vpn, encontramos retos de Linux, Windows, Forense, móvil, Web, Criptografía, entre otras cosas, además tienen sus propias academias para que uno pueda aprender de una mejor manera, además podemos usar vulnhub a diferencias de los otros acá se tiene que instalar el .OVA y abrirlo con VirtualBox o bien con VMWare, o participar en CTFS.

¿Qué herramientas debo de conocer?

Conforme se vaya aprendiendo nos daremos cuenta de que existen un sinfín de herramientas para distintas cosas, pero cuales son, te mencionaremos algunas que necesitas saber:

  •        Nmap
  •        BurSuite
  •        Zap
  •        Metasploit
  •       John The Ripper
  •       Suite Aircrack
  •        Wireshark
  •        Nikto
  •        Hashcat
  •        THC-Hydra
  •        Medusa
  •        Putty
  •        Netcat
  •        Wfuzz
  •        Dirbuster
  •        Gobuster
  •        TcpDump
  •        SQLmap
  •        Nessus
  •        Nexpose
  •       Acunetix

Aparte de estas pues existen un sinfín de scripts que son muy útiles, los cuales los encontramos en GitHub.

¿Mi experincia?

De forma profesional llevo 2 años siendo Pentester para Bancas y otras áreas, mis habilidades fuertes son pentest web y móvil, también realizo Escaneos de vulnerabilidades, pentest en infraestructura, hardening, análisis forense, pentest en Api, entre otras cosas, pero como ha sido mi experiencia en este mundo: puedo decir que ha sido hasta el momento muy atractiva porque he aprendido muchísimo, cosas que no sabía pues me toco leer y practicar por horas y horas, además de esto pedir ayuda a compañeros en temas que no tenía conocimiento, tienes que tomar en cuenta que cada día tendrás retos los cuales tendrás que vencer (la mejor parte), aprendía a ser metódico, ir documentando los hallazgos sobre la marcha , a seguir una metodología, a centrarse en el alcance del proyecto, este mundo es infinito.

Después de un tiempo comencé a tomar certificaciones, en las cuales de adquirí conocimientos, y estos a su vez a ponerlos en práctica.

Consejos que te puedo dar:

  •        Lee, lee y lee
  •        Ten tu entorno de pruebas 
  •        Practica y sigue practicando
  •        No tengas miedo de preguntar
  •        Déjate llevar por un consejo de personas con más experiencia que tú
  •        Cuestiona todo
  •        Se metódico
  •        Únete a grupos (los aportes y conocimientos de los demás valen oro)
  •        Comparte con tus compañeros, ellos siempre te enseñaran algo
  •        Y sobre todo, divierte en el proceso y aprende de los errores.

Términos: 
  • Hardening: Es el proceso de asegurar un sistema mediante la reducción de vulnerabilidades en el mismo, esto se logra eliminando software, servicios, usuarios, etc.
  • Api: Se trata de un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un conjunto de reglas.
  • Pentest: Técnicas utilizadas por hackers éticos – especialistas en seguridad de la información contratados por corporaciones para realizar tales pruebas, sin ejercer actividades que perjudiquen a la empresa o tengan efecto criminal.
  • Forense: Es la aplicación de técnicas científicas y analíticas especializadas a infraestructuras tecnológicas que permiten identificar, preservar, analizar y presentar datos válidos dentro de un proceso legal.

Happy-hacking :)

sábado, 1 de mayo de 2021

FRIDA QUE ES, COMO INSTALARLO, COMO USARLO

 

FRIDA QUE ES, COMO INSTALARLO, COMO USARLO.



 

QUE ES:

Es un conjunto de herramientas de instrumentación de código dinámico. Le permite inyectar fragmentos de JavaScript o su propia biblioteca en aplicaciones nativas en Windows, macOS, GNU / Linux, iOS, Android y QNX. Frida también le proporciona algunas herramientas sencillas creadas sobre la API de Frida. Estos pueden usarse tal cual, ajustados a sus necesidades o servir como ejemplos de cómo usar la API.

INSTALACIÓN:

Para su instalación y uso necesitamos python3.x, desde Windows procedemos a hacer lo siguiente desde un CMD: instalamos Frida-tools de la siguiente forma: pip install frida-tools.

Ahora procedemos a instalar Frida server en el dispositivo. Para saber que versión correspondería ejecutamos el siguiente comando: adb shell getprop ro.product.cpu.abi.

Acá nos ayudamos de ADB el cual ya vimos en entradas anteriores su instalación y su uso. Una vez que identificamos cual es la versión no dirigimos a la pagina:

https://github.com/frida/frida/releases  y descargamos la versión que en mi caso sería frida-server-14.2.17-android-x86.xz


Una vez descargado procedemos a desempaquetarlo y luego con ayua de ADB lo copiamos a la siguiente ruta:  /data/local/tmp/, le damos permiso y lo ejecutamos. Con ello ya tenemos nuestro servidor de Frida ejecutándose.

Para copiar ejecutamos adb push  /data/local/tmp/frida-server-14.2.17-android-x86

Para dar permisos y ejecutar usamos: chmod +x y luego ./frida-server-14.2.17-android-x86



USO:

Una vez   ya instalado podemos ejecutar Frida de la siguiente forma: Frida -h esto nos lista los comandos con los que podemos interactuar.


Desde otra consola podemos ejecutar el server y en otra Frida y podemos comenzar a  interactuar.


COMANDOS MÁS UTILES:

Enumerar los procesos en ejecución

frida-ps -U


Lista de aplicaciones en ejecución

frida-ps -Ua

Lista de aplicaciones instaladas

frida-ps -Uai


Conecta Frida al dispositivo específico

frida-ps -D dispositivo

Enumera los dispositivos conectados

frida-ls-devices

Mata un proceso en ejecución

frida-kill -D Dispositivo PID


QUE PODEMOS HACER CON FRIDA:

Orientado al pentesting podemos hacer: ByPass de Root, ByPass de SSL Pinning, encontrar llaves para desencriptar data encriptada,  xamarin-antiroot, detección de jailbreak, entre otras cosas, para más información visitar: FridaCodeShare

Espero les sea de utilidad.

viernes, 2 de abril de 2021

QUE ES ADB, PARA QUE SIRVE, COMO USARLO Y COMANDOS MÁS ÚTILES

4/02/2021 08:24:00 p. m. Posted by Secpronet , , , , , , , , , No hay comentarios

 QUE ES ADB, PARA QUE SIRVE, COMO USARLO Y COMANDOS MÁS ÚTILES 

¿QUE ES ADB?

Android Debug Bridge traducido como: Puente de depuración de Android, es una interfaz de software entre el dispositivo y la computadora, que permite la comunicación directa de ambos componentes.

¿PARA QUÉ SIRVE?

sirve para varias cosas, en este caso hablaremos del tema de hacking, podemos entrar a cada carpeta del dispositivo y de las aplicaciones instaladas en él, pero que podemos ver allí?, podemos ver los datos que almacena o guarda cada app de nuestro dispositivo, ver las bases de datos, el cache, también podemos interactuar con la carpeta shared_prefrens y los archivos dentro de ella, en fin podemos hacer de todo un poco, todo esto entraría en el tema de OWASP catalogado como: M2: Almacenamiento Inseguro de datos

¿DE DONDE DESCARGARLO?

Lo podemos descargar desde la página: https://developer.android.com/studio/releases/platform-tools,  o bien ya viene incorporado en  emuladores que usemos como lo son: Nox o GenyMotion.

¿COMO USARLO?

Para usar ADB lo que tenemos que hacer es lo siguiente ir a la ruta de extracción o instalación de la herramienta en mi caso usare Nox.

Abrimos una consola Windows y nos dirigimos a la ruta de la herramienta y allí escribimos lo siguiente: adb -h y podremos ver todos los comandos de la herramienta.




¿COMANDOS MAS COMUNES?

Adb devices: Muestra los dispositivos a los que se puede conectar.

Adb connect: una vez seleccionado el dispositivo nos podremos conectar.

Adb root: sirve para ser root.

Adb remount: sirve para montar la partición (system para escritura).

Adb Shell: sirve para generar una consola y poder interactuar.

Adb push: sirve para copiar archivos de la computadora al teléfono.

Abd pull: sirve para copiar archivos del teléfono a la computadora.

Adb install:  sirve para instalar aplicaciones.

Adb logcat o logcat: sirve para ver los logs del sistema.


Adb reboot: sirve para reiniciar el dispositivo.

Adb uninstall: sirve para desinstalar una aplicación del dispositivo.

Adb disconnect: sirve para desconectar el dispositivo.

Espero les sea de utilidad.