Autenticación Básica HTTP

Body

La autenticación básica fue una de las primeras formas de autenticación en la web. Fue definida en el RFC 2617, y tienen un diverso número de problemas. El primero y principal son transmitidos sobre la red utilizando codificación en Base64, lo cual es trivial de revertir. Por pereza o ingenio, muchas herramientas y sitos revierten la codificación con un clic.

A continuación se delinea el proceso de autenticación HTTP Básica:

El cliente solicita una página

El servidor devuelve un código estado 401, lo cual indica el cliente necesita autenticarse.

El cliente envía la petición nuevamente para la página, pero estas vez incluye la información de autenticación ingresada por el usuario. El nombre de usuario y contraseña están codificados utilizando Base64 (No encriptados).

Entre las perspectivas del atacante para la autenticación HTTP Básica:

  • La autenticación básica no tiene concepto para el bloqueo de cuentas ni número máximo para intentos de login
  • La autenticación se realiza en texto plano, fácilmente factible de ser interceptado y factible de ser interpretado si no se pasa mediante HTTPS
  • Puede ser fácilmente retransmitida
  • Suplantar el sitio web para engañar a los navegadores a proporcionar credenciales de autenticación
  • No se puede hacer logout sin cerrar el navegador

Fuentes:

https://datatracker.ietf.org/doc/html/rfc2617
 

Navegar Directorios

Body

Navegar directorios es una falla común de fuga de información. Permite a un ciberatacante “fugarse” del servidor web, y navegar el sistema de archivos subyacente.

Existen diversas búsquedas utilizando Google (Google Dorks) factibles de ser utilizadas para descubrir fallas sobre fuga de información. Por ejemplo la búsqueda.

site:gob.pe intitle:"index.of" "last modified"

Se sugiere revisar la Google Hacking Database para encontrar más información.

También se sugiere ser muy cuidadoso al realizar este tipo de búsquedas, pues Google podría “bloquear” las peticiones detectándolas como maliciosas. En este caso Google presentará un CAPTCHA, el cual está diseñado para determinar si se es un ser humano o un bot/script

Es posible visualizar un listado de los contenidos de un directorio. El listar directorios puede revelar scripts ocultos, archivos de inclusión, archivos de código fuente, etc. Lo cual puede ser accedido para revelar información sensible.

En este caso en particular se ha encontrado un servidor probablemente accedido de manera no autorizada.

Fuentes:

https://cwe.mitre.org/data/definitions/548.html
https://www.exploit-db.com/google-hacking-database
 

Fuga de Información en Archivos phpinfo.php

Body

Las fallas de fuga de información son bastante comunes y ayudan a limitar el enfoque de las etapas posteriores de ataque, incluidas el adivinar nombres de usuario y la inyección SQL. Ya sea la información sobre la versión del sistema operativo cuanto la del servicio forman parte del análisis de vulnerabilidades, y sirven como entradas en la fase de explotación.

phpinfo

Genera una gran cantidad de información sobre el estado actual de PHP. Esto incluye información sobre las opciones de compilación y extensiones de PHP, la versión de PHP, información del servidor y el entorno (si se compila como un módulo), el entorno PHP, información de la versión del sistema operativo, rutas, valores maestros y locales sobre las opciones de configuración, encabezados HTTP y la licencia de PHP.

Debido a que cada sistema está configurado de manera diferente, phpinfo() es comúnmente utilizado para verificar los ajustes de configuración, y las variables predefinidas disponibles en un sistema determinado.

phpinfo() también es una valiosa herramienta para depuración, pues contiene todos los datos EGPCS (Entorno, GET, POST, Cookie, Servidor).

Versión completa del Kernel de Linux


Directorio y archivo de configuración de PHP, además de su estructura de directorios subyacente


Directorio raíz


Uso de MySQL y versión MySQL


Fuentes:

https://www.php.net/manual/en/function.phpinfo.php
 

Fuzzing en Zed Attack Proxy

Body

Fuzzing es una técnica la cual consiste en enviar una gran cantidad de datos hacia un objetivo (Frecuentemente en forma de entradas no válidas o inesperadas).

ZAP permite hacer fuzz sobre cualquier solicitud utilizando:

  • Un conjunto integrado de Payloads (cargas útiles)
  • Payloads definidas por complementos por add-ons (complementos adicionales)
  • Scripts (Guiones) personalizados

Para acceder al cuadro de diálogo Fuzzer, se puede ya sea:

  • Hacer clic con el botón derecho en una petición ubicada en una de las pestañas de ZAP (como History o Sites), para luego seleccionar “Attack / Fuzz…”
  • Resaltar una cadena en la pestaña Petición, hacer clic con el botón derecho y seleccionar “Fuzz…”
  • Seleccionar el elemento de menú “Tools / Fuzz…” para luego seleccionar la petición sobre la cual se requiere hacer fuzz

 

