Hacking Ético, Seguridad Informática, RedTeam, Pentesting.

Mostrando entradas con la etiqueta metasploit. Mostrar todas las entradas
Mostrando entradas con la etiqueta metasploit. Mostrar todas las entradas

miércoles, 6 de julio de 2022

PENTESTING WEB PARTE 5

 PENTESTING WEB PARTE 5 - SQLI


¿Qué es SQLI?

Un ataque de inyección SQL consiste en la inserción o “inyección” de una consulta SQL a través de los datos de entrada del cliente a la aplicación. Un exploit de inyección SQL exitoso puede leer datos confidenciales de la base de datos, modificar datos de la base de datos (Insertar/Actualizar/Eliminar), ejecutar operaciones de administración en la base de datos (como apagar el DBMS), recuperar el contenido de un archivo dado presente en el archivo DBMS sistema y, en algunos casos, emitir comandos al sistema operativo. Los ataques de inyección SQL son un tipo de ataque de inyección, en el que los comandos SQL se inyectan en la entrada del plano de datos para afectar la ejecución de los comandos SQL predefinidos.


Tipos de ataques SQLI

  • Ataque por error: Es el ataque más común y el más fácil de explotar ya que es la propia aplicación la que va indicando los errores de la base de datos al realizar las diferentes consultas.
  • Ataque por unión: Este tipo de ataque consiste en que el portal devuelva un resultado, y a partir de ahí, añadir al resultado original el resultado de otra query de tal forma que se muestren junto con los datos del portal, los datos sensibles del mismo que no debería de poderse obtener.
  • Ataque ciego (blind): Es el ataque más complicado, es la última opción cuando ninguno de los ataques anteriores funciona. En este caso hay que ser muy creativos y se deben de realizar preguntas a la base de datos mediante booleanos, es decir, verdadero o falso.
  • Basado en condicionales: Si la consulta está bien mostrará los resultados, sino no.
  • Basada en tiempo: Si la consulta es correcta devolverá los resultados a los N segundos, sino no.

Ejemplo de como realizar una inyección SQLI.

Para realizarla vamos a ir al módulo de "passphrase generator", luego capturamos la petición y la mandamos al repeter.

Después mandamos la petición y vemos lo que responde, posterior a eso usamos a modo de ejemplo este payload "' OR '1'='1" , nos dirigimos al decoder y lo encodeamos en url y como vemos nos devuelve la petición exitosa de igual forma nos deja pasar la petición.







Ya vimos que nos funciono lo del payload ahora vamos a usar la herramienta sqlmap, con ello vamos a conseguir explotar y sacar la información de la base de datos, lo aremos de la siguiente forma,



Y con ello conseguimos realizar una inyección sqli y su explotación con sqlmap.


Espero les sea de utilidad, nos vemos en la siguiente entrada.

Happy-Hacking 😊

martes, 21 de junio de 2022

PENTESTING WEB PARTE 4

 PENTESTING WEB PARTE 4 - XSS3


Inyección XML - XSS - Subida de Archivos

En esta entrada veremos como podemos realizar una inyección XML-XSS subiendo un archivo y llamándolo paraqué ejecute nuestro payload, en este caso podemos usar el mismo payload del ejemplo anterior,  de esta forma nos va a dejar pasar y con ello el alert aparecerá en el navegador al llamar el archivo.


En este caso vamos a el área de subida de archivos, luego vamos a buscar nuestro archivo xml que habíamos creado previamente, presionamos el botón buscar, cargamos el archivo.






Ahora solo queda llamar al archivo de la siguiente ruta /uploads/admin1/xss.xml y se ejecutara nuestro escript.

Espero les sea de utilidad, nos vemos en la siguiente entrada.

Happy-Hacking 😊

PENTESTING WEB PARTE 3

PENTESTING WEB PARTE 3 - XSS2


Inyección XML - XSS

En esta entrada veremos como podemos realizar una inyección XML-XSS, en este caso, podemos usar el mismo payload del ejemplo anterior, esta vez lo vamos a encodear en html y de esta forma nos va a dejar pasar y con ello el alert aparecerá en el navegador.


En este caso vamos a el área de administración, luego vamos a buscar el usuario, presionamos el botón buscar y vemos lo que capturamos en BurpSuite.



Ahora que ya capturamos agregamos el script que encodeamos en html  (solo vamos a encodear  esto: "<script>"), luego, precionamos el botón de forward y dejamos pasar la petición.


Como vemos la inyección funciono y nos ejecuto el alert con lo que nosotros habíamos agregado.


Espero les sea de utilidad, nos vemos en la siguiente entrada.

Happy-Hacking 😊

lunes, 20 de junio de 2022

PENTESTING WEB PARTE 2

 PENTESTING WEB PARTE 2 - XSS1

¿Qué es Cross-Site-Scripting?

Los ataques Cross-Site Scripting (XSS) son un tipo de inyección, en el que se inyectan scripts maliciosos en sitios web que. Los ataques XSS ocurren cuando un atacante usa una aplicación web para enviar código malicioso, generalmente en forma de un script del lado del navegador, a un usuario final diferente. Las fallas que permiten que estos ataques tengan éxito están bastante extendidas y ocurren en cualquier lugar donde una aplicación web use la entrada de un usuario dentro de la salida que genera sin validarla o codificarla.

