+ All Categories
Home > Documents > Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à...

Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à...

Date post: 26-Dec-2019
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
99
Thales Communications & Security Solution du challenge NoSuchCon 2014 RéSIST – 17 février 2015
Transcript
Page 1: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

Thales Communications & Security

Solution du challenge NoSuchCon 2014

RéSIST – 17 février 2015

Page 2: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

2 / 2 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Challenge NoSuchCon 2014

u  Conférence à Paris 19-21 Novembre u  Créé par Synacktiv u  Objectif : Trouver une adresse email ainsi qu’un mot de passe u  Challenge en 3 étapes :

£  Reverse MIPS

l  Rétro ingénierie et analyse statistique

£  Evasion d’une sandbox Python Pickle modifiée

l  Attaque sur AES-128 (padding oracle)

l  Exfiltration de données (XML External Entity)

l  Evasion de la sandbox Pickle

£  Exploitation x86-64 de services cryptographiques distants

l  Exploitation d’un buffer overflow

l  Timing cache attack sur RSA

Thales Communications & Security

Introduction

Page 3: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

3 / 3 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

Introduction

Page 4: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

4 / 4 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 5: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

5 / 5 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Découverte

Découverte du binaire $ tar tf crackmips.tar.gz

./crackmips

$ file crackmips

crackmips: ELF 32-bit LSB executable, MIPS, MIPS-II version 1, dynamically linked (uses shared libs), for GNU/Linux 2.6.26, [...], not stripped

Machine virtuelle MIPSel

https://people.debian.org/~aurel32/qemu/mipsel/

# qemu-system-mipsel -m 256 -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=ttyS0" --nographic -redir tcp:2222::22

# ./crackmips usage: ./crackmips password

# ./crackmips ABC WRONG PASSWORD

Page 6: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

6 / 6 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Rétro ingénierie MIPSel

u Vérifications diverses sur le mot de passe £  strlen(PASSWORD) == 48

£  Uniquement des caractères hexadécimaux

u Fork sur une procédure de débug u Application d’une grosse procédure modifiant la clef entrée u Test sur la valeur de la clef entrée modifiée

[ Synacktiv + NSC = <3 ]

u Déchiffrement d’un blob AES (key=sha256(clef entrée))

Page 7: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

7 / 7 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Rétro ingénierie MIPSel

u Vérifications diverses sur le mot de passe £  strlen(PASSWORD) == 48

£  Uniquement des caractères hexadécimaux

u Fork sur une procédure de débug u Application d’une grosse procédure modifiant la clef entrée u Test sur la valeur de la clef entrée modifiée

[ Synacktiv + NSC = <3 ]

u Déchiffrement d’un blob AES (key=sha256(clef entrée))

Page 8: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

8 / 8 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Rétro ingénierie MIPSel

En résumé if len(password != 48)

badboy()

if !decode(password)

badboy()

if fork()

debug()

else

modif = grosse_procedure(password)

if memcmp( modif , [ Synacktiv + NSC = <3 ] ) == 0

goodboy()

else

badboy()

Page 9: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

9 / 9 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Rétro ingénierie MIPSel

En résumé if len(password != 48)

badboy()

if !decode(password)

badboy()

if fork()

debug()

else

modif = grosse_procedure(password)

if memcmp( modif , [ Synacktiv + NSC = <3 ] ) == 0

goodboy()

else

badboy()

Observation de la valeur intermédiaire en fonction du

mot de passe

Page 10: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

10 / 10 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Collecte de donnée

# ldd crackmips

libssl.so.1.0.0 => /usr/lib/mipsel-linux-gnu/libssl.so.1.0.0 (0x779b1000)

libc.so.6 => /lib/mipsel-linux-gnu/libc.so.6 (0x77828000)

libcrypto.so.1.0.0 => /usr/lib/mipsel-linux-gnu/libcrypto.so.1.0.0 (0x77681000)

libdl.so.2 => /lib/mipsel-linux-gnu/libdl.so.2 (0x7766d000)

libz.so.1 => /lib/mipsel-linux-gnu/libz.so.1 (0x77645000)

