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

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 :)