Tipos de ataques XSS

  • XSS Reflejado: Es el más común, este no se almacena en el código en el servidor.
  • XSS Almacenado o Persistente: Este tiende a almacenar el código en el servidor.
  • XSS Basdo den DOM: Inyecta mediante la url pero no se carga como parte de la web en su código fuente, podemos decir que el código no llega a la web, únicamente se ejecuta en el navegador de la víctima.

Recursos

Entre los recursos que se pueden usar hay gran cantidad en la web, de los cuales podemos usar o apoyarnos con estos: 


¿Dónde Podemos Practicar?

Podemos hacerlo en:

También lo podemos hacer con ayuda de repositorios de github hay muchos escenarios para pruebas, en este laboratorio usaremos ese repositorio DVWS,  la instalación lo vimos en la primera parte1.


¿Cómo hacer una inyección XSS?

Para realizar una inyección necesitamos de payloads, un payload generalmente es lo que usamos para inyectar dentro del o los parámetros vulnerables que tiene la aplicación.

Para este ejemplo vamos hacer un XSS Reflejado en el login.

Primero vamos a colocar un user y una contraseña, luego de esto configuramos BurpSuite para poder capturar trafico.


Luego de esto vemos que al capturar podemos modificar la petición, (dejo ambas), agregamos el script y presionamos el botón forward, luego regresamos al navegar y vemos como funciona, mostrando el alert con el mensaje que definimos previamente.



Espero les sea de utilidad, nos vemos en la siguiente entrada.

Happy-Hacking 😊

lunes, 2 de mayo de 2022

PENTESTING WEB PARTE 1

 

PENTESTING WEB PARTE 1 - DEFINICIONES Y CONFIGURACIÓN DEL LABORATORI DE PRUEBAS


¿QUE ES EL PENTESTING WEB?

Consiste en revisar los sistemas o aplicativos WEB con el objetivo de detectar vulnerabilidades y prevenirlas.

 

¿Qué es Owasp Top 10?

Es un documento de concienciación estándar para desarrolladores y seguridad de aplicaciones web. Representa un amplio consenso sobre los riesgos de seguridad más críticos para las aplicaciones web.


 Owasp Top 10 2017 y 2021 que cambios tuvo.


¿Qué son las Pruebas SAST y DAST?

Son metodologías de pruebas de seguridad de aplicaciones que se utilizan para encontrar vulnerabilidades o deficiencias de seguridad.

SAST: Son pruebas de seguridad de aplicaciones estáticas es decir revisar el código fuente de la aplicación.

DAST:  Son pruebas de seguridad de aplicaciones dinámico es decir que se auditara la aplicación en funcionamiento (interfaces o entradas de esta).

 

¿Qué herramientas necesitamos?

Para realizar las pruebas de penetración web necesitamos de varias herramientas como lo son: BurpSuite, ZapProxy, SonarQube, Acunetix, entre otras. Tenemos que tener en cuentas que tipo de prueba realizaremos, en el transcurso de estas entradas en el blog aremos pruebas DAST.

 

¿Cómo configurar mi laboratorio de pruebas?

Para realizar esto necesitamos de un entorno controlado, para ello usaremos este repositorio: https://github.com/snoopysecurity/dvws-node, usaremos Mozilla Firefox y BurpSuite.


Instalando DVWS

DVWS es un servicio web/api vulnerable para pruebas.

Clonamos o descargamos el repositorio, luego mediante Docker iniciaremos el servidor de pruebas. Esperamos que termine el proceso y luego lo iniciamos, en mi caso uso Docker en Windows.

  • cd dvws-node
  • docker-compose up



Instalando certificado de BurpSuite en Mozilla Firefox.

Hay dos formas una desde una url y otra generando el certificado desde burp.


Generando certificado desde Burp:

Para ello vamos a Proxy-Options-Proxy Listeners y configuramos la ip y el puerto. Luego vamos a Import/Export CA Certificates, marcamos la opción certificate in DER format le colocamos a un nombre y le colocamos la extensión .Der.



Ahora vamos a firefox y vamos a la opción ajustes, privacidad & seguridad – certificados – ver certificados – importar – y abrimos el certificado y presionamos aceptar.


Luego vamos a configurar el proxy en Mozilla, seleccionamos configuración manual del proxy y agregamos la ip y el puerto que colocamos en burp anteriormente, marcamos la opción de socks v5 y aceptamos.




Generando certificado desde url:

Vamos a la siguiente url: http://burpsuite/ y descargamos el certificado donde dice “CA Certificate”, y seguimos los siguientes pasos: Ahora vamos a firefox y vamos a la opción ajustes, privacidad & seguridad – certificados – ver certificados – importar – y abrimos el certificado y presionamos aceptar.







Luego vamos a configurar el proxy en Mozilla, seleccionamos configuración manual del proxy y agregamos la ip y el puerto que colocamos en burp anteriormente, marcamos la opción de socks v5 y aceptamos.


Una vez teniendo todo listo, iniciamos DVWS y con la ip de nuestra máquina entramos a la parte web, procedemos a realizar una prueba y vemos que si capturamos tráfico.

Espero les sea de utilidad, nos vemos en la siguiente entrada.
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 :)