Documentos de Académico
Documentos de Profesional
Documentos de Cultura
✓ Una vez el usuario (victima) ingrese al archivo notara que no sucederá nada, sin
embargo, el atacante ya lograría la conexión Meterpreter obteniendo el acceso total al
Host.
Vulnerabilidad XSS
✓ Ejemplo 1
En este primer ejemplo se puede inyectar cualquier código JavaScript para comprobar que no es validado
y devuelto en la respuesta.
➢ http://pentesterlab/xss/example2.php?name=hacker<SCript>alert('1')</SCript>
✓ Ejemplo #2
En este segundo ejemplo si inyectamos el Payload anterior veremos que ‘<script>’ y ‘</script’ son
filtrados, pero basta poner una letra de cada tag en mayúsculas para evadir este débil filtro.
➢ http://pentesterlab/xss/example2.php?name=hacker<sCRIpt>alert('100')</sCRIpt>
✓ Ejemplo #3
En el siguiente ejemplo veremos que se ha tomado la precaución de usar el modificador ‘i’ para que el filtro
sea, case-insensitive. Por lo que los tags serán eliminados. Ahora si bien se eliminan los tags que contienen
el ‘script’ podemos aprovechar esto para que el filtro realice el trabajo.
➢ http://pentesterlab/xss/example3.php?name=hacker<scri<script>pt>alert(‘PentesterLabs')</scri<
/script>pt>
✓ Ejemplo #4
En este cuarto ejemplo si utilizamos el Payload del ejemplo anterior nos devolverá solo un error.
Normalmente es debido a que ya no está utilizando un replace, si no que esta vez busca el patrón “script”
y si lo encuentra devuelve el error (Es decir, como una condición If). Pero como no todas las XSS son
explotables mediante ese tag, podemos usar cualquier otro vector para ejecutarlo, por ejemplo.
➢ http://pentesterlab/xss/example4.php?name=onerror<img src=’zzzz’onerror='alert("100")' />
✓ Ejemplo #5
En esta ocasión la palabra filtrada es ‘alert’ así que tenemos que sustituirla por otra función, por ejemplo:
(prompt , Type Here)
➢ http://pentesterlab/xss/example5.php?name=<script>prompt (“Hello Joel Arispe” , “Type
Here”)</script>
✓ Ejemplo #6
Aquí, el código fuente de la página HTML es un poco diferente. Verás que el valor que estás enviando se
repite dentro del código JavaScript. Para obtener su cuadro de alerta, no necesitará inyectar una etiqueta
de script, solo tendrá que completar correctamente el código JavaScript preexistente y agregar su propia
carga útil, luego deberá deshacerse del código después de su punto de inyección comentándolo con algún
código ficticio () para cerrarlo correctamente.
➢ http://pentesterlab/xss/example6.php?name=hacker";alert('100');"
✓ Ejemplo #7
En el ejemplo siete, veremos que se están codificando los caracteres especiales y no podemos usar la
comilla doble (“”). Esto probablemente porque se están empezando a utilizar funciones destinadas a la
protección contra XSS.
➢ http://pentesterlab/xss/example7.php?name=hacker';alert('100');'
✓ Ejemplo #9
Este ejemplo es un XSS basado en DOM. Esta página podría ser completamente estática y aún así ser
vulnerable. El JavaScript existente esta buscando el ancla o anchor # para escribir la URL dentro de la
página. Podemos explotar esto poniendo el Payload XSS dentro de la URL después del anchor.
➢ http://pentesterlab/xss/example9.php# <script>alert('hi')</script>
No Funciono
Vulnerabilidad LDPA
El Protocolo ligero de acceso a directorios (LDAP) se utiliza para almacenar información sobre usuarios,
hosts y muchos otros objetos. La inyección LDAP es un ataque del lado del servidor que podría permitir
que la información sensible sobre los usuarios y los hosts representados en una estructura LDAP sea
revelada, modificada o insertada. Esto se hace mediante la manipulación de los parámetros de entrada
pasados después a las funciones internas de búsqueda, adición y modificación.
Una aplicación web puede utilizar LDAP para permitir que los usuarios se autentiquen o busquen la
información de otros usuarios dentro de una estructura corporativa. El objetivo de los ataques de inyección
LDAP es inyectar meta-caracteres de filtros de búsqueda LDAP en una consulta que será ejecutada por la
aplicación.
Ejemplo #1
En este primer ejemplo, se conecta a un servidor LDAP, utilizando su nombre de usuario y contraseña. En
este caso, el servidor LDAP no le autentica, ya que sus credenciales no son válidas.
Sin embargo, algunos servidores LDAP autorizan NULL Bind: si se envían valores nulos, el servidor LDAP
procederá a enlazar la conexión, y el código PHP pensará que las credenciales son correctas. Para obtener
el con 2 valores nulos, deberá eliminar completamente este parámetro de la consulta.
✓ Ejemplo #2
El patrón más común de inyección LDAP es poder inyectar en un filtro. Aquí, veremos cómo puede usar la
inyección LDAP para omitir una verificación de autenticación.
En este caso añadiremos el carácter que hará que todo lo que venga posteriormente ya no sea tratado, por
lo que el filtro “(&(cn=hacker)(cn=*)))(userPassword=[pass]))” será el Payload válido para este ejercicio.
✓ Ejemplo #2
En el segundo ejercicio sin embargo no podremos subir directamente el archivo php:
• Cambie la extensión a . En otros sistemas, las extensiones como o también pueden funcionar.
Depende de la configuración del servidor web..php3.php4.php5
• use una extensión que Apache no conozca después de la extensión . Como Apache no sabe cómo
manejar la extensión, pasará a la siguiente: y ejecutará el código PHP..blah.php.blah.php
• cargar un archivo .htaccess, permitiendo que PHP ejecute otra extensión (Puede obtener más
información sobre esta técnica en la capacitación de PentesterLab: (From SQL Injection to Shell:
PostgreSQL edition)[https://pentesterlab.com/fromsqlitoshellpg_edition.html]
Vulnerabilidad XML
También conocidos como ataques XXE (XML eXternal Entity), abusan de las denominadas Entidades
externas que usan el parser XML para acceder a un recurso especificado en la URI, por ejemplo, un
fichero en el servidor.
Explotando este tipo de vulnerabilidades es posible realizar una denegación de servicio (incluso a
sistemas remotos), ganar acceso no autorizado a archivos del servidor y escanear e incluso obtener
información de otras máquinas del segmento.
Ejemplo #1
Algunos analizadores XML resolverán entidades externas y permitirán que un usuario que controle el
mensaje XML tenga acceso a los recursos; por ejemplo, para leer un archivo en el sistema. Se puede
declarar la siguiente entidad, por ejemplo:
Deberá envolver esto correctamente, para que funcione correctamente:
➢ <!DOCTYPE test [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><test>&xxe;</test>
A continuación, simplemente puede utilizar la referencia a : (no olvide codificar ) para obtener el resultado
correspondiente insertado en el documento XML durante su análisis.
✓ Ejemplo #2
En este ejemplo, el código utiliza la entrada del usuario, dentro de una expresión XPath. XPath es un
lenguaje de consulta que selecciona nodos de un documento XML. Imagine el documento XML como una
base de datos y XPath como una consulta SQL. Si puede manipular la consulta, podrá recuperar elementos
a los que normalmente no debería tener acceso.
Si inyectamos una sola comilla, podemos ver el siguiente error:
Aquí, el problema es que necesitamos volver a subir en la jerarquía de nodos, para obtener más
información. En XPath, esto se puede hacer usando como parte de la carga útil. Ahora podemos seleccionar
el nodo padre del nodo actual y mostrar todo el nodo secundario usando:
➢ http://pentesterlab/xml/example2.php?name=' or 1=1]%00
3ra Parte – Practico Final
En la siguiente captura de sandbox: https://app.any.run/tasks/5ad87192-7104-4a49-bf74-
6c7f1cd4e097/, Explicar detalladamente qué tipo de malware se ejecutó, cuál fue el archivo que
despertó el malware, qué dirección IP maliciosas puede detectar en el ataque y cuáles fueran las
posibles medidas a tomar para no caer en este ataque.
✓ El archivo o ejecutable que despertó el Malware en el host destino era WannaCry con
extensión .exe que llevaba un nombre encriptado para no ser distinguido como un archivo
malicioso, a su vez creo más archivos con el fin de encriptar la información o datos del
dispositivo.
✓ Al ejecutar el .exe se puede detectar que tuvieron conexión a través de 6 direcciones IP
de las cuales 3 eran maliciosas, 2 eran sospechosas y 1 desconocida, cada una con una
procedencia distinta.