
En este artículo, trataremos el funcionamiento de algunas identidades WEB utilizando el juego de guerra
Natas como ejemplo. Cada nivel tiene acceso a la contraseña del siguiente nivel. Todas las contraseñas también se almacenan en los archivos / etc / natas_webpass /. Por ejemplo, la contraseña para natas5 se almacena en el archivo / etc / natas_webpass / natas5 y es de solo lectura para los usuarios natas4 y natas5.
Información organizacionalEspecialmente para aquellos que desean aprender algo nuevo y desarrollarse en cualquiera de las áreas de información y seguridad informática, escribiré y hablaré sobre las siguientes categorías:
- PWN;
- criptografía (criptografía);
- tecnologías de red (Red);
- inversa (ingeniería inversa);
- esteganografía (Stegano);
- búsqueda y explotación de vulnerabilidades WEB.
Además de esto, compartiré mi experiencia en informática forense, análisis de malware y firmware, ataques a redes inalámbricas y redes de área local, realización de pentests y escritura de exploits.
Para que pueda conocer nuevos artículos, software y otra información, creé un
canal en Telegram y un
grupo para discutir cualquier problema en el campo de ICD. Además, consideraré personalmente sus solicitudes personales, preguntas, sugerencias y recomendaciones
personalmente y responderé a todos .
Toda la información se proporciona solo con fines educativos. El autor de este documento no tiene ninguna responsabilidad por los daños causados a alguien como resultado del uso del conocimiento y los métodos obtenidos como resultado de estudiar este documento.
nivel 0
Observamos el código fuente de la página y verificamos los comentarios.

Encontramos la contraseña.
Muy a menudo, al desarrollar sitios, los desarrolladores comentan sobre diversos datos auxiliares para ellos, incluidos los datos de autorización.
nivel 1
Volvemos a ver el código fuente de la página, pero se asigna un evento de mouse con el botón derecho al evento de JavaScript, lo que evita que aparezca el menú contextual.

Para ver la página, puede usar las teclas de acceso rápido del navegador, luego el evento de presionar el botón derecho del mouse no funcionará.

Encontramos la contraseña.
Como opción (a veces prioridad), simplemente puede descargar la página completa y ver el código.
wget --http-user=natas1 --http-password=gtVrDuiDfck831PqWsLEZy5gyDz1clto http://natas1.natas.labs.overthewire.org

nivel 2
Volvemos a ver el código fuente de la página, notamos que la imagen se está cargando en la página.

Vayamos al directorio desde donde se descarga la imagen. Observamos que este directorio no está indexado y disponible para los usuarios.

Le quitamos la contraseña.

Para evitar ver archivos en el directorio, la configuración del servidor (en este caso /etc/apche2/httpd.conf) debería prohibir la indexación de archivos. O en este directorio debe estar el archivo index.html.
nivel 3
Volvemos a mirar el código fuente de la página, no hay nada interesante allí. El segundo elemento después de ver el código fuente es escanear archivos y directorios. Especifique el usuario y la contraseña para la autenticación http como los parámetros de la utilidad dirb.

El archivo robots.txt contiene una lista de directorios y archivos que los robots de los motores de búsqueda no pueden ver (por ejemplo, google y yandex).

Vayamos al directorio oculto en el sitio, busquemos el archivo y recojamos la contraseña.


Como análogo, puede usar la utilidad dirsearch o burpsuite.
nivel 4
El servidor informa de qué página fueron y dice a qué página ir. Puede verificar estos datos solo en el encabezado del protocolo HTTP.

En el navegador, seleccione la barra de herramientas → red → última solicitud y "cambiar y enviar". Debería cambiar el campo Referer: muestra exactamente de dónde venimos.

Queda por recoger la contraseña.

Esta acción es burpsuite.
Es necesario revisar constantemente qué campos HTTP está viendo el servidor web. Esta es la información de usuario filtrada más raramente.
nivel 5
El servicio informa que no hemos iniciado sesión. Es decir, almacena los datos de nuestra autorización. El único lugar donde esto se puede transmitir es la sesión de cookies.

Veamos las cookies (por conveniencia, es mejor instalar extensiones en el navegador) y cambie el valor del parámetro de inicio de sesión a 1.

Vuelva a cargar la página y recopile la contraseña.

Esta vulnerabilidad se clasifica como Autenticación rota y Administración de sesión.
nivel 6
Este servicio nos proporciona el código fuente para el análisis.

El secreto que debemos ingresar está incluido (conectado desde el archivo).

Vaya a la dirección de este archivo en el servidor y obtenga
Un secreto Como estos archivos contienen código php,
solo se muestra si los descarga.

Envía un secreto, obtén una contraseña.
nivel 7
Al hacer clic en ambos enlaces, notamos cómo se cargan. El nombre del archivo en el servidor se pasa en las páginas de parámetros GET.

Intentemos especificar la ruta al archivo / etc / passwd como parámetro.

Y nos dicen dónde obtener la contraseña.

La vulnerabilidad se clasifica como LFI.
nivel 8
Se proporciona el código fuente del servicio. La cadena codificada y el método de codificación se almacenan.

Es necesario decodificar en el orden inverso:
- convertir de vista hexadecimal a representación binaria;
- voltear la línea;
- decodificar base64.
<?php $secret = "3d3d516343746d4d6d6c315669563362"; echo base64_decode(strrev(hex2bin($secret)))."\n"; ?>

Envía un secreto y obtén una contraseña.

nivel 9
A partir del análisis del código fuente, queda claro que los datos del usuario se transfieren a la línea de comando para buscar datos en el archivo.

Como los datos no se filtran, puede recopilar la canalización y ejecutar otros comandos del sistema operativo. Si pasa una cadena a la solicitud, por ejemplo: "|| ls # ", entonces la solicitud completa se convertirá en" grep -i || ls # dictionary.txt ". Todo después de || - se ejecutará con un error, y después de # - se comentará, es decir, solo obtendremos la salida del comando ls.

Por lo tanto, leemos el archivo: “|| cat / etc / natas_webpass / natas10 # ".

La vulnerabilidad se clasifica como Inyección de comandos del sistema operativo.
nivel 10
A partir del análisis del código fuente, queda claro que los datos del usuario se transfieren a la línea de comando para buscar datos en el archivo.

La tarea es la misma que en el nivel 9, solo que ahora hay un filtro. T.O. los signos desaparecerán de la solicitud: ";", "|", "&". ¡Puede leer el archivo legítimamente! Supongamos que nuestra contraseña tiene el símbolo "z": "z / etc / natas_webpass / natas11 #".

Continuará Puedes unirte a nosotros en
Telegram .