/lib/ld.so.1 (0x55550000)

Page 11: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

11 / 11 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Collecte de donnée

Pré chargement d’une librairie pour surcharger « memcmp  »

u  Collecte de données des états intermédiaires

u  États intermédiaires proches pour des mots de passe proches

u  è Choix d’une résolution par analyse statistique

£  Collecte de données avec 10 VM MIPS pour des mots de passe aléatoires

Page 12: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

12 / 12 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Analyse statistique

Analyse statistique sur 6 blocs de 4 octets

u  La modification partielle d’un bloc dans le mot de passe entraine la modification partielle du même bloc dans l’état intermédiaire

u  La valeur de l’état intermédiaire cible est connue [ Synacktiv + NSC = <3 ]

£  Dans le bon endianness :

Bits du premier bloc ayant généré un bloc 795*****

79 53 20 5B 6B 63 61 6E 20 76 69 74 53 4E 20 2B 20 3D 20 43 5D 20 33 3C

y S [ k c a n v i t S N + = C ] 3 <

Page 13: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

13 / 13 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Analyse statistique

Analyse statistique sur 6 blocs de 4 octets

u  Premier bloc : 7953205B u  Recherche de motifs : 795*****, *953****, ... u  Analyse des passwords ayant généré u  Recherche de bits invariants par motif

Bits du premier bloc ayant généré un bloc 795*****

Page 14: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

14 / 14 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Analyse statistique

Analyse statistique sur 6 blocs de 4 octets

u  Automatisation de la recherche des bits invariants par motif

u  Généralisation pour tous les motifs de 3 caractères (hexa) pour chaque bloc

u  84% des bits identifiés è Brute-force des quelques bits manquants

Page 15: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

15 / 15 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 1 : Solution

Page 16: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

16 / 16 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 17: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

17 / 17 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Découverte de l’épreuve

3 web services

u  msg.add (titre, message, vs) u  msg.del (id, vs) u  msg.list (vs)

Page 18: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

18 / 18 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Découverte de l’épreuve

Stockage dans « vs »

u  Pas de stockage distant u  « vs » encodé en base64 u  L’ajout d’un message à

entropie faible affecte peu la taille de « vs » è compression

u  « vs » aléatoire è chiffrement probable

u  « vs » toujours multiple de 16 octets è chiffrement par bloc + padding

Page 19: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

19 / 19 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Fuzzing du paramètre « vs »

Plusieurs erreurs renvoyés par le serveur

u  Dans la majorité des cas £  500: corrupted viewstate

u  Pour le reste £  500: corrupted viewstate suivi d’une erreur de la zlib

Conclusions

u  Le paramètre Viewstate (« vs ») est : £  Compressé par la zlib

£  Chiffré par un algorithme de chiffrement par bloc de 16 octets

£  Encodé en base64

u  Dans certains cas le programme distant passe l’étape de déchiffrement pour tenter la décompression zlib

£  Suspicion de vérification de padding è Attaque par padding oracle

Page 20: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

20 / 20 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 21: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

21 / 21 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Padding oracle

Principe de l’attaque

u  Présentation du Padding PKCS#5 u  Fonctionnement d’AES CBC u  Attaque par padding oracle

Mise en pratique sur l’étape 2

u  Padding différent du padding standard u  Adaptation à l’aide des erreurs renvoyées

Page 22: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

22 / 22 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

Block 1 Block 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Normal H E L L O

Thales Communications & Security

Page 23: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

23 / 23 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

Block 1 Block 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Normal H E L L O

Padding H E L L O 0x3 0x3 0x3

Thales Communications & Security

Page 24: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

24 / 24 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

Block 1 Block 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Normal H E L L O

Padding H E L L O 0x3 0x3 0x3

Normal P A D D I N G A T T A C

Thales Communications & Security

Page 25: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

25 / 25 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

Block 1 Block 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Normal H E L L O

Padding H E L L O 0x3 0x3 0x3

Normal P A D D I N G A T T A C

Padding P A D D I N G A T T A C 0x4 0x4 0x4 0x4

Thales Communications & Security

Page 26: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

26 / 26 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

