Cada vez más escucho a más personas decir barbaridades del estilo ¡cómo me voy a
infectar con un tema si es solo la parte gráfica!
No me preocuparía tanto de no ser porque es en el propio sector del desarrollo web
donde lo estoy escuchando actualmente.
Esto tiene una explicación y es debido a que como la tendencia en pequeños
mercados a abaratar costes muchas veces llega a un punto de desarrollo
insostenible.
lunes, 21 de noviembre de 2016
sábado, 19 de noviembre de 2016
Fundamentales. Directorios
Autor: @jantoniorobledo
Hoy
vamos a ver dos cosas: como movernos en el árbol de directorios y otros comandos
útiles para manipularlos
Que es un directorio
Pues de forma básica es eso que conocemos en
Windows como carpeta (para mí siempre serán directorios a pesar de Microsoft J). En la Wikipedia podemos encontrar
esta definición de directorio:
“En informática,
un directorio es un contenedor virtual en el que se almacenan una agrupación de
archivos informáticos y otros subdirectorios, atendiendo a su contenido, a su
propósito o a cualquier criterio que decida el usuario. Técnicamente, el
directorio almacena información acerca de los archivos que contiene: como los
atributos de los archivos o dónde se encuentran físicamente en el dispositivo
de almacenamiento.”
lunes, 14 de noviembre de 2016
Presentada el aula movil de HoneySEC en #HoneyCon16 (Proyecto Recycling)
El pasado 12 de noviembre se presento el resultado del proyecto Recycling de HoneySEC. Un proyecto iniciado hacia el mes de febrero con un simple Tweet que pedía la entrega de portátiles que la gente no usase en sus casas o trabajos.
Rápidamente comenzaron a contestar personas anónimas de diferentes puntos del país, incluso de sudamerica solicitando información para donar sus equipos. En pocas semanas llegaron una docena de portátiles y de esta manera arrancamos el proceso de Recycling.
domingo, 13 de noviembre de 2016
Mini-Resumen: HoneyCon2016
El pasado viernes 11 de noviembre se inauguró el 2º Congreso de seguridad Ciudad de Guadalajara, Jornadas que prácticamente clausuran el año 2016 para la asociación HoneySec, un año en el que el denominador común fue la continua actividad de la misma, con 60 eventos dentro y fuera de nuestra ciudad.
Las jornadas se inauguraron por Raúl Renales como representante de HoneySec, Jesús de Andres como Director del centro asociado de la UNED en Guadalajara, Lucas Castillo como Diputado de la Excelentísima Diputación de Guadalajara y Jaime Carnicero como vice-alcalde de Guadalajara, en el acto se dio la bienvenida a ponentes y asistentes y se repasó la implicación de estas entidades en las jornadas.
domingo, 6 de noviembre de 2016
Fundamentals: HTTP – REFERER
Autor: @txambe
En el articulo de hoy vamos a revisar el tema de las
cabeceras de HTTP REFERER , para aquello que desconozcáis de que son , os pongo
el resumen que hay en la wikipedia.
Fuente: WiKipedia
HTTP referer (inicialmente un error ortográfico del término referrer)
es una cabecera HTTP
que identifica la dirección de la página web (es decir, la URI o IRI)
que creó el vínculo con el recurso que está siendo solicitado. A través del
chequeo del campo referer, la nueva página web puede determinar dónde se
originó la solicitud.
En la mayoría de los casos esto significa que cuando un
usuario hace clic a un hipervínculo
en un navegador web,
el navegador envía una solicitud al servidor que hospeda la página web destino
y dicha solicitud incluye el campo referer, que indica la última página que el
usuario visitó (aquella donde el usuario hizo clic al vínculo).
El registro del campo referer es utilizado con propósitos
estadísticos y promocionales por los sitios web y servidores web, pues les
permite identificar desde qué localización están siendo visitados.1
También es muy recomendable revisarse la RFC 2616,
sección 14.36 que explica en detalle el HTTP Referer y en
la sesión 15.1.3 se ven las
consideraciones de seguridad que deben cumplir los agentes de usuario
como por ejemplo no incluir el Referer cuando se pase de HTTPS a HTTP por los
problemas de exposición de información sensible.
En la siguiente imagen podemos ver un encabezado HTTP y como
el navegador web esta informando al servidor , a través de referer , que esta solicitando el recurso htaccess.html
se está realizando desde la portada de /http-headers-tool
se está realizando desde la portada de /http-headers-tool
No hay que confundirse con el metadato HTML Referrer
que se ocupa de especificar que valores va a contener el campo de
encabezado de petición Referer, según la política de
Referrer de la W3C que se aplique.
El Referer, al igual que el Etag han suscitado
bastantes sospechas respecto a su uso, utilizados por afectar la privacidad de
los usuarios. Mediante el Referer puede registrarse los hábitos de navegación
de las personas a través de la recolección de los saltos realizados entre
páginas, estableciéndose patrones de comportamiento en Internet.
Al realizar una
prueba de pentesting es importante revisar cual es el Referer entre peticiones
, para lo cual podemos aplicar la prueba
de seguridad OTG-AUTHN-001 para entender si las credenciales son
enviadas a través de un canal seguro.
domingo, 30 de octubre de 2016
Fundamentals: WAF ( Web Application Firewall )
Autor: @txambe
Hoy vamos a ver un tema muy interesante (por lo menos a mí
me lo parece) y son las distintas técnicas para realizar un fingerprint de los
firewall de aplicaciones web o más conocidos como WAF.
Bueno pues empecemos por el principio ¿Que es un firewall? es un sistema de seguridad que controla el
tráfico de una red, servidor o una aplicación, los puede haber tanto hardware
como software.
Se pueden diferenciar dos tipos de firewall :
·
Los firewalls de capa de red funciona a nivel de red (capa 3 del modelo OSI, capa 2 del
stack de protocolos TCP/IP) como filtro de paquetes IP. A este nivel se pueden
realizar filtros según los distintos campos de los paquetes IP: dirección IP
origen, dirección IP destino. En este tipo de firewall se permiten filtrados
según campos de nivel de transporte (capa 3 TCP/IP, capa 4 Modelo OSI), como el
puerto origen y destino, o a nivel de enlace de datos (no existe en TCP/IP,
capa 2 Modelo OSI) como la dirección MAC.
·
Los firewall de aplicaciones web, trabaja en el nivel de aplicación (capa 7 del modelo OSI),
de manera que los filtrados se pueden adaptar a características propias de los
protocolos de este nivel. Por ejemplo, si se trata de tráfico HTTP, se pueden
realizar filtrados según la URL a la que se está intentando acceder.
Un cortafuegos a nivel 7 de tráfico HTTP suele denominarse proxy, y permite que los pc de una organización entren a Internet de una forma controlada. Un proxy oculta de manera eficaz las verdaderas direcciones de red.
Los WAF funcionan en los siguientes modos::
·
Negative
Model (Blacklist based)
·
Positive
Model (Whitelist based)
·
Mixed/Hybrid
Model (Blacklist & whitelist model)
Las formas en que podemos implementar un WAF son:
·
Reverse
proxy
·
Inline
·
Connected
to a Switch (SPAN>Port Mirroring)
Métodos de identificación de WAF
Los métodos mas conocidos que podemos encontrar, se
encuetrarn:
·
Drop Action
→ Envia un paquete FIN / RST
·
Reglas Pre-Built → Cada WAF tiene sus propias Negative Secutity Signatures
·
Ataques
Side-Channel → Basados en Timing
behavior
Herramientas de Detección de WAF
Hay muchas herramientas y scripts que pueden detectar la
presencia y la huella digital del WAF :
·
imperva
detect.py
Realiza un un primer
test de base y luego realiza otros 5 test adicionales , sus resultados son muy
rápidos.
·
Paradox
WAF detection
·
F5
Cookie Decoder Burp extension
·
FatCat
SQL Injector
NMAP scripts
Los scripts de nmap pueden detectar varios productos
IDS, IPS, y WAF. Como los siguientes , BarracudaWAF,
PHPIDS, dotDefender, Imperva , Web Firewall, Blue
Coat SG 400.
Detectando WAF
usando NMAP
nmap
-p80 --script http-waf-detect
Fingerprinting de WAF usando NMAP
nmap
-p80 --script http-waf-fingerprint
Wafw00f.py
Wafw00f puede
identificar los patrones mas comunes de mas de 25 tipos de WAF
Fingerprinting de WAF usando WAFw00f
wafw00f.py
Un problema que nos podemos encontrar a la
hora de la detección es que los WAF oculten su identidad a
partir de los valores de las cookies y así como las respuestas HTTP de tipo 200 ,
así que será necesario realizar
test adicionales , por ejemplo
con imperva-detect.py.
Un tema importante a tratar , son las reglas que se
implementan , ya que tienen un impacto
en el funcionamiento de la aplicación web que esta detrás del WAF.
Una mala
configuración puede darnos problemas
tales como:
• Bloquear peticiones legitimas (falsos positivos)
• El conjunto de reglas necesita
ser revisado.
Y un conjunto de
reglas muy laxa sin excepciones puede :
·
Pueda
darnos (falsos negativos)
·
El
atacante eluda el WAF y por lo tanto
haga un exploit de la aplicación.
Continuara ….
Happy Hacking.
miércoles, 26 de octubre de 2016
Piratas del corsair
Autor: @toespar
Telegram
continúa buscando diferenciarse con funcionalidades que atraigan a los
usuarios. Viendo que el mundo de los videojuegos cada vez reúne a más gente en
teléfonos, qué mejor que poder hablar y jugar con tus amigos sin salir de la
conversación. Por ello, la propia plataforma ha creado varios juegos accesibles
desde el propio chat con tan solo poner @gamebot.
Viernes
por la tarde, y de repente, me llega una notificación de Telegram en un chat en
el que se mostraba el siguiente mensaje:
Se había abierto la veda. Y aunque he de reconocer que
no soy muy de jugar, el hecho de tener más puntuación que el resto me impulsaba
a ello. Tras unos breves intentos lo consigo.
Evidentemente, esto siguió varias veces más hasta que llegó
un punto en el que me resultaba imposible conseguir más puntos que el primero,
pero el asunto no podía quedar así. Por ello, me pongo a investigar cómo
funciona la puntuación del juego abriendo la versión desktop en el ordenador
que, casualmente, todavía no integra el juego en el propio chat sino que lo
abre directamente en el navegador.
Lo primero que hacemos es configurar BurpSuite y Firefox para obtener las distintas
peticiones que se realizan en función de los distintos escenarios del juego.
Ahora ya estamos listos para interceptar los paquetes
y observar cómo se realizan las peticiones, así que nos ponemos a jugar hasta
que nos eliminan. Tras un breve periodo de tiempo, vemos como van llegando
distintas peticiones a Burp, tanto del propio dominio que estamos analizando
como de otros. Por lo tanto, eliminamos las peticiones que no nos interesan,
quedándonos únicamente con aquellas que nos pueden ser de interés:
Tal y como vemos en la captura, la URL más interesante es
aquella relacionada con la asignación de puntuación: setScore. Adicionalmente, observamos también que la primera
petición se realiza para obtener el código JavaScript que ejecutará las
distintas funciones del juego, por lo que si buscamos la función que realiza el
setScore podremos entender cómo se
realiza la asignación de puntos:
Se realiza un post a la API setScore y se le pasan como parámetros data y score. Si seguimos
buscando de donde se obtienen los datos llegamos a la función main:
Dichos datos se obtienen de la URL del juego, la cual
contiene una cadena codificada en Base64 que contiene algunos parámetros como
el identificador del usuario, su nombre, el nombre del juego, el identificador
del chat, entre otros. Esta cadena varía en función del juego y puntuación
obtenida en la partida anterior.
Si ahora nos
centramos en el parámetro score,
podemos ver que este varía en función de las monedas obtenidas durante el
juego. No obstante, si nos fijamos en BurpSuite, observamos que el parámetro se
pasa sin ningún identificador que compruebe la autenticidad del valor obtenido
en el juego.
De esta forma, para obtener la puntuación que queramos únicamente
deberemos editar el parámetro score
en el cuerpo del mensaje. Para ello, mandamos la petición al repeater de BurpSuite
y editamos dicho valor:
Si todo ha ido bien, obtenemos la siguiente respuesta:
Y si nos fijamos en el chat…
Objetivo conseguido! Ahora sí somos los piratas del Corsair
;)
Suscribirse a:
Entradas (Atom)