Generadores de Payloads

Los generadores de payloads generan valores en bruto o ataques los cuales el fuzzer envía hacia la aplicación de destino.

Se administran a través del cuadro de diálogo Payloads.

Procesadores de Payloads

Los procesadores de Payloads pueden ser utilizados para cambiar Payloads específicas antes de ser enviadas.

Se administran a través del cuadro de diálogo Procesadores de carga útil.

Procesadores de ubicación para Fuzz

Los procesadores de ubicación para Fuzz pueden ser utilizados para cambiar todas los Payloads antes de ser enviados.

Se administran a través del cuadro de diálogo Procesadores de ubicación.

Procesadores de mensajes

Los procesadores de mensajes pueden acceder y cambiar los mensajes siendo utilizados para fuzz, controlar el proceso de fuzz, e interactuar con la interfaz de usuario de ZAP.

Se administran mediante la pestaña "Procesadores de mensajes" del cuadro de diálogo Fuzzer.

Algunas de estas funciones se basan en el código del proyecto OWASP JbroFuzz, e incluyen archivos del proyecto fuzzdb.

Anotar han omitido algunos archivos fuzzdb pues causa los escáneres antivirus comunes los marquen como contenedores de virus.

Pueden ser reemplazados (y actualizar fuzzdb) descargando la última versión de fuzzdb y expandiéndola en la librería "fuzzers".

Fuentes:

https://www.zaproxy.org/docs/desktop/addons/fuzzer/dialogue/
https://www.zaproxy.org/docs/desktop/addons/fuzzer/payloads/
https://www.zaproxy.org/docs/desktop/addons/fuzzer/processors/
https://www.zaproxy.org/docs/desktop/addons/fuzzer/locations/
https://www.zaproxy.org/docs/desktop/addons/fuzzer/options/

Funcionalidad Deshabilitada

Body

Conforme las aplicaciones web evolucionan, algunos desarrolladores dejan funcionalidades deshabilitadas. Estas frecuentemente revelan secciones previas o futuras de un sitio. Consecuentemente estas necesitan ser evaluadas y reportadas.

Aunque oficialmente están “deshabilitadas” algunas veces tales funcionalidades puede ser invocadas. Estas pueden contener debilidades significativas en seguridad, pues frecuentemente obtienen menos atención comparado con otros componentes de un sitio o aplicación.

Incluso aunque estén “deshabilitadas” tales funcionalidades podrían conducir a socavar la aplicación por completo.

Tipos de Funcionalidad Deshabilitada

Es común encontrar enlaces comentados para no aparezcan en la página o el menú. Un ciberatacante se concentra en estos porque la mayoría de las veces proporcionan enlaces hacia cosas las cuales el propietario de la aplicación no desea sean vistas.

Las páginas ocultas más antiguas contienen funcionalidad no actualizada. Debido a la parte más importante de la sesión, la autenticación y la autorización es la consistencia, encontrar páginas antiguas las cuales pueden no ser tan seguras puede permitir  un abuso de la aplicación.

Las páginas ocultas más nuevas son comúnmente encontradas antes de un sitio sea actualizado. Los desarrolladores comenzarán a subir código en preparación, y al encontrar estas páginas, se tiene la posibilidad de encontrar código el cual no está completo o aún se está siendo probando. Es común la versión de prueba de las páginas muestre información para resolución de problemas, incluidas las consultas utilizadas. Se puede utilizar esta información para lanzar ataques.

Las páginas privilegiadas son partes del sitio a las cuales no se está autorizado de acceder. Algunas aplicaciones verifican el nivel de autorización del usuario y luego muestran un menú. Si se visualiza la fuente, algunas veces se puede ver enlaces hacia páginas administrativas, las cuales están comentadas porque el usuario no tiene acceso. Al navegar por las páginas, se puede encontrar las páginas no verifican el nivel de autorización.

El código comentado generalmente se divide en dos categorías:

  • El primer tipo es el código reemplazado por código para el lado del servidor. Siendo capaz de visualizar la versión para lado del cliente, el ciberatacante puede identificar debilidades en el código.
  • El segundo tipo es el código no utilizado. Este código puede apuntar hacia funciones o áreas del sitio no utilizados. Estas secciones del sitio pueden ser una debilidad factible de explotar.

Estas funciones son interesantes por un par de razones. Primero, pueden mostrar una debilidad la cual no era antes obvia. En segundo lugar, algunas funciones para el lado del cliente se trasladan hacia el lado del servidor, y luego quedan sin efecto en el código del cliente. Esto puede proporcionar una idea sobre como funciona el código para el lado del servidor.