Block 1 Block 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Normal H E L L O

Padding H E L L O 0x3 0x3 0x3

Normal P A D D I N G A T T A C

Padding P A D D I N G A T T A C 0x4 0x4 0x4 0x4

Normal A A A A A A A A

Thales Communications & Security

Page 27: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

27 / 27 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

Block 1 Block 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Normal H E L L O

Padding H E L L O 0x3 0x3 0x3

Normal P A D D I N G A T T A C

Padding P A D D I N G A T T A C 0x4 0x4 0x4 0x4

Normal A A A A A A A A

Padding A A A A A A A A 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8

Thales Communications & Security

Page 28: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

28 / 28 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding PKCS#5

u  Déchiffrement vulnérable à une padding attack à Deux comportements différents è padding oracle

u  Grâce aux erreurs de mauvais padding, il est possible de chiffrer et

déchiffrer l’AES

Thales Communications & Security

Page 29: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

29 / 29 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : AES CBC

Thales Communications & Security

Source : http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

Page 30: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

30 / 30 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : AES CBC

Thales Communications & Security

Source : http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation

Page 31: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

31 / 31 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Exemple avec des blocs de 8 octets

ÉTAPE 2 : AES CBC

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Plaintext B R I A N ; 1 2

Initialization Vector 0x7B 0x21 0x6A 0x63 0x49 0x51 0x17 0x0F

ê XOR ê Intermediate Value 0x39 0x73 0x23 0x22 0x07 0x6A 0x26 0x3D

ê BLOCK CIPHER ENCRYPTION ê Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

Page 32: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

32 / 32 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : AES CBC

u  L’utilisateur contrôle l’IV et le texte chiffré

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value 0x39 0x73 0x23 0x22 0x07 0x6A 0x26 0x3D

Initialization Vector 0x7B 0x21 0x6A 0x63 0x49 0x51 0x17 0x0F

ê XOR ê Plaintext B R I A N ; 1 2

Page 33: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

33 / 33 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Padding Attack

u  En modifiant l’IV, le texte déchiffré est modifié u  Le padding est alors vérifié

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value ? ? ? ? ? ? ? ?

Initialization Vector 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 ê XOR ê

Plaintext 0x39 0x73 0x23 0x22 0x7 0x6a 0x26 0x3C

Mauvais Padding

Page 34: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

34 / 34 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  L’IV est incrémenté jusqu’à ce que le padding soit bon

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value ? ? ? ? ? ? ? ?

Initialization Vector 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3C ê XOR ê

Plaintext 0x39 0x73 0x23 0x22 0x7 0x6a 0x26 0x1

Bon Padding

Page 35: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

35 / 35 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Une fois le bon padding trouvé, la valeur intermédiaire de l’octet correspondant est fixée pour la suite

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value ? ? ? ? ? ? ? 0x3D

Initialization Vector 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3C ê XOR ê

Plaintext 0x39 0x73 0x23 0x22 0x7 0x6a 0x26 0x1

Fixation de la valeur intermédiaire

Page 36: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

36 / 36 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Le même fonctionnement est reproduit avec l’octet 7 u  Le padding doit être 0x2 sur les deux derniers octets

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value ? ? ? ? ? ? ? 0x3D

Initialization Vector 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3F ê XOR ê

Plaintext 0x39 0x73 0x23 0x22 0x7 0x6a 0x26 0x2

Mauvais Padding

0x2 ^ 0x3D = 0x3F

Page 37: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

37 / 37 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Le bon IV est trouvé pour l’octet 7

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value ? ? ? ? ? ? ? 0x3D

Initialization Vector 0x0 0x0 0x0 0x0 0x0 0x0 0x24 0x3F ê XOR ê

Plaintext 0x39 0x73 0x23 0x22 0x7 0x6a 0x2 0x2

Bon Padding

Page 38: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

38 / 38 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  La valeur intermédiaire de l’octet 7 est fixée

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value ? ? ? ? ? ? 0x26 0x3D

Initialization Vector 0x0 0x0 0x0 0x0 0x0 0x0 0x24 0x3F ê XOR ê

