16
À la recherche du méchant perdu É. Leblond Stamus Networks 9 juin 2017 É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 1 / 12

À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Embed Size (px)

Citation preview

Page 1: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

À la recherche du méchant perdu

É. Leblond

Stamus Networks

9 juin 2017

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 1 / 12

Page 2: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

1 Introduction

2 Approche analytique préliminaire à l’implémentation

3 Où on citerai bien la marionnette d’Aimé Jacquet

4 Conclusion

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 1 / 12

Page 3: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Suricata

Détection d’intrusionMoteur d’analyse réseauDétection d’intrusionBasé sur des signatures

Network Security MonitoringExtraction demétadonnéesHTTP, SMTP, DNS, TLS,. . .

CommunautaireLicense GPLv2Fondation OISF

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 2 / 12

Page 4: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Hillar, il demande la liste des méchants

Exercice OTANSimulation d’attaques sur des SI complexesRed team/Blue Team/Yellow TeamInvité par Hillar Aarelaid dans la Yellow team

Yellow teamSuricataMollochElasticsearch

Trouver les attaquants

À partir des alertesEn utilisant SuricataVoir leur propagation dansle réseau

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 3 / 12

Page 5: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Propagation

Voir les cheminsPotentielD’un pointexterneVers un pointinterne

Graphe orientéVecteurs sontles adresses IPArête depuisSource versTarget

Exemple anonymisé

Epita

PolytechniqueEpitech

ANSSI

ThalesAirbus

290€

85€

Google

Loin du périph

PMEBruz

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 4 / 12

Page 6: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

1 Introduction

2 Approche analytique préliminaire à l’implémentation

3 Où on citerai bien la marionnette d’Aimé Jacquet

4 Conclusion

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 4 / 12

Page 7: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Alerte Suricata au format JSON

{" timestamp " : "2017−01−17T09:53:42.511060−0800 " ," event_type " : " a l e r t " ," s r c_ ip " : " 82.165.177.154 " ," s rc_po r t " : 80 ," des t_ ip " : " 10.170.127.169 " ," des t_por t " : 58146 ," pro to " : "TCP" ," a l e r t " : {

" s i gna tu re_ id " : " 1234 " ," s igna tu re " : " Detect secondary executable payload − x b i t s 2 " ,

} ," h t t p " : {

" hostname " : " tes tmy ids . com" ," u r l " : " / exe / tes tmy ids . exe " ," h t tp_user_agent " : "Wget /1 .18 ( l i nux−gnu ) " ," h t tp_con ten t_ type " : " a p p l i c a t i o n / x−msdos−program " ," http_method " : "GET" ," s ta tus " : 200 ,

}}

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 5 / 12

Page 8: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Identification de la Source de l’attaque

Use the Source

a l e r t tcp $EXTERNAL_NET any −> $HOME_NET any (msg : "ET SCAN NMAP − f −sX" ; f r a g b i t s : !M;ds ize : 0 ; f l a g s :FPU, 1 2 ; ack : 0 ; window :2048;c lass type : attempted−recon ; s id :2000546; rev : 7 ; )

Ou pas

a l e r t h t t p $HTTP_SERVERS $HTTP_PORTS −> $EXTERNAL_NET any (msg : " Fast 403 Er ro r Messages , Poss ib le Web A p p l i c a t i o n Scan " ;f l ow : from_server , es tab l i shed ;content : "HTTP/ 1 . 1 403 " ; depth : 1 3 ;th resho ld : type thresho ld , t r ack by_dst , count 35 , seconds 60;re ference : u r l ,www. checkupdown .com/ s ta tus / E403 . html ;re ference : u r l , doc . emerg ingthreats . net /2009749;c lass type : attempted−recon ; s id :2009749; rev : 4 ; )

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 6 / 12

Page 9: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

IDS : Illuminations De Sapin

Voir les liensPotentielD’un point externeVers un point interne

Graphe non orientéVecteurs sont lesadresses IPArête entre source etdestination

Résultat anonymisé

0

1

2

3

4

5

6

7

8

9

1011

1213

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

6465

66

67

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 7 / 12

Page 10: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Non, Jef, t’es pas tout seul

Snort"Même" langage designatureMême logiquePas de lien sans analyseexterne

Jeux de règles SourcefireA posteriori envisageableUtilisation de metadataMais pas pour ça

Preluderfc4765.txt définit Source et TargetSource : The source(s) of the event(s) leading upto the alert.

Target : The target(s) of the event(s) leading upto the alert.

L’implementation utilise IP source et destinationViolation de la RFC

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 8 / 12

Page 11: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

1 Introduction

2 Approche analytique préliminaire à l’implémentation

3 Où on citerai bien la marionnette d’Aimé Jacquet

4 Conclusion

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 8 / 12

Page 12: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

ObjectifsAjout dans la sortie JSON de la notion de Source et TargetFixer la sortie Prelude

Introduction du mot clef targettarget [src_ip|dest_ip]

Mise à jour du codeModification de la sortie PreludeAjout de nouveaux champs dans la sortie EVE JSON

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 9 / 12

Page 13: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Alert avec Source et Target

{" timestamp " : "2016−12−07T14:17:45.754203+0100 " ," event_type " : " a l e r t " ," s r c_ ip " : " 191.18.3 .4 " , " s r c_po r t " : 59540 ," des t_ ip " : " 10.242.4 .2 " , " des t_por t " : 3389 ," pro to " : "TCP" ," a l e r t " : {

" ac t i on " : " al lowed " ," g id " : 1 ," s i gna tu re_ id " : 2013479 ," rev " : 4 ," s igna tu re " : " f a s t Terminal Server T r a f f i c , P o t e n t i a l Outbound Scan " ," category " : " Misc a c t i v i t y " ," s e v e r i t y " : 3 ," source " : {

" i p " : " 198.18.3 .4 " , " po r t " : 59540} ," t a r g e t " : {

" i p " : " 10.242.4 .2 " , " po r t " : 3389}

}}

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 10 / 12

Page 14: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Graphe orienté obtenu

0

12

3

4

5

6

7

8

9

1011

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

3233

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 11 / 12

Page 15: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

1 Introduction

2 Approche analytique préliminaire à l’implémentation

3 Où on citerai bien la marionnette d’Aimé Jacquet

4 Conclusion

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 11 / 12

Page 16: À la recherche du méchant perdu - sstic.org · Suricata Molloch Elasticsearch Trouver les attaquants À partir des alertes En utilisant Suricata Voir leur propagation dans le réseau

Conclusion

Vers une automatisation de l’analyseConstruction de graphes orientésUtilisation d’algorithmes de découvertes de chemin

Travail restantAcceptation du code dans SuricataMise à jour des règles

ÉvolutionVers des Source/Target évoluées : target:dest_ip,smtp.rcpt_to

Prendre le temps en considération dans le graphe

É. Leblond (Stamus Networks) À la recherche du méchant perdu 9 juin 2017 12 / 12