Fuentes:

https://www.lawinsider.com/dictionary/disabled-functionality
 

Evaluar la Seguridad y Privacidad del Navegador Web con BrowserLeaks

Body

BrowserLeaks es un conjunto de herramientas ofreciendo una diversidad de pruebas para evaluar la seguridad y privacidad de un navegador web. Estas pruebas se centran en identificar maneras en las cuales los sitios web pueden filtrar la dirección IP real, recopilar información sobre el dispositivo, y realizar una identificación del navegador.

Comprendiendo estos riesgos, se pueden tomar medidas adecuadas para proteger la privacidad en línea, y minimizar la exposición ante posibles amenazas.

Entre las pruebas realizadas se enumeran; Dirección IP, JavaScript, Prueba de exposición WebRTC, Huella de Canvas, Reporte WebGL, Huella de Fuente, API para Geolocalización, Detección de Características, Pruebas del Cliente SSL/TLS, y Filtro de Contenidos.

Como ejemplo, la siguiente imagen expone la información obtenida en base a la dirección IP.

Esta sección también presenta información sobre geolocalización.

Este sitio web no recolecta datos personales, no almacena huellas de usuarios, ni define cookies no esenciales. Es posible se realicen peticiones mínimas hacia terceros al utilizar determinadas API, siendo posible los servicios de terceros, como los de análisis estén activos temporalmente. Se puede controlar todo en la página Configuración del sitio.

Fuentes:

https://browserleaks.com/

Auditar la Protección de Privacidad del Navegador utilizando Panopticlick

Body

Es un sitio de la EFF el cual audita la protección de la privacidad de un navegador. Concebido para concienciar sobre la amenaza en la identificación de dispositivos, Panopticlick se amplió para verificar la protección contra rastreo por anuncios y “beacons” invisibles.

Por defecto Panopticlick verificará los navegadores en busca de rastreadores en la lista “Acceptable Ads”, mediante una prueba con un rastreador real. Si el navegador falla, ese rastreador recibirá cierta información sobre el usuario, pero esta mínima filtración es necesaria para diagnosticar el problema. Si no se está confortable con esto, se puede optar por no participar en la prueba. Si Panopticlick detecta una protección inadecuada, el usuario recibe instrucciones para desactivar los anuncios aceptables y corregir su configuración.

Para probar el navegador, y percibir cuan bien se está protegido contra el rastreo y huellas, hacer clic en el botón de nombre “TEST YOUR BROWSER”

Finaliza las pruebas se mostrarán resultados muy detallados sobre como los rastreados ver el navegador web. Resultados sobre las cabeceras web, características derivadas de JavaScript, agente de usuario, cabeceras HTTP_ACCEPT, características del navegador, detalles de los plugins del navegador, desplazamiento de zona horaria, tamaño de pantalla y profundidad de color, entre otros datos relevantes.

¿Cómo sigue la tecnología de rastreo el rastro en la web, incluso si has tomado medidas para protección? Cover Your Tracks muestra como los rastreadores ven el navegador. Proporciona una descripción general de las características más exclusivas e identificativas de tu navegador.

Solo se recopilarán datos anónimos a través de este sitio.

Fuentes:

https://www.eff.org/deeplinks/2017/11/panopticlick-30
https://coveryourtracks.eff.org/

Maltego CaseFile

Body

CaseFile es la respuesta de Maltego al problema de inteligencia fuera de linea, pues permite a los analistas examinar relaciones entre datos fuera de linea.

Siguiendo al lanzamiento de la versión 4.8.0 de Maltego Graph, CaseFile ya no estará disponible como un producto separado; sin embargo los usuarios de CaseFile pueden continuar siendo beneficiados de las funciones de análisis de datos fuera de linea bajo la licencia Community Edition.

CaseFile seguirá estando disponible para los usuarios utilizando la versión 4.7.0 de Maltego y versiones anteriores. Estos usuarios pueden seguir utilizando la herramienta CaseFile para visualizar las relaciones en sus datos fuera de linea.

Los usuarios de CaseFile quienes se hayan actualizado hacia la versión 4.8.0 pueden crear una cuenta Maltego ID e iniciar sesión de forma gratuita como usuarios Community Edition, obteniendo acceso a Maltego Graph, el cual incluye funciones de Casefile disponibles anteriormente para el análisis de datos fuera de linea. Asegurarse de instalar el elemento del Concentrador "CaseFile Entities" desde el Concentrador de Datos Maltego.

Se procede con la instalación de “CaseFile Entities"

Finaliza la instalación de “CaseFile Entities"