Plaintext 0x39 0x73 0x23 0x22 0x7 0x6a 0x2 0x2

Fixation de la valeur intermédiaire

Page 39: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

39 / 39 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Après 8 itérations, le vecteur des valeurs intermédiaires est retrouvé

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Encrypted 0xF8 0x51 0xD6 0xCC 0x68 0xFC 0x95 0x37

ê BLOCK CIPHER DECRYPTION ê Intermediate Value 0x39 0x73 0x23 0x22 0x07 0x6A 0x26 0x3D

Initialization Vector 0x31 0x7B 0x2B 0x2A 0x0F 0x62 0x2E 0x35 ê XOR ê

Plaintext 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8

Page 40: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

40 / 40 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  En XORant ce vecteur avec l’IV d’origine, le texte d’origine est retrouvé

Thales Communications & Security

ÉTAPE 2 : Padding Attack

Thales Communications & Security

Block 1 1 2 3 4 5 6 7 8

Intermediate Value 0x39 0x73 0x23 0x22 0x07 0x6A 0x26 0x3D

Initialization Vector 0x7B 0x21 0x6A 0x63 0x49 0x51 0x17 0x0F

ê XOR ê Plaintext B R I A N ; 1 2

Page 41: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

41 / 41 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Mise en pratique

Mise en pratique sur l’étape 2

u  Détection de l’oracle £  500: corrupted viewstate à Mauvais Padding

£  500: corrupted viewstate suivi d’une erreur de la zlib à Bon Padding

u  Spécificité de la vulnérabilité £  Le padding est décalé : 1 caractère de padding donne 0x2 au lieu de 0x1

£  Les erreurs zlib vont permettre d’attaquer le dernier octet grâce à la connaissance du header du format zlib

£  Le résultat suivant doit être obtenu

Thales Communications & Security

Plaintext 0x78 0x9C 0x7 0x7 0x7 0x7 0x7 0x7

Header Zlib

Page 42: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

42 / 42 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 2 : Mise en pratique

Déchiffrement du viewstate

u  Après un long déchiffrement, le message déchiffré est obtenu £  {'msg ': [], 'display_name ': 'guest '}

u  Grâce à la padding oracle attack, il est possible de rechiffrer des messages

u  Chiffrement de : {'msg ': [], 'display_name ': ‘admin'}

à Aucun résultat

Thales Communications & Security

Page 43: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

43 / 43 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Changement de stratégie

Page 44: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

44 / 44 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 45: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

45 / 45 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Changement de stratégie

Page 46: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

46 / 46 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : XML External Entity (XXE)

Paramètre « body » (msg.add)

u  Seul paramètre contenant du XML

u  Vulnérable aux XXE J

u  Directory listing :

£  app.conf

£  viewstate.pyc

Page 47: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

47 / 47 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : XML External Entity (XXE)

Extraction des fichiers

u  app.conf

[global] you_know_how_to_play_with_xxe = 1 admin_url = /secret.key [viewstate] key = ab2f8913c6fde13596c09743a802ff7a

u  viewstate.pyc

£  Python 2.7 byte-code

£  Extraction des classes python avec uncompyle2

https://github.com/Mysterie/uncompyle2

Page 48: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

48 / 48 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 49: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

49 / 49 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – découverte

Viewstate.py : 3 classes python

u  App : routage des requêtes web

Page 50: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

50 / 50 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – découverte

Viewstate.py : 3 classes python

u Viewstate : chiffrement / compression / encodage du paramètre vs

Page 51: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

51 / 51 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – Découverte

Viewstate.py : 3 classes python

u ViewStateUnpickler : sérialisation / de-sérialisation de l’objet viewstate

£  Hérite de Pickle Unpickler

l  Classe connue pour ses problèmes de sécurité si de-sérialisation de données utilisateur (c’est le cas ici : clé AES connue)

£  Durcissement par limitation des fonctions et opcodes autorisés

l  Les exploits Pickle génériques ne fonctionneront pas L

Page 52: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

52 / 52 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – Exploitation

Objectif : Modifier le tableau SAFE_BUILTINS dans ViewStateUnpickler

u Étape 1 : locals() retourne un dict contenant la référence vers l’objet ViewstateUnpickler pour l’index ‘self’

£  La fonction « get » n’est pas autorisée, récupération directe de la référence impossible

Page 53: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

53 / 53 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – Exploitation

Objectif : Modifier le tableau SAFE_BUILTINS dans ViewStateUnpickler

u  Étape 2 : obtenir la référence vers ViewStateUnpickler £  type(obj) : retourne le type de l’objet obj

£  type(‘Object Name’, base classes, dict) : Création d’un nouvel objet avec comme attributs le contenu du dict passé dans le paramètre dict

£  Solution :

Page 54: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

54 / 54 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – Exploitation

Objectif : Modifier le tableau SAFE_BUILTINS dans ViewStateUnpickler

u  Étape 3 : Modification du tableau

Page 55: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

55 / 55 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 2 : Pickle escape – Solution

u Fonction cible : SecretStore.getMasterKey

u Récupération des constantes de la fonction

Page 56: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

56 / 56 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 57: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

57 / 57 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Découverte de l’archive

Thales Communications & Security

Page 58: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

58 / 58 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Découverte de l’archive

Thales Communications & Security

à archive/messages

à Sans doute chiffré

Page 59: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

59 / 59 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Découverte de l’archive

Thales Communications & Security

à client/client.py

à script python permettant la

connexion au serveur

Page 60: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

60 / 60 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Découverte de l’archive

Thales Communications & Security

£  lib/libsec.so

£  servers/STPM

£  servers/SecDrop

à Binaires x86-64

Page 61: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

61 / 61 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Découverte de l’archive

Thales Communications & Security

£  servers/xinetd.conf/secdrop

£  servers/xinetd.conf/stpm

à Fichiers de configuration

Page 62: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

62 / 62 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Reverse basic du fonctionnement

Page 63: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

63 / 63 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Reverse SecDrop

u  Binaire accessible sur le réseau (port 1337) u  Service de réception de messages u  Rétro ingénierie :

Thales Communications & Security

Page 64: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

64 / 64 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Reverse SecDrop

Thales Communications & Security

Page 65: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

65 / 65 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Reverse STPM

u  Rétro ingéniérie STPM

Thales Communications & Security

Page 66: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

66 / 66 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Reverse STPM

u  Software « Trusted Platform Module » £  Stocke des clefs (16 emplacements pour des clefs RSA ou AES)

£  Réalise les opérations de chiffrement et de déchiffrement

u  Ecoute sur le réseau local (port 2014) et accepte les commandes suivantes :

£  1 : print_keys : Affiche toutes les clefs du STPM (parties publiques)

£  2 : decrypt(key_id,message) : déchiffre le message avec la clef key_id

£  3 : import_key(key_id,key,ciphered_AES_key)

l  Reçoit ciphered_AES_key chiffré en RSA avec la clef key_id

l  Déchiffre la clef AES et la stocke à l’index spécifié

£  4 : export_key(index,key)

l  Renvoie la clef AES à l’index spécifié chiffrée en rsa avec la clef key

£  5 : exit

Thales Communications & Security

Page 67: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

67 / 67 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 68: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

68 / 68 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Buffer overflow dans SecDrop

u  Par rétro-ingénierie identification d’une fonction vulnérable

u  Fonction utilisée

£  Pour la lecture de la clé AES chiffrée par RSA

£  Pour la lecture du message chiffré par AES

Lecture d’un caractère sur l’entrée

Page 69: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

69 / 69 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Exécution de code arbitraire

Page 70: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

70 / 70 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Exécution de code arbitraire

u  Utilisation du buffer overflow pour réécrire le pointeur d’instruction

u  Utilisation d’un gadget pour continuer l’exécution sur la stack

Page 71: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

71 / 71 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Exécution de code arbitraire

u  Exploits classiques impossibles u  Les « syscalls » sont limités à READ, WRITE, EXIT (avant l’exécution

du shellcode)

Page 72: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

72 / 72 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Shellcode STPM printKeys

u  Écriture d’un shellcode pour exécuter la fonction printKeys sur le STPM

u  Réutilisation des descripteurs de fichiers existants

£  Vers le STPM : socket déjà ouverte

£  Vers le client : socket déjà ouverte

Page 73: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

73 / 73 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Indices

Page 74: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

74 / 74 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

u  Reverse MIPS £  Rétro ingénierie et analyse statistique

u  Evasion d’une sandbox Python Pickle modifiée £  Attaque sur AES-128 (padding oracle)

£  Exfiltration de données (XML External Entity)

£  Evasion de la sandbox Pickle

u  Exploitation x86-64 de services cryptographiques distants £  Exploitation d’un buffer overflow

£  Timing cache attack sur RSA

Thales Communications & Security

Plan

Page 75: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

75 / 75 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : FLUSH+RELOAD timing cache attack

u  Recherche d’attaques par canaux auxiliaires utilisant le cache £  Première tentative sur AES mais blocs de cache trop grands

£  Attaque sur RSA

u  FLUSH+RELOAD: a High Resolution, Low Noise, L3 Cache Side-Channel Attack par Yuval Yarom et Katrina Falkner

£  Attaque viable lorsque l’attaquant et le processus attaqué sont sur la même machine

£  Une partie de la mémoire doit être partagée entre les deux processus

£  Exploite l’information side-channel du temps d’accès à une zone de mémoire

l  Si l’information est lue en RAM : temps d’accès long

l  Si l’information est lue dans le cache : temps d’accès court

à Possibilité de surveiller une portion du code de la librairie partagée Source :https://eprint.iacr.org/2013/448.pdf

Page 76: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

76 / 76 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : FLUSH+RELOAD timing cache attack

u  Principe du canal auxiliaire utilisant le cache L3

£  Chargement du cache par ligne (64 octets)

£  Le cache L3 contient autant des données que des instructions

Thales Communications & Security

CORE 0 CORE 1

L1d L1d L1i

L2

L1i

L2

L3

Main memory

STPM

Libsec

> X cycles CPU

Page 77: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

77 / 77 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : FLUSH+RELOAD timing cache attack

u  Principe du canal auxiliaire utilisant le cache L3

u  Flush and reload

Thales Communications & Security

CORE 0 CORE 1

L1d L1d L1i

L2

L1i

L2

L3

Main memory

STPM

Libsec

Secdrop

Libsec

> X cycles CPU < X cycles CPU

Page 78: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

78 / 78 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : FLUSH+RELOAD timing cache attack

Thales Communications & Security

u  Identification des seuils

Page 79: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

79 / 79 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Exponentiation modulaire par square & multiply

u  Pseudo Code de l’exponentiation square and multiply

Bignum modpow(Bignum base, Bignum exp, Bignum m) { Bignum result = 1; while (exp > 0) { if (exp & 1 > 0) { result = (result * base) % m; #MULTIPLY } exp >>= 1; base = (base * base) % m; #SQUARE }

return result; }

http://fr.wikipedia.org/wiki/Exponentiation_modulaire

Thales Communications & Security

Page 80: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

80 / 80 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Rétro ingénierie de la bibliothèque crypto

u  La librairie partagée propose plusieurs fonctions classiques d’une

librairie de crypto parmi lesquelles : £  Chiffrement et déchiffrement RSA (SEC_unwrap et SEC_wrap)

£  Chiffrement et déchiffrement AES (SEC_decrypt et SEC_encrypt)

u  Mais aussi : fonctions de lecture et d’écriture £  SEC_fgetc

£  SEC_fprintf

Thales Communications & Security

Page 81: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

81 / 81 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Rétro ingénierie de la bibliothèque crypto

à Identification des adresses à surveiller pour identifier SQUARE et MULTIPLY

Thales Communications & Security

Page 82: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

82 / 82 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Application de FLUSH+RELOAD dans un shellcode

Main memory libsec.so S

EC

_fge

tc

square

multiply

STPM SecDrop

SE

C_u

nwra

p

u  STPM et SecDrop utilisent des fonctions exportées par libsec.so u  SEC_unwrap utilise le code de SQUARE et le code de MULTIPLY

Page 83: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

83 / 83 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Application de FLUSH+RELOAD dans un shellcode

Main memory libsec.so S

EC

_fge

tc

square

multiply

STPM SecDrop

SE

C_u

nwra

p

Shellcode

u  Le shellcode mesure le temps d’accès au code de SQUARE et le temps d’accès au code de MULTIPLY

Page 84: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

84 / 84 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Application de FLUSH+RELOAD dans un shellcode

Page 85: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

85 / 85 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Application de FLUSH+RELOAD dans un shellcode

u  Génération de l’ASM avec python £  Retour à la ligne (0x0a) interdit : XOR avec une autre valeur

£  Calcul des offsets

u  Génération du shellcode avec NASM

u  Envoi du shellcode via l’overflow dans le message

Page 86: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

86 / 86 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Application de FLUSH+RELOAD dans un shellcode

u  Génération de l’ASM avec python £  Retour à la ligne (0x0a) interdit : XOR avec une autre valeur

£  Calcul des offsets

u  Génération du shellcode avec NASM

u  Envoi du shellcode via l’overflow dans le message

Réglages complexes

Page 87: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

87 / 87 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Application de FLUSH+RELOAD dans un shellcode

Page 88: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

88 / 88 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Mesures

Fin de l’opération d’exponentiation

Page 89: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

89 / 89 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Mesures

Page 90: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

90 / 90 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Reconstruction de l’exposant privé

u  Identification des blocks

u  Récupération des 1377 bits de l’exposant privé £  Plusieurs tentatives pour récupérer la clé : sélection de l’occurrence la plus

fréquente

u  L’exposant privé est retrouvé en retournant les bits reçus

Page 91: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

91 / 91 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

ÉTAPE 3 : Message archivé

Thales Communications & Security

à Clé AES chiffrée par RSA

à Message chiffré par AES

Page 92: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

92 / 92 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Déchiffrement de la clé AES

d = int(d_binary[::-1], 2)

Bits obtenus par cache attack, inversés

Page 93: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

93 / 93 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Déchiffrement de la clé AES

d = int(d_binary[::-1], 2)

encrypted_key = int(encrypted, 16)

Clé chiffrée RSA depuis le message archivé (hexa)

Page 94: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

94 / 94 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Déchiffrement de la clé AES

d = int(d_binary[::-1], 2)

encrypted_key = int(encrypted, 16)

clear_key_value = pow(encrypted_key, d, n)

modulus

Page 95: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

95 / 95 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Déchiffrement de la clé AES

d = int(d_binary[::-1], 2)

encrypted_key = int(encrypted, 16)

clear_key_value = pow(encrypted_key, d, n)

decrypted = ‘%0X’ % (clear_key_value)

Page 96: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

96 / 96 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Déchiffrement de la clé AES

d = int(d_binary[::-1], 2)

encrypted_key = int(encrypted, 16)

clear_key_value = pow(encrypted_key, d, n)

decrypted = ‘%0X’ % (clear_key_value)

print decrypted[-32:]

Page 97: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

97 / 97 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

ÉTAPE 3 : Déchiffrement du message chiffré

Page 98: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

98 / 98 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security

Conclusion

u  Challenge très formateur u  Découverte des attaques crypto

£  Timing cache attack – fonctionne dans la Vraie Vie ™

£  Padding oracle

u  Code disponible : https://github.com/polymorf/NoSuchCon-Challenge-2014

u  Merci à NoSuchCon et Synacktiv

u  Quelques solutions http://www.nosuchcon.org/#challenge_result (solutions officielles)

http://doar-e.github.io/ (step1)

Page 99: Solution du challenge NoSuchCon 2014 - OSSIR...2 / / 99 Challenge NoSuchCon 2014 ! Conférence à Paris 19-21 Novembre ! Créé par Synacktiv ! Objectif : Trouver une adresse email

99 / 99 / 99 R

éSIS

T –

Sol

utio

n du

cha

lleng

e N

oSuc

hCon

201

4 / 1

7 fé

vrie

r 201

5

Thales Communications & Security


Recommended