spa: single packet authentication madhat unspecific simple nomad nomad mobile research centre

17
SPA: SPA: Single Packet Single Packet Authentication Authentication MadHat Unspecific MadHat Unspecific Simple Nomad Simple Nomad n n omad omad m m obile obile r r esearch esearch c c entre entre

Upload: bernice-phoebe-nelson

Post on 17-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

SPA:SPA:Single Packet AuthenticationSingle Packet Authentication

MadHat UnspecificMadHat UnspecificSimple NomadSimple Nomad

nnomad omad mmobile obile rresearch esearch ccentreentre

Page 2: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Who We AreWho We Are

• MadHat Unspecific– Hacker, NMRC– Manager, Vernier

Threat Labs, Vernier Networks

• Simple Nomad– Hacker, NMRC– Senior Security

Analyst, RAZOR Research, BindView Corporation

Page 3: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

What Be It?What Be It?

Page 4: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

What is SPA?What is SPA?

• SPA is Single Packet Authentication, a single packet that can authenticate a user to a system

• It is a protocol for allowing a remote user to authenticate securely on a “closed” system (limited or no open services)

Page 5: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

What SPA is Not

• It is not a replacement for authentication, just another layer

• It is not port knocking, although it can easily replace it with something more secure

• It is not protection from attackers, but it can help immensely

Page 6: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Design Goals

• Free• Encrypted and signed payload (using GPG/PGP)• Fairly painless for end user• Work across NAT• Use TCP, UDP, and/or ICMP

Page 7: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

How It Works

Page 8: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

The SPA Protocol – Client Side

• Client has Server’s GPG public key on their ring• Client builds a data chunk which includes

identity, session keys, timestamp, and command/control data for application using SPA

• Client encrypts and signs data chunks with Server’s key

• Chunk is sent as data portion of a packet

Page 9: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

The SPA Protocol – Server Side

• Server has Client’s GPG public key on their ring• Server sniffs all packets looking for those with its

GPG key in data portion• Strips off data chunk, decrypts and verifies

signature• Signature verification is the “auth”• Session keys and timestamp are verified• Command/control is carried out by application

using SPA

Page 10: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Visual Representation

Encrypted for 0xdeadbeef

Signed with 0x12345678

ID,session keys,Timestamp,

Command and control info

TCP, UDP, or ICMP Packet

Client

0x12345678

Server

0xdeadbeef

Page 11: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

K-Rad Implementation Stuff

Page 12: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Challenges (and Resolutions)

• NAT• Replay• Client out of “sync” with Server

Page 13: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Sample Implementations

• Port access (replacing port knocking)• Remote administration• Reverse shell, aka “dial-back” VPN

Page 14: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Neato Code to Start Playing With

• Remote firewall administration• Remote script execution and/or commands

Page 15: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Sample Code Layout

spa_client.pl

spad

spa_engine.pl

GPG

UserConfigs

FirewallState

spa_client.pl

spa_client.pl

Page 16: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

FIN• Thanks!• Thanks for ideas and help to

I)ruid, all the DC214 guys, Jon Callas for the “dial back” VPN idea, Weasel for art manipulation, and the rest of NMRC

• Photo session by Duy Nguyen and Amy Lee Muir

• NMRC Fetish Model – Bethany• http://www.unspecific.com/spa/• [email protected]

Page 17: SPA: Single Packet Authentication MadHat Unspecific Simple Nomad nomad mobile research centre

Bad packet, naughty packet…Bad packet, naughty packet…

Images © 2005 NMRC www.nmrc.org