CaseFile nació como resultado de muchos usuarios de Maltego utilizan la herramienta para crear gráficos con datos fuera de línea recopilados desde sus investigaciones. Casefile no soporta la utilización de transformaciones, sin embargo los usuarios de Casefile se benefician de la flexibilidad y el rendimiento basados simplemente en la capacidad para la creación de gráficos en Maltego.

  • CaseFile es una aplicación visual de inteligencia, la cual se puede utilizar para determinar las relaciones y los vínculos del mundo real entre cientos de tipos diferentes de información.
  • CaseFile puede ser utilizada para dibujar relaciones entre elementos de información, haciendo posible ver conexiones ocultas incluso si están separadas por varios grados de separación.
  • CaseFile viene con varios tipos diferentes de entidades, los cuales se utilizan comúnmente en investigaciones, permitiendo actuar de manera rápida y eficiente. CaseFile también tiene la capacidad de agregar tipos de entidades personalizadas, las cuales le permiten extender el producto hacia sus propios conjuntos de datos.

¿Qué puede hacer CaseFile por el Profesional?

CaseFile puede ser utilizado para las etapas de recopilación de información, análisis e inteligencia de casi todo tipo de investigaciones, desde seguridad en tecnologías de información, hasta aplicación de la ley, además de cualquier trabajo basado en datos. Ahorrará tiempo y permitirá trabajar con mayor precisión.

CaseFile tiene la capacidad de visualizar conjuntos de datos almacenados en formatos CSV, XLS y XLSX, así como exportar gráficos hacia estos formatos.

CaseFile ayuda en el proceso de pensamiento al demostrar visualmente las relaciones interconectadas entre su información.

Fuentes:

https://docs.maltego.com/support/solutions/articles/15000018948-what-is…-

Detener el Abuso Infantil - Localizar un Objeto

Body

Europol publica imágenes sobre las cuales una vez se realice trabajo OSINT, se podría ayudar a resolver casos de abuso infantil.

Es factible ayudar a Europol en la localización de un objeto, para consecuentemente detener el abuso infantil

Algunas veces las pistas más inofensivas pueden ayudar a resolver un caso. Todos los objetos han sido obtenidos del fondo de una imagen con material sexual explícito involucrando a menores. Para todos las imágenes presentadas, ya se han examinado todas las demás vías de investigación. Por lo tanto se solicita ayuda para intentar identificar el origen de algunos de estos objetos. Esto en base a la premisa de si las observan más ojos se encontrarán más pistas, y en última instancia se ayudará a salvar a estos niños.

¿Es posible ayudar a reconocer estos objetos?

Específicamente se requiere rastrear su origen (ubicación/país). Se puede ayudar haciendo clic en un objeto el cual se reconozca, para luego proporcionar a Europol la información sobre el objeto. Esto puede ser hecho anónimamente. Una vez identificado el origen de un objeto, se procederá a informar a la autoridad policial competente del país involucrado, para investigue más profundamente esta pista con la esperanza se acelere la identificación tanto del infractor como de la víctima.

Fuentes:

https://www.europol.europa.eu/stopchildabuse
https://www.europol.europa.eu/crime-areas/child-sexual-exploitation

Máquina Virtual OSINT de Trace Labs

Body

OSINT colaborativo para encontrar personas desaparecidas

Trace Labs es una organización sin fines de lucro cuya misión es acelerar la reunificación familiar de personas desaparecidas, mientras proporciona entrenamiento a sus miembros en el arte de la inteligencia desde fuentes abiertas (OSINT).

Se ha creado una Máquina Virtual OSINT especializada específicamente para reunir herramientas OSINT más efectivas y scripts personalizados las cuales se utilizan durante sus CTFs de grupos de búsqueda. Inspirada en la infame Máquina Virtual de nombre Buscador, la Máquina Virtual OSINT de Trace Labs se creó de manera similar, para permitir los investigadores OSINT tengan una forma rápida de comenzar y tener acceso hacia las herramientas y scripts OSINT más populares, todos perfectamente empaquetados bajo un mismo techo.

Aplicaciones

La mayoría de las herramientas OSINT ya no vienen previamente empaquetadas con la máquina virtual. Sin embargo existe una opción para descargarlas mediante un script ubicado en el escritorio. Esto mantiene el tamaño de la versión lo suficientemente pequeña como para compilarla y alojarla en Github. Si requiere instalar las herramientas incluidas en el script se debe ejecutarlo.

$ cd Desktop/
$ ./install-tools.sh

Entre las aplicaciones incluidas en la máquina virtual se incluyen programas para; navegación, análisis de datos, dominios, descargadores, correo electrónico, frameworks, números de teléfono, medios sociales, nombres de usuario, y otras herramientas, además de documentación.

Fuentes:

https://www.tracelabs.org
https://www.tracelabs.org/initiatives/osint-vm
https://github.com/tracelabs/tlosint-vm