pasivo
o activo
y con ataques como serMITM(Man-in-the-middle)
, STP(Session token prediction)
, TP(token tampering)
y SP(Session Replay)
, XSS(Cross-site-scripting)
, SF(Session-Fixation)
entre otros. Los ataques pasivos
involucran el monitoreo del tráfico de red entre los hosts, haciendo sniffing del tráfico interesante pero sin influir en absoluto en la comunicación. En cambio los ataques de tipo activos
involucra el envío de paquetes de red por parte del atacante, lo que se conoce como packet-injection
."roba"
la sesión. Por ejemplo utilizando Troyanos
, Network-Sniffing
, etc.
"adivinar"
el ID de sesión. Por ejemplo se identifica el patrón usado en la generación de Session IDs
y se emula hasta generar uno válido.
usuario:password
hasta dar con el correcto.Session Guessing
. Para lograr generar un session-ID
válido.Spoofing
en un rasgo fundamental: al hacer spoofing el atacante trata de impersonar a la victima y no cuenta con una sesión de ese usuario activa. Generalmente trata de obtener sesión una mediante la ayuda de la ingeniería social y el robo de datos. En session-hijacking
en cambio, se intenta tomar el control
de una sesión autenticada existente entre la victima y un determinado host.Network-Level Session Hijacking
y Application-Level Session Hijacking
. Veremos a continuación sus diferencias y distintos tipos de ataques.session-ID
). En este tipo de enfoque necesitamos adaptar nuestros ataques acorde a la tecnología que alimenta por ejemplo la aplicación web que estemos intentando atacar. Para este fin se utilizan diversos tipos de ataques y técnicas, algunas de las cuales veremos a continuación.Wireshark o Ettercap
) o mediante el uso de un web proxy como (Burp Proxy
, ZAP
o Fiddler
).session-IDs
. De encontrarse dicho patrón
, el atacante puede entonces comenzar a generar session-IDs
que sean considerados como legítimos por la aplicación.Man-in-the-middle
generalmente se utilizan troyanos
, y extensiones maliciosas
para interceptar la comunicación entre el browser y los mecanismos de seguridad implementados en la aplicación. De esta manera el código malicioso puede directamente manipular el DOM (Document Object Model) y extraer o modificar la información sin que el usuario se de cuenta. CSRF
se ejecuta en los cambios de estado
de la aplicación, por ejemplo cuando se actualizan datos del perfil como ser el correo, password, direcciones, transferencias de fondos, etc.session-ID
controlado por el atacante. Comúnmente se engaña a la victima para que por ejemplo, haga click en un enlace de inicio de sesión que ya contiene un session-ID
activo.session-ID
suele exponerse en forma de cookies o parámetros de URL
y en apps donde los session-IDs
no tienen configurado una fecha de caducidad. Por ende la misma request, una vez es capturada de la victima puede reenviarse para obtener control de la sesión.el objetivo es interceptar y manipular el tráfico de red
entre los hosts y se utilizan variadas técnicas, a continuación veremos alguna de ellas.spoofing de IP
, el atacante puede modificar paquetes de red y mandarlos al servidor indicando que la IP de origen es la de la victima cuando en realidad esos paquetes son emitidos por el atacante. sesión TCP
creada por la victima.TCP Hijacking
la idea es generar un estado en el que la victima y el host no puedan comunicarse y poder emitir paquetes de red alterados que simulen venir de ambas partes y de esta manera obtener el control de la sesión.DoS(Denial-of-Service)
. UDP
los paquetes de red no precisan ser secuenciales, ni usa paquetes ACK este protocolo es bastante más débil que TCP
y por ende UDP-Hijacking
es bastante mas simple que el TCP-Hijacking
.UDP Hijacking
el objetivo es crear y enviar un paquete de respuesta
antes de que el servidor tenga tiempo de responder. UDP es susceptible a ataques como MITM
donde el atacante puede incluso evitar que la respuesta del server llegue a la victima del todo.sniffear
los paquetes de red entre la victima y el servidor. En este caso el trafico entre hosts esta pasando por el sniffer y el atacante puede modificarlos. Una técnica utilizada es ARP Poisoning
, que consiste en el envío de paquetes alterados para lograr que el host actualice sus ARP Table
y que la IP
de la victima sea
mapeada
a la dirección de hardware (MAC Address
) del atacante. De esta manera el tráfico del server hacía la victima sera redirigido hacia el atacante.ICMP
alterados intentando hacerle creer a la victima que rutear el tráfico de red mediante el atacante es mejor que hacerlo mediante el host. En este caso mejor puede entenderse como más rápido o menos propenso a errores.Cross Site Scripting (XSS)
. Para este ejemplo usaremos una web de práctica llamada XSSGame
, en la cual podemos poner en práctica algunas diversas técnicas de XSS
. En particular en este caso veremos un ataque de tipo Reflected XSS
.XSS
. Veamos a continuación este ejemplo:F12
abrimos las Devs tools
del navegador:Application -> Storage -> Cookies -> http://xssgame.com
y veremos lo siguiente:CEH_XSS
Robo de Cookies con XSS
<script>
y un alert
que levante el valor de las cookies al llamar a document.cookie
.cookie
es una propiedad
de document
, que nos permite leer y asignar cookies asociadas al documento (página web) que estamos accediendo. Leer más./
, ()
y los espacios
para luego anexar el resultado a la URL:Encode
: