Intrusion Analysis in Darknet with Honeynet Deployment - Main

126
ΔΘΝΙΚΟ ΚΑΙ ΚΑΠΟΓΙΣΡΙΑΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΑΘΗΝΩΝ ΥΟΛΗ ΘΔΣΙΚΩΝ ΔΠΙΣΗΜΩΝ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ Intrusion Analysis in Darknet with Honeynet Deployment Παύινο Γ. Αξβαλίηεο Φώηηνο Υ. Παξαζθεπάο Δπηβιέπσλ: Άγγεινο Κηαγηάο, Δπίθνπξνο Καζεγεηήο ΑΘΗΝΑ ΟΚΣΧΒΡΙΟ 2010

Transcript of Intrusion Analysis in Darknet with Honeynet Deployment - Main

ΔΘΝΙΚΟ ΚΑΙ ΚΑΠΟΓΙΣΡΙΑΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΑΘΗΝΩΝ

ΥΟΛΗ ΘΔΣΙΚΩΝ ΔΠΙΣΗΜΩΝ ΣΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ

ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ

Intrusion Analysis in Darknet with Honeynet Deployment

Παύινο Γ. Αξβαλίηεο Φώηηνο Υ. Παξαζθεπάο

Δπηβιέπσλ: Άγγεινο Κηαγηάο, Δπίθνπξνο Καζεγεηήο

ΑΘΗΝΑ

ΟΚΣΧΒΡΙΟ 2010

ΠΣΤΥΙΑΚΗ ΔΡΓΑΙΑ

Intrusion Analysis in Darknet with Honeynet Deployment

Παύινο Γ. Αξβαλίηεο Α.Μ.: 1115200500178

Φώηηνο Υ. Παξαζθεπάο

Α.Μ.: 1115200500122

ΔΠΙΒΛΔΠΧΝ: Άγγεινο Κηαγηάο, Δπίθνπξνο Καζεγεηήο

ΠΔΡΙΛΗΦΗ

Η εξγαζία απηή αζρνιείηαη κε ηελ παξαθνινχζεζε ηεο δηαδηθηπαθήο θίλεζεο ελφο κέξνπο ηνπ δηθηχνπ ηνπ Σκήκαηνο Πιεξνθνξηθήο θαη Σειεπηθνηλσληψλ ηνπ Δζληθνχ Καπνδηζηξηαθνχ Παλεπηζηεκίνπ Αζελψλ. Σν ππνδίθηπν απηφ απνηειείηαη απφ 256 δηεπζχλζεηο IP (/24, class C) πνπ έρνπλ επαθή κε ην Γηαδίθηπν. Σν ζεκαληηθφηεξν ραξαθηεξηζηηθφ ηνπ είλαη πσο νη δηεπζχλζεηο απηέο είλαη αλελεξγέο, δελ έρνπλ απνδνζεί δειαδή ζε θάπνηνλ ππνινγηζηή. Σν ζχλνιν ηέηνησλ δηεπζχλζεσλ νλνκάδεηαη dark address space ή darknet. Σν παξαπάλσ ραξαθηεξηζηηθφ έρεη εμέρνπζα ζεκαζία, δηφηη ζπλεπάγεηαη πσο νπνηαδήπνηε θίλεζε αληρλεπζεί πξνο (ή απφ) ην darknet, είλαη χπνπηε θαη πηζαλφηαηα απνηειεί κέξνο θάπνηαο επίζεζεο. Γηα ηελ παξαθνινχζεζε ηεο θίλεζεο απηήο ρξεζηκνπνηήζεθε έλαο εμππεξεηεηήο, ζπλδεδεκέλνο ζε άιιν ππνδίθηπν, ζηνλ νπνίν φκσο αλαθαηεπζχλνληαλ ηα ελ ιφγσ παθέηα. Η ζπιινγή θαη αλάιπζή ηνπο γηλφηαλ απφ ην δεκνθηιέο ινγηζκηθφ IDS Snort, ην νπνίν εγθαηαζηάζεθε ζηνλ εμππεξεηεηή κε ηε ζπλνδεία νξηζκέλσλ βνεζεηηθψλ εξγαιείσλ. Γηα λα πξνζηεζεί θάπνηα επηπιένλ δηαδξαζηηθφηεηα, πνπ ζα δηέθξηλε ηηο πξαγκαηηθέο επηζέζεηο απφ ηπραία παθέηα, πινπνηήζεθε ζην dark address space έλα honeynet, έλα ζχλνιν δειαδή εηθνληθψλ ππνινγηζηψλ πνπ πξνζνκνηψλνπλ δηάθνξεο ππεξεζίεο. Οη κεηξήζεηο φισλ απηψλ ησλ πξνγξακκάησλ ππέζηεζαλ αλάιπζε θαη εμάρζεθαλ απφ απηέο ζηαηηζηηθά ζηνηρεία, γξαθήκαηα θαη θπξίσο ζπκπεξάζκαηα γηα ηελ παξάλνκε δξαζηεξηφηεηα ζην darknet.

Η εξγαζία απνηειείηαη απφ 6 θεθάιαηα. ην 1ν Κεθάιαην δίλνληαη νη νξηζκνί ησλ βαζηθψλ ελλνηψλ darknet θαη honeynet θαη ζπδεηνχληαη ζρεηηθά ζέκαηα. Σν 2ν Κεθάιαην πεξηέρεη πεξηγξαθή θαη νδεγίεο εγθαηάζηαζεο ηνπ ινγηζκηθνχ πνπ ρξεζηκνπνηήζεθε. Πην επηζηακέλα πεξηγξάθεηαη ε ιεηηνπξγία ηνπ honeyd, ηνπ ινγηζκηθνχ ην νπνίν πινπνηεί ην honeynet, ζην Κεθάιαην 3. Σν θχξην κέξνο ηεο εξγαζίαο, δειαδή ηα απνηειέζκαηα θαη ζπκπεξάζκαηα ησλ ζηνηρείσλ πνπ ζπιιέρζεθαλ θαζψο θαη νξηζκνί ησλ επηζέζεσλ πνπ εληνπίζηεθαλ, βξίζθνληαη ζην Κεθάιαην 4. Σν 5ν Κεθάιαην αλαιχεη ηελ ιεηηνπξγία θαη ηνπο θηλδχλνπο ησλ botnets, κνιπζκέλσλ δειαδή ππνινγηζηψλ κε απηφλνκε δξάζε, πνπ ήηαλ έλα απφ ηα ζέκαηα πνπ καο απαζρφιεζαλ. Σέινο, ζην 6ν Κεθάιαην αλαθέξνληαη δεηήκαηα ηα νπνία αλέθπςαλ θαηά ηελ εθπφλεζε ηεο εξγαζίαο θαη πξνηείλνληαη νξηζκέλεο κειινληηθέο θαηεπζχλζεηο.

ΘΔΜΑΣΙΚΗ ΠΔΡΙΟΥΗ: Αζθάιεηα ζην Γηαδίθηπν

ΛΔΞΔΙ ΚΛΔΙΓΙΑ: security, address space, darknet, IDS, honeypots, botnets

ΔΤΥΑΡΙΣΙΔ

Θεσξνχκε ππνρξέσζή καο λα επραξηζηήζνπκε φινπο φζνπο πιαηζίσζαλ ηελ πξνζπάζεηά καο, μεθηλψληαο απφ ηνλ θαζεγεηή καο θ. Άγγειν Κηαγηά, πνπ καο έδσζε ηελ επθαηξία λα αζρνιεζνχκε κε ην ζπγθεθξηκέλν ζέκα. Δπραξηζηνχκε επίζεο ην Κέληξν Λεηηνπξγίαο θαη Γηαρείξηζεο Γηθηχνπ ηνπ Παλεπηζηεκίνπ Αζελψλ θαη εηδηθφηεξα ηνλ θ. Αξηζηνηέιε Γιεληή. Σέινο, λα επραξηζηήζνπκε ηνλ θ. Γηψξγν Καθαιέηξε γηα ηε βνήζεηα πνπ καο παξείρε ζην ζηήζηκν ηνπ εμππεξεηεηή κέζα ζε έλα απφ ηα εξγαζηήξηα ηνπ ηκήκαηνο Πιεξνθνξηθήο θαη Σειεπηθνηλσληψλ.

ΠΔΡΙΔΥΟΜΔΝΑ

ΠΡΟΛΟΓΟ .................................................................................................................... 9

1. Δηζαγσγή ................................................................................................................. 10

1.1 Darknet: Ση είλαη;............................................................................................................................. 10

1.2 Darknet, dark address space, dark internet: εκαζηνινγία ...................................................... 12

1.1.1 Darknet Deployment ............................................................................................................................. 12

1.2 Honeypots ....................................................................................................................................... 14

1.2.1 High interaction ...................................................................................................................................... 14

1.2.2 Low interaction ....................................................................................................................................... 15

2. Πεξηγξαθή ησλ ινγηζκηθώλ πνπ ρξεζηκνπνηήζεθαλ ......................................... 16

2.1 Snort IDS/IPS .................................................................................................................................. 16

2.1.1 Δγθαηάζηαζε Snort κε ππνζηήξημε MySQL ...................................................................................... 17

2.1.2 Βειηίσζε ηεο απφδνζεο ηνπ Snort κε barnyard2 ............................................................................. 19

2.1.3 Σν ζρήκα ηεο βάζεο δεδνκέλσλ γηα ην Snort ................................................................................... 21

2.2 BASE ................................................................................................................................................ 23

2.2.1 Δγθαηάζηαζε apache2 κε php5 .......................................................................................................... 25

2.2.2 Δγθαηάζηαζε BASE .............................................................................................................................. 26

2.3 Honeyd ............................................................................................................................................ 30

2.3.1 Δγθαηάζηαζε honeyd κε honeycomb plugin ..................................................................................... 30

2.3.2 Η βάζε δεδνκέλσλ γηα ην honeyd....................................................................................................... 31

3. Υξήζε ηνπ ινγηζκηθνύ Honeyd .............................................................................. 35

3.1 Ο ρώξνο δηεπζύλζεσλ IP γηα ηα honeypots ................................................................................ 35

3.1.1 Γέζκεπζε δηεπζχλζεσλ IP κε ην Arpd ................................................................................................ 37

3.2 Θέηνληαο personalities κε ην honeyd ........................................................................................... 38

3.3 Virtual network topology ............................................................................................................... 41

3.4 Host discovery κε Nmap 4.53 ........................................................................................................ 46

3.5 Honeyd services ............................................................................................................................. 53

4. Σα δεδνκέλα από ηε βάζε δεδνκέλσλ ηνπ Snort ................................................. 60

4.1 Alerts ............................................................................................................................................... 60

4.2 Δξκελεία γηα ηα είδε ησλ alerts .................................................................................................... 61

4.3 Scripts for snort database ............................................................................................................. 76

4.4 Αλάιπζε ησλ ζπκβάλησλ πνπ θαηέγξαςε ην Snort. ................................................................. 90

4.5 Honeypots activity ....................................................................................................................... 100

5. Botnets ................................................................................................................... 105

6. πκπεξάζκαηα θαη παξαηεξήζεηο ....................................................................... 118

6.1 Ιζηνξηθό εξγαζίαο ........................................................................................................................ 118

6.1.1 Alerts ηνπ παξαγσγηθνχ δηθηχνπ ....................................................................................................... 118

6.1.2 ARP poisoning, host flapping MAC address ................................................................................... 122

6.2 Μειινληηθέο θαηεπζύλζεηο ........................................................................................................... 124

ΑΝΑΦΟΡΔ ................................................................................................................ 125

ΚΑΣΑΛΟΓΟ ΥΗΜΑΣΧΝ

ρήκα 1: Γηάγξακκα Venn. Α είλαη ην ζχλνιν ησλ πξνζβάζηκσλ θφκβσλ. Β είλαη ην

ζχλνιν φισλ ησλ θφκβσλ ηνπ δηθηχνπ. ......................................................................... 10

ρήκα 2: Οη ρψξεο πξνέιεπζεο πξνο ηνλ αξηζκφ ησλ alerts γηα θάζε κία. Σηκή

θαησθιίνπ είλαη ηα 100 alerts. ....................................................................................... 92

ρήκα 3: Ο αξηζκφο ησλ alerts πνπ πξνήιζαλ απφ δηάθνξεο IPs. Σηκή θαησθιίνπ ηα

εθαηφ alerts. Σν 100% αληηζηνηρεί ζε 30.038 alerts. ...................................................... 95

ρήκα 4: Πφζεο IPs έρνπλ πξνθαιέζεη ηνλ ίδην αξηζκφ unique alerts. .......................... 96

ρήκα 5: Ο αξηζκφο ησλ δηαθνξεηηθψλ IPs πνπ έρνπλ πξνθαιέζεη ην ίδην είδνο alert.

Δηθνλίδνληαη ηα δέθα ελλέα πξψηα είδε ησλ alerts. ICMP D.U.C.A.P : ―Destination

Unreachable Communication Administratively Prohibited‖ ............................................ 96

ρήκα 6: Ο αξηζκφο ησλ δηαθνξεηηθψλ IPs πνπ έρνπλ πξνθαιέζεη ην ίδην είδνο alert.

Δηθνλίδνληαη ηα επφκελα δέθα ελλέα είδε ησλ alerts. ..................................................... 97

ρήκα 7: Οη TCP ζχξεο πξννξηζκνχ πξνο ηνλ αξηζκφ ησλ alerts. To 100% αληηζηνηρεί

ζε 968 alerts. ................................................................................................................. 97

ρήκα 8: Πξσηλή δψλε 06:00:00 – 11:59:59, κε ηηκή θαησθιίνπ ηα 10 alerts. .............. 98

ρήκα 9: Μεζεκεξηαλή δψλε 12:00:00 – 17:59:59, κε ηηκή θαησθιίνπ ηα 10 alerts. ..... 98

ρήκα 10: Απνγεπκαηηλή δψλε 18:00:00 – 23:59:59, κε ηηκή θαησθιίνπ ηα 10 alert. .... 99

ρήκα 11: Βξαδηλή δψλε 00:00:00 – 05:59:59, κε ηηκή θαησθιίνπ ηα 10 alerts. ........... 99

ρήκα 12: Η θαηαλνκή ησλ alerts ζπλνιηθά κεηαμχ ησλ ηεζζάξσλ δσλψλ ψξαο. ...... 100

ρήκα 13: Η θαηαλνκή ηνπ αξηζκνχ ησλ alerts ζε κεληαία βάζε. Απφ 1 Ιαλνπαξίνπ σο 1

Ινπλίνπ 2010. Σν 100% αληηζηνηρεί ζε 30.038 alerts. .................................................. 100

ρήκα 14: Οη ζπλδέζεηο γηα θάζε ρψξα. Σηκή θαησθιίνπ νη 10.000 ζπλδέζεηο. ........... 101

ρήκα 15: Απφ ην ζχλνιν ησλ 30038 alerts, ηα 2812 απεπζχλνληαη ζε IPs ηνπ

honeynet. ..................................................................................................................... 102

ρήκα 16: Γηα θάζε honeypot αλαγξάθεηαη ν αξηζκφο ησλ δηαθνξεηηθψλ εηδψλ alerts

πνπ δέρζεθε. ............................................................................................................... 103

ρήκα 17: H θαηαλνκή ηνπ αξηζκνχ ησλ ζπλδέζεσλ πξνο ηα honeypots, ζηα

πξσηφθνιια icmp, tcp, udp. ........................................................................................ 103

ΚΑΣΑΛΟΓΟ ΔΙΚΟΝΧΝ

Δηθφλα 1: Η ηνπνινγία ηνπ darknet server ζε έλα αθαηξεηηθφ ζρήκα. ........................... 13

Δηθφλα 2: Οιφθιεξν ην ζρήκα γηα ηε βάζε δεδνκέλσλ ηνπ Snort. ................................ 22

Δηθφλα 3: Η αξρηθή ζειίδα ηνπ BASE. ........................................................................... 24

Δηθφλα 4: Η δηεπαθή ηνπ BASE γηα ηελ δεκηνπξγία δηαγξακκάησλ απφ ηα δεδνκέλα ηεο

βάζεο ή θάπνηνπ alert group. ........................................................................................ 25

Δηθφλα 5: Έλα παξαγσγηθφ ππνδίθηπν, φπνπ ηα honeypots κνηξάδνληαη κε ηνπο

θαλνληθνχο ππνινγηζηέο ηνλ ίδην ρψξν δηεπζχλζεσλ. ................................................... 36

Δηθφλα 6: Δηθνληθή ηνπνινγία απφ honeypots θαηαζθεπαζκέλε κε ην honeyd. ............ 42

Δηθφλα 7: Παγθφζκηνο ράξηεο κε ζεκεησκέλεο ηηο ρψξεο απν ηηο νπνίεο θαηαγξάθεθε

δξαζηεξηφηεηα πξνο ην darknet space. ......................................................................... 92

Δηθφλα 8: χζηεκα δηαρείξηζεο botnet κέζσ ελφο θεληξηθνπνηεκέλνπ εμππεξεηεηή. .. 106

ΚΑΣΑΛΟΓΟ ΠΙΝΑΚΧΝ

Πίλαθαο 1: Σα είδε ησλ alerts πνπ θαηαγξάθεθαλ ζην ρψξν ηνπ darknet. Φηάλνπλ ηα

ηξηάληα νθηψ ζε αξηζκφ. ................................................................................................ 60

Πίλαθαο 2: Οη 88 ρψξεο απφ ηηο νπνίεο θαηαγξάθεθαλ ζπκβάληα ζην dark address

space. ............................................................................................................................ 90

Πίλαθαο 3: Σα είδε ησλ alerts θαη ν αξηζκφο απηψλ, πνπ πξνήιζαλ απφ ηηο πέληε ρψξεο

κε ηα πεξηζζφηεξα alerts. .............................................................................................. 93

Πίλαθαο 4: Ο αξηζκφο ησλ bytes πνπ αληαιιάρζεθαλ ζε θάζε honeypots θαη ζε θάζε

ζχξα απηνχ. ................................................................................................................. 101

Πίλαθαο 5: Σα επηπιένλ είδε ησλ alerts πνπ θαηαγξάθεθαλ ζην παξαγσγηθφ ππνδίθηπν.

Φηάλνπλ ηα νθηψ ζε αξηζκφ. ....................................................................................... 119

ΠΡΟΛΟΓΟ

Απηή ε εξγαζία εθπνλήζεθε σο πηπρηαθή ζην Σκήκα Πιεξνθνξηθήο θαη Σειεπηθνηλσληψλ ηνπ Καπνδηζηξηαθνχ Παλεπηζηεκίνπ Αζελψλ, απφ ηνπο θνηηεηέο ηνπ ηκήκαηνο Αξβαλίηε Παχιν θαη Παξαθεπά Φψηην. Γηα ηελ εθπφλεζε ηεο εξγαζίαο απαξαίηεηε ήηαλ ε ζπκβνιή ηνπ θαζεγεηή καο θ. Άγγεινπ Κηαγηά σο επηβιέπνληα. Δμίζνπ απαξαίηεηε ήηαλ ε ζπκβνιή θαη ε ππνζηήξημε πνπ καο παξείραλ απφ ην Κέληξν Λεηηνπξγίαο θαη Γηαρείξηζεο Γηθηχνπ ηνπ Παλεπηζηεκίνπ, πξνθεηκέλνπ λα απνθηήζνπκε πξφζβαζε ζε έλαλ ππνινγηζηή εληφο ηνπ Γηθηχνπ ν νπνίνο ζα απνηεινχζε ην θχξην εξγαιείν γηα ηελ εθπφλεζε ηεο πηπρηαθήο καο.

Ο ζθνπφο καο ήηαλ λα θαηαλνήζνπκε ηνπο ηξφπνπο κε ηνπο νπνίνπο δηεμάγνληαη επηζέζεηο ζην Γηαδίθηπν, λα κειεηεζνπκε ηε δξάζε θαθφβνπινπ ινγηζκηθνχ (π.ρ. bots) θαη λα εμάγνπκε επηπιένλ ζηαηηζηηθά θαη ζπκπεξάζκαηα γηα ηα θαηλφκελα πνπ παξαηεξνχκε. Σν κέζν κε ην νπνίν επηηχρακε ηα παξαπάλσ είλαη κε ηελ εγθαηάζηαζε θαη ιεηηνπξγία ελφο darknet server γηα κία πεξίνδν πεξίπνπ 6 κελψλ απφ ηνλ Ιαλνπάξην 2010 κέρξη θαη ηνλ Ινχλην ηνπ ίδηνπ έηνπο. Η βαζηθή ρξήζε ηνπ server ήηαλ λα θαηαγξάθεη θαη λα αλαιχεη ηε δηθηπαθή θίλεζε ζε έλα ρψξν δηεπζχλζεσλ IP πνπ ήηαλ αρξεζηκνπνίεηνο. Ο ρψξνο απηφο απνθαιείηαη dark address space ή darknet. Η παξαθνινχζεζε ηνπ darknet έρεη ηδηαίηεξε ζεκαζία, θαζψο είρακε ηελ βεβαηφηεηα φηη φια ηα παθέηα πνπ ζα πξννξίδνληαη πξνο απηφλ ζα είραλ θαθφβνπιε πξνέιεπζε αθνχ νη δηεπζχλζεηο πνπ ηνπ αλήθνπλ δελ πξνθαινχλ δηαδηθηπαθή θίλεζε. Σα ζηνηρεία πνπ πξνθχπηνπλ είλαη έλαο θαιφο ηξφπνο λα δηαπηζηψζνπκε ηάζεηο πνπ επηθξαηνχλ ζρεηηθά κε θαθφβνπιεο ελέξγεηεο ζην Γηαδίθηπν, εηδηθά φζεο νθείινληαη ζε απηνκαηνπνηεκέλνπο κεραληζκνχο, φπσο δίθηπα κνιπζκέλσλ απφ εηδηθφ ινγηζκηθφ ππνινγηζηψλ. Απηά είλαη γλσζηά κε ηελ νλνκαζία botnets θαη ε ιεηηνπξγία ηνπο είλαη αθφκα έλα δήηεκα πνπ εμεηάζακε. Δπηπιένλ αζρνιεζήθακε κε ηελ αλάπηπμε honeypots, εηθνληθψλ δειαδή ππνινγηζηψλ πνπ πξνζσκνηψλνπλ ππεξεζίεο, ηα νπνία απνηεινχλ έλαλ απφ ηνπο πην απνηειεζκαηηθνχο ηξφπνπο γηα ηελ πξνζέιθπζε θαη θαηαγξαθή ηέηνηνπ είδνπο ινγηζκηθψλ.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 10

ΚΔΦΑΛΑΙΟ 1

1. Δηζαγσγή

ηηο ηξεηο πξψηεο ελφηεηεο ηνπ πξψηνπ θεθαιαίνπ ζα αλαθεξζνχκε ζε κεξηθέο έλλνηεο φπσο ην darknet space, ην darknet internet, θαζψο θαη ζην πσο αλαπηχμακε ην δηθφ καο darknet server κέζα ζην ππνινγηζηηθφ δίθηπν ηνπ ηκήκαηνο ηνπ παλεπηζηεκίνπ Αζελψλ. ηηο επφκελεο ελφηεηεο ζα πεξηγξάςνπκε ηη είλαη ηα honeypots θαη ζα ηα δηαρσξίζνπκε ζε δχν κεγάιεο θαηεγνξίεο ηα High Interaction θαη ηα Low Interaction.

1.1 Darknet: Ση είλαη;

Όπσο είδακε ζηελ εηζαγσγή, ην βαζηθφηεξν θνκκάηη ηεο εξγαζίαο ζηεξίδεηαη ζηελ εγθαηάζηαζε θαη ηελ παξαθνινχζεζε ελφο darknet server. Ση είλαη φκσο ην darknet; Έλαο πξψηνο νξηζκφο πνπ κπνξνχκε λα δψζνπκε είλαη: ην ζχλνιν ησλ κε πξνζβάζηκσλ δηεπζχλζεσλ ελφο δηθηχνπ. Ωο πξφζβαζε ελλννχκε νπνηαδήπνηε επηθνηλσλία κπνξεί λα έρεη θάπνηνο ππνινγηζηήο κε ηνλ δηθηπαθφ θφκβν πνπ αληηζηνηρεί ζε κηα δηεχζπλζε, φπσο απνζηνιή αηηήζεσλ ping θαη ιήςε απαληήζεσλ. Ο νξηζκφο απηφο φκσο εκπεξηέρεη κηα αζάθεηα. Δίλαη ην darknet θνηλφ γηα φινπο ηνπο ππνινγηζηέο ελφο δηθηχνπ; Θεσξεηηθά νη θφκβνη ζε ηνπηθά δίθηπα ή δίθηπα κεγάινπ εχξνπο, φπσο ην Γηαδίθηπν, είλαη ηζφηηκνη, ζπλεπψο ζα έπξεπε λα έρνπλ δπλαηφηεηα πξφζβαζεο ζην ίδην ζχλνιν θφκβσλ. Θα δνχκε φκσο παξαθάησ πσο θάηη ηέηνην δελ ηζρχεη. Μπνξνχκε ινηπφλ λα ηξνπνπνηήζνπκε ειαθξψο ηνλ πξνεγνχκελν νξηζκφ, ιέγνληαο πσο ην darknet γηα έλαλ ππνινγηζηή/θφκβν είλαη ην ζχλνιν ησλ δηεπζχλζεσλ ηνπ δηθηχνπ πνπ αλήθεη ζηηο νπνίεο δελ έρεη πξφζβαζε. Δλαιιαθηηθά ην darknet είλαη δπλαηφλ λα αλαπαξαζηαζεί απφ ην αθφινπζν δηάγξακκα Venn:

Αλ ζεσξήζνπκε φηη ην ζχλνιν Β (κεγάιν ζχλνιν) είλαη ην ζπλνιηθφ πιήζνο ησλ δηεπζχλζεσλ ηνπ δηθηχνπ καο θαη ην ζχλνιν Α είλαη φιεο νη δηεπζχλζεηο ζηηο νπνίεο αληηζηνηρεί θφκβνο πξνζβάζηκνο απφ έλαλ ζπγθεθξηκέλν ππνινγηζηή, ηφηε ε δηαθνξά ησλ ζπλφισλ Β - Α απνηειεί ην darknet. Οη ιφγνη γηα ηνπο νπνίνπο κηα δηθηπαθή δηεχζπλζε δελ είλαη πξνζπειάζηκε πνηθίιινπλ. ηα ηνπηθά δίθηπα ε ζπλεζέζηεξε αηηία είλαη πσο ε δηεχζπλζε απηή δελ έρεη θαηαλεκεζεί ζε θάπνηνλ ππνινγηζηή. Σν ζχλνιν ησλ κε θαηαλεκεκέλσλ δηεπζχλζεσλ ελφο δηθηχνπ θαιείηαη επίζεο dark address space. ηα πιαίζηα ηεο εξγαζίαο απηήο παξαθνινπζήζακε έλα class C (/24 bits, 256 δηεπζχλζεηο) ππνδίθηπν ηνπ δηθηχνπ ηνπ ηκήκαηνο Πιεξνθνξηθήο θαη Σειεπηθνηλσληψλ

Β

Α

ρήκα 1: Γηάγξακκα Venn. Α είλαη ην ζύλνιν ησλ πξνζβάζηκσλ θόκβσλ. Β είλαη ην ζύλνιν όισλ ησλ θόκβσλ ηνπ δηθηύνπ.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 11

ηνπ Δ.Κ.Π.Α., πνπ αλήθεη ζην dark address space, θαζψο απνηειείηαη απφ εμ νινθιήξνπ απφ κε θαηαλεκεκέλεο δηεπζχλζεηο. Σν θαηλφκελν ηνπ darknet φκσο εκθαλίδεηαη θαη ζην Γηαδίθηπν, φπνπ νη κε θαηαλεκεκέλεο δηεπζχλζεηο είλαη πιένλ ειάρηζηεο. Σν δηαδηθηπαθφ darknet, απνθαινχκελν θαη dark internet, έγηλε ην αληηθείκελν εξεπλψλ, αξθεηέο απφ ηηο νπνίεο δηεμήρζεζαλ ην 2001, πνπ απνδεηθλχνπλ ηελ χπαξμή ηνπ θαη αλαιχνπλ ηηο απεηιέο πνπ θξχβεη. Αλ θαη ε εξγαζία γίλεηαη ζηα πιαίζηα ζπγθεθξηκέλνπ δηθηχνπ, ην dark internet έρεη φκνηεο αηηίεο θαη θηλδχλνπο κε απηφ πνπ εμεηάδνπκε, γηα απηφ θαη γίλεηαη κηα ζχληνκε αλαθνξά ηνπ παξαθάησ.

Όζνλ αθνξά ζην Γηαδίθηπν, επηθξαηεί γεληθά ε εληχπσζε πσο είλαη έλαο πιήξσο ζπλδεδεκέλνο γξάθνο θφκβσλ. Γπζηπρψο απηφ απέρεη πνιχ απφ ηελ αιήζεηα. ηελ πξαγκαηηθφηεηα ππάξρνπλ ππνινγηζηέο πνπ αλήθνπλ ζην Γηαδίθηπν, νη νπνίνη δελ είλαη πξνζβάζηκνη απφ ην κέζν ρξήζηε. Κιαζηθφ παξάδεηγκα απνηεινχλ ηζηνζειίδεο θαη ππνινγηζηέο ηνπ ζηξαηνχ ησλ ΗΠΑ πνπ αλήθνπλ ζην απαξραησκέλν MILNET, ή αθφκα θαη ζην Arpanet, ηνλ πξφδξνκν ηνπ Γηαδηθηχνπ. Πέξα φκσο απφ δίθηπα ηα νπνία αλήθνπλ ζηε ιίζηλε επνρή ηνπ Γηαδηθηχνπ θαη δε ρξεζηκνπνηνχληαη πιένλ, ην dark internet γηα έλαλ ππνινγηζηή ζπλήζσο πεξηιακβάλεη θαη πιεζψξα άιισλ θφκβσλ. Οη αηηίεο γηα ηηο νπνίεο νη θφκβνη απηνί δελ είλαη πξνζβάζηκνη, είλαη θαηά θχξην ιφγν πην δπζάξεζηνη. Όπσο γλσξίδνπκε, ην Γηαδίθηπν είλαη ρσξηζκέλν ζε επίπεδα, κε ην πςειφηεξν επίπεδν λα είλαη νη ππνινγηζηέο ησλ ρξεζηψλ θαη ην ρακειφηεξν νη θεληξηθνί δξνκνινγεηέο ησλ παγθνζκίνπ θιίκαθαο παξφρσλ πνπ αιιεινζπλδένληαη θαη απνηεινχλ ηε «ξαρνθνθαιηά» ηνπ Γηαδηθηχνπ. ε φζν ρακειφηεξν επίπεδν αλήθεη έλαο δξνκνινγεηήο, ηφζν πεξηζζφηεξε θίλεζε πεξλά κέζα απφ απηφλ εμππεξεηψληαο ην αλάινγν πιήζνο ππνινγηζηψλ/δηεπζχλζεσλ. Δίλαη αληηιεπηφ πσο έλαο ηέηνηνο δξνκνινγεηήο ιεηηνπξγεί σο πχιε γηα ηηο δηεπζχλζεηο πνπ εμππεξεηεί. Αλ ινηπφλ ν δξνκνινγεηήο είλαη θαθνξπζκηζκέλνο ζε ζρέζε κε είηε ηελ εηζεξρφκελε είηε ηελ εμεξρφκελε θίλεζε, απηφ ζα επεξεάζεη ην dark internet γηα έλαλ εμππεξεηνχκελν ππνινγηζηή, ή ζα ηνλ θάλεη κέξνο ηνπ dark internet ελφο άιινπ. Γπζηπρψο ππάξρνπλ ηέηνηνπ είδνπο αλσκαιίεο ζηηο ξπζκίζεηο πνιιψλ θεληξηθψλ δξνκνινγεηψλ ηνπ Γηαδηθηχνπ, πνπ θάλνπλ ην dark internet έλα ηδηαηηέξσο εθηεηακέλν θαη πνιχπινθν θαηλφκελν. Μηα έξεπλα ηεο Arbor Networks έδεημε πσο ζε απηφ αλήθνπλ 5% ησλ θφκβσλ ηνπ ηζηνχ, πνπ αλέξρνληαη πεξίπνπ ζηνπο 100 εθαηνκκχξηα δηαθνκηζηέο. Αλ εμαηξέζνπκε ην αλζξψπηλν ζθάικα, έλαο θχξηνο ιφγνο πνπ θεληξηθνί δξνκνινγεηέο έρνπλ ξπζκίζεηο πνπ πεξηνξίδνπλ ηελ πξνζβαζηκφηεηα είλαη ε κείσζε ηνπ θφξηνπ, κε πεξηθνπή ηνπ κεγέζνπο ησλ πηλάθσλ δξνκνιφγεζεο. Δπίζεο ππάξρνπλ φξνη ησλ ζπκβνιαίσλ κεηαμχ ησλ παξφρσλ (θπξίσο κεηαμχ παξφρσλ δηαθνξεηηθψλ επηπέδσλ) πνπ θαζνξίδνπλ ζε πνηα ηκήκαηα ηνπ δηθηχνπ ηνπ ελφο ζα έρνπλ πξφζβαζε νη πειάηεο ηνπ άιινπ, δεκηνπξγψληαο έηζη ζηνπο πξψηνπο πεξηνρέο ηνπ ηζηνχ πνπ ηνπο απαγνξεχεηαη ε πξφζβαζε. Έλα θαηλφκελν ζαλ ην dark internet δε ζα κπνξνχζε θπζηθά λα κε γίλεη αληηθείκελν εθκεηάιιεπζεο δηάθνξσλ θαθφβνπισλ επηηήδεησλ. Έξεπλεο έρνπλ δείμεη πσο ην dark internet είλαη έλα απφ ηα κέζα πνπ ρξεζηκνπνηνχληαη θαηεμνρήλ γηα παξάλνκεο ελέξγεηεο φπσο επηζέζεηο Denial of Service ή spamming. Πνιινί hackers εθκεηαιιεχνληαη ηηο θαθέο ξπζκίζεηο ησλ δξνκνινγεηψλ γηα λα δηεμάγνπλ επηζέζεηο απφ ππνινγηζηέο πνπ γηα ην ππφινηπν Γηαδίθηπν ζηελ νπζία δελ ππάξρνπλ, θαζψο δελ είλαη δπλαηή ε επηθνηλσλία καδί ηνπο θαη εκθαλίδνληαη θαζφινπ ή ειάρηζηα ζε πίλαθεο δξνκνιφγεζεο. πρλά γίλεηαη επίζεο αλαδξνκνιφγεζε παθέησλ θαθφβνπιεο θίλεζεο κέζα απφ δηεπζχλζεηο ηνπ dark internet γηα λα απνθεπρζεί ν εληνπηζκφο ηεο πεγήο ηνπο. Δπηπιένλ, hackers κπνξνχλ λα δεκηνπξγήζνπλ ηκήκαηα ηνπ dark internet θαηαιακβάλνληαο δξνκνινγεηέο θαη αιιάδνληαο νη ίδηνη ηηο ξπζκίζεηο ηνπο. Τπάξρνπλ πιένλ εξεπλεηηθά εξγαιεία πνπ απνθαινχληαη network telescopes, ηα νπνία παξαθνινπζνχλ ην δηαδηθηπαθφ darknet γηα λα εληνπίζνπλ θαη λα θαηαγξάςνπλ ηέηνηνπ είδνπο ελέξγεηεο. Τπάξρνπλ ζθέςεηο απφ κεγάιεο ακεξηθαληθέο εηαηξείεο ηειεπηθνηλσληψλ, πνπ πξφθεηηαη λα θαηαζηήζνπλ ηε κε πξνζβαζηκφηεηα θαζεζηψο,

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 12

ζέινληαο λα δεκηνπξγήζνπλ έλα Γηαδίθηπν δχν ηαρπηήησλ. πλδξνκεηέο πνπ πιεξψλνπλ γηα πξνεγκέλεο ππεξεζίεο ζα έρνπλ πξφζβαζε ζε πεξηζζφηεξα ηκήκαηα ηνπ Ιζηνχ απφ ηνπο απινχο ζπλδξνκεηέο. Δπηπρψο απηέο νη αιιαγέο δελ πξνβιέπνληαη ζην άκεζν κέιινλ, θαζψο ππάξρνπλ πνιινί, κεηαμχ ησλ νπνίσλ θαη νη δεκηνπξγνί ηνπ Web, πνπ ελαληηψλνληαη ζηελ θαηαζηξαηήγεζε ηνπ ειεχζεξνπ ραξαθηήξα ηνπ Γηαδηθηχνπ.

Έρνληαο κηα γεληθή εηθφλα γηα ην dark internet, κπνξνχκε λα δηαπηζηψζνπκε φηη ην δηθφ καο ηνπηθφ darknet, αλ θαη παξφκνην ζηε θχζε ηνπ, είλαη αξθεηά δηαθνξεηηθφ φζνλ αθνξά ζην πεξηερφκελν. Καηαξράο γλσξίδνπκε πσο φινη νη ππνινγηζηέο ηνπ δηθηχνπ είλαη ηζφηηκνη ζεσξψληαο έηζη ην ίδην darknet. Δπηπιένλ, είκαζηε ζίγνπξνη πσο δελ ππάξρνπλ ππνινγηζηέο πνπ αληηζηνηρνχλ ζηηο δηεπζχλζεηο ηνπ, επνκέλσο δελ είλαη δπλαηφ λα πξνθιεζνχλ επηζέζεηο πξνεξρφκελεο απφ απηφ. Πνπ ρξεζηκεχεη ζπλεπψο ε παξαθνινχζεζε ηνπ; Αληί λα θνηηάμνπκε ην darknet απφ ηε κεξηά ηνπ επηηηζέκελνπ, φπσο ζην dark internet, πξέπεη λα ην εμεηάζνπκε απφ ηελ πιεπξά ηνπ ζχκαηνο. Οη δηεπζχλζεηο ηνπ darknet καο δελ είλαη θαηαρσξεκέλεο ζε αξρεία θαηαγξαθήο θίλεζεο, νχηε απνζηέιινπλ παθέηα πξνο ηνλ ηζηφ. Λνγηθά ινηπφλ ζπλεπάγεηαη πσο νπνηαδήπνηε θίλεζε παθέησλ πξνο (θαη απφ) δηεπζχλζεηο ηνπ darknet είλαη εληειψο απξφθιεηε θαη ρξήδεη εμέηαζεο, θαζψο είλαη πνιχ πηζαλφ λα πξφθεηηαη γηα ππνςήθηα επίζεζε. Απηφ, δειαδή ε θαηαγξαθή θαη επεμεξγαζία ησλ εηζεξρφκελσλ θαη εμεξρφκελσλ παθέησλ απφ δηεπζχλζεηο ηνπ darknet, είλαη θαη ν ζθνπφο ηνπ darknet server.

1.2 Darknet, dark address space, dark internet: εκαζηνινγία

Όπσο θαη πνιιά απφ ηα ζέκαηα ζρεηηθά κε ηελ αζθάιεηα δηθηχσλ, έηζη θαη ην darknet, πξψηα εληνπίζηεθε απφ άηνκα πνπ αζρνινχληαη κε ηα δίθηπα, έπεηηα ζπδεηήζεθε απφ ηελ δηαδηθηπαθή θνηλφηεηα θαη πνιχ αξγφηεξα έγηλε αληηθείκελν επίζεκσλ εξγαζηψλ θαη κειεηψλ. Έηζη ππάξρεη κηα ζρεηηθή πνιπζεκία ζηνλ φξν αλ αλαδεηήζεη θαλείο αλαθνξέο ζηνλ Ιζηφ. Θα θάλνπκε εδψ κηα ζχληνκε επεμήγεζε ζε παξεκθεξείο φξνπο πνπ ζπρλά ζπγρένληαη. Όπσο αλαθέξακε θαη πξνεγνπκέλσο, darknet είλαη ην ζχλνιν ησλ κε πξνζβάζηκσλ γηα θάπνηνλ ππνινγηζηή δηεπζχλζεσλ ελφο δηθηχνπ ζην νπνίν αλήθεη. ηα ηνπηθά δίθηπα απηφ ζπλήζσο ηαπηίδεηαη κε ην dark address space, πνπ νξίδεηαη σο ην ζχλνιν ησλ κε θαηαλεκεκέλσλ δηεπζχλζεσλ ελφο δηθηχνπ. Σν θαηλφκελν ηνπ darknet φπσο εθαξκφδεηαη ζην Γηαδίθηπν, είλαη επξέσο γλσζηφ κε ηελ νλνκαζία dark internet. Απηφ δελ πξέπεη λα ζπγρέεηαη κε ην ιεγφκελν deep web ή deep internet, πνπ είλαη ζειίδεο ηνπ Γηαδηθηχνπ νη νπνίεο ιφγσ ηνπ δπλακηθνχ πεξηερφκελνπ ηνπο δελ εκθαλίδνληαη ζε κεραλέο αλαδήηεζεο. Δπίζεο ππάξρεη κηα πην ζπάληα ρξήζε ηνπ φξνπ darknet, πνπ πεξηγξάθεη έλα ζχλνιν ππνινγηζηψλ ελφο δηθηχνπ νη νπνίνη έρνπλ κπζηηθή κεηαμχ ηνπο επηθνηλσλία ρξεζηκνπνηψληαο εηδηθά πξσηφθνιια. ηε ζπλέρεηα ηεο εξγαζίαο, φπνπ γίλεηαη αλαθνξά ηνπ φξνπ darknet ζα ελλνείηαη ν νξηζκφο πνπ δφζεθε ζηελ αξρή ηεο παξαγξάθνπ

1.1.1 Darknet Deployment

Αθνχ εμεηάζακε ηε θχζε ηνπ darknet, πξέπεη λα αζρνιεζνχκε ην πψο κπνξνχκε λα ην ρξεζηκνπνηήζνπκε γηα ηε κειέηε καο. Γηα ηνπο ζθνπνχο ηεο εξγαζίαο έρνπκε ζηε δηάζεζή καο έλαλ ππνινγηζηή, ν νπνίνο πξέπεη λα έρεη κε θάπνηνλ ηξφπν πξφζβαζε ζε φιε ηελ θίλεζε ηνπ darknet θαη ιεηηνπξγεί σο εμππεξεηεηήο γηα εξγαιεία θαη ππεξεζίεο πνπ ρξεζηκεχνπλ ζηελ θαηαγξαθή θαη επεμεξγαζία ηεο θίλεζεο (βι. Κεθάιαην 2). Ο ππνινγηζηήο απηφο φκσο δελ αλήθεη ζην ρψξν δηεπζχλζεσλ ηνπ darknet, δηφηη είλαη ζπλδεδεκέλνο ζην παξαγσγηθφ δίθηπν ηνπ Σκήκαηνο, καδί κε άιινπο εμππεξεηεηέο. ην ζεκείν απηφ πξέπεη λα αλαινγηζηνχκε, πσο ε θίλεζε πνπ ζα έρνπκε ζηε δηάζεζή καο

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 13

γηα εμέηαζε αλήθεη ζηνλ ρψξν ηνπ Παλεπηζηεκίνπ, επνκέλσο ε πξφζβαζε δελ κπνξεί λα είλαη απζαίξεηε, παξφιν πνπ ζην dark address space δελ βξίζθνληαη ελεξγνί ππνινγηζηέο. Αλ θαη ην γεγνλφο απηφ ιήθζεθε ππφςε θαηά ηνλ ζρεδηαζκφ ηνπ ζπζηήκαηνο, παξνπζηάζηεθαλ θάπνηα ζέκαηα ζε ζρέζε κε ηελ νκαιή ιεηηνπξγία θαη ηελ αζθάιεηα ηνπ δηθηχνπ, ηα νπνία εμεηάδνληαη ζην Κεθάιαην 6.

Έρνληαο ζην λνπ καο ηελ ηνπνινγία ηνπ δηθηχνπ (δειαδή ηελ αλεμαξηεζία παξαγσγηθνχ δηθηχνπ θαη darknet), θαζψο θαη ηα παξαπάλσ δεηήκαηα αζθαιείαο, εμνπιίζακε ηνλ ππνινγηζηή καο κε δχν πξνζαξκνγείο δηθηχνπ Ethernet, θαη ζπλδέζακε ηνλ ππνινγηζηή φπσο θαίλεηαη ζηελ παξαθάησ εηθφλα:

Όπσο δείρλεη ην ζρήκα, θαη νη δχν NICs έρνπλ δηεπζχλζεηο IP πνπ αλήθνπλ ζην παξαγσγηθφ δίθηπν θαη έρνπλ δηαδηθηπαθή πξφζβαζε. Η ρξήζε δχν πξνζαξκνγέσλ πξνθχπηεη απφ ηηο δηαθνξεηηθέο ιεηηνπξγίεο γηα ηηο νπνίεο πξννξίδνληαη. Ο πξνζαξκνγέαο eth2 είλαη ην βαζηθφηεξν ζηνηρείν ηνπ εμνπιηζκνχ ηεο εξγαζίαο, θαζψο ζε απηφλ πξνσζνχληαη ηα παθέηα ηεο θίλεζεο ηνπ darknet. Ο θεληξηθφο δξνκνινγεηήο (Router) πνπ παξέρεη πξφζβαζε ζην Γηαδίθηπν, εθηξέπεη φια ηα παθέηα πξνο δηεπζχλζεηο ηνπ darknet (subnet B) ζηελ IP δηεχζπλζε ηνπ eth2. Γελ κεηαθέξνληαη κφλν νη θεθαιίδεο αιιά απηνχζην ην πεξηερφκελν ησλ παθέησλ. Με παξφκνην ηξφπν ν eth2 κπνξεί λα επηθνηλσλεί πξνο ην Γηαδίθηπν ρξεζηκνπνηψληαο σο πεγαία IP κία απφ ηηο δηεπζχλζεηο ηνπ dark address space. ηε ζπλεζηζκέλε πεξίπησζε ην darknet δε ρξεηάδεηαη λα έρεη εμεξρφκελε θίλεζε, αιιά σο κέξνο ηεο εξγαζίαο εγθαηαζηάζεθαλ ζηνλ εμππεξεηεηή εξγαιεία πνπ ηνπ επηηξέπνπλ λα πξνζνκνηψλεη εηθνληθνχο ππνινγηζηέο (honeypots) πνπ αλήθνπλ ζην subnet B. Απηνί νη ππνινγηζηέο ελδερνκέλσο ρξεηάδεηαη λα απνζηέιινπλ παθέηα ζε απηνχο πνπ επηρεηξνχλ λα ζπλδεζνχλ καδί ηνπο, ηα νπνία φκσο πξνέξρνληαη ζηελ πξαγκαηηθφηεηα απφ ηνλ eth2 (γηα πεξηζζφηεξα ζρεηηθά κε ηα honeypots βι. §1.2 θαη Κεθάιαην 3). Απφ ηελ άιιε κεξηά ν πξνζαξκνγέαο eth1 ρξεζηκεχεη σο δηεπαθή απνκαθξπζκέλεο δηαρείξηζεο ηνπ εμππεξεηεηή. Μέζσ απηνχ ζπλδεφκαζηε ζηνλ ππνινγηζηή κε ρξήζε ησλ ππεξεζηψλ πνπ θηινμελεί (π.ρ. ssh, mysql, apache) θαη δίλνπκε ηηο απαξαίηεηεο εληνιέο γηα εγθαηάζηαζε πξνγξακκάησλ, επηζθφπεζε θαηαγεγξακκέλσλ δεδνκέλσλ θ.α. Ο eth1

Δηθόλα 1: Η ηνπνινγία ηνπ darknet server ζε έλα αθαηξεηηθό ζρήκα.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 14

απνηειεί ην θχξην κέζν επηθνηλσλίαο ηνπ εμππεξεηεηή κε ην Γηαδίθηπν, ελψ ν eth2 ρξεζηκνπνηείηαη απνθιεηζηηθά γηα ηε ιήςε παθέησλ ηνπ darknet. Η δηαδηθηπαθή θίλεζε ηνπ eth1 αιιά θαη φισλ ησλ δηεπζχλζεσλ ηνπ παξαγσγηθνχ δηθηχνπ (subnet A) αλαπαξίζηαηαη ζηελ εηθφλα κέζσ ηνπ traffic B. Αλ θαη ηα πεξηερφκελά ηεο δελ καο απαζρνινχλ ζηα πιαίζηα ηεο εξγαζίαο, ε αλάιπζε ηεο θίλεζεο ηνπ subnet A είρε κεξηθά ελδηαθέξνληα απνηειέζκαηα πνπ πεξηγξάθνληαη ζην Κεθάιαην 6.

1.2 Honeypots

Σα Honeypots ρσξίδνληαη ζε δχν κεγάιεο θαηεγνξίεο: α) high interaction θαη β) low interaction honeypots. ε θάζε πεξίπησζε ρξεζηκνπνηνχληαη πξνθεηκέλνπ λα ζπγθεληξψζεη έλαο αλαιπηήο πεξηζζφηεξα δεδνκέλα γηα ηηο απεηιέο πνπ εκθαλίδνληαη ζην δηαδίθηπν. Η θεληξηθή ηδέα είλαη ε ρξήζε ελφο ή πεξηζζνηέξσλ ππνινγηζηψλ πνπ πξνζνκνηψλνπλ βαζηθέο ππεξεζίεο (web, ftp, ssh, θ.α.) ή αθφκα θαη νιφθιεξα ιεηηνπξγηθά ζπζηήκαηα κε αληηθεηκεληθφ ζθνπφ ηελ πξνζέιθπζε θαθφβνπισλ ρξεζηψλ θαη ηελ θαηαγξαθή ηεο δξαζηεξηφηεηαο ηφζν απηψλ φζν θαη άιισλ θαθφβνπισλ πξνγξακκάησλ φπσο είλαη ηα worms θαη trojans, ηα νπνία απηελεξγνχλ θαη δελ απαηηνχλ απεπζείαο ρεηξηζκφ απφ θάπνηνλ άλζξσπν.

Μία άιιε δηαθνξνπνίεζε πνπ κπνξεί λα γίλεη είλαη κεηαμχ θπζηθψλ θαη εηθνληθψλ honeypots. Σα θπζηθά honeypots είλαη πξαγκαηηθνί απηνηειείο ππνινγηζηέο πνπ ππάξρνπλ κέζα ζην δίθηπν θαη επνκέλσο έρνπλ ηελ δηθή ηνπο IP, ελψ ηα εηθνληθά είλαη πξνζνκνηψζεηο πνπ γίλνληαη απφ θάπνηνλ ππνινγηζηή, ν νπνίνο έηζη κπνξεί λα «θηινμελεί» πεξηζζφηεξα απφ έλα honeypots. ηα θπζηθά, νη αλαιπηέο είλαη αλαγθαζκέλνη λα εγθαηαζηήζνπλ ζην θάζε έλα μερσξηζηά απφ έλα ιεηηνπξγηθφ ζχζηεκα θαη δηάθνξα πξνγξάκκαηα – ππεξεζίεο, ζηα νπνία ζέινπλ λα κειεηήζνπλ θαη λα θαηαγξάςνπλ ηα ηξσηά ζεκεία ηνπο. ηα εηθνληθά ε δνπιεηά ησλ αλαιπηψλ είλαη πην εχθνιε, θαζψο κπνξνχλ ζε έλα κφλν ππνινγηζηή λα νξίζνπλ ζρεηηθά γξήγνξα πνιιαπιά honeypots κε δηαθνξεηηθέο πξνζσπηθφηεηεο θαη ζπκπεξηθνξέο ζην θάζε έλα.

Η ηερληθή απηή ρξεζηκνπνηείηαη ζπλήζσο επηπξφζζεηα κε ηε ιεηηνπξγία ελφο NIDS (Network Intrusion Detection System). Απηφ ζπκβαίλεη επεηδή έλα NIDS απφ κφλν ηνπ, δελ είλαη αξθεηφ γηα λα αλαγλσξίζεη νξηζκέλεο πην «έμππλεο» ηερληθέο επίζεζεο θαη λα δηαρσξίζεη ηα σθέιηκα alerts απφ απηά πνπ είλαη false positives.

1.2.1 High interaction

Σα high interaction είλαη θαλνληθέο ππνινγηζηηθέο κεραλέο πνπ πξνζθέξνπλ πιήξε αιιειεπίδξαζε κε ηνπο επηηηζέκελνπο θαη γηα απηφ ππάξρεη πνιχ κεγάιε πηζαλφηεηα λα εθηεζνχλ, δειαδή λα κνιπλζνχλ απφ ηνχο ή worms θαη κε απηφλ ηνλ ηξφπν ν έιεγρνο ηνπ ππνινγηζηή – honeypot λα πέζεη ζηα ρέξηα ηνπ επηηηζέκελνπ. Απηή θπζηθά είλαη κία δπζάξεζηε θαηάζηαζε πνπ πξέπεη λα απνθεπρζεί. Δηδηθά γηα απηφλ ηνλ ζθνπφ ν δηαρεηξηζηήο πξέπεη λα απνθαζίζεη θαη λα ειέγμεη ηνλ βαζκφ δηαδξαζηηθφηεηαο ησλ honeypots. Σν δεηνχκελν είλαη ε δηαδξαζηηθφηεηα λα κελ είλαη πνιχ ρακειή γηαηί έηζη ζα κεησζεί ε απνηειεζκαηηθφηεηα ηνπ honeypot, νχηε φκσο λα είλαη πνιχ πςειή γηαηί ηφηε ν ππνινγηζηήο θηλδπλεχεη λα εθηεζεί.

Σα θπζηθά παξαπέκπνπλ πάληνηε ζε high interaction γηαηί πξφθεηηαη γηα νιφθιεξεο ππνινγηζηηθέο κεραλέο, ελψ δελ ηζρχεη ην αληίζηξνθν. Μπνξνχκε δειαδή λα έρνπκε high interaction πνπ είλαη εηθνληθά. Δξγαιεία κε ηα νπνία κπνξνχκε λα θαηαζθεπάζνπκε εηθνληθά high interaction honeypots είλαη ην πνιχ δεκνθηιέο VMware θαη ην User–Mode Linux.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 15

To VMware είλαη έλα πνιχ ηζρπξφ ινγηζκηθφ ζηελ θαηεγνξία ησλ virtualization software, θαζψο επηηξέπεη ηελ πξνζνκνίσζε φισλ ησλ πφξσλ ελφο x86 ζπζηήκαηνο. ηελ πξαγκαηηθφηεηα, ην VMware θάλεη δηακνηξαζκφ φισλ ησλ πφξσλ πνπ είλαη δηαζέζηκνη (ζθιεξφ δίζθν, κλήκε RAM, επεμεξγαζηή, CD/DVD drive, θάξηα δηθηχνπ, θ.α.) κεηαμχ ηνπ ππνινγηζηή θαη ησλ εηθνληθψλ κεραλψλ πνπ θηινμελνχληαη απφ ηνλ ππνινγηζηή απηφλ. Με ην ινγηζκηθφ απηφ καο δίλεηαη ε δπλαηφηεηα ζε έλα κφλν κεράλεκα, λα πξνζνκνηψζνπκε πνιιέο κεραλέο νη νπνίεο είλαη κεηαμχ ηνπο αλεμάξηεηεο θαη κπνξνχλ λα ηξέρνπλ δηαθνξεηηθά πξνγξάκκαηα αθφκα θαη ιεηηνπξγηθά ζπζηήκαηα. Γηα θάζε εηθνληθή κεραλή πνπ ζέινπκε λα θηηάμνπκε εθηεινχκε κία θνξά ην VMware ζηνλ ίδην ππνινγηζηή. Όπσο είλαη θπζηθφ, ν ππνινγηζηήο ν νπνίνο ζα θηινμελεί κία ή πεξηζζφηεξεο εηθνληθέο κεραλέο ζα πξέπεη λα έρεη αξθεηά κεγάιε ππνινγηζηηθή ηζρχ, θπξίσο ζε κλήκε RAM θαη ζε επεμεξγαζηηθή ηζρχ, πξνθεηκέλνπ λα αληαπεμέιζεη ζηηο απμεκέλεο απαηηήζεηο πνπ ζέηεη θάζε κία απφ απηέο.

Σν User-Mode Linux είλαη κία εθαξκνγή πνπ επηηξέπεη ζε έλαλ ππνινγηζηή κε ιεηηνπξγηθφ Linux λα «ηξέμεη» πνιιά εηθνληθά Linux ιεηηνπξγηθά ζπζηήκαηα. Κάζε εηθνληθφ ζχζηεκα είλαη κία λέα δηεξγαζία πνπ εθηειείηαη ζην user space θαη επεηδή είλαη αλεμάξηεην απφ ην πεξηβάιινλ εθηέιεζήο ηνπ παξέρεη πςειή αζθάιεηα ζην ζχζηεκα πνπ ην θηινμελεί. Σν κεηνλέθηεκά ηνπ είλαη φηη κπνξεί λα πξνζνκνηψζεη κφλν ζπζηήκαηα Linux, ελψ είλαη πηζαλφ έλαο αλαιπηήο λα επηζπκεί λα ρξεζηκνπνηήζεη honeypots κε ιεηηνπξγηθά δηαθνξεηηθά απφ Linux.

Σα high interaction δελ απνηεινχλ αληηθείκελν κειέηεο απηήο ηεο εξγαζίαο. Γηα πεξηζζφηεξεο πιεξνθνξίεο κπνξείηε λα ζπκβνπιεπηείηε ην βηβιίν ―Virtual Honeypots: From Botnet Tracking to Intrusion Detection‖ ηνπ Niels Provos θαη ηνπ Thorsten Holz ή λα αθνινπζήζεηε ηνπο παξαθάησ ζπλδέζκνπο:

http://user-mode-linux.sourceforge.net/ , http://www.vmware.com/ .

1.2.2 Low interaction

Σν βαζηθφ ραξαθηεξηζηηθφ ησλ low interaction είλαη φηη παξέρνπλ ζηνλ επηηηζέκελν νξηζκέλε πξφζβαζε θαη γηα απηφ δελ κπνξεί ν ππνινγηζηήο πνπ ηα θηινμελεί λα εθηεζεί ζηνλ επηηηζέκελν. Απηφο είλαη θαη ν ιφγνο πνπ ηα low interaction δελ είλαη θαηάιιεια γηα ηνλ εληνπηζκφ ησλ zero-day exploits, δειαδή γηα λα αλαθαιχςνπλ έλα εληειψο θαηλνχξην ηξσηφ ζεκείν ζε κία ππεξεζία ή έλα ιεηηνπξγηθφ ζχζηεκα. Η θχξηα ρξεζηκφηεηά ηνπο είλαη γηα ηνλ εληνπηζκφ ήδε γλσζηψλ απεηιψλ θαη ηελ εμαγσγή ζηαηηζηηθψλ γχξσ απφ ηελ ζπρλφηεηα ησλ επηζέζεσλ. Σα low interaction είλαη πην δεκνθηιή έλαληη ησλ high interaction ιφγσ ηεο επθνιίαο ζηελ ρξήζε ηνπο θαη ηνπ ρακεινχ θφζηνπο φζνλ αθνξά ηελ ππνδνκή ζε ππνινγηζηηθέο κεραλέο.

Η παξνχζα εξγαζία αζρνιείηαη κε ηε δεκηνπξγία low interaction honeypots, θάλνληαο ρξήζε ηνπ εξγαιείνπ ―honeyd‖. Σν honeyd είλαη ινγηζκηθφ αλνηθηνχ θψδηθα πνπ θπθινθνξεί κε άδεηα GPL. Γηα πεξηζζφηεξεο ιεπηνκέξεηεο αλαηξέμηε ζην θεθάιαην 3 .

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 16

ΚΔΦΑΛΑΙΟ 2

2. Πεξηγξαθή ησλ ινγηζκηθώλ πνπ ρξεζηκνπνηήζεθαλ

ην θεθάιαην απηφ ζα αλαιπζνχλ φια ηα ινγηζκηθά πνπ ρξεζηκνπνηήζεθαλ γηα ηελ εθπφλεζε απηήο ηεο εξγαζίαο. Οη βαζηθνί άμνλεο πάλσ ζηνπο νπνίνπο ζηεξίρζεθε είλαη ηξεηο θαη πεξηγξάθνληαη θαηά ζεηξά εθηέιεζεο ζηε ζπλέρεηα. Αξρηθά, έγηλε εγθαηάζηαζε ηνπ Snort IDS, ην νπνίν καο δίλεη ηελ δπλαηφηεηα λα θηιηξάξνπκε φια ηα παθέηα πνπ θηάλνπλ ζε έλα ζπγθεθξηκέλν interface θαη έηζη λα δηαρσξίζνπκε θπξίσο κε βάζε ην payload, απηά πνπ αληηζηνηρνχλ ζε θαθφβνπιεο ζπλδέζεηο tcp, udp ή icmp θαη εθείλα ζε απηέο πνπ είλαη θπζηνινγηθέο ή αλακελφκελεο. ηε ζπλέρεηα, ήηαλ απαξαίηεην λα εγθαηαζηήζνπκε έλα εξγαιείν πνπ ζα αλαπαξηζηνχζε κέζσ ελφο web interface φια ηα ζπκβάληα πνπ πξνέθππηαλ απφ ην Snort, πξνθεηκέλνπ λα παξαθνινπζνχκε εχθνια θαη αλά πάζα ζηηγκή φιεο ηηο πιεξνθνξίεο πνπ καο δίλεη ην IDS. Γηα ηε δνπιεηά απηή, ρξεζηκνπνηήζακε ην πην επξέσο γλσζηφ ινγηζκηθφ, ην BASE (Basic Analysis Security Engine). ηελ επφκελε θαη ηειεπηαία θάζε, ζθνπφο καο ήηαλ λα πξνζειθχζνπκε ηε δξάζε θαθφβνπισλ πξνγξακκάησλ θαη λα ηα θαηαγξάςνπκε. Αλαπηχμακε ινηπφλ κεξηθά low interaction honeypots πνπ ζα καο βνεζνχζαλ ζηελ επίηεπμε ηνπ παξαπάλσ ζηφρνπ. Σν ινγηζκηθφ πνπ ρξεζηκνπνηήζακε απηήλ ηε θνξά νλνκάδεηαη honeyd θαη είλαη έλα πξφγξακκα daemon πνπ ζεκαίλεη φηη κπνξεί λα εθηειείηαη ζην παξαζθήλην.

ηα ππνθεθάιαηα πνπ αθνινπζνχλ, πεξηγξάθνληαη έλα πξνο έλα ηα εξγαιεία πνπ αλαθέξζεθαλ παξαπάλσ καδί κε νξηζκέλα βνεζεηηθά πξνγξάκκαηα θαη ππεξεζίεο πνπ ήηαλ απαξαίηεηα. Όιεο νη νδεγίεο εγθαηάζηαζεο αθνξνχλ πάληα ζχζηεκα Debian Linux 2.6.26.

2.1 Snort IDS/IPS

To Snort αλήθεη ζηελ θαηεγνξία ζπζηεκάησλ IDS/IPS ή αιιηψο IDPS, ζπλδπάδνληαο ραξαθηεξηζηηθά ηφζν απφ IDS (Intrusion Detection System) φζν θαη απφ IPS (Intrusion Prevention System). Σα IPS απνηεινχλ κία επέθηαζε ησλ IDS, επεηδή επηπιένλ απφ ηελ αλάιπζε ηεο θίλεζεο ζε επίπεδν δηθηχνπ ή ζπζηήκαηνο, κπνξνχλ λα εκπνδίζνπλ ή λα ζηακαηήζνπλ κία εηζβνιή φηαλ απηή εληνπηζηεί, απνξξίπηνληαο ηα επηθίλδπλα παθέηα, θάλνληαο reset κία ζχλδεζε ή απνθιείνληαο φιεο ηηο ζπλδέζεηο απφ θάπνηα ζπγθεθξηκέλε IP. Σν ραξαθηεξηζηηθφ απηφ είλαη δηαζέζηκν κέζσ ηεο ιεηηνπξγίαο Inline ε νπνία ππνζηεξίδεηαη θαη απφ ην Snort. Σν Snort αλήθεη επίζεο ζηελ εηδηθή θαηεγνξία ησλ Network IDS, θαζψο έρεη ηελ δπλαηφηεηα λα παξαθνινπζεί ηελ θίλεζε πνιιψλ ππνινγηζηψλ πνπ αλήθνπλ ζε θάπνην δίθηπν αλ ηνπνζεηεζεί θνληά ζε κία δηθηπαθή ζπζθεπή φπσο έλα hub ή έλα switch.

Αθξηβψο παξαπάλσ έγηλε αλαθνξά ζε δχν απφ ηηο ηέζζεξηο ιεηηνπξγίεο ηνπ Snort, ηελ Inline ιεηηνπξγία θαη ηελ Network Intrusion Detection System. Δθηφο απφ απηέο ππνζηεξίδεη ηηο ιεηηνπξγίεο Sniffer θαη Packet Logger. ε Sniffer mode, ην πξφγξακκα δηαβάδεη φια ηα παθέηα πνπ πεξλάλε απφ ηε NIC ζηελ νπνία <<αθνχεη>> θαη ηππψλεη ζηελ νζφλε ηηο επηθεθαιίδεο ηνπο ή ηα δεδνκέλα ηνπο ή θαη ηα δχν καδί. ε Packet Logger mode, ην πξφγξακκα έρεη ηε δπλαηφηεηα λα απνζεθεχεη ζην δίζθν ηα παθέηα πνπ δηαβάδεη, έηζη ψζηε λα κπνξεί λα γίλεη αλάιπζε απηψλ νπνηαδήπνηε ζηηγκή ζην κέιινλ. Σν αξρείν θαηαγξαθήο πνπ δεκηνπξγεί ην Snort κπνξεί λα απνζεθεπηεί είηε ζε κνξθή θεηκέλνπ ASCII είηε ζε δπαδηθή κνξθή. ε δπαδηθή κνξθή, ην αξρείν έρεη

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 17

κηθξφηεξν κέγεζνο θαη κπνξεί λα δηαβαζηεί ηφζν απφ ην ίδην ην Snort φζν θαη απφ άιια πξνγξάκκαηα πνπ ππνζηεξίδνπλ ηε κνξθή απηή, φπσο ην tcpdump θαη ην ethereal. ηελ εξγαζία καο ρξεζηκνπνηήζακε ην Snort ζε ιεηηνπξγία Network Intrusion Detection System. Γηα πεξηζζφηεξεο πιεξνθνξίεο γχξσ απφ ηηο ππφινηπεο δπλαηφηεηεο ηνπ πξνγξάκκαηνο ζπκβνπιεπηείηε ην εγρεηξίδην ηνπ Snort.

2.1.1 Δγθαηάζηαζε Snort κε ππνζηήξημε MySQL

Όπσο πεξηγξάθεθε ζην θεθάιαην 2.1, ην Snort έρεη ηε δπλαηφηεηα λα απνζεθεχεη ηα ζπκβάληα ζε δπαδηθφ αξρείν. Όηαλ φκσο ν φγθνο ησλ δεδνκέλσλ είλαη πνιχ κεγάινο είλαη ζρεδφλ επηηαθηηθή ε αλάγθε γηα νξγάλσζε ηνπο, θάλνληαο ρξήζε κίαο βάζεο δεδνκέλσλ πνπ ζα ηα πεξηέρεη. Γηα απηφλ ηνλ ζθνπφ ην Snort ππνζηεξίδεη ηελ απεπζείαο εγγξαθή ηνπ ξεχκαηνο εμφδνπ ζε mysql βάζε δεδνκέλσλ.

Πξηλ μεθηλήζνπκε ηελ εγθαηάζηαζε ηνπ πξνγξάκκαηνο είλαη απαξαίηεην λα εγθαηαζηήζνπκε νξηζκέλα παθέηα ινγηζκηθνχ :

apt-get install libpcap0.8-dev libpcre3-dev flex bison

Αλ επηζπκνχκε λα ρξεζηκνπνηήζνπκε κία mysql βάζε δεδνκέλσλ, εγθαζηζηνχκε επηπξφζζεηα ηνλ mysql server θαη client :

apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev

ηε ζπλέρεηα, κπνξνχκε λα θαηεβάζνπκε απφ ην Γηαδίθηπν ηνλ θψδηθα ηνπ Snort, λα ηνλ απνζεθεχζνπκε ηνπηθά ζηνλ ππνινγηζηή πνπ ζα ην ηνπνζεηήζνπκε θαη έπεηηα λα ην εγθαηαζηήζνπκε. Απφ ηε δηεχζπλζε http://www.snort.org/snort-downloads θαηεβάδνπκε ηνλ πεγαίν θψδηθα ηεο ηξέρνπζαο έθδνζεο snort-2.8.6.1.tar.gz. θαη απνζπκπηέδνπκε ην αξρείν ζηνλ θαηάινγν /usr/src κε ηελ εληνιή :

tar zxvf snort-2.8.6.1.tar.gz –C /usr/src

Δλ ζπλερεία, κεηαβαίλνπκε ζηνλ θαηάινγν /usr/src φπνπ βξίζθνληαη πιένλ ηα αξρεία θψδηθα ηνπ Snort θαη εληνπίδνπκε ην εθηειέζηκν αξρείν ―configure‖. Γηα ηελ πιήξε ιίζηα ησλ νξηζκάησλ ηνπ κπνξείηε λα εθηειέζεηε ηελ εληνιή ./configure –h. Γηα ηηο αλάγθεο ηεο δηθήο καο εγθαηάζηαζεο ε εθηέιεζε ηνπ ―configure‖ έρεη σο εμήο:

./configure --enable-dynamicplugin --with-mysql

Σέινο, κέλεη λα θάλνπκε ηελ κεηαγιψηηηζε ηνπ θψδηθα :

make install

Γηα ηελ ελεξγνπνίεζε ηεο Inline ιεηηνπξγίαο ηνπ Snort ζα πξέπεη λα πξνζζέζνπκε έλα αθφκα φξηζκα ζην ―configure‖ θαη λα εγθαηαζηήζνπκε, αλ δελ ην έρνπκε θάλεη ήδε, ηελ εθαξκνγή iptables πνπ επηηξέπεη ζην ρξήζηε λα δηαρεηξηζηεί ηνπο πίλαθεο πνπ παξέρνληαη απφ ην Linux kernel firewall. Γηα ηελ εγθαηάζηαζε ηνπ iptables, θαηεβάδνπκε ηνλ πεγαίν θψδηθα απφ ηε δηεχζπλζε http://linux.softpedia.com/progDownload/iptables-Download-185.html θαη ην απνζπκπηέδνπκε ζηνλ θαηάινγν /usr/src/:

tar xjvf iptables-1.4.8.tar.bz2 -C /usr/src

Μεηαβαίλνπκε ζηνλ θαηάινγν πνπ απνζεθεχζακε ηα αξρεία πεγαίνπ θψδηθα θαη εθηεινχκε ηηο δχν παξαθάησ εληνιέο :

./configure --enable-libipq

make && make install

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 18

Μέλεη λα δνχκε πνηα αιιαγή επηθέξεη ην iptables ζηελ εγθαηάζηαζε ηνπ Snort. Σψξα ε εθηέιεζε ηνπ ―configure‖ αιιάδεη θαη γίλεηαη σο εμήο :

./configure --enable-dynamicplugin --with-mysql --enable-inline

Έρεη πξνζηεζεί δειαδή ε παξάκεηξνο ―--enable-inline‖. Φπζηθά, κεηά γίλεηαη κεηαγιψηηηζε ηνπ Snort, κε ηνλ ίδην ηξφπν φπσο θαη πξνεγνπκέλσο.

Αθνχ εθηειέζακε κε επηηπρία φια ηα πξνεγνχκελα βήκαηα, απνκέλεη λα θάλνπκε νξηζκέλεο ξπζκίζεηο. Γεκηνπξγνχκε δχν θαηαιφγνπο κε ηελ εληνιή :

mkdir /etc/snort /var/log/snort

ηνλ /etc/snort αληηγξάθνπκε ην πεξηερφκελν ηνπ θαηαιφγνπ /usr/src/snort-2.8.6.1/etc:

cd /usr/src/snort-2.8.6.1/etc

cp * /etc/snort/

Ο δεχηεξνο θαηάινγνο /var/log/snort είλαη ν πξνεπηιεγκέλνο θαηάινγνο ζηνλ νπνίν απνζεθεχεη ηα αξρεία εμφδνπ ην Snort. Η πξνεπηινγή απηή δελ κπνξεί λα αιιάμεη. Αλ ζέινπκε νπσζδήπνηε λα απνζεθεχζνπκε ην αξρείν εμφδνπ ζε άιιν θαηάινγν πξέπεη λα ηνλ νξίζνπκε ζηελ γξακκή εληνιψλ θαηά ηελ εθηέιεζε ηνπ πξνγξάκκαηνο, γηα παξάδεηγκα πξνζζέηνπκε ηελ επηινγή: ―-l ./logdir‖.

Γηα ηε ιεηηνπξγία Network Intrusion Detection System, πνιχ ζεκαληηθφ ξφιν παίδεη ην αξρείν πνπ πεξηέρεη ηνπο θαλφλεο κε ηνπο νπνίνπο ε κεραλή ηνπ Snort απνθαζίδεη πνηα παθέηα είλαη χπνπηα θαη πνηα φρη. Σνπο επίζεκνπο θαλφλεο απφ ηελ Sourcefire Vulnerability Research Team, κπνξνχκε λα ηνπο θαηεβάζνπκε θάλνληαο κία δσξεάλ εγγξαθή ζηνλ ηζηνρψξν ηνπ Snort. Γηα λα έρεη θάπνηνο απεπζείαο πξφζβαζε ζηνπο θαλφλεο θαη λα κελ πεξηκέλεη ηξηάληα εκέξεο απφ ηελ πξψηε δεκνζίεπζή ηνπο, ζα πξέπεη λα εγγξαθεί πιεξψλνληαο έλα ρξεκαηηθφ πνζφ εηεζίσο. Αθνχ θαηεβάζνπκε ην αξρείν snortrules-snapshot-CURRENT.tar.gz πνπ πεξηέρεη ηνπο ελεκεξσκέλνπο θαλφλεο, ην απνζπκπηέδνπκε θαη απνζεθεχνπκε ηα πεξηερφκελά ηνπ ζηνλ θαηάινγν /etc/snort/.

Αλ έρνπκε ζθνπφ λα ρξεζηκνπνηήζνπκε κία mysql βάζε δεδνκέλσλ ηφηε πξέπεη λα θαηαζθεπάζνπκε ην ζρήκα ηεο βάζεο θαη έλαλ ρξήζηε κε ηα θαηάιιεια δηθαηψκαηα πξφζβαζεο ζε απηήλ. πλδεφκαζηε αξρηθά ζηνλ mysql server:

mysql -u root –pmysqlpassword , φπνπ root o δηαρεηξηζηήο πνπ δηαζέηεη φια ηα δηθαηψκαηα θαη ―mysqlpassword‖ ν θσδηθφο ηνπ.

Γεκηνπξγνχκε ινηπφλ, κία βάζε κε φλνκα ―snort‖ θαη έλαλ ρξήζηε πνπ ζα ηε δηαρεηξίδεηαη κε φλνκα ―snort_user‖ θαη ηνπ παξαρσξνχκε πιήξε δηθαηψκαηα γηα ηε βάζε απηή:

mysql> create database snort;

mysql> grant all privileges on snort.* to 'snort_user'@'localhost' identified by 'snortpass'; , φπνπ ―snortpass‖ ν θσδηθφο ηνπ ρξήζηε snort_user.

mysql> exit;

Έπεηηα, θαηαζθεπάδνπκε ην ζρήκα ηεο βάζεο έηζη φπσο απηφ ππάξρεη ζηνλ θαηάινγν φπνπ απνζπκπηέζακε ηα αξρεία ηνπ Snort:

mysql -D snort -u snort_user -psnortpass < /usr/src/snort-2.8.6.1/schemas/create_mysql

Σέινο, απνκέλεη λα ηξνπνπνηήζνπκε θαηάιιεια ην αξρείν ξπζκίζεσλ ηνπ Snort ―/etc/snort/snort.conf‖ :

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 19

Πξψηα, βξίζθνπκε ηελ γξακκή ζηελ νπνία δειψλεηαη ην home network: ―var HOME_NET any ‖ θαη ηελ αιιάδνπκε ψζηε ζηε ζέζε ηνπ ―any‖ λα ππάξρεη ε IP δηεχζπλζε ηνπ ηνπηθνχ δηθηχνπ ζε κνξθή CIDR, γηα παξάδεηγκα: "var HOME_NET 192.168.1.0/24".

ηε ζπλέρεηα, βξίζθνπκε ηε γξακκή φπνπ νξίδεηαη ην κνλνπάηη ησλ θαλφλσλ: ―var RULE_PATH ../rules" θαη ηελ αιιάδνπκε ψζηε λα γξάθεη: "var RULE_PATH ./rules‖.

Αλ ζέινπκε λα απνζεθεχνπκε ζην δίζθν ηα παθέηα πνπ δηαβάδεη ην Snort, κπνξνχκε λα ρξεζηκνπνηήζνπκε ζηε γξακκή εληνιψλ ηελ επηινγή ―- b‖ φηαλ εθηεινχκε ην πξφγξακκα ή λα πξνζζέζνπκε ζην αξρείν ηελ γξακκή ―output log_tcpdump: snort.log‖. Σν ―snort.log‖ ζα είλαη ην πξφζεκα ηνπ νλφκαηνο ηνπ αξρείνπ πνπ ζα δεκηνπξγεζεί. Η θαηάιεμή ηνπ ζα είλαη ην Unix timestamp ζε δεπηεξφιεπηα.

Αλ ρξεζηκνπνηνχκε κία βάζε δεδνκέλσλ ηφηε πξνζζέηνπκε κία γξακκή ζην αξρείν ξπζκίζεσλ, αλεμάξηεηα απφ ηελ πξνεγνχκελε πεξίπησζε, πνπ πεξηέρεη ηηο πιεξνθνξίεο γηα ηε βάζε απηή: output database: log, mysql, user=snort_user password=snortpass dbname=snort host=localhost .

Έλα παξάδεηγκα εθηέιεζεο ηνπ Snort ζε ιεηηνπξγία Network Intrusion Detection System αθνινπζεί παξαθάησ:

snort -c /etc/snort/snort/conf -i eth2 , ην πξψην φξηζκα είλαη ην κνλνπάηη φπνπ βξίζθεηαη ην αξρείν ξπζκίζεσλ θαη ην δεχηεξν ην interface απφ φπνπ ην πξφγξακκα ζα βιέπεη ηελ θίλεζε ηνπ δηθηχνπ. ηε δηθή καο πεξίπησζε απηφ ην interface ήηαλ ην eth2.

2.1.2 Βειηίσζε ηεο απόδνζεο ηνπ Snort κε barnyard2

Παξάιιεια κε ηελ δηαδηθαζία αλάιπζεο ηεο δηθηπαθήο θίλεζεο, ίζσο πεξηζζνηέξσλ ηνπ ελφο ππνινγηζηή, ην Snort είλαη επηθνξηηζκέλν θαη κε ηελ εγγξαθή ηεο εμφδνπ ρξεζηκνπνηψληαο έλαλ αξγφ ηξφπν απνζήθεπζεο φπσο είλαη κία βάζε δεδνκέλσλ. ε απηφ ην θεθάιαην ζα πεξηγξάςνπκε έλαλ ηξφπν κε ηνλ νπνίνλ κπνξνχκε λα κεηψζνπκε ην θφξην εξγαζίαο ηνπ Snort φζνλ αθνξά ηε δηαδηθαζία απνζήθεπζεο, έηζη ψζηε ην πξφγξακκα λα μνδεχεη φζν ην δπλαηφλ πεξηζζφηεξνπο πφξνπο γηα επεμεξγαζία ησλ παθέησλ, πνπ είλαη ην δεηνχκελν. Πξέπεη λα μεθαζαξίζνπκε φηη ζα εμαθνινπζνχκε λα ρξεζηκνπνηνχκε θάπνηα βάζε δεδνκέλσλ, αιιά δε ζα είλαη ην Snort απηφ πνπ ζα αλαιάβεη ηελ εγγξαθή ησλ απνηειεζκάησλ ζε απηήλ.

Γηα λα βειηηζηνπνηήζνπκε φζν γίλεηαη πεξηζζφηεξν ηε δηαδηθαζία απνζήθεπζεο, νξίδνπκε ην Snort λα δεκηνπξγεί αξρεία εμφδνπ ζηε δπαδηθή κνξθή ―unified2‖. ε ―unified2‖ κπνξνχκε λα απνζεθεχζνπκε ηελ πιεξνθνξία πνπ πεξηέρεη θάζε παθέην ή ηηο εηδνπνηήζεηο πνπ παξάγεη ην Snort ή θαη ηα δχν καδί. Δκείο ζα ρξεζηκνπνηήζνπκε ηελ ηξίηε επηινγή. Βεβαησλφκαζηε φηη ζην αξρείν ξπζκίζεσλ ηνπ Snort ―/etc/snort/snort.conf‖ δελ ππάξρεη θακία γξακκή πνπ λα πξνζδηνξίδεη ηελ έμνδν γηα ην πξφγξακκα απηφ θαη ηφηε κπνξνχκε λα πξνζζέζνπκε ην εμήο:

output unified2: filename data.log, limit 128

ηελ παξαπάλσ δήισζε ην ―data.log‖ είλαη ην πξφζεκα ηνπ αξρείνπ πνπ παξάγεηαη θαη ε θαηάιεμή ηνπ ζα είλαη ην Unix timestamp. Σν ―limit 128‖ νξίδεη ην κέγηζην κέγεζνο πνπ κπνξεί λα έρεη ην αξρείν θαη ην νπνίν είλαη 128 MB. Μφιηο μεπεξαζηεί απηφ ην φξην, ην πξφγξακκα ζα δεκηνπξγήζεη έλα λέν αξρείν, πνπ ζα δηαθέξεη κφλν ζην timestamp, γηα λα ζπλερίζεη ζε απηφ ηελ απνζήθεπζε ησλ δεδνκέλσλ.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 20

Δθφζνλ δε ζα ρξεζηκνπνηήζνπκε ην plugin ηνπ Snort γηα ηε δηαρείξηζε κίαο βάζεο δεδνκέλσλ, ζα κπνξνχζακε λα αθαηξέζνπκε ηελ επηινγή ―--with-mysql‖ απφ ηελ εθηέιεζε ηνπ αξρείνπ ―configure‖ ζηελ εγθαηάζηαζε ηνπ Snort αλ θαη απηφ δελ επεξεάδεη ην ηειηθφ απνηέιεζκα.

Ξεθηλάκε ηελ εγθαηάζηαζε ηνπ ινγηζκηθνχ barnyard2 πνπ ζα αλαιάβεη ηελ αλάγλσζε ησλ αξρείσλ ηχπνπ ―unified2‖ ηνπ Snort θαη ηελ εγγξαθή ησλ πεξηερνκέλσλ ηνπο ζε κία mysql βάζε. Καηεβάδνπκε ηνλ πεγαίν θψδηθα απφ ηε δηεχζπλζε http://www.snort.org/start/requirements θαη απνζπκπηέδνπκε ην αξρείν ζηνλ θαηάινγν /usr/src. Μεηαβαίλνπκε ζηνλ θαηάινγν κε ηα αξρεία ηνπ πξνγξάκκαηνο θαη εθηεινχκε ηηο παξαθάησ εληνιέο:

configure --with-mysql

make && make install

ηε ζπλέρεηα, αληηγξάθνπκε ην αξρείν ξπζκίζεσλ ζηνλ θαηάινγν /etc/snort:

cp etc/barnyard2.conf /etc/snort

Απνκέλνπλ ιίγεο ηξνπνπνηήζεηο ζην αξρείν ξπζκίζεσλ /etc/snort/ barnyard2.conf. Βξίζθνπκε ηε γξακκή κε ηε θξάζε ―config hostname: thor‖ θαη αληηθαζηζηνχκε ηε ιέμε ―thor‖ κε ηε ιέμε ―localhost‖. ηελ ακέζσο επφκελε γξακκή ειέγρνπκε ην interface λα είλαη ην ίδην κε απηφ ζην νπνίν <<αθνχεη>> ην Snort. Δπίζεο, ζηγνπξεπφκαζηε φηη νη δχν γξακκέο πνπ αιιάμακε πξνεγνπκέλσο είλαη έμσ απφ ζρφιηα. Καηφπηλ, πξνζζέηνπκε κία γξακκή πνπ πεξηέρεη ηηο πιεξνθνξίεο γηα ηε βάζε δεδνκέλσλ ζηελ νπνία ζα γξάθεη ην barnyard2:

output database: log, mysql, user=snort_user password=snortpass dbname=snort host=localhost

Όιεο νη απαξαίηεηεο ξπζκίζεηο έρνπλ ηψξα νινθιεξσζεί. Αθνινπζεί έλα παξάδεηγκα εθηέιεζεο ηνπ barnyard2 κε ηα απαξαίηεηα νξίζκαηα γξακκήο εληνιψλ:

barnyard2 –c /etc/snort/barnyard2.conf –d /var/log/snort –f snort.log

Η πξψηε παξάκεηξνο ―–c /etc/snort/barnyard2.conf‖ δείρλεη ζην αξρείν ξπζκίζεσλ ηνπ πξνγξάκκαηνο, ε δεχηεξε ―–d /var/log/snort‖ ζηνλ θαηάινγν φπνπ βξίζθνληαη ηα αξρεία εμφδνπ ηνπ Snort θαη ε ηξίηε ―–f snort.log‖ δειψλεη φηη ηα αξρεία απηά μεθηλνχλ κε ην πξφζεκα ―snort.log‖.

Δίλαη αξθεηά ζχλεζεο ζηνλ θαηάινγν /var/log/snort λα ππάξρνπλ πεξηζζφηεξα απφ έλα αξρεία, αλ γηα παξάδεηγκα έρνπκε εθηειέζεη ην Snort πεξηζζφηεξεο απφ κία θνξέο. Αλ ηξέμνπκε ινηπφλ ην barnyard2 κε ηνλ παξαπάλσ ηξφπν, ηφηε ζα μεθηλήζεη λα δηαβάδεη έλα – έλα φια ηα αξρεία θαη λα ηα γξάθεη ζηε βάζε. Αλ δε ζέινπκε λα ζπκβεί απηφ, κπνξνχκε είηε λα κεηαθηλήζνπκε ηα αλεπηζχκεηα αξρεία ζε έλαλ δηαθνξεηηθφ θαηάινγν είηε λα δειψζνπκε ζε έλα αξρείν κε φλνκα ―barnyard.waldo‖ ην ζπγθεθξηκέλν αξρείν ην νπνίν ζέινπκε λα δηαβάζεη ην barnyard2. To ―barnyard.waldo‖ είλαη έλα απιφ αξρείν θεηκέλνπ κε αθξηβψο ηέζζεξηο γξακκέο φπσο θαίλεηαη παξαθάησ:

/var/log/snort

snort.log

<ν δεθαςήθηνο αξηζκφο πνπ απνηειεί ην timestamp ηνπ αξρείνπ>

0

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 21

Η πξψηε γξακκή πεξηέρεη ηνλ θαηάινγν κε ηα αξρεία ηνπ Snort, ε δεχηεξε ην πξφζεκα ηνπ αξρείνπ, ε ηξίηε ηελ θαηάιεμε πνπ είλαη θαη ην αλαγλσξηζηηθφ ηνπ θαη ε ηειεπηαία ηνλ αξηζκφ κεδέλ. Σψξα, θαηά ηελ εθηέιεζε ηνπ barnyard2 πξέπεη λα πξνζδηνξίζνπκε ζηελ γξακκή εληνιψλ ην κνλνπάηη φπνπ βξίζθεηαη ην αξρείν ―barnyard.waldo‖. Αο ππνζέζνπκε φηη ην κνλνπάηη απηφ είλαη ην ―/var/log/snort/barnyard.waldo‖. Αθνινπζεί παξάδεηγκα εθηέιεζεο:

barnyard2 –c /etc/snort/barnyard2.conf –d /var/log/snort –f snort.log –w /var/log/snort/barnyard.waldo

2.1.3 Σν ζρήκα ηεο βάζεο δεδνκέλσλ γηα ην Snort

Μέζα ζηνπο θαηαιφγνπο ηεο εγθαηάζηαζεο ηνπ Snort ππάξρεη θαη ην βαζηθφ ζρήκα γηα ηε βάζε δεδνκέλσλ πνπ ρξεζηκνπνηεί. Οιφθιεξν ην ζρήκα θαίλεηαη ζηελ παξαθάησ εηθφλα:

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 22

Δηθόλα 2: Οιόθιεξν ην ζρήκα γηα ηε βάζε δεδνκέλσλ ηνπ Snort.

Οη ιεπθνί πίλαθεο απνηεινχλ ην βαζηθφ ζρήκα ελψ νη εθείλνη κε θίηξηλν ρξψκα είλαη επηπιένλ θαη δελ πεξηιακβάλνληαη ζην sql script γηα ηε δεκηνπξγία ηεο βάζεο. Γηα ηε ιεηηνπξγία άιισλ πξνγξακκάησλ ζπκπιεξσκαηηθψλ ηνπ Snort φπσο ην BASE αξθνχλ κφλν νη βαζηθνί πίλαθεο. ε επφκελν θεθάιαην φπνπ ζα πεξηγξαθνχλ ζπγθεθξηκέλα mysql queries πάλσ ζηε βάζε, γίλεηαη ρξήζε ηνπ επηπιένλ πίλαθα protocols. Η επηπιένλ ζπζρέηηζε ηνπ πίλαθα iphdr κε ηνλ protocols πξνζθέξεη εχθνιε αληηζηνίρηζε ηνπ θάζε alert πνπ εκθαλίδεηαη, κε ην πξσηφθνιιν επηπέδνπ 3 θαη 4 TCP, UDP ή ICMP. Υσξίο απηήλ ζα απαηηνχληαλ ε ζπζρέηηζε ηνπ iphdr κε θάζε έλαλ απφ ηνπο tcphdr, udphdr, icmphdr. Μπνξνχκε λα θαηαζθεπάζνπκε ηνλ πίλαθα protocols είηε κεηά απφ

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 23

ηελ θαηαζθεπή ηνπ βαζηθνχ ζρήκαηνο είηε πξνζζέηνληαο ζην αξρηθφ sql script ηνπ ζρήκαηνο ηνλ παξαθάησ sql θψδηθα:

χκθσλα κε ηνλ θψδηθα, αθνχ δεκηνπξγήζνπκε ηνλ πίλαθα πξνζζέηνπκε ζε απηφλ ηέζζεξηο πιεηάδεο. Κάζε πιεηάδα πεξηέρεη ην φλνκα ην πξσηνθφιινπ θαη ηνλ αλαγλσξηζηηθφ αξηζκφ πνπ αληηζηνηρεί ζε απηφ ζχκθσλα κε ηνλ αληίζηνηρν πίλαθα ηνπ νξγαληζκνχ IANA: http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml.

2.2 BASE

Μέρξη απηφ ην ζεκείν, έρνπκε εγθαηαζηήζεη θαη εθηειέζεη ην ινγηζκηθφ Snort θαζψο θαη κία mysql βάζε δεδνκέλσλ γηα πην εχθνιε πξνζπέιαζε ησλ απνηειεζκάησλ ηνπ Snort. Κάζε θνξά πνπ ζα ζειήζνπκε λα δνχκε ηα δεδνκέλα πνπ έρνπλ ζπγθεληξσζεί ζηε βάζε, κπνξνχκε πνιχ απιά λα ζπλδεζνχκε κε ηνλ mysqlclient ζηε βάζε ―snort‖ πνπ δεκηνπξγήζακε θαη εθηειψληαο θαηάιιειεο επεξσηήζεηο λα εμάγνπκε ηηο πιεξνθνξίεο πνπ επηζπκνχκε. Απηή ε πξνζέγγηζε, έρεη ην ζεκαληηθφ πιενλέθηεκα φηη κπνξεί ν θάζε αλαιπηήο λα εμάγεη αλά πάζα ζηηγκή ηα ζπκπεξάζκαηα πνπ απηφο επηζπκεί, φζν πνιχπινθα θη αλ είλαη απηά. Δπηπιένλ φκσο απφ απηφ, ζα ζέιακε λα βιέπνπκε ζε πξαγκαηηθφ ρξφλν κε ηε κνξθή απιψλ δηαγξακκάησλ, νξηζκέλεο απφ ηηο πην ρξήζηκεο θαη ελδηαθέξνπζεο πιεξνθνξίεο ρσξίο λα απαηηείηαη λα εθηεινχκε ζχλζεηεο επεξσηήζεηο, ηα απνηειέζκαηα ησλ νπνίσλ ζα ηππψλνληαλ ζηε κνξθή ιίζηαο ζηελ νζφλε ηνπ ππνινγηζηή. Γηα απηφλ ηνλ ζθνπφ, ζηε ζπλέρεηα ηνπ θεθαιαίνπ ζα εγθαηαζηήζνπκε θαη ζα εθηειέζνπκε ην ινγηζκηθφ Basic Analysis Security Engine (BASE) πνπ παξέρεη κία απινπνηεκέλε δηεπαθή.

Η αξρηθή ζειίδα ηνπ BASE, φπσο θαίλεηαη ζηελ εηθφλα 1, παξέρεη γξήγνξε πξφζβαζε ζε πνιιέο δηαθνξεηηθέο θαη ελδηαθέξνπζεο πιεξνθνξίεο γχξσ απφ ηα δεδνκέλα πνπ απνζεθεχεη ην Snort ζηε βάζε δεδνκέλσλ. Κάησ δεμηά ηεο ζειίδαο, παξνπζηάδεηαη πνην πνζνζηφ απφ ην ζχλνιν ησλ ιεθζέλησλ παθέησλ αλήθεη ζε θάζε έλα απφ ηα ηξία πξσηφθνιια TCP, UDP, ICMP. Δηδηθή θαηεγνξία απνηειεί ην Portscan Traffic, φπνπ εθεί δίλεηαη ην πνζνζηφ ησλ παθέησλ πνπ αλεμαξηήησο πξσηνθφιινπ απνηεινχζαλ απφπεηξα ζάξσζεο πνιιψλ ζπξψλ ελφο κεραλήκαηνο. Πάλσ αξηζηεξά, ππάξρνπλ ζχλδεζκνη γηα ηηο ιίζηεο θαηαγξαθήο ησλ παθέησλ πνπ ειήθζεζαλ ηηο ηειεπηαίεο είθνζη ηέζζεξηο ή εβδνκήληα δχν ψξεο, ηηο πην ζπρλέο δηεπζχλζεηο IP πξνέιεπζεο ή πξννξηζκνχ πνπ έρνπλ εκθαληζηεί, γηα ηα πέληε πην ζπρλά είδε εηδνπνηήζεσλ, ηηο πην ζπρλέο ζχξεο πξννξηζκνχ ή πξνέιεπζεο θαη γηα πνιιέο αθφκα θαηεγνξηνπνηήζεηο ησλ παξαπάλσ ζηνηρείσλ. Κάησ αξηζηεξά, δίλνληαη ν αξηζκφο ησλ εηδνπνηήζεσλ, ησλ IP πξνέιεπζεο θαη πξννξηζκνχ, ησλ ζπξψλ πξνέιεπζεο θαη πξννξηζκνχ θαζψο θαη ζχλδεζκνη γηα ηελ απεπζείαο πξνζπέιαζε απηψλ ησλ δεδνκέλσλ.

Ο ζχλδεζκνο ―Graph Alert Data‖ πάλσ θαη δεμηά ζηελ εηθφλα 3, νδεγεί ζε κία άιιε δηεπαθή ηνπ BASE (εηθφλα 4) απφ ηελ νπνία ν ρξήζηεο κπνξεί λα εμάγεη εχθνια

CREATE TABLE protocols ( protocol INT UNSIGNED NOT

NULL,proto_name VARCHAR(60) NOT NULL,PRIMARY KEY

(protocol));

INSERT INTO protocols (protocol,proto_name) VALUES

(1,'ICMP'),(6,'TCP'),(17,'UDP'),(255,'RAW IP');

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 24

ζπγθξηηηθά δηαγξάκκαηα απφ ζπγθεθξηκέλεο ρξνληθέο πεξηφδνπο. Δλδεηθηηθά, κεξηθά απφ ηα δπλαηά δηαγξάκκαηα είλαη ε θαηαλνκή ηνπ αξηζκνχ ησλ εηδνπνηήζεσλ αλά ψξα, εκέξα ή κήλα, ν αξηζκφο εηδνπνηήζεσλ γηα θάζε κία δηεχζπλζε IP πξνέιεπζεο ή πξννξηζκνχ θαη ν αξηζκφο εηδνπνηήζεσλ γηα θάζε ρψξα πξνέιεπζεο ή πξννξηζκνχ ζε παγθφζκην ράξηε θαη ζε απιφ δηάγξακκα κε κπάξεο. Αμηνζεκείσηε είλαη θαη ε δπλαηφηεηα επηινγήο ηεο ρξνληθήο πεξηφδνπ απφ ηελ νπνία ζα εμαρζνχλ ηα γξαθήκαηα.

Δηθόλα 3: Η αξρηθή ζειίδα ηνπ BASE.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 25

Δηθόλα 4: Η δηεπαθή ηνπ BASE γηα ηελ δεκηνπξγία δηαγξακκάησλ από ηα δεδνκέλα ηεο βάζεο ή θάπνηνπ alert group.

2.2.1 Δγθαηάζηαζε apache2 κε php5

Σν BASE είλαη κία εθαξκνγή ηζηνχ γξακκέλε ζε γιψζζα php. Απηφ ζεκαίλεη φηη ζα ρξεηαζηνχκε επηπιένλ θαη έλαλ web server κε ππνζηήξημε php γηα λα ηξέρεη ηελ εθαξκνγή. Δπηιέμακε λα εγθαηαζηήζνπκε ινηπφλ, ηνλ server αλνηρηνχ θψδηθα apache2 http. Ο πξψηνο ηξφπνο ζα ήηαλ λα θαηεβάζνπκε ηνλ θψδηθα ηνπ απφ ηελ δηεχζπλζε http://httpd.apache.org/ θαη λα ηνλ κεηαγισηηίζνπκε ηνπηθά ζχκθσλα κε ηηο νδεγίεο πνπ παξέρνληαη. Δλαιιαθηηθά, ζα δείμνπκε πσο κπνξεί λα εγθαηαζηαζεί πνιχ εχθνια κε ηνλ δηαρεηξηζηή παθέησλ APT ελφο debian ζπζηήκαηνο. Δθηεινχκε ηηο δχν παξαθάησ εληνιέο:

apt-get install apache2 libapache2-mod-php5

apt-get install php5-gd php5-mysql php-pear

Σψξα, παξαηεξνχκε φηη έρεη δεκηνπξγεζεί έλαο λένο θαηάινγνο ζηε ζέζε /var/www. Δθεί πεξηέρεηαη ε αξρηθή ζειίδα ηνπ apache2 θαη εθεί πξέπεη λα ηνπνζεηεζνχλ ηα αξρεία νπνηαζδήπνηε εθαξκνγήο ηζηνχ ζέινπκε λα εθηειέζνπκε. Δπίζεο, φια ηα αξρεία ξπζκίζεσλ γηα ηνλ apache2 βξίζθνληαη ζηνλ θαηάινγν /etc/apache2/. Γηα ηελ δηαρείξηζε ηνπ server ρξεζηκνπνηνχκε ην shell script /etc/init.d/apache2. Γηα ηελ εθθίλεζε, ην ζηακάηεκα θαη ηελ επαλεθθίλεζε εθηεινχκε αληίζηνηρα ηηο παξαθάησ εληνιέο:

/etc/init.d/apache2 start

/etc/init.d/apache2 stop

/etc/init.d/apache2 restart

πλήζσο, κεηά ηελ εγθαηάζηαζε ν apache2 ζα εθηειείηαη κεηά απφ θάζε επαλεθθίλεζε ηνπ ππνινγηζηή. Αλ ζέινπκε λα ηνλ αθαηξέζνπκε εθηεινχκε:

update–rc.d –f apache2 remove

ην update–rc.d δηαρεηξίδεηαη ηα runlevels ησλ πξνγξακκάησλ.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 26

Γηα ηε ζπκβαηφηεηα ηεο php κε ηε mysql θαη ηε βηβιηνζήθε γξαθηθψλ ―gd‖, πξνζζέηνπκε ζην αξρείν ξπζκίζεσλ /etc/php5/apache2/php.ini ηηο δχν επφκελεο γξακκέο ζην ηέινο ηνπ ηκήκαηνο πνπ νλνκάδεηαη ―Dynamic extensions‖:

extension=mysql.so

extension=gd.so

Σειεηψλνληαο κε ηνλ apache2, αλνίγνπκε ην αξρείν /etc/apache2/apache2.conf θαη πξνζζέηνπκε ζην ηέινο ηνπ ηελ γξακκή ―servername localhost‖. Καηφπηλ επαλεθθηλνχκε ηνλ apache2 κε ηνλ ηξφπν πνπ αλαθέξζεθε πξνεγνπκέλσο.

2.2.2 Δγθαηάζηαζε BASE

Σν επφκελν βήκα είλαη λα θαηεβάζνπκε ηνλ θψδηθα ηνπ BASE απφ ηε δηεχζπλζε http://sourceforge.net/projects/secureideas/files/. Απνζπκπηέδνπκε ην αξρείν base-1.4.5.tar.gz, πνπ είλαη ε ηειεπηαία έθδνζε, ζηνλ θαηάινγν /var/www κε ηελ εληνιή:

tar zxvf base-1.4.5.tar.gz –C /var/www

Γηα ηελ ππνζηήξημε νξηζκέλσλ ιεηηνπξγηψλ ηεο δηεπαθήο ηνπ, ρξεηάδεηαη λα εγθαηαζηήζνπκε θάπνηεο βηβιηνζήθεο ηεο php. Απιά εθηεινχκε ηηο παξαθάησ εληνιέο:

pear upgrade Mail

pear upgrade Mail_Mime

pear upgrade pear

pear install Image_Canvas-0.3.2

pear install Numbers_Roman-1.0.2

pear install Numbers_Words-0.16.1

pear install Image_Graph-0.7.2

Ο θψδηθαο ηνπ BASE θάλεη ρξήζε κίαο δηαζχλδεζεο ηεο php πνπ νλνκάδεηαη ―adodb‖ γηα ηελ επηθνηλσλία κε ηε βάζε δεδνκέλσλ. Σνλ θψδηθά ηεο ηνλ βξίζθνπκε ζηελ δηεχζπλζε http://sourceforge.net/projects/adodb/. Όπσο θαη πξηλ, απνζπκπηέδνπκε ην adodb511.zip ζηνλ θαηάινγν /var/www:

unzip adodb511.zip –d /var/www/

Απνκέλνπλ ιίγεο αθφκα ξπζκίζεηο νη νπνίεο ζα γίλνπλ κέζσ ηεο δηεπαθήο ηνπ BASE. ηγνπξεπφκαζηε φηη ν apache2 είλαη ζε ιεηηνπξγία θαη πξνζπειαχλνπκε ηελ ππεξεζία γξάθνληαο ζε έλαλ θπιινκεηξεηή ηε δηεχζπλζε http://localhost/base-1.4.5. ηελ πξψηε νζφλε, γίλεηαη έιεγρνο γηα ηα δηθαηψκαηα πξνζπέιαζεο ηνπ θαηαιφγνπ /var/www/base-1.4.5. Αλ ππάξρνπλ δηθαηψκαηα εγγξαθήο ηφηε απηφκαηα ζην ηέινο ηεο εγθαηάζηαζεο ζα δεκηνπξγεζεί έλα αξρείν ξπζκίζεσλ. Αλ δελ ππάξρνπλ, κπνξνχκε είηε λα αιιάμνπκε ηα δηθαηψκαηα θαη λα ζπλερίζνπκε ηελ εγθαηάζηαζε, είηε λα δεκηνπξγήζνπκε εκείο κε ην ρέξη ην αξρείν ζην ηέινο. ηε δεχηεξε νζφλε, επηιέγνπκε ηε γιψζζα πξνηίκεζεο θαη γξάθνπκε ζην δεχηεξν πεδίν ην κνλνπάηη φπνπ βξίζθνληαη ηα αξρεία ηνπ adodb θαη ην νπνίν είλαη ―/var/www/adodb‖. ηελ ηξίηε νζφλε, δίλνπκε ηηο ξπζκίζεηο γηα ηε βάζε δεδνκέλσλ πνπ ζα ρξεζηκνπνηήζνπκε. Δπηιέγνπκε ζην πξψην πεδίν ηνλ ηχπν ―MySQL‖. ηα επφκελα πεδία ζπκπιεξψλνπκε δηαδνρηθά ηα ζηνηρεία ηεο βάζεο, φπσο αθξηβψο ηε δεκηνπξγήζακε ζην θεθάιαην 2.1.1:

Database Name=snort

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 27

Database Host=localhost

Database User=snort_user

Database Password=snortpass

Σν πεδίν ―Database Port‖ ην αθήλνπκε θελφ ψζηε λα ρξεζηκνπνηεζεί ε πξνεπηιεγκέλε ηηκή. Αλ ζέινπκε λα ρξεζηκνπνηήζνπκε κία δεχηεξε βάζε δεδνκέλσλ ζηελ νπνία ζα θάλνπκε ζπρλά back up ηεο πξψηεο, ηφηε επηιέγνπκε ην checkbox ―Use archive database‖ θαη ζηα πεδία παξαθάησ ζπκπιεξψλνπκε αληίζηνηρεο πιεξνθνξίεο ηεο δεχηεξεο βάζεο. ηελ ηέηαξηε νζφλε, επηιέγνπκε ην checkbox ―User Authentication System‖ αλ ζέινπκε λα δεκηνπξγήζνπκε έλαλ δηαρεηξηζηή γηα ηελ εθαξκνγή θαη λα απαηηήζνπκε ν θάζε ρξήζηεο πνπ ζα ηελ ρξεζηκνπνηεί λα ζπλδέεηαη κε έλα username θαη έλα θσδηθφ. Αλ ζέινπκε λα είλαη ειεχζεξε ε πξφζβαζε, απιά αθήλνπκε θελά ηα πεδία θαη πξνρσξάκε ζην επφκελν βήκα. ηελ πέκπηε νζφλε, ρξεηάδεηαη κφλν λα παηήζνπκε ην θνπκπί ηεο θφξκαο ―Create Base AG‖ πξνθεηκέλνπ λα δεκηνπξγεζνχλ κέζα ζηε βάζε δεδνκέλσλ νξηζκέλνη βνεζεηηθνί πίλαθεο επηπιένλ απφ απηνχο πνπ πεξηέρεη ην ζρήκα ηνπ Snort. Η έθηε θαη ηειεπηαία νζφλε ζα εκθαληζηεί κφλν αλ δελ είρακε νξίζεη δηθαηψκαηα εγγξαθήο ζην θαηάινγν /var/www/base-1.4.5. Σν θείκελν πνπ καο δίλεηαη ζηελ νζφλε πξέπεη λα ην αληηγξάςνπκε ζε έλα αξρείν θεηκέλνπ κε φλνκα ―base_conf.php‖, ην νπνίν ζα ην ηνπνζεηήζνπκε ζηνλ θαηάινγν /var/www/base-1.4.5. ε απηφ ην ζεκείν ε εγθαηάζηαζε νινθιεξψζεθε θαη κπνξνχκε ηψξα λα ρξεζηκνπνηήζνπκε ηελ εθαξκνγή γξάθνληαο ζηνλ θπιινκεηξεηή μαλά ηε δηεχζπλζε ― http://localhost/base-1.4.5‖. εκεηψλνπκε φηη κέζα απφ ην αξρείν ―base_conf.php‖ κπνξνχκε λα ηξνπνπνηήζνπκε ζρεδφλ νηηδήπνηε αθνξά ζηελ εγθαηάζηαζε πνπ θάλακε. Γηα παξάδεηγκα ε είζνδνο ζην ζχζηεκα, ζηελ ηέηαξηε νζφλε, εμαξηάηαη απφ ηε κεηαβιεηή ―$Use_Auth_System‖ πνπ βξίζθεηαη ζηελ αξρή ηνπ ―base_conf.php‖. Βάδνπκε ζε απηήλ ηηκή «0» αλ δε ζέινπκε πηζηνπνίεζε ρξεζηψλ, δηαθνξεηηθά ζέηνπκε ηηκή «1». Δπίζεο κπνξνχλ λα ηξνπνπνηεζνχλ ηα ζηνηρεία γηα ηε βάζε δεδνκέλσλ ή αθφκα λα ην ξπζκίζνπκε λα καο ζηέιλεη αλαθνξέο κέζσ κελπκάησλ ειεθηξνληθνχ ηαρπδξνκείνπ.

Σν BASE παξέρεη επίζεο ηε δπλαηφηεηα πξνβνιήο γξαθεκάησλ πνπ ζπζρεηίδνπλ ηηο ρψξεο πξνέιεπζεο ή πξννξηζκνχ ησλ εηδνπνηήζεσλ κε ην πιήζνο ηνπο. Δπίζεο είλαη δηαζέζηκε ε απεηθφληζε ησλ ρσξψλ ζηνλ παγθφζκην ράξηε κε πξνβνιή ηνπ πνζνζηνχ επί ησλ ζπλνιηθψλ εηδνπνηήζεσλ πνπ δέρηεθαλ ή πξνθάιεζαλ. Απηέο νη ιεηηνπξγίεο δελ είλαη άκεζα δηαζέζηκεο κε ηε βαζηθή εγθαηάζηαζε ηνπ BASE θαη απαηηνχλ νξηζκέλεο επηπιένλ ελέξγεηεο, θπξίσο γηα ηελ θάιπςε εμαξηήζεσλ. Μία απφ απηέο είλαη ε εγθαηάζηαζε ησλ βηβιηνζεθψλ PEAR ηεο php Image_Graph θαη Image_Canvas πνπ είδακε παξαπάλσ. Σν επφκελν βήκα είλαη ε πξνζζήθε ησλ ραξηψλ ζηνλ θαηάινγν ησλ πξναλαθεξζέλησλ βηβιηνζεθψλ. Οη ράξηεο βξίζθνληαη ζηνλ θαηάινγν εγθαηάζηαζεο ηνπ BASE, θαη πξέπεη λα ηνπο κεηαθέξνπκε κε ηελ εληνιή:

cp /var/www/base-1.4.4/world_map.* /usr/share/php/Image/Graph/Images/Maps/

ηε ζπλέρεηα πξέπεη λα εγθαηαζηήζνπκε ην πξφγξακκα GeoIP, ην νπνίν ρξεζηκνπνηεί ην BASE γηα λα αληηζηνηρίζεη κηα δεδνκέλε IP ζηελ ρψξα πνπ αλήθεη. Σν GeoIP είλαη αξθεηά ρξήζηκν γηαηί κπνξεί λα εθηειεζηεί θαη εθηφο ηνπ BASE γηα ηνλ ίδην ζθνπφ, αλ ζέιεη θαλείο λα κάζεη ηελ πξνέιεπζε κηαο IP. Αξρηθά θαηεβάδνπκε ηνλ ζπκπηεζκέλν θψδηθα ηνπ πξνγξάκκαηνο απφ ηε δηεχζπλζε: http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz θαη έπεηηα απνζπκπηέδνπκε θαη εγθαζηζηνχκε:

tar xjvf GeoIP.tar.gz /usr/src

cd /usr/src/GeoIP-1.4.6

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 28

./configure

make

make check

make install

Μεηά πξέπεη λα εγθαηαζηήζνπκε ηελ Perl δηεπαθή ηνπ GeoIP ηελ νπνία θαηεβάδνπκε απφ ην: http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.33.tar.gz ελψ αθνινπζεί ε θιαζζηθή δηαδηθαζία εγθαηάζηαζεο:

tar xjvf Geo-IP-1.33.tar.gz /usr/src

cd /usr/src/Geo-IP-1.33

perl Makefile.PL

make

make test

make install

Καηφπηλ πξέπεη λα θνξησζνχλ νξηζκέλα modules πνπ απαηηνχληαη γηα ηε ζσζηή ιεηηνπξγία ηνπ GeoIP θαζψο θαη λα εγθαηαζηαζoχλ ηα πξνγξάκκαηα Awstats θαη GeoIPfree. Αξρηθά ζα βξνχκε ην αξρείν GeoIP.dat πνπ δεκηνπξγεί ην GeoIP θαηά ηελ εγθαηάζηαζή ηνπ:

find / -name GeoIP.dat

Η παξαπάλσ εληνιή ζα καο επηζηξέςεη ηε δηαδξνκή ηνπ αξρείνπ (έζησ φηη είλαη /usr/local/share/GeoIP φπσο ζηα πεξηζζφηεξα ζπζηήκαηα). Υξεηαδφκαζηε ηε δηαδξνκή γηα λα θνξηψζνπκε/αλαλεψζνπκε θάπνηα plug-ins κέζσ ησλ εληνιψλ:

LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat"

LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoLiteCity.dat"

LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/local/share/GeoIP/GeoIPASNum.dat"

Αθνινπζεί ε εγθαηάζηαζε ηνπ GeoIPfree. Μπνξνχκε λα ην θαηεβάζνπκε απφ ην: http://search.cpan.org/CPAN/authors/id/G/GM/GMPASSOS/Geo-IPfree-0.2.tar.gz ελψ ζηε ζπλέρεηα ην εγθαζηζηνχκε θαη ην θνξηψλνπκε:

tar xjvf Geo-IPfree-0.2.tar.gz /usr/src

cd /usr/src/Geo-IPfree-0.2

perl Makefile.PL

make

make test

make install

LoadPlugin="geoipfree"

ηε ζπλέρεηα εγθαζηζηνχκε ην Awstats. Ο θψδηθάο ηνπ είλαη δηαζέζηκνο ζηε δηεχζπλζε: http://prdownloads.sourceforge.net/awstats/awstats-6.7.tar.gz . Σν Awstats πξέπεη λα εγθαηαζηαζεί ζην θάθειν /usr/local/awstats , δηαθνξεηηθά ζα εκθαληζηεί κήλπκα θαηά ηελ εγθαηάζηαζε πνπ πξνεηδνπνηεί γηα ηπρφλ αιιαγέο πνπ κπνξεί λα ρξεηαζηνχλ ζε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 29

εμαξηψκελα πξνγξάκκαηα. Δκείο ζα αθνινπζήζνπκε ηνλ ελδεδεηγκέλν ηξφπν εγθαηάζηαζεο κεηνλνκάδνληαο ηνλ θάθειν εμαγσγήο ζε awstats:

tar xjvf awstats-6.7.tar.gz /usr/local

mv /usr/local/awstats-6.7 awstats

cd /usr/local/awstats/tools

perl awstats_configure.pl

ην κήλπκα πνπ ζα εκθαληζηεί γηα δεκηνπξγία λένπ πξνθίι πξέπεη λα εηζάγνπκε ηελ επηινγή «y» (yes), θαηφπηλ λα νλνκάζνπκε ην λέν πξνθίι (π.ρ. base-1.4.4) θαη λα δψζνπκε σο δηαδξνκή ην: /etc/awstats . Θα ρξεηαζηεί λα παηήζνπκε ην πιήθηξν ENTER φπνπ δεηείηαη γηα λα νινθιεξσζεί ε εγθαηάζηαζε. Αθνινχζσο κπνξεί λα ρξεηαζηεί λα θάλνπκε νξηζκέλεο αιιαγέο ζην αξρείν ξπζκίζεσλ ηνπ λένπ καο πξνθίι (έζησ awstats.base-1.4.4.conf) πνπ βξίζθεηαη ζηε δηαδξνκή πνπ δψζακε πξνεγνπκέλσο, δειαδή /etc/awstats/ . Οη αιιαγέο πνπ θάλακε ζην δηθφ καο ζχζηεκα πεξηιακβάλνπλ ηελ πξνζζήθε ηεο ηηκήο «base-1.4.4» ζηηο κεηαβιεηέο SiteDomain θαη HostAliases. Δπίζεο ζέζακε ηελ ηηκή ηεο κεηαβιεηήο DirData ζε /usr/local/awstats/data . Έπεηηα πξέπεη λα αιιάμνπκε ηα δηθαηψκαηα ρξήζεο ηνπ θαθέινπ εγθαηάζηαζεο γηα λα είλαη πξνζβάζηκνο απφ ηνλ apache:

chmod 775 /usr/local/awstats

ηε ζπλέρεηα πξέπεη λα δεκηνπξγήζνπκε έλα λέν θάθειν γηα ηα αξρεία θαηαγξαθήο:

mkdir /usr/local/awstats/data

Σψξα ζα δεκηνπξγήζνπκε ηε βάζε δεδνκέλσλ ησλ ρσξψλ ζε κνξθή ASCII:

cd /usr/local/share/perl/5.10.0/Geo

perl ipct2txt.pl ipscountry.dat /var/www/html/ips-ascii.txt

Οη νδεγίεο ηνπ BASE ηελ εγθαηάζηαζε ησλ πξνγξακκάησλ έρνπλ ηελ ηειεπηαία εληνιή σο:

perl ipct2txt.pl ./ipscountry.dat /var/www/html/ips-ascii.txt

αιιά κάιινλ πξφθεηηαη γηα ηππνγξαθηθφ ιάζνο, θαζψο είλαη πνιχ πηζαλφ λα δεκηνπξγήζεη έλα θελφ αξρείν αληί γηα ηε βάζε πνπ ρξεηαδφκαζηε.

Αθνινχζσο ίζσο ρξεηαζηεί λα θάλνπκε νξηζκέλεο αιιαγέο ζην αξρείν var/www/base-1.4.4/base-conf.php ζε φζεο επηινγέο αθνξνχλ ην GeoIP. ην δηθφ καο αξρείν απνζρνιηάζακε ηελ κεηαβιεηή Geo_IPfree_file_ascii θαη ηεο δψζακε ηελ ηηκή «/var/www/base-1.4.4/ips-ascii.txt».

Δπεηδή ε ζσζηή ιεηηνπξγία ηνπ ράξηε θαη ηνπ εληνπηζκνχ ησλ ρσξψλ πξνυπνζέηεη ηε ζσζηή αιιεινζχλδεζε κεηαμχ δηαθνξεηηθψλ πξνγξακκάησλ θαη βηβιηνζεθψλ θαη ηελ θάιπςε αξθεηψλ εμαξηήζεσλ, ν παξαπάλσ νδεγφο κπνξεί λα κελ είλαη αθξηβήο γηα νξηζκέλα ζπζηήκαηα (π.ρ. ιφγσ δηαθνξεηηθψλ δηαδξνκψλ ησλ αξρείσλ εγθαηάζηαζεο) ή λα ρξεηάδνληαη πεξηζζφηεξα βήκαηα. Όπσο θαίλεηαη φκσο θαη απφ ηα απνηειέζκαηα πνπ παξνπζηάδνληαη ζην Κεθάιαην 4, ζην ζχζηεκά καο νη ξπζκίζεηο απηέο ήηαλ νη απαηηνχκελεο.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 30

2.3 Honeyd

Ο ηξφπνο ρξήζεο θαη νη δπλαηφηεηεο πνπ πξνζθέξεη ην ινγηζκηθφ απηφ ζα παξνπζηαζηνχλ εθηελψο ζην επφκελν θεθάιαην. ε απηήλ ηελ ελφηεηα, ζα δνχκε πσο εγθαζίζηαηαη ζε έλα ζχζηεκα Linux θαη πσο κπνξνχκε λα πξνζζέζνπκε ππνζηήξημε κε κία βάζε δεδνκέλσλ.

2.3.1 Δγθαηάζηαζε honeyd κε honeycomb plugin

Έλα ελδηαθέξνλ plugin πνπ ζα εγθαηαζηήζνπκε καδί κε ην honeyd, είλαη ην honeycomb. Απηφ είλαη έλα ζχζηεκα ην νπνίν παξάγεη απηφκαηα signatures γηα network intrusion detection systems, αλαιχνληαο πξσηφθνιια θαη εληνπίδνληαο patterns ζηελ δηθηπαθή θίλεζε πνπ ζπγθεληξψλνπλ ηα honeypots.

Αξρηθά ινηπφλ, δεκηνπξγνχκε έλαλ θαηάινγν ζηνλ νπνίνλ ζα ηνπνζεηήζνπκε ηνλ πεγαίν θψδηθα ησλ πξνγξακκάησλ:

mkdir Honeyd

Σψξα, κεηαβαίλνπκε ζηνλ θαηάινγν απηφλ θαη θαηεβάδνπκε εθεί ηνλ πεγαίν θψδηθα ησλ honeyd, honeycomb θαη libstree:

wget http://www.honeyd.org/uploads/honeyd-1.5c.tar.gz

wget http://www.icir.org/christian/downloads/honeycomb-0.7.tar.gz

wget http://www.icir.org/christian/downloads/libstree-0.4.2.tar.gz

Καηφπηλ, εγθαζηζηνχκε νξηζκέλα δεπηεξεχνληα παθέηα ινγηζκηθνχ:

apt-get install libpcap0.8-dev libdumbnet-dev libevent-dev

apt-get install libedit-dev zlib1g-dev

Απνζπκπηέδνπκε θαη ηα ηξία αξρεία ζηνλ ίδην θαηάινγν Honeyd φπνπ βξίζθνληαη:

tar xvzf honeyd-1.5c.tar.gz

tar xvzf honeycomb-0.7.tar.gz

tar xvzf libstree-0.4.2.tar.gz

ηε ζπλέρεηα, εγθαζηζηνχκε έλα-έλα ηα πξνγξάκκαηα μεθηλψληαο απφ ην libstree:

cd libstree-0.4.2

./configure

make && make install

Γηα ην honeycomb:

cd honeycomb-0.7

./configure

make && make install

Γηα ην honeyd:

cd honeyd-1.5c

./configure --with-plugins=honeycomb

make && make install

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 31

Πξνζζέηνπκε δχν symbolic links σο εμήο:

ln -s /usr/local/lib/libhoneycomb.so /usr/lib/libhoneycomb.so

ln -s /usr/local/lib/libstree.so.0 /usr/lib/libstree.so.0

Σέινο, απνκέλεη λα θαηαζθεπάζνπκε έλα αξρείν ξπζκίζεσλ γηα ην honeyd πνπ ζα νξίδεη ηε ιεηηνπξγία ηνπ θαη ηε ρξήζε ηνπ honeycomb plugin. Γεκηνπξγνχκε ινηπφλ, ην παξαθάησ αξρείν:

touch /usr/local/share/honeyd/honeyd.conf , ην /usr/local/share/honeyd/ είλαη ν θαηάινγνο κε ηα αξρεία ηνπ πξνγξάκκαηνο.

ηελ πην απιή κνξθή ηνπ, ην αξρείν κπνξεί λα είλαη φπσο παξαθάησ. Γηα πεξηζζφηεξεο ιεπηνκέξεηεο γχξσ απφ ην πεξηερφκελφ ηνπ ζπκβνπιεπηείηε ην θεθάιαην 3.

ην ηέινο ηνπ παξαπάλσ αξρείνπ πξέπεη λα πξνζζέζνπκε ηηο ξπζκίζεηο γηα ην honeycomb. Δλψ εμαθνινπζνχκε λα βξηζθφκαζηε ζηνλ θαηάινγν Honeyd πνπ είρακε δεκηνπξγήζεη, εθηεινχκε ηελ αθφινπζε εληνιή:

cat honeycomb-0.7/honeyd.cnf >> /usr/local/share/honeyd/honeyd.conf

Η εγθαηάζηαζε ηειείσζε εδψ θαη κπνξνχκε λα εθηειέζνπκε ην honeyd. Παξάδεηγκα εθηέιεζεο αθνινπζεί ζην θεθάιαην 3, φπνπ γίλεηαη εθηελέζηεξε πεξηγξαθή γηα ηε ρξήζε ηνπ εξγαιείνπ απηνχ.

2.3.2 Η βάζε δεδνκέλσλ γηα ην honeyd

To honeyd θαηαγξάθεη ηελ θίλεζε πνπ αλαιχεη ζε έλα αξρείν θεηκέλνπ πνπ πξνζδηνξίδεηαη απφ ην ρξήζηε ζηε γξακκή εληνιψλ. ην αξρείν απηφ απνζεθεχνληαη ζε ζσξφ φιεο νη πιεξνθνξίεο ζρεηηθά κε ην ρξφλν εκθάληζεο κίαο tcp, udp ή icmp ζχλδεζεο, κε ηηο IP πξνέιεπζεο θαη πξννξηζκνχ, ηελ ζχξα πξννξηζκνχ θαζψο θαη ηνλ

# Example of a simple host template and its binding

create template

set template personality "Microsoft Windows XP Professional SP1"

set template uptime 1728650

add template tcp port 80 "scripts/iis5.net/main.pl"

add template tcp port 22 "sh scripts/test.sh $ipsrc $dport"

set template default tcp action reset

create default

set default default tcp action block

set default default udp action block

set default default icmp action block

bind 192.168.2.5 template

# End of honeyd configurations

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 32

αξηζκφ ησλ bytes πνπ αληαιιάρηεθαλ. ε απηή ηε κνξθή φκσο είλαη πνιχ δχζθνιν γηα έλαλ αλαιπηή λα ζπζρεηίζεη ηα ζπκβάληα θαη λα εμάγεη ζπκπεξάζκαηα ή ζηαηηζηηθά ζηνηρεία. Η κία ιχζε πνπ έρεη είλαη λα θαηαζθεπάζεη shell scripts ή python scripts ηα νπνία ζα επεμεξγάδνληαη ηηο γξακκέο ηνπ αξρείνπ θαηαγξαθήο θαη ζα παξνπζηάδνπλ ηα απνηειέζκαηα. Απηή φκσο είλαη άβνιε πξνζέγγηζε, αθνχ ζα πξέπεη γηα νπνηαδήπνηε εξψηεζε λα θαηαζθεπάδεη έλα script, πνπ ζε νξηζκέλεο πεξηπηψζεηο ζα είλαη πνιχπινθν, θαη λα ειέγρεη γηα ηελ νξζφηεηα ηνπ. Η δεχηεξε πην ηθαλνπνηεηηθή ιχζε είλαη λα κεηαθέξεη ηα δεδνκέλα απφ ην αξρείν ζε κία βάζε δεδνκέλσλ, απφ φπνπ ζα κπνξεί θάλνληαο sql επεξσηήζεηο λα ιάβεη γξήγνξεο απαληήζεηο. Δπηιέμακε λα ρξεζηκνπνηήζνπκε ηελ ηειεπηαία ιχζε γηα ηελ άζθεζή καο θαη ζα δείμνπκε ζηε ζπλέρεηα πσο αθξηβψο επηηπγράλεηαη απηή.

Έλα απφ ηα πνιιά εξγαιεία πνπ ζπλδπάδνληαη κε ην honeyd είλαη θαη ην honeyview. Σν ινγηζκηθφ απηφ παξέρεη αθελφο έλα web interface γηα ηελ γξαθηθή απεηθφληζε ησλ δεδνκέλσλ, αθεηέξνπ νξηζκέλα php scripts ηα νπνία κεηαθέξνπλ ηα δεδνκέλα απφ ην αξρείν θαηαγξαθήο ηνπ honeyd ζε κία βάζε δεδνκέλσλ. Θα θάλνπκε ρξήζε κφλν απηψλ ησλ scripts γηαηί καο ελδηαθέξεη θαηά θχξην ιφγν ε βάζε δεδνκέλσλ θαη φρη ε δηεπαθή ηνπ.

Γηα λα εθηεινχληαη ηα scripts πνπ αλαθέξζεθαλ παξαπάλσ, πξέπεη λα εγθαηαζηήζνπκε ηελ php-cli κε mysql ππνζηήξημε. Μπνξνχκε λα θαηεβάζνπκε ηνλ θψδηθα ηεο php-5.3.3 απφ ηε δηεχζπλζε http://www.php.net/downloads.php, λα απνζπκπηέζνπκε ην αξρείν θαη λα εθηειέζνπκε ην αξρείν configure σο εμήο:

configure --enable-cli \

--disable-safe-mode \

--enable-sigchild \

--with-zlib \

--with-gd \

--with-mysql \

Δλαιιαθηηθά, απφ ηνλ δηαρεηξηζηή παθέησλ ηνπ debian εθηεινχκε:

apt-get install php5 php5-cli php5-mysql

Πξνρσξάκε ζηελ θαηαζθεπή ηεο βάζεο δεδνκέλσλ. Αλ έρεηε νινθιεξψζεη ηηο ξπζκίζεηο ηνπ θεθαιαίνπ 2.1.1, ηφηε ζα έρεη εγθαηαζηαζεί ζσζηά ν mysql server. Αλ φρη εγθαηαζηήζηε ηνλ κε ηνλ αθφινπζν ηξφπν:

apt-get install mysql-client-5.0 mysql-server-5.0 libmysqlclient15-dev

Καηεβάδνπκε ηνλ θψδηθα ηνπ honeyview απφ ηε δηεχζπλζε http://sourceforge.net/projects/honeyview/ θαη απνζπκπηέδνπκε ην αξρείν. Μεηαβαίλνπκε ζηνλ θαηάινγν bin/ φπνπ βξίζθνληαη φια ηα scripts πνπ ρξεηαδφκαζηε. πκπιεξψλνπκε ην αξρείν dbaccess.conf φπσο παξαθάησ:

Η πξψηε γξακκή δειψλεη ηελ ηνπνζεζία ηνπ mysql server, ε δεχηεξε θαη ηξίηε αθνξνχλ ηα ζηνηρεία ελφο εμνπζηνδνηεκέλνπ ρξήζηε ηεο mysql κε δηθαηψκαηα

DB_HOST="localhost"

DB_USER="root"

DB_PASS="root_password"

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 33

δεκηνπξγίαο βάζεο δεδνκέλσλ. Μέλεη λα εθηειέζνπκε ην script init.db πνπ βξίζθεηαη ζηνλ ίδην θαηάινγν σο εμήο:

"./init.db master_hlog , φπνπ ―master_hlog‖ ην φλνκα ηεο βάζεο δεδνκέλσλ.

Αλ εθηειέζηεθε επηηπρψο, ζα πξέπεη λα δνχκε κία βάζε ―master_hlog‖ κε ηξεηο πίλαθεο. ηε ζπλέρεηα, ζηνλ θαηάινγν conf ζπκπιεξψλνπκε ην master.cf φπσο παξαθάησ:

Σα δχν εθηειέζηκα scripts είλαη ηα rdlog, mkfqh ζηνλ θαηάινγν bin/. Αιιάδνπκε ηελ πξψηε γξακκή ηνπο πνπ γξάθεη ην κνλνπάηη ηεο php-cli θαη ην νπνίν ζπλήζσο είλαη:

#!/usr/local/bin/php

Γηα λα βεβαησζείηε φηη είλαη ζσζηφ, ειέγμηε ην εθηειψληαο:

whereis php

Αιιάδνπκε ηα δηθαηψκαηα ησλ δχν παξαπάλσ αξρείσλ, ψζηε λα γίλνπλ εθηειέζηκα:

chmod 755 rdlog mkfqh

Σν rdlog πξαγκαηνπνηεί ηε κεηαθνξά ησλ δεδνκέλσλ απφ ην αξρείν ηνπ honeyd ζηε βάζε, ελψ ην mkfqh βξίζθεη ην φλνκα ηνπ host γηα θάζε δηαθνξεηηθή IP. Η ιεηηνπξγία ηνπ mkfqh παίξλεη αξθεηή ψξα θαη ίζσο ζειήζεηε λα ηελ απνθχγεηε. Μπνξείηε λα εθηειέζεηε κφλν ην rdlog πνπ θάλεη ηε δνπιεηά πνπ ρξεηαδφκαζηε. Σα εθηειέζηκα απηά ζαξψλνπλ κία θνξά ην αξρείν θαηαγξαθήο ηνπ honeyd θαη απνζεθεχνπλ ηα δεδνκέλα. Όκσο, ην honeyd ζπλερίδεη λα γξάθεη ζην ίδην αξρείν. Απηφ ζεκαίλεη φηη αλ εθηειέζνπκε πάιη ηα παξαπάλσ scripts ζην ίδην αξρείν δεχηεξε θνξά, ηα δεδνκέλα πνπ ζαξψζεθαλ ηελ πξψηε θνξά ζα μαλακπνχλ ζηε βάζε δεδνκέλσλ θαη έηζη ζα ππάξρεη επαλαιακβαλφκελε πιεξνθνξία. Γηα απηφ κεηά απφ θάζε κεηαθνξά ζηε βάζε, πξέπεη λα ζηακαηάκε ην honeyd, λα ζαξψλνπκε ην αξρείν, λα δεκηνπξγνχκε backup θαη λα μαλαεθηεινχκε ην honeyd. Παξαθάησ, δίλεηαη έλα shell script πνπ αλαιακβάλεη λα θάλεη φια ηα πξνεγνχκελα:

<?

$hq_base="path-to-honeyview/honeyview-1.0";

$db_host="localhost";

$db_port="3306";

$db_name="master_hlog";

$db_user="snort_user";

$db_pass="snort_pass";

?>

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 34

Θεσξνχκε φηη ην honeyd δεκηνπξγεί αξρείν θαηαγξαθήο κε φλνκα /tmp/Honeyd_log θαη φηη θξαηάκε backup κε φια ηα αξρεία ζηνλ θαηάινγν /tmp/HoneydLog/ πνπ πξέπεη πξνεγνπκέλσο λα έρνπκε δεκηνπξγήζεη. Βεβαησζείηε φηη έρεηε εγθαηεζηεκέλα ηα πξνγξάκκαηα gzip θαη awk. Σν script απηφ κπνξνχκε λα ην εθηειέζνπκε νπνηαδήπνηε ζηηγκή ζέινπκε λα ελεκεξψζνπκε ηε βάζε. Μπνξνχκε φκσο λα νξίζνπκε λα γίλεηαη ε δνπιεηά απηή απηφκαηα, ξπζκίδνληαο θαηάιιεια ηνλ cron-job scheduler. ηνλ θαηάινγν /etc/ βξίζθνπκε ηνπο εμήο θαηαιφγνπο: ―cron.hourly‖, ―cron.daily‖, ―cron.weekly‖ θαη ―cron.monthly‖. Σνπνζεηψληαο ην script ζε έλαλ απφ απηνχο ηνπο θαηαιφγνπο, νξίδνπκε λα εθηειείηαη κία θνξά θάζε ψξα, εκέξα, εβδνκάδα ή κήλα αλάινγα κε ην φλνκα ηνπ θαηαιφγνπ. Αλ ζέινπκε πην ζπγθεθξηκέλε ψξα εθηέιεζεο, πξνζζέηνπκε κία θαηαρψξηζε ζην αξρείν crontab, εθηειψληαο ―crontab –e‖.

#!/bin/bash

#Terminate honeyd

pid=`ps -A | grep honeyd | awk 'print $1'`

kill -9 "$pid"

#Change to your honeyview installation path

cd /home/pavlos/honeyview-1.0/bin/

#Update database

./rdlog /tmp/Honeyd_log master_hlog

#

./mkfqh master_hlog

#Create backup to folder /tmp/HoneydLog

let NoFile=`ls /tmp/HoneydLog | awk 'END print NR'`

#Compress honeyd log file with gzip

gzip /tmp/Honeyd_log

mv /tmp/Honeyd_log.gz "/tmp/HoneydLog/Honeyd_log$NoFile.gz"

#Execute honeyd again

honeyd -l /tmp/Honeyd_log -f /usr/local/share/honeyd/honeyd.conf -p /usr/local/share/honeyd/nmap.prints \

-x /usr/local/share/honeyd/xprobe2.conf -a /usr/local/share/honeyd/nmap.assoc -i eth1 88.197.11.0/24

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 35

ΚΔΦΑΛΑΙΟ 3

3. Υξήζε ηνπ ινγηζκηθνύ Honeyd

Σν honeyd είλαη έλα πξφγξακκα daemon κε ην νπνίν κπνξνχκε λα δεκηνπξγήζνπκε εηθνληθνχο ππνινγηζηέο κε δηάθνξεο ππεξεζίεο αληηζηνηρίδνληάο ηνλ θάζε έλα απφ απηνχο ζε κία δηαθνξεηηθή IP. Μπνξεί λα δεκηνπξγήζεη νιφθιεξεο ηνπνινγίεο απνηεινχκελεο απφ δεθάδεο δίθηπα πνπ απαξηίδνληαη απφ δεθάδεο ή εθαηνληάδεο virtual hosts, ζε έλαλ κφλν ππνινγηζηή. Απηνί νη virtual hosts αλήθνπλ ζηελ θαηεγνξία ησλ low-interaction honeypots επεηδή ζπκπεξηθέξνληαη φκνηα κε αληίζηνηρνπο πξαγκαηηθνχο ππνινγηζηέο αιιά έρνπλ ρακειή δηαδξαζηηθφηεηα. Απηφ ζπκβαίλεη γηαηί ην honeyd πξνζνκνηψλεη ιεηηνπξγηθά ζπζηήκαηα κφλν ζηε ζπκπεξηθνξά πνπ παξνπζηάδνπλ ζην επίπεδν ηεο TCP/IP stack, ελψ νη πηζαλέο ππεξεζίεο πνπ ηξέρνπλ πξνζνκνηψλνληαη ζπλήζσο απφ shell scripts. ηε ζπλέρεηα ηνπ θεθαιαίνπ ζα πεξηγξάςνπκε πσο πινπνηνχληαη ηα παξαπάλσ ραξαθηεξηζηηθά θαη πσο ρξεζηκνπνηήζεθε ην honeyd ζηελ εξγαζία καο.

Πξηλ αζρνιεζνχκε, φκσο, κε ηηο ξπζκίζεηο ηνπ εξγαιείνπ απηνχ, ζα εμεηάζνπκε ηνλ ηξφπν κε ηνλ νπνίν δεζκεχεηαη έλαο ρψξνο δηεπζχλζεσλ IP γηα ηελ αληηζηνίρηζε ησλ honeypots.

3.1 Ο ρώξνο δηεπζύλζεσλ IP γηα ηα honeypots

Σν honeyd φηαλ εθηειείηαη ιακβάλεη κία παξάκεηξν ζηε γξακκή εληνιψλ πνπ ππνδεηθλχεη ηελ θάξηα δηθηχνπ ηνπ ππνινγηζηή ζηελ νπνία ζα «αθνχεη» ηα εηζεξρφκελα παθέηα. Απφ ηε ζηηγκή πνπ ηα παθέηα δξνκνινγνχληαη ζε απηήλ ηε δηεπαθή, ην honeyd είλαη έηνηκν λα απαληάεη ζε απηά ρσξίο επηπξφζζεηεο ξπζκίζεηο. Δπνκέλσο, ην πξφβιεκα πνπ καο απαζρνιεί είλαη κε πνηνλ ηξφπν ζα γίλεηαη ε δξνκνιφγεζε ηεο δηθηπαθήο θίλεζεο ζηε θάξηα δηθηχνπ πνπ καο ελδηαθέξεη. Οη δπλαηέο ιχζεηο είλαη δχν.

ηελ πξψηε, ηνπνζεηνχκε ηνλ honeyd server ζε έλα παξαγσγηθφ ππνδίθηπν θαη δεζκεχνπκε δηεπζχλζεηο κέζα απφ απηφ. Παξαγσγηθφ, ζεκαίλεη φηη ζην ππνδίθηπν απηφ ππάξρνπλ ήδε κεξηθνί ππνινγηζηέο ή άιιεο δηθηπαθέο ζπζθεπέο πνπ ρξεζηκνπνηνχληαη απφ έλα πιήζνο ρξεζηψλ. Μέζα ζε απηφ ζα αλαπηπρζνχλ ηα honeypots ηα νπνία ζα ζπλππάξρνπλ κε ηνπο ππφινηπνπο ππνινγηζηέο (εηθφλα 5). ε απηφ ην ζεκείν ρξεηαδφκαζηε έλα ηξφπν γηα λα δεζκεχζνπκε έλα ππνζχλνιν δηεπζχλζεσλ πξνθεηκέλνπ λα ρξεζηκνπνηεζεί απηφ απφ ην honeyd. Σν εξγαιείν πνπ επηηπγράλεη ηελ αληηζηνίρηζε δηεπζχλζεσλ IP κε ηελ MAC address ηνπ honeyd server νλνκάδεηαη ―arpd‖. Σν φλνκα ηνπ είλαη ζχλζεζε ηεο ιέμεο ARP πνπ είλαη έλα πξσηφθνιιν επηπέδνπ δχν θαη ηνπ γξάκκαηνο ―d‖ πνπ αληηπξνζσπεχεη έλα πξφγξακκα daemon.

Πξηλ δνχκε ηε ιεηηνπξγία ηνπ ―arpd‖ πην επηζηακέλα, κία γξήγνξε καηηά ζην πξσηφθνιιν ARP ζα βνεζήζεη λα ηελ θαηαλνήζνπκε θαιχηεξα. ην πιαίζην ελφο ηνπηθνχ δηθηχνπ Ethernet, ε επηθνηλσλία κεηαμχ ησλ θφκβσλ – ππνινγηζηψλ γίλεηαη κε ηηο hardware δηεπζχλζεηο πνπ νλνκάδνληαη MAC addresses. Κάζε θάξηα δηθηχνπ έρεη πάλσ ηεο, δνζκέλε απφ ηνλ θαηαζθεπαζηή ηεο, κία κνλαδηθή MAC address. Κάζε θφκβνο ηνπ δηθηχνπ έρεη ηνπιάρηζηνλ κία ηέηνηα θάξηα πξνθεηκέλνπ λα ζπλδεζεί ζε απηφ. Έλαο θφκβνο πνπ επηζπκεί λα επηθνηλσλήζεη κε έλα δεχηεξν, είλαη απαξαίηεην λα γλσξίδεη ηε MAC ηνπ άιινπ θφκβνπ. Όηαλ φκσο, ε επηθνηλσλία απηή γίλεηαη γηα πξψηε θνξά θαη ην κφλν πνπ γλσξίδεη γηα ηνλ δεχηεξν θφκβν είλαη ε IP δηεχζπλζή ηνπ, ν

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 36

πξψηνο θφκβνο πξέπεη λα αλαθαιχςεη ηε MAC address ηνπ δεχηεξνπ απφ ηελ IP ηνπ. Απηή ε δηαδηθαζία γίλεηαη απφ ην πξσηφθνιιν ARP (Address Resolution Protocol). Ο πξψηνο θφκβνο ινηπφλ, ζηέιλεη έλα ARP request πξνο φινπο ηνπο θφκβνπο ηνπ δηθηχνπ δεηψληαο λα κάζεη ηε MAC address ηνπ θφκβνπ πνπ έρεη κία ζπγθεθξηκέλε IP. Κάζε θφκβνο πνπ ιακβάλεη ην request ειέγρεη αλ αλαθέξεηαη ζε εθείλνλ θνηηάδνληαο ηελ IP δηεχζπλζε πνπ αλαγξάθεηαη. Οη θφκβνη πνπ δελ έρνπλ ηε ζπγθεθξηκέλε IP παξακέλνπλ «ζησπεινί», ελψ εθείλνο πνπ ηελ θαηέρεη απαληάεη κε έλα ARP reply ηνπνζεηψληαο ζε απηφ ηε δηθή ηνπ MAC address. ην ηέινο απηήο ηεο ζχληνκεο επηθνηλσλίαο, θαη νη δχν θφκβνη γλσξίδνπλ πιένλ ν θαζέλαο ηε MAC ηνπ άιινπ θαη κπνξνχλ ζην εμήο λα αληαιιάμνπλ δεδνκέλα.

Δηθόλα 5: Έλα παξαγσγηθό ππνδίθηπν, όπνπ ηα honeypots κνηξάδνληαη κε ηνπο θαλνληθνύο ππνινγηζηέο ηνλ ίδην ρώξν δηεπζύλζεσλ.

Σν πξφγξακκα ―arpd‖ ινηπφλ, φηαλ εθηειείηαη ζε έλαλ ππνινγηζηή απαληάεη ζε κελχκαηα ARP request πνπ θαλνληθά δελ έρνπλ παξαιήπηε θαη δίλεη ζηνλ απνζηνιέα κε έλα ARP reply ηε MAC address ηεο θάξηαο δηθηχνπ πνπ έρεη πξνζδηνξίζεη ν ρξήζηεο. Παξάδεηγκα εθηέιεζεο θαη ρξήζεο ηνπ arpd ζα δνζεί ζην ππνθεθάιαην 3.1.1 πνπ αθνινπζεί.

Η δεχηεξε ιχζε γηα ηε δξνκνιφγεζε παθέησλ ζηνλ honeyd server είλαη θαη απηή πνπ επηιέρηεθε απφ εκάο γηα ηελ εθπφλεζε ηεο εξγαζίαο καο. Γηα λα πεηχρνπκε ηε δξνκνιφγεζε ρξεζηκνπνηνχκε έλαλ θεληξηθφ δξνκνινγεηή ν νπνίνο ξπζκίδεηαη έηζη ψζηε ηα παθέηα πνπ απεπζχλνληαη ζε έλα «θελφ» ππνδίθηπν λα θηάλνπλ ζε κία απφ ηηο δχν θάξηεο δηθηχνπ (εηθφλα 2). Παξά ην φηη ν honeyd server βξίζθεηαη κέζα ζε έλα παξαγσγηθφ δίθηπν, δε αλαπηχζζνληαη εληφο απηνχ ηα honeypots. Με ηε βνήζεηα ηνπ θεληξηθνχ δξνκνινγεηή ν honeyd server έρεη «νξαηφηεηα» ζε έλα ππνδίθηπν πνπ βξίζθεηαη καθξηά απφ απηφ φπνπ αλήθεη ν server. Η δηαθνξά κε ηελ πξψηε ιχζε είλαη ε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 37

απεπζείαο δξνκνιφγεζε ησλ παθέησλ απφ έλαλ δξνκνινγεηή θαη φρη απφ έλα ινγηζκηθφ πνπ δεζκεχεη δηεπζχλζεηο IP, κε ζεκαληηθφ πιενλέθηεκα φηη δελ ππάξρεη θαζφινπ ε θαζπζηέξεζε πνπ πξνζζέηεη ην ―arpd‖ κέρξη λα απαληήζεη ζηα ARP requests.

3.1.1 Γέζκεπζε δηεπζύλζεσλ IP κε ην Arpd

Ξεθηλψληαο κε ηελ εγθαηάζηαζε ηνπ εξγαιείνπ θαη εθφζνλ ην ζχζηεκα πνπ ρξεζηκνπνηνχκε ζηελ εξγαζία καο είλαη debian, ζα εγθαηαζηήζνπκε ην πξφγξακκα ―farpd‖, πνπ απνηειεί κία έθδνζε ηνπ θαλνληθνχ arpd γηα debian ζπζηήκαηα. Απφ ηελ γξακκή εληνιψλ εθηεινχκε κε δηθαηψκαηα ππεξρξήζηε ηελ εληνιή:

root@honeyd-server:~# apt-get install farpd

Αο ζεσξήζνπκε μαλά φηη ε εηθφλα 3 είλαη ην παξαγσγηθφ ππνδίθηπν κε IP 192.168.2.0/24 απφ φπνπ ζα δεζκεχζνπκε IP δηεπζχλζεηο κε ην farpd. O honeyd server ζεσξνχκε φηη θαηέρεη ηελ IP 192.168.2.3 θαη κία θάξηα δηθηχνπ κε MAC 00:14:0b:36:c5. Απφ ην ζχλνιν ησλ IP κπνξνχκε λα έρνπκε ζηε δηάζεζε καο κφλν έλα ππνζχλνιν απηψλ. Αο ππνζέζνπκε ινηπφλ φηη κφλν νη IP 192.168.2.10 – 192.168.2.15 ζα είλαη δηαζέζηκεο γηα ηα honeypots θαη νη ππφινηπεο ζα ρξεζηκνπνηνχληαη γηα ηνπο παξαγσγηθνχο ππνινγηζηέο. Δθηεινχκε ζηνλ honeyd server ην farpd κε ηα εμήο νξίζκαηα ζηε γξακκή εληνιψλ:

root@honeyd-server:~# farpd –d –i eth0 192.168.2.10-192.168.2.15

Η επηινγή ―-d‖ αλαγθάδεη ην πξφγξακκα λα εκθαλίδεη ζην standard output ηελ έμνδν ηνπ, αθνχ είλαη πξφγξακκα daemon πνπ ζεκαίλεη φηη δνπιεχεη ζην παξαζθήλην θαη δελ ηππψλεη ηίπνηα ζηελ νζφλε απφ πξνεπηινγή. Σν ―-i eth0‖ δειψλεη φηη ζα ρξεζηκνπνηείηαη ε MAC address ηνπ interface ―eth0‖ απφ ην πξφγξακκα θαη ηέινο δειψλνληαη νη IP πνπ ζέινπκε λα δεζκεχζνπκε ζε κνξθή δηαζηήκαηνο: ―192.168.2.10-192.168.2.15‖.

Η πξψηε γξακκή πνπ ηππψλεη ην πξφγξακκα ζηελ νζφλε είλαη επηβεβαίσζε ησλ νξηζκάησλ κε ηα νπνία ην θαιέζακε θαη είλαη ε εμήο:

arpd[6277]: listening on eth0: arp and (dst net 192.168.2.10/31 or dst net 192.168.2.12/30) and not ether src 00:14:0b:36:c5 , εκεηψλνπκε φηη ην 6277 είλαη έλα ηπραίν λνχκεξν πνπ αλαπαξηζηά ην process id ηνπ farpd θαη ε ζπκβνινζεηξά ―00:14:0b:36:c5‖ είλαη ε ππνζεηηθή MAC address πνπ αληηζηνηρεί ζηε δηεπαθή ―eth0‖.

Απφ απηφ ην ζεκείν, ην πξφγξακκα είλαη ζε αλακνλή κέρξη λα ιάβεη θάπνην ARP request πνπ απεπζχλεηαη ζε κία απφ ηηο ελδηαθεξφκελεο IP. Έζησ φηη δνθηκάδνπκε απφ έλαλ άιινλ ππνινγηζηή πνπ είλαη ζην ίδην ππνδίθηπν λα ειέγμνπκε αλ ππάξρεη θάπνηνο θφκβνο κε IP 192.168.2.11. Δθηεινχκε ινηπφλ απφ ηνλ άιινλ ππνινγηζηή:

user@laptop:~$ ping 192.168.2.11

Η παξαπάλσ εληνιή έρεη σο απνηέιεζκα, εζσηεξηθά ζην ππνδίθηπν καο λα γίλεη έλα ARP request γηα ηελ IP 192.168.2.11. Όπσο είλαη θπζηθφ, δελ ππάξρεη θφκβνο κε απηήλ ηελ IP γηα λα απαληήζεη θαη έηζη ην farpd είλαη εθείλν πνπ ζα απαληήζεη κε ηνλ αθφινπζν ηξφπν:

arpd[6277]: arpd_lookup: no entry for 192.168.2.11

arpd[6277]: arpd_send: who-has 192.168.2.11 tell 192.168.2.3

arpd[6277]: arpd_send: who-has 192.168.2.11 tell 192.168.2.3

arpd[6277]: arp reply 192.168.2.11 is-at 00:14:0b:36:c5

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 38

Η πξψηε γξακκή δειψλεη φηη ε IP 192.168.2.11 δελ έρεη αληηζηνηρεζεί κε θάπνηνλ ππνινγηζηή πνπ λα γλσξίδεη ην πξφγξακκα. ηε ζπλέρεηα, γηα λα βεβαησζεί φηη απηή ε IP δελ είλαη δεζκεπκέλε απφ θαλέλαλ ζηέιλεη δχν ζπλερφκελα ARP requests πεξηκέλνληαο απάληεζε γηα ιίγα δεπηεξφιεπηα. Αλ δελ ππάξμεη θακία απάληεζε, θαηαιαβαίλεη πσο είλαη κία ειεχζεξε IP θαη απαληάεη κε έλα ARP reply δειψλνληαο ζε απηφ ηε MAC address ―00:14:0b:36:c5‖ ηνπ interface ―eth0‖, φπσο απνδεηθλχεηαη θαη απφ ηελ ηειεπηαία γξακκή.

Με ηνλ ίδην ηξφπν ζπκπεξηθέξεηαη ην farpd γηα θάζε ARP request πνπ απεπζχλεηαη ζε κία απφ ηηο IP πνπ ηνπ δφζεθαλ. Άιιν έλα παξάδεηγκα πνπ ζα καο πείζεη. Γνθηκάδνπκε ηελ IP 192.168.2.15:

user@laptop:~$ ping 192.168.2.15

Σν farpd απνθξίλεηαη ζηελ νζφλε κε παξφκνην ηξφπν:

Αλ επηρεηξήζνπκε λα εθηειέζνπκε ―ping‖ γηα ηελ IP 192.168.2.20 πνπ δελ αλήθεη ζην δηάζηεκα ησλ IP πνπ νξίζακε ζην farpd, ηφηε ην πξφγξακκα δελ ζα έρεη θακία απφθξηζε.

Αμίδεη λα ζεκεηψζνπκε φηη κεηά απφ κία αδξαλή ρξνληθή πεξίνδν πεξίπνπ πέληε ιεπηψλ θαηά ηε δηάξθεηα ηεο νπνίαο κία IP πνπ δεζκεχηεθε απφ ην πξφγξακκα δελ έρεη αλαθεξζεί μαλά, απνδεζκεχεηαη θαη γίλεηαη δηαζέζηκε γηα θάπνηα άιιε ίζσο ρξήζε. Γηα ηνπ ιφγνπ ην αιεζέο, ην κήλπκα πνπ εκθαλίδεη ην farpd φηαλ ιήμεη απηή ε πεξίνδνο γηα ηελ 192.168.2.11 είλαη ην παξαθάησ:

arpd[6277]: arpd_timeout: expiring 192.168.2.11

Αλ κεηά ηελ απνδέζκεπζε γίλεη κία λέα αλαθνξά ζηελ 192.168.2.11, ηφηε επαλαιακβάλεηαη απφ ηελ αξρή ε δηαδηθαζία δέζκεπζεο φπσο αλαθέξζεθε παξαπάλσ.

Απφ ηελ πιεπξά ηνπ ππνινγηζηή πνπ έθαλε ην ―ping‖, δελ πεξηκέλνπκε λα ιάβνπκε θακία απάληεζε αθφκα θαη αλ ην farpd έρεη απαληήζεη ζηα ARP requests πνπ ζηάιζεθαλ γηα θάπνηα IP. Σελ απφθξηζε απηή ηελ αλαιακβάλεη νπζηαζηηθά ην honeyd, αλ έρνπκε θπζηθά νξίζεη θάπνην honeypot ζε απηήλ ηελ IP.

3.2 Θέηνληαο personalities κε ην honeyd

Σν personality ελφο virtual host ην ζπλζέηνπλ ην ιεηηνπξγηθφ ζχζηεκα θαη ηα service scripts πνπ πξνζηίζεληαη γηα ηελ πξνζνκνίσζε ππεξεζηψλ. Ο ζπλδπαζκφο θαη ησλ δχν καο δίλεη ρηιηάδεο δηαθνξεηηθά personalities. Έρνπκε ηε δπλαηφηεηα λα επηιέμνπκε κεηαμχ πνιιψλ εθαηνληάδσλ δηαθνξεηηθψλ ιεηηνπξγηθψλ ζπζηεκάησλ θαη service scripts πνπ είλαη δηαζέζηκα ή λα θαηαζθεπάζνπκε λέα scripts πνπ ζα αληαπνθξίλνληαη ζε δηθέο καο αλάγθεο . Σν fingerprint γηα θάζε έλα ιεηηνπξγηθφ ζχζηεκα ππάξρεη κέζα ζην αξρείν nmap-prints πνπ βξίζθεηαη ζηελ εγθαηάζηαζε ηνπ honeyd. Η επηινγή ηνπ ιεηηνπξγηθνχ πξέπεη λα γίλεηαη απζηεξά κφλν κέζα απφ ηε ιίζηα πνπ ππάξρεη ζην

arpd[6277]: arpd_lookup: no entry for 192.168.2.15

arpd[6277]: arpd_send: who-has 192.168.2.15 tell 192.168.2.3

arpd[6277]: arpd_send: who-has 192.168.2.15 tell 192.168.2.3

arpd[6277]: arp reply 192.168.2.15 is-at 00:14:0b:36:c5

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 39

αξρείν απηφ. Δθηφο απφ ηα γλσζηά ιεηηνπξγηθά ζπζηήκαηα φπσο νη δηάθνξεο εθδφζεηο ησλ Windows θαη νη δηαλνκέο Linux, είλαη δηαζέζηκα θαη fingerprints δηθηπαθψλ ζπζθεπψλ φπσο δξνκνινγεηέο θαη switches ηεο 3COM, ηεο CISCO θαη ηεο Juniper.

ην honeyd ηα personalities φισλ ησλ εηθνληθψλ ππνινγηζηψλ δειψλνληαη ζην ίδην αξρείν ξπζκίζεσλ ην νπνίν δηαβάδεη ην πξφγξακκα θαηά ηελ εθθίλεζή ηνπ. Αλ πξνθχςνπλ αιιαγέο ζην αξρείν απηφ ελφζσ ην πξφγξακκα εθηειείηαη, ζηέιλνληαο έλα ζήκα SIGHUP ε εθαξκνγή ζα δηαβάζεη εθ λένπ ην αξρείν ρσξίο λα ρξεηάδεηαη επαλεθθίλεζε. Αο δνχκε πσο γίλεηαη κία ηέηνηα δήισζε. Έζησ φηη ζέινπκε λα νξίζνπκε έλαλ εηθνληθφ ππνινγηζηή κε ιεηηνπξγηθφ Windows XP Professional SP1. ην αξρείν ξπζκίζεσλ ηνπ honeyd γξάθνπκε ην εμήο:

ηελ πξψηε γξακκή δειψλεηαη έλα φλνκα γηα ην πξφηππν πνπ ζα πεξηιακβάλεη ηα ραξαθηεξηζηηθά ηεο πξνζσπηθφηεηαο πνπ θηηάρλνπκε θαη ζηελ πξνθεηκέλε πεξίπησζε ην φλνκα απηφ είλαη ―WinXP_Pro_SP1‖. ηε δεχηεξε γξακκή θαζνξίδεηαη ην ιεηηνπξγηθφ πνπ επηιέμακε λα θνξηψζνπκε θαη ν πξνζδηνξηζκφο ηνπ νπνίνπ γίλεηαη κε ηε ιέμε ―personality‖ θαη ηελ απζηεξή νλνκαζία πνπ αθνινπζεί ―Microsoft Windows XP Professional SP1‖, ηελ νπνία ηελ βξίζθνπκε κέζα ζην αξρείν nmap-prints. Κάλνληαο αλαδήηεζε απηνχ ηνπ νλφκαηνο ζην αξρείν βξίζθνπκε κία θαηαρψξεζε φπσο ε παξαθάησ, πνπ απνηειεί ην fingerprint ηνπ ιεηηνπξγηθνχ:

ηελ ηξίηε γξακκή ηνπ πην πάλσ νξηζκνχ πξνηχπνπ, νξίδεηαη φιεο νη tcp ζπλδέζεηο λα γίλνληαη reset απηφκαηα. Φπζηθά, απηφ κπνξεί λα αιιάμεη ζέηνληαο ζπγθεθξηκέλεο ζχξεο λα δέρνληαη ηφζν tcp φζν θαη udp ζπλδέζεηο, κεξηθέο άιιεο λα είλαη θιεηζηέο θαη ζε θάπνηεο άιιεο λα ηξέρνπλ δηάθνξεο ππεξεζίεο. Παξάδεηγκα, κπνξνχκε λα βάινπκε ζην πξνεγνχκελν παξάδεηγκα ηηο ζχξεο 135,137,139 λα δέρνληαη ζπλδέζεηο, φιεο ηηο ππφινηπεο λα είλαη κπινθαξηζκέλεο θαη ζηελ 80 λα πξνζνκνηψλεηαη έλαο apache server κε αληίζηνηρν script:

create WinXP_Pro_SP1

set WinXP_Pro_SP1 personality ―Microsoft Windows XP Professional SP1‖

set WinXP_Pro_SP1 default tcp action reset

Fingerprint Microsoft Windows XP Professional SP1

Class Microsoft | Windows | NT/2K/XP | general purpose

TSeq(Class=RI%gcd=<6%SI=<14686&>1A0%IPID=I)

T1(DF=Y%W=FAF0%ACK=S++%Flags=AS%Ops=MNWNNT)

T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)

T3(Resp=Y%DF=N%W=0%ACK=O%Flags=AR%Ops=)

T4(DF=N%W=0%ACK=O%Flags=R%Ops=)

T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=)

T6(DF=N%W=0%ACK=O%Flags=R%Ops=)

T7(DF=N%W=0%ACK=S++%Flags=AR%Ops=)

PU(DF=N%TOS=0%IPLEN=38%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 40

Αθνχ απνθαζίζνπκε ηειηθά ηη ζα πεξηέρεη ην πξφηππν, απνκέλεη λα ην αληηζηνηρίζνπκε κε κία ip δηεχζπλζε. Απηφ δειψλεηαη εμίζνπ εχθνια ζην αξρείν ξπζκίζεσλ ηνπ honeyd κεηά ην ηέινο ησλ δειψζεσλ ησλ πξνηχπσλ σο εμήο:

bind 10.0.0.1 WinXP_Pro_SP1

Πεξηζζφηεξα γηα ηελ απφδνζε IP δηεπζχλζεσλ ζα δνχκε ζηε ζπλέρεηα. Δπηπιένλ απφ απηά, ην honeyd δίλεη πνιιέο αθφκα δπλαηφηεηεο παξακεηξνπνίεζεο ησλ πξνηχπσλ. Τπάξρνπλ δχν αθφκα είδε πξνηχπσλ, ην ―default‖ θαη ην ―dynamic‖. Σν πξψην δειψλεηαη σο ―create default‖ θαη αλαζέηεηαη απηφκαηα ζε φινπο ηνπο εηθνληθνχο ππνινγηζηέο πνπ δελ έρνπλ δηθφ ηνπο personality. Σν δεχηεξν δειψλεηαη σο ―dynamic template-name‖ θαη δίλεη ηε δπλαηφηεηα ην πξφηππν απηφ λα παξνπζηάδεη δηαθνξεηηθή ζπκπεξηθνξά θάησ απφ δηαθνξεηηθέο ζπλζήθεο. Παξάδεηγκα:

Aλ ε IP πξνέιεπζεο αλήθεη ζην 10.0.0.1/24, ν ―vhost‖ παξνπζηάδεηαη κε ιεηηνπξγηθφ linux. ηελ ηξίηε γξακκή νξίδνληαη νη ψξεο ηηο νπνίεο ην κεράλεκα ζα είλαη θαηλνκεληθά θιεηζηφ, δίλνληαο ζηνλ παξαηεξεηή ηελ εληχπσζε ελφο κεραλήκαηνο πνπ αλνίγεη θαη θιείλεη ζπγθεθξηκέλεο ψξεο ηεο εκέξαο. Η ηειεπηαία γξακκή δειψλεη λα ρξεζηκνπνηεζεί ην ―default‖ πξφηππν αλ δελ ηθαλνπνηνχληαη θακία απφ ηηο ζπλζήθεο. Δλαιιαθηηθά κε ην dynamic πξφηππν κπνξεί λα ρξεζηκνπνηεζεί ε παξαθάησ δήισζε:

bind source ip = 192.168.0.0/16 10.0.0.5 vhost1

bind source ip = 10.0.0.0/8 10.0.0.5 vhost2

Με ην παξαπάλσ επηηπγράλνπκε ηελ αιιαγή ηνπ personality ηνπ ππνινγηζηή πνπ αληηζηνηρίδεηαη ζηελ IP 10.0.0.5, αλάινγα κε ηελ IP πξνέιεπζεο ηεο ζχλδεζεο πνπ δέρεηαη.

Καηά ηνλ νξηζκφ ελφο πξνηχπνπ, κπνξνχκε λα πξνζζέζνπκε ξεαιηζηηθφηεηα δειψλνληαο ζηνηρεία φπσο ην ―uptime‖, πνπ είλαη ν αξηζκφο ησλ δεπηεξνιέπησλ πνπ είλαη ην ζχζηεκα ζε ιεηηνπξγία μεθηλψληαο απφ ηελ ηειεπηαία θνξά πνπ έθαλε επαλεθθίλεζε θαη ην ―droprate in‖ πνπ πξνζδηνξίδεη ην πνζνζηφ ησλ απεζηαικέλσλ απφ ην honeyd παθέησλ πνπ ζα απνξξίπηνληαη, κε ζθνπφ λα πξνζνκνησζεί κία θαζπζηέξεζε ζηε ζχλδεζε. Έλα παξάδεηγκα ησλ παξαπάλσ θαίλεηαη ζηε ζπλέρεηα:

set vhost1 uptime 1327650

set vhost1 droprate in 0.005

add WinXP_Pro_SP1 tcp port 80 ―bash ./apache.sh‖

add WinXP_Pro_SP1 tcp port 135 open

add WinXP_Pro_SP1 tcp port 137 open

add WinXP_Pro_SP1 tcp port 139 open

set WinXP_Pro_SP1 default tcp action block

dynamic vhost

add vhost use linux if source ip = 10.0.0.1/24

add vhost use invisible if time between 6:00am - 9:00am

add vhost otherwise use default

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 41

Αξθεηά ρξήζηκε κπνξεί λα θαλεί ε δπλαηφηεηα ηνπ honeyd πνπ αθνχεη ζην φλνκα proxying θαη κε απηήλ κπνξεί λα γίλεη αλαθαηεχζπλζε ηεο εηζεξρφκελεο θίλεζεο ζε θάπνηνλ πξαγκαηηθφ server, καθξηά απφ ην low-interaction honeypot, ν νπνίνο ζα κπνξεί λα παξέρεη ζηνλ επηηηζέκελν κε αζθάιεηα ηελ ππεξεζία. πλήζσο κία ππεξεζία φπσο έλαο DNS ή MySQL server είλαη δχζθνιν λα πξνζνκνησζεί κε θάπνην script θαη γηα απηφ ρξεηαδφκαζηε απηήλ ηε δπλαηφηεηα ηνπ honeyd. Γειψλνπκε απιά:

add vhost1 udp port 53 proxy nameserver:53 , φπνπ 53 ε ζχξα πνπ γίλεηαη αλαθαηεχζπλζε.

3.3 Virtual network topology

ε απηήλ ηελ ελφηεηα ζα παξνπζηαζηεί κία εηθνληθή ηνπνινγία απφ honeypots πνπ θαηαζθεπάζηεθε κε ην honeyd θαη ιεηηνχξγεζε ζηα πιαίζηα ηεο εξγαζίαο καο γηα αξθεηνχο κήλεο. Ο ρψξνο δηεπζχλζεσλ πνπ είρακε ζηε δηάζεζή καο γηα ηελ αλάπηπμε ησλ honeypots είλαη ν 88.197.11.0/24 πνπ είλαη έλα θελφ ππνδίθηπν, κε ηελ έλλνηα φηη ζε απηφ δελ ππάξρεη θαλέλαο παξαγσγηθφο ππνινγηζηήο νχηε αθφκα θάπνηα gateway ζηελ δηεχζπλζε 88.197.11.1. Η εηθφλα 4 πνπ αθνινπζεί δείρλεη ζπλνιηθά απηήλ ηελ ηνπνινγία.

Σξεηο ππνινγηζηέο κε ιεηηνπξγηθφ Windows, νη δχν κε Windows XP Professional SP1 θαη ν έλαο Windows 2000 server SP2, απαξηίδνπλ ην πξψην ππνδίθηπν κέζα ζην 88.197.11.0/24 θαη δχν κε ιεηηνπξγηθφ Linux κε έθδνζε kernel 2.0.39 θαη 2.4.7 απνηεινχλ ην δεχηεξν ππνδίθηπν. Γηα ηε δηάξζξσζε ηεο ηεξαξρίαο ηεο ηνπνινγίαο φπσο θαίλεηαη ζηελ εηθφλα 6, ρξεζηκνπνηήζεθαλ αθφκα δχν honeypots πνπ αληηζηνηρνχλ ζε έλα Cisco router 7206 running IOS 11.1, ζηελ θνξπθή ηεο ηεξαξρίαο, θαη έλα Cisco Catalyst 5500/5600 πνπ αληηπξνζσπεχεη φια ηα honeypots ζην 88.197.11.192/29. Κάησ απφ θάζε κεράλεκα αλαγξάθνληαη νη ππεξεζίεο πνπ εθηεινχληαη ζε απηφ θαη νη ζχξεο πνπ είλαη αλνηθηέο θαη δέρνληαη ζπλδέζεηο.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 42

Δηθόλα 6: Δηθνληθή ηνπνινγία από honeypots θαηαζθεπαζκέλε κε ην honeyd.

Έλαο εχθνινο ηξφπνο αλίρλεπζεο ηεο ηεξαξρίαο είλαη ε εθηέιεζε ελφο πξνγξάκκαηνο φπσο είλαη ην ―traceroute‖ πνπ δείρλεη φια ηα hops πνπ γίλνληαη κέρξη λα θηάζεη έλα παθέην ζηνλ πξννξηζκφ ηνπ. Δθηεινχκε ζηνλ honeyd server ηελ παξαθάησ εληνιή, αλ θαη κπνξεί λα γίλεη ην ίδην απφ νπνηνλδήπνηε άιιν ππνινγηζηή:

root@honeyd-server:~# traceroute 88.197.11.195

Απφ ηελ εθηέιεζε παίξλνπκε ην απνηέιεζκα:

Σν πξψην hop ζηνλ ππνινγηζηή 195.134.71.1 είλαη ε gateway ηνπ honeyd server θαη απφ ην δεχηεξν θαη κεηά κπαίλνπκε ζην ρψξν ησλ honeypots. ηελ πξνζπάζεηά καο λα θηάζνπκε ηνλ ππνινγηζηή 88.197.11.195, βιέπνπκε φηη γίλνληαη πξψηα δχν hops. ηνλ 88.197.11.1 πνπ είλαη ν πξψηνο δξνκνινγεηήο θαη ζηνλ 88.197.11.192 πνπ είλαη ν δεχηεξνο. ηα δεμηά ηνπο θαίλεηαη ν ρξφλνο απφθξηζεο ηνπ θάζε honeypot.

traceroute to 88.197.11.195 (88.197.11.195), 30 hops max, 40 byte packets

1 195.134.71.1 (195.134.71.1) 0.335 ms 0.400 ms 0.486 ms

2 88.197.11.1 (88.197.11.1) 0.157 ms 0.170 ms 0.172 ms

3 88.197.11.192 (88.197.11.192) 8.396 ms 8.381 ms 8.372 ms

4 88.197.11.195 (88.197.11.195) 8.251 ms 8.242 ms 8.227 ms

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 43

Δθηέιεζε ηνπ honeyd:

Η εθηέιεζε ηνπ honeyd γηα ηε ιεηηνπξγία ηεο παξαπάλσ θαηαζθεπήο είλαη φπσο θαίλεηαη παξαθάησ:

root@honeyd-server:~# honeyd -f /usr/local/share/honeyd/honeyd.conf -p /usr/local/share/honeyd/nmap.prints -x /usr/local/share/honeyd/xprobe2.conf -a /usr/local/share/honeyd/nmap.assoc -i eth2 88.197.11.0/24

Με ―-f‖ νξίδεηαη ην αξρείν ξπζκίζεσλ πνπ ζα δηαβάζεη ην πξφγξακκα γηα λα θαηαζθεπάζεη ηνπο virtual hosts. Με ―-p‖ νξίδεηαη ην αξρείν πνπ πεξηέρεη ηα fingerprints ησλ δηαθφξσλ ζπζηεκάησλ. Με ―-x‖ νξίδεηαη ην αξρείν πνπ θαζνξίδεη ηελ απφθξηζε ηνπ honeyd ζε ICMP requests. Με ―-a‖ νξίδεηαη ην αξρείν πνπ ζπζρεηίδεη ηελ απφθξηζε ζηα ICMP requests κε απηήλ ηνπ nmap. Με ―-i‖ νξίδεηαη ε NIC πνπ ιακβάλεη ηελ θίλεζε – ε eth1 ρξεζηκνπνηνχηαλ κφλν γηα ηε δηαρείξηζε ηνπ ππνινγηζηή θαη ε eth2 έπαηξλε ηα παθέηα απφ ην dark address space. Σέινο, νξίδεηαη ν ρψξνο δηεπζχλζεσλ ζηνλ νπνίνλ ηξέρεη ην πξφγξακκα θαη απηφο είλαη ν 88.197.11.0/24.

Σν αξρείν ξπζκίζεσλ:

Αο δνχκε ηψξα ην αξρείν ξπζκίζεσλ ηνπ honeyd πνπ πινπνηεί φιε απηήλ ηελ ηνπνινγία:

create WinXPpro_1

set WinXPpro_1 personality "Microsoft Windows XP Professional SP1"

add WinXPpro_1 tcp port 22 "bash /usr/local/share/honeyd/scripts/ssh.sh $ipsrc $dport WinXPpro_1:Win_XP_Pro_SP1"

add WinXPpro_1 tcp port 21 "bash /usr/local/share/honeyd/scripts/ftp.sh $ipsrc $dport"

add WinXPpro_1 tcp port 5554 "perl /usr/local/share/honeyd/scripts/cmdexe-1.06/cmdexe.pl -p winxp -l /tmp/honeyd/cmdexe"

add WinXPpro_1 tcp port 135 open

add WinXPpro_1 tcp port 137 open

add WinXPpro_1 tcp port 139 open

set WinXPpro_1 default tcp action reset

create WinXPpro_2

set WinXPpro_2 personality "Microsoft Windows XP Professional SP1"

add WinXPpro_2 tcp port 80 "bash /usr/local/share/honeyd/scripts/web-apache.sh $ipsrc $dport"

add WinXPpro_2 tcp port 4444 "perl /usr/local/share/honeyd/scripts/cmdexe-1.06/cmdexe.pl -p winxp -l /tmp/honeyd/cmdexe"

add WinXPpro_2 tcp port 5554 "perl /usr/local/share/honeyd/scripts/cmdexe-1.06/cmdexe.pl -p winxp -l

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 44

/tmp/honeyd/cmdexe"

add WinXPpro_2 tcp port 1433 open

add WinXPpro_2 tcp port 135 open

add WinXPpro_2 tcp port 137 open

add WinXPpro_2 tcp port 139 open

set WinXPpro_2 default tcp action reset

create Win2000

set Win2000 personality "Microsoft Windows 2000 Server SP2"

add Win2000 tcp port 1080 "perl /usr/local/share/honeyd/scripts/mydoom-0.6/mydoom.pl -l /tmp/honeyd/mydoom"

set Win2000 default tcp action reset

create Linux_1

set Linux_1 personality "Linux 2.4.7 (Υ86)"

add Linux_1 tcp port 80 "bash /usr/local/share/honeyd/scripts/apache.sh"

add Linux_1 tcp port 22 "bash /usr/local/share/honeyd/scripts/ssh.sh $ipsrc $dport Linux_1:Linux 2.0.39"

set Linux_1 default tcp action reset

create Linux_2

set Linux_2 personality "Linux 2.0.39"

add Linux_2 tcp port 22 "bash /usr/local/share/honeyd/scripts/ssh.sh $ipsrc $dport Linux_2:Linux 2.0.39"

add Linux_2 tcp port 25 "bash /usr/local/share/honeyd/scripts/smtp.sh $ipsrc $dport"

set Linux_2 default tcp action reset

create Cisco_Router_1

set Cisco_Router_1 personality "Cisco 7206 running IOS 11.1(24)"

set Cisco_Router_1 default tcp action reset

set Cisco_Router_1 default udp action reset

create Cisco_Router_2

set Cisco_Router_2 personality "Cisco Catalyst 5500/6500 or Alcatel Omni Switch/Router"

add Cisco_Router_2 tcp port 23 "bash /usr/local/share/honeyd/scripts/telnet.sh $ipsrc $dport"

set Cisco_Router_2 default tcp action reset

set Cisco_Router_2 default udp action reset

create default

set default default tcp action block

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 45

Πεξηζζφηεξεο ιεπηνκέξεηεο γηα ηηο ππεξεζίεο πνπ ηξέρνπλ ζηα honeypots ζα δνζνχλ ζε επφκελε ελφηεηα. Σψξα ζα πεξηγξαθνχλ ηα ραξαθηεξηζηηθά ηνπο θαη νη δειψζεηο πνπ θαηαζθεπάδνπλ ηελ ηνπνινγία.

Σν πξψην honeypot πνπ νξίδνπκε έρεη φλνκα ―WinXPpro_1‖. ε απηφ πξνζηέζεθε ιεηηνπξγηθφ ―Windows XP Professional SP1‖. Οη ζχξεο 21, 22, 5554 ηξέρνπλ αληίζηνηρα έλα bash script γηα ftp, ssh θαη cmd. Απφ ην ηειεπηαίν ηκήκα δειψζεσλ θαίλεηαη πσο ζην κεράλεκα απηφ απνδφζεθε ε IP 88.197.11.106.

Σν δεχηεξν κε φλνκα ―WinXPpro_2‖ έρεη επίζεο ιεηηνπξγηθφ ―Windows XP Professional SP1‖, αιιά δηαθνξεηηθέο ππεξεζίεο. ηελ ζχξα 80 ππάξρεη script πνπ εκθαλίδεη ηελ αξρηθή ζειίδα ελφο apache web server, ζηηο 4444 θαη 5554 είλαη ην script γηα πξνζνκνίσζε ελφο command prompt θαη νη 1433, 135, 137, 139 είλαη αλνηθηέο πεξηκέλνληαο ζπλδέζεηο. ε απηφ απνδφζεθε ε IP 88.197.11.107.

Σν ηξίην κε φλνκα ―Win2000‖ έρεη ―Windows 2000 Server SP2‖ θαη έλα κφλν perl script πνπ πξνζνκνηψλεη ην backdoor πνπ αθήλεη ν ηφο ―mydoom‖ ζηε ζχξα 1080. H IP ηνπ είλαη ε 88.197.11.125.

Σν ηέηαξην κε φλνκα ―Linux_1‖ έρεη ιεηηνπξγηθφ ―Linux 2.0.39‖ θαη ηξέρεη ζηηο ζχξεο 80 θαη 22 ηηο αληίζηνηρεο ππεξεζίεο. H IP ηνπ είλαη 88.197.11.194.

Σν πέκπην κε φλνκα ―Linux_2‖ έρεη ην ίδην ιεηηνπξγηθφ κε ην πξνεγνχκελν θαη ηξέρεη ζηηο ζχξεο 22, 25 ssh θαη smtp αληίζηνηρα. H IP ηνπ είλαη 88.197.11.195.

Σν έθην κε φλνκα ―Cisco_Router_1‖ είλαη δξνκνινγεηήο ―Cisco 7206 running IOS 11.1(24)‖ κε θακία αλνηρηή ζχξα θαη ελεξγή ππεξεζία θαη IP 88.197.11.1

To ηειεπηαίν κε φλνκα ―Cisco_Router_2‖ είλαη επίζεο έλαο δξνκνινγεηήο ―Cisco Catalyst 5500/6500 or Alcatel Omni Switch/Router‖ πνπ εθηειεί ππεξεζία telnet ζηε ζχξα 23 θαη έρεη IP 88.197.11.192

set default default udp action block

set default default icmp action block

bind 88.197.11.1 Cisco_Router_1

route entry 88.197.11.1 network 88.197.11.0/24

route 88.197.11.1 link 88.197.11.0/24

bind 88.197.11.192 Cisco_Router_2

route 88.197.11.1 add net 88.197.11.192/29 88.197.11.192

route 88.197.11.192 link 88.197.11.192/29

bind 88.197.11.194 Linux_1

bind 88.197.11.195 Linux_2

bind 88.197.11.106 WinXPpro_1

bind 88.197.11.107 WinXPpro_2

bind 88.197.11.125 Win2000

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 46

Ρύζκηζε ησλ virtual routers:

ηε παξαπάλσ ηνπνινγία έρνπλ πξνζηεζεί δχν δξνκνινγεηέο. Ο έλαο απνηειεί έλα entry point γηα φιν ην ππφινηπν δίθηπν θαη ν δεχηεξνο είλαη κία gateway γηα έλαο ππνζχλνιν ππνινγηζηψλ κέζα ζην αξρηθφ. Σν ηκήκα ησλ δειψζεσλ ζην παξαπάλσ αξρείν πνπ επηηπγράλνπλ απηήλ ηελ θαηάζηαζε είλαη νη ηέζζεξηο δειψζεηο πνπ αξρίδνπλ κε ηε ιέμε ―route‖:

ην πξψην ηκήκα, ρξεζηκνπνηνχκε ην ―route entry‖ γηα δεκηνπξγήζνπκε έλα entry point ηνπ δηθηχνπ 88.197.11.0/24 ζηνλ δξνκνινγεηή Cisco 7206 κε IP 88.197.11.1. ηελ ακέζσο επφκελε γξακκή, κε ηε δήισζε ―route link‖ πξνζδηνξίδνπκε φηη νη θφκβνη ηνπ ππνδηθηχνπ 88.197.11.0/24 ζα είλαη απεπζείαο πξνζπειάζηκνη απφ ηνλ δξνκνινγεηή ρσξίο επηπιένλ hops.

ην δεχηεξν ηκήκα, πξέπεη λα νξίζνπκε ηνλ δξνκνινγεηή Cisco Catalyst 6500 σο κία gateway γηα ην ηκήκα ηνπ ππνδηθηχνπ κε IP 88.197.11.192/29. Με ην ―route add net‖ ινηπφλ, δειψλνπκε φηη ν δξνκνινγεηήο 88.197.11.1 ζα έρεη πξφζβαζε ζην ππνδίθηπν 88.197.11.192/29 κέζσ ηνπ δξνκνινγεηή κε IP 88.197.11.192. Σέινο, πξνζδηνξίδνπκε κε ην ―route link‖ θαη γηα ηνλ δεχηεξν δξνκνινγεηή φηη ζα έρεη απεπζείαο πξφζβαζε ζην 88.197.11.192/29.

Σν 88.197.11.192 κε subnet mask 255.255.255.248, παξέρεη κέρξη έμη δηαθνξεηηθέο IP απφ 88.197.11.193 – 88.197.11.192.198.

Δπηπξφζζεηα κε ηηο ξπζκίζεηο απηέο ην honeyd δίλεη ηε δπλαηφηεηα λα νξηζηνχλ πάλσ ζηηο δεχμεηο νξηζκέλα κεγέζε φπσο bandwidth, latency, loss. ε πξαγκαηηθά δίθηπα ππνινγηζηψλ, ππάξρεη θαζπζηέξεζε ζε θάζε έλα hop ηεο ηάμεσο ιίγσλ milliseconds. Η δεζκεπκέλε ιέμε ―latency‖ νξίδεη αθξηβψο ην κέγεζνο απηφ. Δπίζεο, ε απψιεηα παθέησλ πνπ κπνξεί λα εκθαλίδεηαη νξηζκέλεο θνξέο πξνζνκνηψλεηαη απφ ην honeyd κε ηε ιέμε ―loss‖ πνπ πξνζδηνξίδεη ηελ απψιεηα κε πνζνζηηαία ηηκή. Σέινο, ην εχξνο δψλεο πνπ είλαη έλα αθφκα ραξαθηεξηζηηθφ κίαο δεχμεο θαη εθθξάδεη ηνλ ξπζκφ κεηάδνζεο ησλ bits πάλσ ζε απηήλ δειψλεηαη κε ηε ιέμε ―bandwidth‖. Γηα παξάδεηγκα, ε δήισζε ε νπνία πξνζζέηεη ζηε δεχμε ηνπ δεχηεξνπ δξνκνινγεηή θαζπζηέξεζε 15ms, απψιεηα ηεο ηάμεο 0.01% θαη εχξνο δψλεο 100Mbps είλαη ε εμήο:

route 88.197.11.1 add net 88.197.11.192/29 88.197.11.192 latency 15ms loss 0.01 bandwidth 100Mbps

3.4 Host discovery κε Nmap 4.53

Μπνξνχκε γηα ιίγν λα πεξάζνπκε ζηελ αληίπαιε πιεπξά ψζηε λα ειέγμνπκε ηελ νξζφηεηα ηεο θαηαζθεπήο καο. Σν ινγηζκηθφ πνπ ζα ρξεζηκνπνηήζνπκε είλαη ην δεκνθηιέο Nmap.

Σν πξψην βήκα ζηελ αλαγλψξηζε ελφο δηθηχνπ ππνινγηζηψλ είλαη λα βξεζνχλ κφλν εθείλνη πνπ είλαη ελεξγνί θαη φπσο ζπκβαίλεη ηηο πεξηζζφηεξεο θνξέο κφλν έλα κηθξφ

bind 88.197.11.1 Cisco_Router_1

route entry 88.197.11.1 network 88.197.11.0/24

route 88.197.11.1 link 88.197.11.0/24

bind 88.197.11.192 Cisco_Router_2

route 88.197.11.1 add net 88.197.11.192/29 88.197.11.192

route 88.197.11.192 link 88.197.11.192/29

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 47

πιήζνο επί ηνπ ζπλφινπ είλαη ελεξγνί ηαπηφρξνλα. Πξνθεηκέλνπ λα κελ μνδεχνπκε ινηπφλ ρξφλν θάλνληαο port scanning ή os detection ζε θάζε IP, ειέγρνπκε πξσηίζησο πνηεο IP είλαη ελεξγέο. Σν Nmap παξέρεη πνιιέο ηερληθέο γηα απηφλ ηνλ ζθνπφ αλάινγα κε ηηο αλάγθεο ηνπ θάζε αλαιπηή. Απηή πνπ είλαη αξθεηή γηα ηελ αλαγλψξηζε ησλ IP ησλ honeypots φπσο παξνπζηάζηεθαλ πξνεγνπκέλσο είλαη ην ―Ping scan‖. ε απηήλ ηε κέζνδν ην Nmap θάλεη απιψο έλα ping ζε θάζε κία IP ηνπ δηθηχνπ πνπ ηνπ νξίδεη ν ρξήζηεο πεξηκέλνληαο λα ιάβεη απάληεζε. Αθνινπζεί ην παξάδεηγκα:

ην απνηέιεζκα, ην πξφγξακκα ζαξψλεη 256 IPs θαη βξίζθεη ελεξγέο κφλν ηηο επηά απφ απηέο φζα είλαη θαη ηα honeypots.

Αθνχ βξήθακε ινηπφλ ηηο IPs – ζηφρνπο, κπνξνχκε λα ηηο επηιέμνπκε κία πξνο κία γηα λα θάλνπκε πην ελδειερή έιεγρν γηα ην κεράλεκα πνπ βξίζθεηαη πίζσ απφ απηήλ. Δλδεηθηηθά κφλν, επηιέμακε ηελ 88.197.11.194 γηα λα εθηειέζνπκε port scanning θαη operating system detection:

/>nmap -sP 88.197.11.0/24

Starting Nmap 4.53 ( http://insecure.org ) at 2010-08-26 16:33 EEST

Host 88.197.11.1 appears to be up.

Host 88.197.11.106 appears to be up.

Host 88.197.11.107 appears to be up.

Host 88.197.11.125 appears to be up.

Host 88.197.11.192 appears to be up.

Host 88.197.11.194 appears to be up.

Host 88.197.11.195 appears to be up.

Nmap done: 256 IP addresses (7 hosts up) scanned in 2.742 seconds

/>nmap –sS –v –O 88.197.11.194

Starting Nmap 4.53 ( http://insecure.org ) at 2010-08-26 01:08 EEST

Initiating Ping Scan at 01:08

Scanning 88.197.11.194 [2 ports]

Completed Ping Scan at 01:08, 0.03s elapsed (1 total hosts)

Initiating Parallel DNS resolution of 1 host. at 01:08

Completed Parallel DNS resolution of 1 host. at 01:08, 0.21s elapsed

Initiating SYN Stealth Scan at 01:08

Scanning 88.197.11.194 [981 ports]

Discovered open port 22/tcp on 88.197.11.194

Discovered open port 80/tcp on 88.197.11.194

Completed SYN Stealth Scan at 01:08, 4.20s elapsed (981 total ports)

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 48

Initiating OS detection (try #1) against 88.197.11.194

Retrying OS detection (try #2) against 88.197.11.194

Host 88.197.11.194 appears to be up ... good.

Interesting ports on 88.197.11.194:

Not shown: 967 closed ports

PORT STATE SERVICE

22/tcp open ssh

25/tcp filtered smtp

53/tcp filtered domain

80/tcp open http

111/tcp filtered rpcbind

135/tcp filtered msrpc

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

512/tcp filtered exec

513/tcp filtered login

514/tcp filtered shell

515/tcp filtered printer

540/tcp filtered uucp

593/tcp filtered http-rpc-epmap

Device type: general purpose|WAP|server appliance|printer

Running (JUST GUESSING) : Linux 2.6.X|2.4.X (92%), FON Linux 2.4.X (88%), Toshiba Linux 2.4.X (88%)

Aggressive OS guesses: Linux 2.6.21 (Debian, x86) (92%), Linux 2.6.22 (92%), Linux 2.6.19 - 2.6.21 (91%), Linux 2.4.22 (x86) (90%), FON La Fonera WAP (OpenWrt, Linux 2.4.32) (88%), Toshiba Magnia SG10 server appliance (88%), FON La Fonera WAP running OpenWrt w/Linux kernel 2.4.32 (87%), Lexmark X644e printer (87%), Linux 2.6.20-16-generic (Ubuntu, x86, SMP) (86%), Linux 2.6.9-42 (Red Hat ES4) (85%)

No exact OS matches for host (test conditions non-ideal).

Network Distance: 7 hops

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 49

Σα απνηειέζκαηα ηαηξηάδνπλ αθξηβψο κε ηα ραξαθηεξηζηηθά ηνπ ππνινγηζηή ζηελ IP 88.197.11.194. Βξέζεθαλ κφλν δχν ζχξεο αλνηθηέο ε 22 θαη ε 80, ελψ ζε κεγάιν βαζκφ ηαηξηάδεη θαη ην απνηέιεζκα γηα ην ιεηηνπξγηθφ ζχζηεκα πνπ δίλεη ην ―Linux 2.6.X | 2.4.X‖ κε ην πξαγκαηηθφ λα είλαη ―Linux 2.4.7‖. εκεηψλνπκε φηη ε απφθιηζε πνπ παξνπζηάδεηαη ζε απηφ θαζψο θαη ε εκθάληζε αξθεηψλ αθφκα πηζαλψλ ιεηηνπξγηθψλ ζπζηεκάησλ νθείιεηαη ζηηο δηαθνξεηηθέο εθδφζεηο κεηαμχ ηνπ nmap.prints ηνπ honeyd θαη ηνπ nmap-os-db ηνπ Νmap πνπ πεξηέρνπλ ηα fingerprints ησλ ιεηηνπξγηθψλ.

ε κία δηαθνξεηηθή πην απηνκαηνπνηεκέλε πξνζέγγηζε, ρσξίο λα γλσξίδνπκε πξνεγνπκέλσο ηηο ελεξγέο IP δνθηκάδνπκε λα εθηειέζνπκε port scanning ζε φιν ην 88.197.11.0/24. εκεηψλνπκε πσο θαη ζε απηήλ ηε ζάξσζε ζα γίλεη ping scan, αιιά απηή ηε θνξά απηφκαηα απφ ην Nmap ρσξίο λα ην δειψζνπκε ξεηά. Σν παξάδεηγκα:

/> nmap -sS 88.197.11.0/24

Starting Nmap 4.53 ( http://insecure.org ) at 2010-08-26 15:48 EEST

All 1714 scanned ports on 88.197.11.1 are filtered

Interesting ports on 88.197.11.106:

Not shown: 1698 closed ports

PORT STATE SERVICE

21/tcp open ftp

22/tcp open ssh

25/tcp filtered smtp

53/tcp filtered domain

111/tcp filtered rpcbind

135/tcp filtered msrpc

137/tcp open netbios-ns

139/tcp filtered netbios-ssn

TCP Sequence Prediction: Difficulty=210 (Good luck!)

IP ID Sequence Generation: All zeros

Read data files from: /usr/share/nmap

OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 8.398 seconds

Raw packets sent: 1095 (49.876KB) | Rcvd: 1034 (48.652KB)

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 50

445/tcp filtered microsoft-ds

512/tcp filtered exec

513/tcp filtered login

514/tcp filtered shell

515/tcp filtered printer

540/tcp filtered uucp

593/tcp filtered http-rpc-epmap

1434/tcp filtered ms-sql-m

Interesting ports on 88.197.11.107:

Not shown: 1697 closed ports

PORT STATE SERVICE

22/tcp open ssh

25/tcp filtered smtp

53/tcp filtered domain

80/tcp open http

111/tcp filtered rpcbind

135/tcp filtered msrpc

137/tcp open netbios-ns

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

512/tcp filtered exec

513/tcp filtered login

514/tcp filtered shell

515/tcp filtered printer

540/tcp filtered uucp

593/tcp filtered http-rpc-epmap

1433/tcp open ms-sql-s

1434/tcp filtered ms-sql-m

4444/tcp open krb524

Interesting ports on 88.197.11.125:

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 51

Not shown: 1713 filtered ports

PORT STATE SERVICE

1080/tcp open socks

Interesting ports on 88.197.11.192:

Not shown: 1700 closed ports

PORT STATE SERVICE

23/tcp open telnet

25/tcp filtered smtp

53/tcp filtered domain

111/tcp filtered rpcbind

135/tcp filtered msrpc

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

512/tcp filtered exec

513/tcp filtered login

514/tcp filtered shell

515/tcp filtered printer

540/tcp filtered uucp

593/tcp filtered http-rpc-epmap

1434/tcp filtered ms-sql-m

Interesting ports on 88.197.11.194:

Not shown: 1699 closed ports

PORT STATE SERVICE

22/tcp open ssh

25/tcp filtered smtp

53/tcp filtered domain

80/tcp open http

111/tcp filtered rpcbind

135/tcp filtered msrpc

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 52

Σα απνηειέζκαηα ηεο ζάξσζεο, πνπ αθνξά ηελ πην γξήγνξε TCP SYN ζάξσζε ζηηο πην ζπλήζεηο ζχξεο, επηβεβαηψλνπλ ηελ θαηαζθεπή πνπ θηηάμακε ζην θεθάιαην 3.3.

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

512/tcp filtered exec

513/tcp filtered login

514/tcp filtered shell

515/tcp filtered printer

540/tcp filtered uucp

593/tcp filtered http-rpc-epmap

1434/tcp filtered ms-sql-m

Interesting ports on 88.197.11.195:

Not shown: 1700 closed ports

PORT STATE SERVICE

22/tcp open ssh

25/tcp open smtp

53/tcp filtered domain

111/tcp filtered rpcbind

135/tcp filtered msrpc

139/tcp filtered netbios-ssn

445/tcp filtered microsoft-ds

512/tcp filtered exec

513/tcp filtered login

514/tcp filtered shell

515/tcp filtered printer

540/tcp filtered uucp

593/tcp filtered http-rpc-epmap

1434/tcp filtered ms-sql-m

Nmap done: 256 IP addresses (7 hosts up) scanned in 690.658 seconds

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 53

3.5 Honeyd services

Έλα απφ ηα θξηζηκφηεξα ζεκεία ζηελ αλάπηπμε ησλ honeypots είλαη νη ππεξεζίεο πνπ πξνζνκνηψλνληαη απφ απηά. Οη ππνινγηζηέο πνπ απνηεινχλ ζηφρν είλαη ζπλήζσο κεραλήκαηα πνπ ηξέρνπλ δηάθνξεο ππεξεζίεο φπσο είλαη έλαο web server, ftp server ή mysql server. Απηφ είλαη έλα μερσξηζηφ θνκκάηη πνπ δελ έρεη άκεζε ζρέζε κε ην πξφγξακκα honeyd. πλήζσο, έλαο αλαιπηήο θαηαζθεπάδεη έλα script γηα ηελ ππεξεζία πνπ ηνλ ελδηαθέξεη θαη ζηε ζπλέρεηα ην εθηειεί κέζσ ηνπ honeyd πεηπραίλνληαο έηζη αιιειεπίδξαζε κε ηνλ επηηηζέκελν. ε απηήλ ηελ ελφηεηα ζα παξνπζηαζηνχλ νη ππεξεζίεο πνπ εθηεινχληαλ ζηα honeypots ηεο εηθφλαο 4.

πλνιηθά έηξεραλ πέληε δηαθνξεηηθέο ππεξεζίεο (ssh, ftp, web, telnet, smtp), έλα script πνπ πξνζνκνηψλεη ην backdoor πνπ αθήλεη ν ηφο mydoom ζε Windows θαη έλα πνπ πξνζνκνηψλεη έλα command prompt γηα Windows. Όια ηα παξαπάλσ είλαη είηε shell είηε perl scripts θαη βξίζθνληαη ζηε δηεχζπλζε http://honeyd.org/contrib.php.

Δθηέιεζε ησλ ππεξεζηώλ:

Η εθηέιεζε ησλ δηαθφξσλ scripts γίλεηαη πνιχ εχθνια κέζσ ηνπ αξρείνπ ξπζκίζεσλ ηνπ honeyd φπσο θαηαγξάθεθε ζηελ πξνεγνχκελε ελφηεηα. Δλδεηθηηθά ζα αλαθέξνπκε ην παξάδεηγκα γηα ην script web-apache.sh θαη mydoom.pl:

add WinXPpro_2 tcp port 80 "bash /usr/local/share/honeyd/scripts/web-apache.sh $ipsrc $dport"

add Win2000 tcp port 1080 "perl /usr/local/share/honeyd/scripts/mydoom-0.6/mydoom.pl -l /tmp/honeyd/mydoom"

ηελ πξψηε πεξίπησζε πνπ αλαθέξεηαη ζηνλ ππνινγηζηή 88.197.11.107 κε Windows XP, έρνπκε πξνζζέζεη ην bash script script web-apache.sh. Γειψλνπκε πξψηα ηε ζχξα ( 80 ) ζηελ νπνία ζα ηξέρεη ε ππεξεζία θαη ζηε ζπλέρεηα κέζα ζε εηζαγσγηθά γξάθνπκε ηελ εληνιή θειχθνπο ("bash /usr/local/share/honeyd/scripts/web-apache.sh $ipsrc $dport" ) πνπ ζα εθηειεζηεί γηα λα ηξέμεη ζσζηά ην script. Καιφ ζα ήηαλ λα πξνζδηνξίζνπκε φιν ην κνλνπάηη φπνπ βξίζθεηαη απνζεθεπκέλν. Τπάξρεη θαη ε δπλαηφηεηα λα πξνζδηνξίζνπκε ηηο παξακέηξνπο γηα ην script, φπσο είλαη ζε απηφ ην παξάδεηγκα νη ―$ipsrc $dport‖.

ηε δεχηεξε πεξίπησζε γηα ηνλ ππνινγηζηή 88.197.11.125 κε Windows 2000, ηξέρνπκε ην perl script mydooom.pl ζηε ζχξα 1080 κε κνλαδηθφ φξηζκα ηνλ θαηάινγν ( -l /tmp/honeyd/mydoom ) γηα ην logging ηνπ mydoom.

Δθηφο απφ ηηο ζηαηηθέο παξακέηξνπο πνπ κπνξνχλ λα πάξνπλ ηα scripts, ην honeyd δηαζέηεη νξηζκέλεο κεηαβιεηέο πνπ κπνξνχλ θαη απηέο λα πεξαζηνχλ σο παξάκεηξνη. Απηέο νη κεηαβιεηέο είλαη νη $ipsrc, $ipdst, $sport and $dport πνπ αληηζηνηρνχλ ζηελ IP πξνέιεπζεο, πξννξηζκνχ θαη ζηε ζχξα πξνέιεπζεο θαη πξννξηζκνχ.

Σν θάζε script εθηειείηαη κέζσ κίαο λέα δηεξγαζίαο πνπ πξνθχπηεη απφ απηή ηνπ honeyd. Γηα λα εθηειεζηεί ρσξίο λα πξνθχςεη λέα, ρξεζηκνπνηείηαη ε δήισζε ―internal‖. Παξάδεηγκα:

add WinXPpro_2 tcp port 80 internal "bash /usr/local/share/honeyd/scripts/web-apache.sh $ipsrc $dport"

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 54

Γεκηνπξγία:

Η δεκηνπξγία θάπνηνπ script πνπ ζα πξνζνκνηψλεη κία ππεξεζία απνηειεί κία δχζθνιε δηαδηθαζία ιφγσ ηεο πνιχπινθεο θχζεο πνπ παξνπζηάδεη ζπλήζσο έλα πξσηφθνιιν. Γηα παξάδεηγκα ζηελ πεξίπησζε ηνπ ssh, server θαη client αληαιιάζζνπλ πιεξνθνξίεο γηα ηελ έθδνζε ηνπ ssh πξνγξάκκαηνο πνπ εθηειεί ν θαζέλαο, ζπκθσλνχλ ζην πξσηφθνιιν αζθαιείαο πνπ ζα ρξεζηκνπνηήζνπλ γηα ηελ αληαιιαγή θιεηδηψλ θαη ηέινο εθαξκφδεηαη ε θξππηνγξαθεκέλε επηθνηλσλία. Απηά θαζηζηνχλ αξθεηά δχζθνιε ηελ αληηγξαθή φιεο ηεο επηθνηλσλίαο. Φπζηθά, ππάξρνπλ θαη πην απιά ζηελ θαηαζθεπή ηνπο πξσηφθνιια φπσο είλαη ην ftp. ε απηφ δελ ρξεηάδεηαη θακία θξππηνγξάθεζε ελψ ε επηθνηλσλία κεηαμχ ησλ δχν πιεπξψλ επηηπγράλεηαη κε νξηζκέλεο πην απιέο εζσηεξηθέο εληνιέο. Παξαθάησ ζα αλαιπζεί ε θαηαζθεπή ελφο script γηα ην ftp.

Αο ξίμνπκε φκσο πξψηα κία καηηά ζηελ επηθνηλσλία κεηαμχ ftp client θαη server ψζηε λα γλσξίδνπκε πνηεο απαηηήζεηο πξέπεη λα ηθαλνπνηήζνπκε φηαλ θαηαζθεπάζνπκε ην script. Θεσξνχκε φηη ε ππεξεζία δελ απαηηεί θσδηθφ πξφζβαζεο αξθεί ν ρξήζηεο λα δψζεη σο φλνκα ρξήζηε ηε ιέμε ―anonymous‖ ή λα εθηειέζεη ηνλ ftp client κε ηελ αληίζηνηρε επηινγή ( π.ρ. ftp –A <ftp-server>, γηα Windows). Θα εθηειέζνπκε ηξία βήκαηα. Αξηζηεξά εκθαλίδεηαη ε εληνιή ηνπ ftp client θαη δεμηά νη εζσηεξηθέο εληνιέο πνπ θηάλνπλ ζηνλ ftp server.

1. χλδεζε κε ηνλ 88.197.11.106 πνπ ηξέρεη ην ftp script απφ Windows ftp client:

2. Μεηά ηε ζχλδεζε, βιέπνπκε ηα πεξηερφκελα ηνπ θαηαιφγνπ:

εκείσζε: κε ηελ εληνιή PORT απνζηέιιεηαη ε IP θαη ε ζχξα κε ηελ νπνία ζα δεκηνπξγεζεί κία λέα ζχλδεζε γηα κεηαθνξά δεδνκέλσλ. ηελ θαηαζθεπή ηνπ script κπνξνχκε λα αγλνήζνπκε απηά ηα ζηνηρεία.

3. Αιιαγή ηνπ working directory. Θεσξνχκε φηη ππάξρεη ν θαηάινγνο ftp/ θαη αιιάδνπκε ζε απηφλ:

Αθνινπζεί ην shell script γηα ηελ ππεξεζία ftp:

CWD ftp

P

A

S

S

x

x

x

x

x

x

x

x

x

ftp> cd ftp

PORT 84,38,12,21,4,43

NLST

P

A

S

S

x

x

x

x

x

x

x

x

x

P

A

S

S

x

ftp> ls

USER anonymous

PASS xxxxxxxxx

P

A

S

S

x

x

x

x

x

x

x

x

x

P

A

S

S

x

x

x

x

x

x

/>ftp -A 88.197.11.106

#!/bin/sh

#

# FTP (WU-FTPD) Honeypot-Script intended for use with

# Honeyd

DATE=`date`

log=/tmp/honeyd/ftp.log

AUTH="ANONYMOUS"

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 55

PASS="no"

Dir="default"

echo "$DATE: FTP started from $1 Port $2" >> $log

echo "220 Di FTP server (Version 2.6.0(5) $DATE) ready."

echo -e "Using binary mode to transfer files.\r"

while read incmd parm1 parm2 parm3 parm4 parm5

do

# remove control-characters

incmd=`echo $incmd | sed s/[[:cntrl:]]//g`

parm1=`echo $parm1 | sed s/[[:cntrl:]]//g`

parm2=`echo $parm2 | sed s/[[:cntrl:]]//g`

parm3=`echo $parm3 | sed s/[[:cntrl:]]//g`

parm4=`echo $parm4 | sed s/[[:cntrl:]]//g`

parm5=`echo $parm5 | sed s/[[:cntrl:]]//g`

# convert to upper-case

incmd_nocase=`echo $incmd | gawk 'print toupper($0);'`

#echo $incmd_nocase $parm1 $parm2

case $incmd_nocase in

QUIT* )

echo -e "221 Goodbye.\r"

exit 0;;

SYST* )

echo -e "215 UNIX Type: L8\r"

;;

HELP* )

echo -e "214-The following commands are recognized (* =>'s unimplemented).\r"

echo -e "USER PORT STOR MSAM* RNTO NLST MKD CDUP\r"

echo -e "PASS PASV APPE MRSQ* ABOR SITE XMKD XCUP\r"

echo -e "ACCT* TYPE MLFL* MRCP* DELE SYST RMD STOU\r"

echo -e "SMNT* STRU MAIL* ALLO CWD STAT XRMD SIZE\r"

echo -e "REIN* MODE MSND* REST XCWD HELP PWD MDTM\r"

echo -e "QUIT RETR MSOM* RNFR LIST NOOP XPWD\r"

echo -e "214 Direct comments to ftp@$domain.\r"

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 56

;;

USER* )

parm1_nocase=`echo $parm1 | gawk 'print toupper($0);'`

if [ "$parm1_nocase" = "ANONYMOUS" ]

then

echo -e "331 Guest login ok, send your complete e-mail address as a password.\r"

AUTH="ANONYMOUS"

else

echo -e "331 Password required for $parm1\r"

AUTH=$parm1

fi

;;

PASS* )

PASS=$parm1

if [ "$AUTH" = "ANONYMOUS" ]

then

echo -e "230-Hello User at $1,\r"

echo -e "230-Local time is: $DATE\r"

echo -e "230 Guest login ok, access restrictions apply.\r"

else

echo "530 Login incorrect.\r"

fi

;;

CWD )

if test "$Dir" = "ftp" && test "$parm1" != ".." && test "$param1" != "../"

then

echo -e "550 Failed to change directory.\r"

fi

if test "$Dir" = "default" && test "$parm1" != ftp

then

echo -e "550 Failed to change directory.\r"

fi

if test "$Dir" = "default" && test "$parm1" = ftp

then

echo -e "250 Directory successfully changed.\r"

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 57

Dir=ftp

fi

if test "$Dir" = "ftp" && test "$parm1" = ".."

then

echo -e "250 Directory successfully changed.\r"

Dir=default

fi

;;

PWD )

echo -e "257 \"/anonymous\"\r"

;;

XPWD )

echo -e "257 \"/anonymous\"\r"

;;

XMKD* )

echo -e "550 Create directory operation failed.\r"

;;

PORT )

echo -e "250\r"

if test "$Dir" = "default"

then

echo -e "drwxr-xr-x 3 4096 Feb 28 14:22 ftp\n226 Directory send OK\r"

else

echo -e "-rw-r--r—1 511276 Dec 17 16:31 ftp_conf.text\n226 Directory send OK\r"

fi

;;

NLST )

echo -e "226\r"

;;

NOOP* )

echo -e "200 NOOP command successful.\r"

;;

PASV* )

echo -e "227 Entering Passive Mode (134,76,11,100,165,53)\r"

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 58

Πεξηγξάθνληαο ην παξαπάλσ, εληνπίδνπκε έλα while loop πνπ πεξηέρεη κία δνκή case. Μέζσ ηνπ while loop, ην script δηαβάδεη ηηο εζσηεξηθέο εληνιέο πνπ αληηζηνηρνχλ ζε θάζε κία εληνιή πνπ ζηέιλεη ν client. ην case βξίζθνληαη φιεο νη εληνιέο πνπ ζέινπκε λα ππνζηεξίδεη ην script πνπ θηηάρλνπκε. Γηα παξάδεηγκα ζηελ αξρή πνπ γίλεηαη ζχλδεζε σο ―anonymous‖, ην while read απνζεθεχεη ζηελ $incmd ηελ ηηκή ―USER‖ θαη ζηελ $parm1 ηελ ηηκή ―anonymous‖. Μέζσ ηνπ case ν έιεγρνο κεηαβαίλεη ζην αληίζηνηρν κπινθ εληνιψλ, φπνπ γίλεηαη έιεγρνο γηα ην αλ δφζεθε σο username ην ―anonymous‖ νπφηε θαη ζα επηηξέςεη ηε ζχλδεζε εκθαλίδνληαο ην αληίζηνηρν κήλπκα, αιιηψο ζα εκθαληζηεί ην κήλπκα "530 Login incorrect". ηελ πεξίπησζε ηεο ―ls‖, νπφηε ιακβάλνληαη δηαδνρηθά νη ―PORT‖ θαη ―NLST‖ κφλν ζηε κία απφ απηέο ρξεηάδεηαη λα βάινπκε θάπνην κπινθ εληνιψλ πνπ ζα εθηειεζηνχλ σο απάληεζε. ην κπινθ ηεο ―PORT‖ εκθαλίδεηαη ν ππνηηζέκελνο θαηάινγνο ―ftp‖, ελψ ζην κπινθ ηεο ―NLST‖ εκθαλίδεηαη κφλν ν θσδηθφο ηεο πξάμεο. Όηαλ ν client εθηειεί ―cd ftp‖, ην κπινθ ηεο ―CWD‖ ειέγρεη αλ ν client είλαη ζηνλ αξρηθφ θαηάινγν νπφηε κπνξεί λα κεηαβεί ζηνλ ftp ή αλ έρεη ήδε αιιάμεη θαη ηφηε εκθαλίδεηαη ην κήλπκα "550 Failed to change directory.". Μέζα ζηνλ ftp εκθαλίδεηαη λα ππάξρεη θαη έλα αξρείν κε φλνκα ―ftp_conf.text‖ γηα ηελ πεξίπησζε πνπ εθηειεζηεί ―ls‖ ζηνλ ftp. Να ζεκεηψζνπκε πσο φηαλ ζέινπκε λα δψζνπκε νπνηνδήπνηε κήλπκα σο απάληεζε ζηνλ client ρξεζηκνπνηνχκε ηελ εληνιή θειχθνπο ―echo‖ θαη πσο πξέπεη ζηελ αξρή θάζε κελχκαηνο λα εκθαλίδεηαη ν αληίζηνηρνο θσδηθφο ηεο πξάμεο φπσο γίλεηαη θαη ζηελ πξαγκαηηθφηεηα. ην παξαπάλσ script είλαη πινπνηεκέλεο κφλν νη πην ζπρλέο εληνιέο.

Δθηέιεζε αιεζηλώλ ππεξεζηώλ ή πξνγξακκάησλ:

Λφγσ ηεο δπζθνιίαο πνπ έρνπλ ηα scripts ππεξεζηψλ ζηελ θαηαζθεπή ηνπο θαη ηεο ρακειήο δηαδξαζηηθφηεηαο πνπ ηειηθά επηηπγράλνπλ, κπνξεί λα απνδεηρηεί πνιχηηκε ε δπλαηφηεηα ηνπ honeyd λα εθηειεί αιεζηλά πξνγξάκκαηα. Απηή ε δπλαηφηεηα νλνκάδεηαη subsystem virtualization. Αλ γηα παξάδεηγκα ζέιακε λα εθηειέζνπκε ηελ ππεξεζία ssh ζε έλα απφ ηα honeypots, ζην αξρείν ξπζκίζεσλ ηνπ honeyd ζα πξνζζέηακε ηελ παξαθάησ δήισζε:

add <template name> subsystem ―/usr/sbin/sshd‖.

Έηζη, φηαλ γίλεη κία ζχλδεζε ζηε ζχξα 22 απηφκαηα ζα εθηειεζηεί ην πξφγξακκα πνπ πξνζδηνξίζηεθε ζηε δήισζε. Πηζαλφλ λα ρξεηαζηεί λα δψζνπκε ζην honeyd θαηά ηελ

;;

ACCT* )

echo -e "502 $incmd command not implemented.\r"

;;

esac

echo -e "$incmd $parm1 $parm2 $parm3 $parm4 $parm5" >> $log

done

#

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 59

εθηέιεζε δηθαηψκαηα ππεξρξήζηε δίλνληαο ζηε γξακκή εληνιψλ ηηο παξακέηξνπο: -u 0 –g 0, πνπ ζέηνπλ user id θαη group id ην ―0‖ πνπ αληηζηνηρεί ζηνλ ππεξρξήζηε. Πξνζνρή! Σξέρνληαο ηηο αιεζηλέο ππεξεζίεο ζηα honeypots ζα εθζέζεηε ηνλ ππνινγηζηή ζαο πεξηζζφηεξν. Αλ γηα παξάδεηγκα ρξεζηκνπνηείηε ήδε ηελ ππεξεζία ssh γηα λα έρεηε απνκαθξπζκέλε πξφζβαζε ζηνλ ππνινγηζηή πνπ είλαη ν honeyd server θαη ν επηηηζέκελνο θαηαθέξεη λα βξεη ηνλ θσδηθφ ή λα ηνλ παξαθάκςεη, ζα έρεη ακέζσο πξφζβαζε ζηνλ ππνινγηζηή.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 60

ΚΔΦΑΛΑΙΟ 4

4. Σα δεδνκέλα από ηε βάζε δεδνκέλσλ ηνπ Snort

ε απηφ ην θεθάιαην ζα παξνπζηαζηνχλ θαη επεμεγεζνχλ ηα alerts πνπ θαηέγξαθε ην ινγηζκηθφ Snort ζε δηάζηεκα πεξίπνπ έμη κελψλ. Δπίζεο, ζα δνζνχλ δηαγξάκκαηα πνπ καο βνεζάλε λα βγάινπκε ζπκπεξάζκαηα απφ ηελ δηθηπαθή θίλεζε πνπ αλέιπζε ην ινγηζκηθφ.

4.1 Alerts

Σηο πξψηεο κέξεο ιεηηνπξγίαο, ην Snort παξαθνινπζνχζε ηφζν ην dark address space 88.197.11.0/24 ( πίλαθαο 1 ) φζν θαη ην παξαγσγηθφ ππνδίθηπν ζην νπνίν βξηζθφηαλ ν ίδηνο 195.134.71.0/24 ( πίλαθαο 5 ). Η παξαηήξεζε ηνπ παξαγσγηθνχ ππνδηθηχνπ δελ απνηειεί ζηφρν απηήο ηεο εξγαζίαο θαη γηα απηφ ηα alerts πνπ αλήθνπλ ζε απηφ πεξηγξάθνληαη ζην εδάθην §6.1 μερσξηζηά. Θα επηθεληξσζνχκε πεξηζζφηεξν ζην darknet.

Πίλαθαο 1: Σα είδε ησλ alerts πνπ θαηαγξάθεθαλ ζην ρώξν ηνπ darknet. Φηάλνπλ ηα ηξηάληα

νθηώ ζε αξηζκό.

Alert Signature Classification

DDOS Stacheldraht client check gag attempted-dos

frag3: Fragmentation overlap unclassified

ftp_pp: FTP bounce attack policy-violation

ftp_pp: FTP command channel encrypted protocol-command-decode

ftp_pp: Invalid FTP command protocol-command-decode

ftp_pp: Possible string format attempt in FTP command/parameter attempted-admin

http_inspect: BARE BYTE UNICODE ENCODING unclassified

ICMP Destination Unreachable Communication Administratively Prohibited misc-activity

ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited misc-activity

ICMP PING CyberKit 2.2 Windows misc-activity

ICMP PING NMAP attempted-recon

ICMP redirect host bad-unknown

ICMP Source Quench bad-unknown

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 61

4.2 Δξκελεία γηα ηα είδε ησλ alerts

Σα alerts πνπ γελλάεη ην Snort πξνέξρνληαη απφ ηξία δηαθνξεηηθά ηκήκαηα ηνπ ινγηζκηθνχ. Σε detection engine, ηελ preprocessor engine θαη ηνλ decoder. Απφ ηελ capture engine ην παθέην νδεγείηαη ζηνλ decoder, απφ εθεί ζηελ preprocessor engine θαη ηέινο ζηελ detection engine.

O Snort decoder παξαθνινπζεί ηε δνκή ησλ παθέησλ γηα λα ζηγνπξεπηεί φηη απηά αθνινπζνχλ ηηο ζπλήζεηο πξνδηαγξαθέο. Αλ γηα παξάδεηγκα έλα παθέην έρεη

ICMP superscan echo attempted-recon

portscan: TCP Portscan unclassified

portscan: TCP Portsweep unclassified

SNMP AgentX/tcp request attempted-recon

SNMP request tcp attempted-recon

SNMP trap tcp attempted-recon

Snort Alert [1:0:0] unclassified

Snort Alert [1:10136:0] attempted-admin

Snort Alert [1:11264:0] attempted-admin

Snort Alert [1:2002974:0] unclassified

Snort Alert [1:3441:0] misc-attack

Snort Alert [1:3626:0] attempted-dos

Snort Alert [1:6512:0] attempted-admin

snort_decoder: Experimental TCP options non-standard-protocol

snort_decoder: Short UDP packet, length field > payload length non-standard-protocol

snort_decoder: TCP Data Offset is less than 5! non-standard-protocol

snort_decoder: Tcp Options found with bad lengths non-standard-protocol

snort_decoder: Truncated Tcp Options non-standard-protocol

snort_decoder: WARNING: ICMP Original IP Fragmented and Offset Not 0! non-standard-protocol

snort_decoder: WARNING: ICMP Original IP Header Not IPv4! non-standard-protocol

snort_decoder: WARNING: ICMP Original IP Payload < 64 bits! non-standard-protocol

ssh: Protocol mismatch unclassified

WEB-FRONTPAGE /_vti_bin/ access web-application-activity

WEB-FRONTPAGE posting web-application-activity

WEB-PHP Setup.php access web-application-activity

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 62

αζπλήζηζην κέγεζνο (π.ρ. είλαη πνιχ κηθξφ) ή πνιχ αζπλήζηζηεο ξπζκίζεηο (π.ρ. TCP options) ηφηε γελλάεη έλα alert γηα απηφ ην παθέην. Απηφ ζεκαίλεη φηη είλαη πηζαλφ νξηζκέλα ηέηνηα alert λα απνηεινχλ false positives. Τπάξρεη δπλαηφηεηα απελεξγνπνίεζεο ηεο γελλήηξηαο alerts ηνπ decoder κέζα απφ ην αξρείν ξπζκίζεσλ ηνπ Snort.

Η preprocessor engine απνηειείηαη απφ δηάθνξα plug-ins ζηφρνο ησλ νπνίσλ είλαη λα πξνεηνηκάζνπλ ηα παθέηα ψζηε φηαλ θηάζνπλ ζηελ detection engine λα κπνξνχλ λα ειεγρζνχλ πην εχθνια θαη πην απνδνηηθά. Γηα παξάδεηγκα ν preprocessor frag3 αλαζπλζέηεη ηα θαηαθεξκαηηζκέλα παθέηα ζε έλα κεγαιχηεξν ψζηε ηα rules ηεο detection engine λα εθαξκνζηνχλ πάλσ ζε απηφ θαη φρη ζηα θνκκάηηα ηνπ. Ο http_inspect θάλεη θαλνληθνπνίεζε ησλ δεδνκέλσλ κεηαηξέπνληαο http requests πνπ είλαη ζε Unicode ζε κνξθή ASCII, έηζη ψζηε λα κπνξνχλ λα εθαξκνζηνχλ θαη ζε Unicode ηα rules πνπ έρνπλ γξαθηεί γηα ASCII.

Η detection engine αλαιχεη ηα εηζεξρφκελα παθέηα εθαξκφδνληαο ζε απηά έλα ζχλνιν απφ rules (θαλφλεο). Οη θαλφλεο απηνί αλαπηχζζνληαη απφ ζπγθεθξηκέλεο νκάδεο ζην ρψξν ηεο αζθάιεηαο ακέζσο κφιηο βξεζνχλ exploits γηα δηάθνξα πξνγξάκκαηα. Καλφλεο επίζεο, κπνξεί λα θηηάμεη ν θάζε ρξήζηεο ηνπ Snort πξνθεηκέλνπ λα θαιχςεη ηηο ηδηαίηεξεο αλάγθεο ηνπ.

Δλδηαθέξνλ ζα ήηαλ λα πξνζπαζήζνπκε λα εξκελεχζνπκε ηε ζεκαζία θαη ηε ζπνπδαηφηεηα ηνπ θάζε alert μερσξηζηά. Γηα απηφ παξαθάησ δίλεηαη κία εξκελεία γηα ηα πεξηζζφηεξα απφ ηα alerts πνπ θαηαγξάθεθαλ ζην ρψξν ηνπ darknet.

ssh: Protocol mismatch:

Μηα ζπλεζηζκέλε εηδνπνίεζε πνπ κπνξεί λα νθείιεηαη ζε δηάθνξα αίηηα. πλήζσο mismatch (αζπκθσλία) ηνπ πξσηνθφιινπ ssh κπνξεί λα πξνθιεζεί γηα ηνπο εμήο ιφγνπο: είηε επηρεηξείηαη ζχλδεζε κεηαμχ δχν ππνινγηζηψλ κε δηαθνξεηηθέο εθδφζεηο ssh (SSH1/SSH2), είηε θάπνηνο πξνζπαζεί λα ζπλδεζεί ζηελ ζχξα ηνπ ssh κέζσ άιιεο ππεξεζίαο (π.ρ. telnet). Αλ θαη ην mismatch ζηε γεληθή πεξίπησζε δελ απνηειεί πξφβιεκα, ππάξρνπλ νξηζκέλα switches ηεο Cisco (Catalyst 6000,5000,4000) ηα νπνία αλ ην πξσηφθνιιν πνπ επηρεηξεί λα ζπλδεζεί δελ είλαη ssh, νδεγνχληαη ζε επαλεθθίλεζε ιφγσ απνηπρίαο ηεο supervisor engine. Όπσο είλαη θπζηθφ, θάηη ηέηνην ζα κπνξνχζε λα ρξεζηκνπνηεζεί ζε επηζέζεηο DOS. Πνιιέο εηδνπνηήζεηο γηα ssh mismatch απνδεηθλχνληαη false positives αλ ν πξνεπεμεξγαζηήο ηνπ snort είλαη ξπζκηζκέλνο ζε autodetect.

snort_decoder: Short UDP packet, length field > payload length:

Η εηδνπνίεζε απηή ππνδεηθλχεη φηη έλα UDP datagram πνπ έιαβε ν ππνινγηζηήο είρε κηθξφηεξν ζψκα δεδνκέλσλ απφ φηη ήηαλ δεισκέλν ζηελ επηθεθαιίδα ηνπ. Πνιχ ζπρλά εηδνπνηήζεηο ηέηνηνπ ηχπνπ είλαη false positives πνπ παξάγνληαη απφ θαθή αλάγλσζε ηνπ παθέηνπ απφ ηνλ decoder ηνπ snort. ηελ πεξίπησζε πνπ ην παθέην φλησο είρε εζθαικέλα ζηνηρεία ζηελ επηθεθαιίδα ηνπ, θαηά πάζα πηζαλφηεηα είρε σο ζθνπφ κηα επίζεζε είηε κε ηε κνξθή θαηάξξεπζεο ηνπ εμππεξεηεηή, είηε κε ηελ απφπεηξα εθηέιεζεο θψδηθα ζε κε επηηξεπφκελε ζέζε (πξνθαιψληαο επίζεο θαηάξξεπζε, ή απνθηψληαο πξφζβαζε ζε πξνζηαηεπκέλα δεδνκέλα). Μηα άιιε πηζαλή θαθφβνπιε ρξήζε ηνπ εζθαικέλνπ κεγέζνπο είλαη λα απνθξχπηεη κηα άιιε επίζεζε πνπ κπνξεί λα πεξηέρεη ην παθέην, αθνχ ν decoder ζα παξάγεη πξψηνο ηελ (ρακειήο πξνηεξαηφηεηαο) εηδνπνίεζε γηα ην κέγεζνο.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 63

portscan: TCP Portsweep

Σν snort παξάγεη ηέηνηεο εηδνπνηήζεηο φηαλ αληρλεπζεί δξαζηεξηφηεηα ζάξσζεο ζπξψλ (portsweeping) κε ρξήζε ηνπ πξσηνθφιινπ TCP. Σν portsweeping είλαη κηα ππνπεξίπησζε ηνπ portscanning, ην νπνίν πεξηγξάθεηαη παξαθάησ. Όηαλ θάπνηνο εθηειεί portsweeping ζην δίθηπφ καο, ζηελ νπζία εμεηάδεη πφζνη απφ ηνπο δηαθνκηζηέο ζε έλα εχξνο δηεπζχλζεσλ IP έρνπλ αλνηρηή κηα ζπγθεθξηκέλε ζχξα. Η ηερληθή απηή αλήθεη ζην πξνπαξαζθεπαζηηθφ ζηάδην κηαο επίζεζεο. Υξεζηκφηεηά ηεο είλαη ν εληνπηζκφο ππνινγηζηψλ πνπ είλαη επάισηνη κέζσ ελφο ζπγθεθξηκέλνπ πξσηνθφιινπ ή ππεξεζίαο, αθνχ νη εθαξκνγέο απηέο "αθνχλ" ζπλήζσο ζε κηα εηδηθή ζχξα, ή νπνία θαη ζαξψλεηαη. Γηα ηνλ ιφγν απηφ νη θαηαγξαθέο θίλεζεο portsweep ζην Γηαδίθηπν απμάλνληαη φηαλ αλαθαιπθζεί θάπνην λέν θελφ αζθαιείαο ζε ζπγθεθξηκέλε εθαξκνγή. Σελ ηερληθή ρξεζηκνπνηνχλ επίζεο θαη πνιιά worms. Οη κέζνδνη πνπ ρξεζηκνπνηνχληαη γηα portsweeping είλαη αληίζηνηρεο κε απηέο ηνπ portscanning. Σν snort ρξεζηκνπνηεί έλα ζχλνιν επξηζηηθψλ θαλφλσλ γηα λα αληηιεθζεί αλ ε παξαβαηηθή θίλεζε πνπ εληνπίδεη απνηειεί κέξνο portscan ή portsweep. Π.ρ. εμεηάδεηαη ν ιφγνο ζηνρεπφκελσλ δηεπζχλζεσλ IP αλά ζχξα, ν νπνίνο πξέπεη λα είλαη κεγάινο ζηελ πεξίπησζε portsweep. Σν snort είλαη πηζαλφ λα παξάγεη false positives, ππνδεηθλχνληαο φηη ν ππνινγηζηήο καο εθηειεί ζάξσζε, θαηά ηελ πεξηήγεζε ζην Γηαδίθηπν φπνπ θάλνπκε ζπρλά αηηήζεηο ζηελ ίδηα ζχξα ζε δηαθνξεηηθέο δηεπζχλζεηο IP.

ICMP PING NMAP:

Απηή ε εηδνπνίεζε παξάγεηαη φηαλ ν ππνινγηζηήο δερηεί κηα echo αίηεζε ping κε ρξήζε ηνπ πξσηνθφιινπ ICMP. Σν ζχζηεκα ζεσξεί φηη ε αίηεζε πξνέξρεηαη απφ ην nmap, έλα πνιχ γλσζηφ πξφγξακκα αλίρλεπζεο αδπλακηψλ ζε δίθηπα, δηφηη ην παθέην δελ πεξηέρεη θαζφινπ δεδνκέλα ζην ζψκα ηνπ. Η αίηεζε ρξεζηκεχεη ζηελ αλίρλεπζε ππνινγηζηψλ πνπ αληηζηνηρνχλ ζε δηεπζχλζεηο ζε έλα δίθηπν. Σν πξσηφθνιιν ICMP ρξεζηκνπνηείηαη κφλν εθφζνλ ν επηηηζέκελνο έρεη δηθαηψκαηα root ζηνλ ππνινγηζηή ηνπ (αιιηψο ρξεζηκνπνηείηαη TCP). Δπίζεο κηα αίηεζε ping γίλεηαη απφ πξνεπηινγή πξηλ απφ αλίρλεπζε αλνηρηψλ ζπξψλ (portscanning). Αλ ν επηηηζέκελνο ιάβεη απάληεζε ζηελ αίηεζή ηνπ, ζπλήζσο ζεκαίλεη φρη κφλν πσο ε ζηνρεπφκελε δηεχζπλζε αληηζηνηρεί ζε ππνινγηζηή, αιιά θαη πψο ν ππνινγηζηήο είλαη πεπαιαησκέλνο/απξνζηάηεπηνο, θαζψο ηα πεξηζζφηεξα ζπζηήκαηα γλσξίδνπλ απηφ ηνλ ηχπν αλίρλεπζεο θαη ιακβάλνπλ αληίκεηξα. Σν κεηνλέθηεκα απφ ηελ πιεπξά ηνπ επηηηζέκελνπ είλαη φηη γηα λα ιάβεη απάληεζε ζην ping πξέπεη λα ζπκπεξηιάβεη ηελ πξαγκαηηθή ηνπ δηεχζπλζε ζην παθέην. Όπσο είλαη ζχλεζεο ζηηο εηδνπνηήζεηο γηα ping, κπνξεί λα είλαη false positive, δηφηη εθηφο απφ ην nmap θαη άιια πξνγξάκκαηα ζηέιλνπλ ICMP αηηήζεηο ping κε κεδεληθά δεδνκέλα (Kontiki, ππεξεζία ελεκέξσζεο ηνπ avast! antivirus).

EXPLOIT symantec antivirus realtime virusscan overflow attempt (Snort Alert [1:6512:0]) :

ηφρνο ηνπ θαλφλα πνπ παξάγεη απηή ηελ εηδνπνίεζε είλαη λα ελεκεξψζεη γηα ηελ απφπεηξα εθκεηάιιεπζεο ηνπ θελνχ αζθαιείαο νξηζκέλσλ εθδφζεσλ ηνπ πξνγξάκκαηνο Symantec AntiVirus (1.0.0.x, 1.0.1.x, 3.0.x θαη 3.1.x). Έλαο αλψλπκνο επηηηζέκελνο κπνξεί κέζσ ηεο ππεξεζίαο απνκαθξπζκέλεο δηαρείξηζεο λα εθκεηαιιεπηεί έλα πξφβιεκα πνπ νδεγεί ζε ππεξρείιηζε buffer θαη λα εθηειέζεη πηζαλψο επηδήκην θψδηθα κε δηθαηψκαηα SYSTEM ή λα νδεγήζεη ην ζχζηεκα ζε θαηάξξεπζε. Η ππεξεζία απνκαθξπζκέλεο δηαρείξηζεο είλαη ζπλήζσο ελεξγνπνηεκέλε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 64

ζε ζπζηήκαηα κε εηαηξηθέο ξπζκίζεηο θαη απφ πξνεπηινγή αθνχεη ζηελ ζχξα TCP 2967 ζηνλ πειάηε αιιά θαη ζηνλ εμππεξεηεηή. Παξφιν πνπ ε ρξήζε ηεο ππεξεζίαο ρξεζηκνπνηεί θξππηνγξαθία SSL, ηα δηαρεηξηδφκελα ζπζηήκαηα απνδέρνληαη αηηήκαηα θαη ζε κνξθή clear-text. Η ππεξεζία ρξεζηκνπνηεί έλα δηθφ ηεο πξσηφθνιιν κε 2 επίπεδα. Η θεθαιίδα ηνπ εμσηεξηθνχ επηπέδνπ πξνζδηνξίδεη ην είδνο ηνπ κελχκαηνο: 10 γηα αηηήζεηο ζην πξφγξακκα Rtvscan.exe (αλίρλεπζε ηψλ ζε πξαγκαηηθφ ρξφλν), 20 θαη 30 γηα ζπλδηαιιαγή SSL. Σα κελχκαηα ηχπνπ 10 πεξηέρνπλ δηθή ηνπο θεθαιίδα ζηελ νπνία κπνξνχλ λα ζπκπεξηιεθζνχλ δηεπθξηληζηηθέο εληνιέο πξνο ην Rtvscan.exe. Η ρξεζηκνπνίεζε ηεο εληνιήο COM_FORWARD_LOG επηηξέπεη ηελ εθηέιεζε απζαίξεησλ δεδνκέλσλ ιφγσ κηαο αληηθαλνληθήο ρξήζεο ηεο strncat πνπ πξνθαιεί ππεξρείιηζε buffer. Η εηαηξεία Symantec έρεη εθδψζεη ελεκεξψζεηο πνπ δηνξζψλνπλ ην πξφβιεκα, θαζψο θαη πηζαλά αληίκεηξα γηα ηελ απνθπγή ηνπ θαη ηαπηφηεηεο ηψλ πνπ ελδέρεηαη λα ην εθκεηαιιεπηνχλ. Απηφο ν θαλφλαο ηνπ snort δελ παξάγεη false positives.

Πεξηζζόηεξεο πιεξνθνξίεο: http://www.securityfocus.com/archive/1/436860.

Σεκείωζε: ην ζχζηεκά καο νη εηδνπνηήζεηο πξνθιήζεθαλ απφ 2 δηαθνξεηηθέο IP νη νπνίεο έζηειλαλ παθέηα κε πξννξηζκφ δηαδνρηθέο δηεπζχλζεηο ηνπ darknet. Οη επηζέζεηο θαη απφ ηηο 2 δηεπζχλζεηο έγηλαλ ζε δηάζηεκα ιίγσλ ιεπηψλ, ελψ θαη νη 2 δηεπζχλζεηο βξίζθνληαη ζηελ Κίλα.

ICMP PING CyberKit 2.2 Windows:

Η εηδνπνίεζε απηή ππνδειψλεη φηη ην ζχζηεκα έγηλε παξαιήπηεο κηαο ping echo αίηεζεο, ε νπνία ρξεζηκνπνηεί ην πξσηφθνιιν ICMP. Η ππνγξαθή πνπ θέξεη ην παθέην θαη ραξαθηεξίδεηαη σο CyberKit είλαη 64 ζπλερφκελεο εκθαλίζεηο ησλ (δεθαεμαδηθψλ) ραξαθηήξσλ ―aa‖ ζην ζψκα ηνπ. Σν CyberKit είλαη έλα πξφγξακκα κε γξαθηθφ πεξηβάιινλ πνπ πεξηέρεη πιήζνο εξγαιείσλ γηα έιεγρν θαη επίβιεςε δηθηχσλ. Μία απφ ηηο δπλαηφηεηέο ηνπ είλαη ε απνζηνιή αηηήζεσλ ping. Αλ θαη ε αίηεζε απηή κπνξεί λα έγηλε θαζαξά γηα ιφγνπο επίβιεςεο ηνπ δηθηχνπ, είλαη πηζαλφ, φπσο θαη ζε θάζε αίηεζε ping, λα απνζθνπεί ζηελ αλίρλεπζε επάισησλ ππνινγηζηψλ. Έλαο αθφκε ιφγνο γηα ηνλ νπνίν ε εηδνπνίεζε ρξήδεη πξνζνρήο, είλαη φηη κπνξεί λα πξνέξρεηαη απφ ηνλ ηφ Welchia/Nachi. Ο ηφο απηφο πξνζπαζεί λα εληνπίζεη ηξσηνχο ππνινγηζηέο ρξεζηκνπνηψληαο παξφκνηεο αηηήζεηο ping γηα λα εγθαηαζηαζεί ζε απηνχο. Ο Welchia ρξεζηκνπνηεί ζπλήζσο ηε ζχξα 135 ελψ εγθαζίζηαηαη ζε ππνινγηζηέο κε ιεηηνπξγηθφ Windows (XP ή 2000).

Welchia/Nachi:

Ο ηφο Welchia ζα κπνξνχζε λα ραξαθηεξηζηεί σο ―βνεζεηηθφο ηφο‖. Αθνχ εγθαηαζηαζεί ζε έλαλ ππνινγηζηή, πξνζπαζεί λα θαηαπνιεκήζεη ην θαθφβνπιν ινγηζκηθφ MSBlast/Lovesan. Ο MSBlast εθκεηαιιεχεηαη ην θελφ αζθαιείαο RPC/DCOM ησλ ιεηηνπξγηθψλ ζπζηεκάησλ Windows XP, Windows 2000, Windows NT 4.0 θαη Windows Server 2003, κε ρξήζε ηνπ νπνίνπ θάπνηνο θαθφβνπινο κπνξεί λα πξνθαιέζεη ππεξρείιηζε buffer θαη λα εθηειέζεη θψδηθα ζε κε επηηξεπφκελεο ζέζεηο. Ο Welchia πξνζπαζεί λα εγθαηαζηήζεη (ρσξίο λα ειέγμεη ηθαλνπνίεζε εμαξηήζεσλ) patches ηεο Microsoft πνπ δηνξζψλνπλ ην πξφβιεκα. Μεηά ηελ εγθαηάζηαζε επαλεθθηλεί ηνλ ππνινγηζηή. Απηφ ην ραξαθηεξηζηηθφ θάλεη δπλαηή ηε ρξήζε ηνπ ζε επηζέζεηο DOS. Ο Welchia απελεξγνπνηείηαη απηφκαηα ην 2004.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 65

ICMP superscan echo:

Σν snort παξάγεη απηή ηελ εηδνπνίεζε φηαλ δηαβάζεη έλα παθέην ICMP ηχπνπ 8 (αίηεζε ICMP_ECHO) ην νπνίν έρεη σο payload 8 ραξαθηήξεο, φινπο κεδεληθά (ζε δεθαεμαδηθή κνξθή: 00 00 00 00 00 00 00 00). Η ππνγξαθή απηή ππνδειψλεη φηη ην παθέην πξνέξρεηαη απφ ην γλσζηφ πξφγξακκα SuperScan. Σν SuperScan είλαη έλα δεκνθηιέο πξφγξακκα ηεο Foundstone ζπκβαηφ κε ιεηηνπξγηθφ Windows. Οη βαζηθέο ηνπ ιεηηνπξγίεο είλαη αλίρλεπζε αλνηρηψλ ζπξψλ ζε ππνινγηζηέο ελφο δηθηχνπ, αλίρλεπζε ελεξγψλ ππνινγηζηψλ θαη ππεξεζηψλ, tracerouting θ.α.. Η ηειεπηαία ηνπ έθδνζε εηζάγεη πην ηζρπξέο δπλαηφηεηεο φπσο πιεξνθνξίεο BIOS θαη ινγαξηαζκψλ ρξεζηψλ. Σν SuperScan κπνξεί λα ρξεζηκνπνηεζεί ηφζν γηα ηνλ έιεγρν επηπέδσλ αζθαιείαο θαη ηελ επηηήξεζε ελφο δηθηχνπ απφ δηαρεηξηζηέο, φζν θαη απφ θαθφβνπινπο ρξήζηεο. Αλ ιάβνπκε παθέηα ICMP_ECHO πνπ παξάγνληαη απφ ην πξφγξακκα απηφ, είλαη πηζαλφ λα πξφθεηηαη γηα πξνπαξαζθεπαζηηθφ ζηάδην κειέηεο ηνπ δηθηχνπ καο απφ θάπνηνλ ηξίην πξηλ ηελ εθθίλεζε κηαο επίζεζεο, ηδηαίηεξα αλ πξνέξρνληαη απφ εμσηεξηθή άγλσζηε πεγή. Όπσο πάληα, δελ είλαη ζίγνπξν φηη έλα παθέην κε ηελ παξαπάλσ ππνγξαθή πξνέξρεηαη απφ ην SuperScan, αιιά απζαίξεην traffic ηνπ πξσηνθφιινπ ICMP ζεσξείηαη χπνπην, ελψ δελ είλαη γλσζηή θάπνηα άιιε εθαξκνγή πνπ λα παξάγεη παξφκνηα παθέηα.

ICMP Source Quench:

Η εηδνπνίεζε απηή παξάγεηαη απφ ην snort θάζε θνξά πνπ δέρεηαη έλα παθέην ICMP ηχπνπ 4 (ICMP Source Quench). Ο θσδηθφο ηνπ παθέηνπ είλαη πάληα 0. Σν κήλπκα απηφ ηνπ ICMP ζηέιλεηαη απφ έλα δξνκνινγεηή, ή γεληθφηεξα έλα θφκβν ζε κηα ζχλδεζε, πξνο ηνλ πξνεγνχκελφ ηνπ, δειψλνληαο πσο δελ έρεη ηελ δπλαηφηεηα λα δηαρεηξηζηεί ηνλ φγθν δεδνκέλσλ πνπ ηνπ ζηέιλεηαη. Ο ιφγνο είλαη ζπλήζσο έιιεηςε ρψξνπ buffer ή πξνβιήκαηα ζηε δξνκνιφγεζε παθέησλ ζηε ζχλδεζε. Ο δξνκνινγεηήο πνπ ιακβάλεη ην κήλπκα πξέπεη λα ειαηηψζεη ηνλ ξπζκφ κεηάδνζεο δεδνκέλσλ γηα ηηο αλάγθεο ηεο ζχλδεζεο (ζπλήζσο ν ξπζκφο αξρίδεη λα απμάλεηαη κεηά απφ 10 ιεπηά). Η κέζνδνο απηή είλαη ζρεηηθά απαξραησκέλε θαη δελ ζπλεζίδεηαη πιένλ, θαζψο ρξεζηκνπνηείηαη ην πξσηφθνιιν TCP γηα λα επηιχνληαη ηέηνηα δεηήκαηα (ζχκθσλα κε ην RFC 1812). Δθηφο απφ ηελ θαζηεξσκέλε ρξήζε ησλ κελπκάησλ ICMP Source Quench, θάπνηνο θαθφβνπινο κπνξεί λα ζηείιεη κεγάιν πιήζνο ηέηνησλ παθέησλ ζε έλα δξνκνινγεηή κε ζθνπφ λα κεηψζεη ζε νξηαθφ επίπεδν ηηο ηαρχηεηεο απνζηνιήο δεδνκέλσλ ζηηο ζπλδέζεηο πνπ εμππεξεηνχληαη, πξνθαιψληαο ρακειέο απνδφζεηο ή αθφκα θαη Denial of Service. Ο επηηηζέκελνο κπνξεί ζρεηηθά εχθνια λα βξεη ζηνηρεία πνπ αληηζηνηρνχλ ζε ππάξρνπζεο ζπλδέζεηο (δηεπζχλζεηο IP, αξηζκνχο ζπξψλ) θαη λα πιαζηνγξαθήζεη θαηαιιήισο ηα κελχκαηά ηνπ ψζηε λα ηηο πιήμεη. Ο επθνιφηεξνο ηξφπνο λα πξνζηαηεπζεί θαλείο απφ ηέηνηνπ είδνπο επηζέζεηο είλαη λα απαγνξεχζεη ηελ απνδνρή κελπκάησλ ICMP ηχπνπ 4, θαζψο ε ρξήζε ηνπο εθηφο απφ χπνπηε είλαη θαη ζπάληα. Ο θαλφλαο ηνπ snort παξάγεη false positives ζε πεξίπησζε έγθπξεο ρξήζεο ηνπ κελχκαηνο, θαζψο ειέγρεη κφλν ηα ζηνηρεία ηεο θεθαιίδαο.

Δεκνθηιέο άξζξν πνπ πεξηγξάθεη ζελάξην ηεο επίζεζεο: http://www.gont.com.ar/tools/icmp-attacks/bugtraq-icmp-quench.txt

Σεκείωζε: ην ζχζηεκά καο ιάβακε πεξίπνπ 250 παθέηα απφ ηελ ίδηα δηεχζπλζε IP πνπ πξννξίδνληαλ πξνο κηα ζπγθεθξηκέλε δηεχζπλζε ηνπ honeypot. Γεδνκέλνπ φηη ην honeypot είλαη απίζαλν λα παξάγεη αξθεηά δεδνκέλα γηα λα ζπκθεξφζνπλ έλαλ δξνκνινγεηή ζε ηέηνην βαζκφ, πξέπεη λα ππνζέζνπκε φηη επξφθεηην γηα επίζεζε DoS.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 66

portscan: TCP Portscan:

Η αηηία απηψλ ησλ εηδνπνηήζεσλ απνηειεί ηελ πην θιαζηθή ίζσο επίζεζε ζε ππνινγηζηέο, ε νπνία δελ είλαη άιιε απφ ηελ αλίρλεπζε ζπξψλ (portscanning). Η ηερληθή απηή αλήθεη ζην πξνπαξαζθεπαζηηθφ ζηάδην κηαο επίζεζεο. ηφρνο ηνπ επηηηζέκελνπ είλαη λα αλαθαιχςεη πνηεο ζχξεο είλαη αλνηρηέο ζε έλαλ ππνινγηζηή. Έηζη κπνξεί λα θαηαιάβεη πνηεο κπνξεί λα ρξεζηκνπνηήζεη γηα ηελ επηθείκελε επίζεζή ηνπ, θαζψο θαη πνηεο ππεξεζίεο ή πξσηφθνιια ρξεζηκνπνηεί ν ππνινγηζηήο, αθνχ ζπλήζσο εμππεξεηνχληαη απφ ζπγθεθξηκέλε ζχξα. Τπάξρνπλ δηάθνξεο κέζνδνη portscanning θαη έρνπλ δηαθνξέο κεηαμχ ηνπο ζηα απνηειέζκαηα θαη ζηελ απφδνζε. Η εηδνπνίεζε πνπ εμεηάδνπκε ππνδειψλεη ηε ρξήζε ηνπ πξσηνθφιινπ TCP. Μέζνδνη TCP portscanning πεξηιακβάλνπλ απιή ρξήζε θιήζεσλ ζπζηήκαηνο (connect scan), SYN scanning, FIN scanning θ.α.. Πνιιέο θνξέο νη επηηηζέκελνη επηρεηξνχλ λα απνθξχςνπλ ηα ζηνηρεία ηνπο ελαιιάζζνληαο παθέηα κε πιαζηνγξαθεκέλε δηεχζπλζε καδί κε ηα απζεληηθά (decoy portscan). Η θαλνληθή θίλεζε ζε έλα δίθηπν πεξηιακβάλεη ιίγεο αξλεηηθέο απαληήζεηο πξνο θιήζεηο ζε ζχξεο ελφο ππνινγηζηή. ηελ πεξίπησζε portscanning φκσο ζα παξάγεηαη κεγάινο αξηζκφο αξλεηηθψλ απαληήζεσλ θαη κάιηζηα ζε κηθξφ ρξνληθφ δηάζηεκα, θαζψο ν επηηηζέκελνο ζαξψλεη ζεηξηαθά ηηο ζχξεο, νη πεξηζζφηεξεο απφ ηηο νπνίεο ζα είλαη θιεηζηέο ή πξνζηαηεπκέλεο. Σν snort αληρλεχεη θίλεζε portscanning κέζσ ηνπ πιήζνπο ησλ αξλεηηθψλ απαληήζεσλ ζε θιήζεηο πξνο έλαλ ππνινγηζηή ζε ζπλδπαζκφ κε ηνλ ρξφλν πνπ παξάγνληαη θαη ηελ δηεχζπλζε απφ ηελ νπνία πξνέξρνληαη. Οξηζκέλνη επηηηζέκελνη επηρεηξνχλ λα απνθχγνπλ ηέηνηεο κεζφδνπο αλίρλεπζεο ρξεζηκνπνηψληαο θαηαλεκεκέλν portscan, δειαδή εθηέιεζή ηνπ απφ πνιινχο ππνινγηζηέο ηαπηφρξνλα. Αξθεηνί ISPs έρνπλ απαγνξεχζεη ηελ εθηέιεζε portscan, ελψ ζε νξηζκέλεο ρψξεο ε ηαθηηθή δηψθεηαη πνηληθά.

WEB-PHP Setup.php access

Μέζσ απηψλ ησλ εηδνπνηήζεσλ ην snort καο ελεκεξψλεη γηα πηζαλή εθκεηάιιεπζε θελψλ αζθαιείαο ηνπ Mediawiki. Σν Mediawiki είλαη έλα πξντφλ δεκηνπξγίαο ηζηνηφπσλ ηχπνπ wiki, ηα νπνία κπνξνχλ λα πθίζηαληαη επεμεξγαζία ζπιινγηθά απφ θνηλφηεηεο. Υξεζηκνπνηεί θαηά θχξην ιφγν ηε scripting γιψζζα PHP γηα ηε δεκηνπξγία ησλ ηζηνζειίδσλ θαη ησλ δηάθνξσλ ιεηηνπξγηψλ. Γπζηπρψο ην Mediawiki δελ θάλεη απζηεξφ έιεγρν ησλ δεδνκέλσλ πνπ εηζάγνληαη απφ ην ρξήζηε, κε απνηέιεζκα λα είλαη εχθνιν λα επεξεάζεη θάπνηνο θαθφβνπινο ηε ιεηηνπξγία ηνπ. ηε ζπγθεθξηκέλε πεξίπησζε ην snort εμεηάδεη αλ γίλεηαη απφπεηξα πξφζβαζεο ζην αξρείν Setup.php, φκσο θαη άιια αξρεία είλαη επάισηα. Λφγσ ηεο έιιεηςεο εμπγείαλζεο ησλ εηζαγφκελσλ δεδνκέλσλ ζηελ παξάκεηξν 'IP' ηνπ κπνξεί θαλείο λα εηζάγεη απζαίξεηα αξρεία PHP σο ηηκή, κε απνηέιεζκα ηελ εθηέιεζε κε επηζπκεηνχ θψδηθα. Η εθκεηάιιεπζε απηνχ ηνπ θελνχ αζθαιείαο δελ απαηηεί ηαπηνπνίεζε ηνπ ρξήζηε. Με παξφκνην ηξφπν είλαη δπλαηή ε παξαβίαζε ηνπ Mediawiki κέζσ ηεο παξακέηξνπ 'wgLanguageCode' ηνπ Setup.php. Δθδφζεηο ηνπ πξνγξάκκαηνο επηξξεπείο ζε απηφ ην πξφβιεκα είλαη νη 1.4x. Σα θελά αζθαιείαο πεξηνξίδνληαη κεξηθψο ζε επφκελεο εθδφζεηο, ησλ νπνίσλ ε εγθαηάζηαζε ζπλίζηαηαη σο ιχζε.

ftp_pp: Possible string format attempt in FTP command/parameter

Απηή ε εηδνπνίεζε παξάγεηαη απφ ηνλ πξνεπεμεξγαζηή ftp ηνπ snort θαη καο ελεκεξψλεη γηα πηζαλή απφπεηξα εθκεηάιιεπζεο ελφο κεγάιεο επηθηλδπλφηεηαο bug ζε νξηζκέλεο εθδφζεηο ηνπ πξσηνθφιινπ ftp. πγθεθξηκέλα ην bug εκθαλίδεηαη ζηνλ ftp daemon ηνπ παλεπηζηεκίνπ ηεο Washington (wu-ftpd, εθδφζεηο 2.6.0 θαη λσξίηεξεο). Η ρξήζε ηνπ ζπγθεθξηκέλνπ πξνγξάκκαηνο ή παξαιιαγψλ ηνπ είλαη πνιχ δηαδεδνκέλε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 67

ζε πιεζψξα ιεηηνπξγηθψλ ζπζηεκάησλ κε βάζε ην Unix. Σν bug κπνξεί λα εθκεηαιιεπηεί θαλείο κε ηελ εθηέιεζε ηεο εληνιήο SITE EXEC, ε νπνία ρξεζηκνπνηεί ηελ εζθαικέλα πινπνηεκέλε ζπλάξηεζε lreply. Η SITE EXEC ρξεζηκεχεη ζηελ εθηέιεζε εληνιψλ ζηνλ ππνινγηζηή πνπ έρνπκε ζπλδεζεί κε ftp. Σν πξφβιεκα νθείιεηαη ζην φηη νη εληνιή απηή δέρεηαη φξηζκα απφ ηνλ ρξήζηε κηα ζπκβνινζεηξά ηελ νπνία ε lreply δηνρεηεχεη ρσξίο λα ηελ εμπγηάλεη ζε κηα ζπλάξηεζε ηχπνπ *printf. Γελ εμαζθαιίδεηαη δειαδή φηη ε ζπκβνινζεηξά ζα απνζεθεπηεί κφλν ζε αζθαιή ρψξν κλήκεο. Αλ π.ρ. θαηαιεθζεί ε ζέζε κλήκεο πνπ ρξεζηκνπνηείηαη σο δηεχζπλζε επηζηξνθήο, ην πξφγξακκα ζα κεηαπεδήζεη ζε απζαίξεηε ζέζε θαη ζα εθηειέζεη ηνλ θψδηθα πνπ βξίζθεηαη εθεί. Αλ ν επηηηζέκελνο έρεη εληνπίζεη ηηο δηεπζχλζεηο κλήκεο φπνπ απνζεθεχνληαη ζπγθεθξηκέλα δεδνκέλα (απηφ κπνξεί λα ην θάλεη πξνπαξαζθεπαζηηθά κε θαηάιιεια πξνγξάκκαηα), κπνξεί εηζάγνληαο κηα θαηαιιήισο θαηαζθεπαζκέλε ζπκβνινζεηξά λα εθηειέζεη shellcode. Σν shellcode ζα πεξαζηεί θαη απηφ σο φξηζκα ζηελ SITE EXEC. Ο ππνινγηζηήο ζα εθηειέζεη πιένλ νπνηαδήπνηε εληνιή πεξηέρεηαη ζην shellcode αληί ηνπ ftp daemon κε δηθαηψκαηα ρξήζηε root. Απηφ νπζηαζηηθά δίλεη ηνλ έιεγρν ηνπ ζπζηήκαηνο ζηνλ επηηηζέκελν. Οη επηπηψζεηο θπκαίλνληαη απφ θαηάξξεπζε ηνπ ftp server θαη DoS κέρξη δηαξξνή εκπηζηεπηηθψλ δεδνκέλσλ θαη θαηαζηξνθή αξρείσλ. ην δηαδίθηπν θπθινθνξνχλ δηάθνξα πξνγξάκκαηα πνπ εθκεηαιιεχνληαη απηφ ην bug γηα ηε δηεμαγσγή επηζέζεσλ. Η πην ζίγνπξε πξνζηαζία απφ ηέηνηεο επηζέζεηο είλαη ε εγθαηάζηαζε ηνπ θαηάιιεινπ patch αζθαιείαο γηα ηνλ ftp daemon. Μπνξεί επίζεο θαλείο, ρσξίο φκσο λα δηνξζψλεη νπζηαζηηθά ην πξφβιεκα, λα επηηξέπεη ηελ ζχλδεζε ftp κφλν ζε εμνπζηνδνηεκέλνπο ρξήζηεο.

Αλάιπζε ηωλ αηηηώλ ηνπ bug θαη θώδηθαο πνπ ην εθκεηαιιεύεηαη: http://www.antoinegirbal.com/?page_id=38

Σεκείωζε: Οη εηδνπνηήζεηο γηα ην δηθφ καο ζχζηεκα είλαη false positives, θαζψο νθείινληαη ζε (κάιινλ αξράξηεο) πξνζπάζεηεο θαθφβνπινπ ρξήζηε λα καληέςεη ηνλ θσδηθφ αζθαιείαο ηεο ππεξεζίαο ftp ηνπ honeypot ζηε δηεχζπλζε 106, πεξηιακβάλνληαο ζηηο ζπκβνινζεηξέο πνπ δνθίκαδε θαη ηνλ ραξαθηήξα "%", ηνλ νπνίν ειέγρεη ην snort γηα λα παξάγεη ηελ εηδνπνίεζε. Σν payload ησλ παθέησλ δελ ππνδεηθλχεη φηη επηρείξεζε λα εθηειέζεη shellcode κέζσ ηεο SITE EXEC.

BLEEDING-EDGE TROJAN Backdoor.Hupigon Possible Control Connection Being Established (Snort Alert [1:2002974:0]) :

Σν πξφζεκα 20029 ηνπ θσδηθνχ ηεο εηδνπνίεζεο δειψλεη φηη παξάγεηαη απφ κηα νκάδα θαλφλσλ ζρεηηθά κε ηνχο ηχπνπ backdoor, νη νπνίνη επηηξέπνπλ ηελ πξφζβαζε απφ ηξίηνπο ζην ζχζηεκα ρσξίο εμνπζηνδφηεζε. Ο ζπγθεθξηκέλνο θαλφλαο πξνεηδνπνηεί γηα ηε δξάζε ηνπ πςειήο επηθηλδπλφηεηαο ηνχ Hupigon. Ο επηηηζέκελνο αξρίδεη ηε ζπλεδξία TCP κε ην πεξηερφκελν "00 00 00 00" θαη ν ειεγρφκελνο ππνινγηζηήο απαληά κε ηελ εκεξνκελία ζε κνξθή "ΔΔΔΔΜΜΗΗ" θαη πιεξνθνξίεο ηνπ ιεηηνπξγηθνχ ζπζηήκαηνο. Οη θαλφλεο αληρλεχνπλ ηελ χπαξμε ηνπ κελχκαηνο "00 00 00 00" ζηελ θεθαιίδα TCP θαζψο θαη ην πεξηερφκελν "Windows" (εθφζνλ ν ηφο εγθαζίζηαηαη κφλν ζε πιαηθφξκεο MS Windows) ζην κήλπκα ελφο παθέηνπ. Αλ θαη ε κέζνδνο δελ είλαη εγγπεκέλν πσο κπνξεί λα πξνζηαηεχζεη ελαληίνλ ηνπ ηνχ, είλαη ζρεηηθά απίζαλν λα παξάγεη false positives.

Σεκείωζε: Οη εηδνπνηήζεηο ζην δηθφ καο ζχζηεκα παξήρζεζαλ φιεο ζε δηάζηεκα 4 ιεπηψλ απφ 7 δηαθνξεηηθέο δηεπζχλζεηο IP πξνο δηάθνξεο δηεπζχλζεηο ηνπ darknet. Σα παθέηα ήηαλ παθέηα έλαξμεο ηεο ζπλεδξίαο κε ην πεξηερφκελν "00 00 00 00" ζηελ θεθαιίδα θαη θελφ ζψκα. Πξνθαλψο πξφθεηηαη γηα θαηαλεκεκέλε επίζεζε. Φπζηθά δελ ππήξμε απάληεζε απφ ην darknet.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 68

Hupigon

Ο Hupigon είλαη έλαο πςειήο επηθηλδπλφηεηαο θηλεδηθήο πξνέιεπζεο ηφο ηχπνπ backdoor γξακκέλνο ζε Delphi. Μπνξεί λα πιήμεη ηηο πεξηζζφηεξεο εθδφζεηο ησλ Windows. Τπάξρνπλ πνιιέο παξαιιαγέο ηνπ ηνχ αιιά φιεο αθνινπζνχλ παξφκνηα δξάζε. Ο Hupigon δελ έρεη δηθφ ηνπ ζχζηεκα δηάδνζεο, αιιά ζηεξίδεηαη ζηε δηαζπνξά κέζσ e-mail θ.α. θαζψο θαη ζηελ εππηζηία ηνπ παξαιήπηε. Όηαλ ηξέμεη θάπνηνο ην εθηειέζηκν ηνπ ηνχ, απηφο αληηγξάθεη ηνλ εαπηφ ηνπ ζην θάθειν εγθαηάζηαζεο ηνπ ιεηηνπξγηθνχ ζπζηήκαηνο θαη πηζαλψο δηαγξάθεη ην αξρηθφ εθηειέζηκν. Σφηε ρξεζηκνπνηεί δηάθνξεο εθαξκνγέο ηνπ ιεηηνπξγηθνχ (cmd.exe, scvhost.exe, winchat.exe) γηα λα πξνζπειάζεη δεδνκέλα πνπ εηζάγεη ν ρξήζηεο. Δπηπιένλ πξνζζέηεη έλαλ αξηζκφ απφ θαηαρσξήζεηο κεηξψνπ (registry). Έλα απφ ηα ζηνηρεία ηνπ ηνχ (hupigon!hook) πξνζθέξεη απφθξπςε ησλ αξρείσλ ηνπ. Μέζα ζηηο δπλαηφηεηέο ηνπ είλαη πξφζβαζε ζηνλ ππνινγηζηή απφ ηξίηνπο, κεηαθνξά πξνζσπηθψλ δεδνκέλσλ, θαηαγξαθή απφ webcam θαη ρξήζε ηνπ ππνινγηζηή σο bot γηα θαηαλεκεκέλεο επηζέζεηο.

DDOS Stacheldraht client check gag:

Η εηδνπνίεζε απηή καο ελεκεξψλεη πσο θάπνηνο επηρείξεζε λα αληρλεχζεη πηζαλνχο μεληζηέο ηνπ πξνγξάκκαηνο Stacheldraht ζην δίθηπφ καο. Σν Stacheldraht είλαη έλα πξφγξακκα πνπ ρξεζηκεχεη ζηε δηεμαγσγή θαηαλεκεκέλσλ επηζέζεσλ Denial of Service (DDOS) θαη πιήηηεη θπξίσο ππνινγηζηέο κε ιεηηνπξγηθφ ζχζηεκα Solaris αιιά θαη Linux. Σν πξφγξακκα ρξεζηκνπνηεί κηα ηεξαξρία απφ ρεηξηζηέο θαη επηηηζέκελνπο. Γηα λα αληρλεπζνχλ απφ ηνπο ρεηξηζηέο ζπζηήκαηα πνπ ηξέρνπλ ην πξφγξακκα θαη κπνξνχλ λα παίμνπλ ην ξφιν ηνπ επηηηζέκελνπ, ζηέιλνπλ ζε απηά κηα αίηεζε ICMP ECHO_REQUEST κε ηηκή 668 ζην πεδίν ID θαη ην κήλπκα "gesundheit!" (ζε απιφ θείκελν) ζην payload. Απηφ κπνξεί λα γίλεη κε ην πξφγξακκα gag θαη ην είδνο απηφ ησλ κελπκάησλ είλαη πνπ αληρλεχεη ην snort. Αλ ν παξαιήπηεο είλαη φλησο μεληζηήο ζα απαληήζεη κε ICMP ECHO_REPLY κε ID 669. Γηα λα πξνζηαηεπζεί θαλείο απφ ην Stacheldraht, κπνξεί λα δνθηκάζεη λα εθηειέζεη ην gag πξνο ηνπο ππνινγηζηέο ηνπ δηθηχνπ ηνπ αληρλεχνληαο ν ίδηνο κνιπζκέλνπο δηαθνκηζηέο. Έλαο άιινο ηξφπνο είλαη ην sniffing παθέησλ πνπ πεξηέρνπλ ηα παξαπάλσ ραξαθηεξηζηηθά.

Σεκείωζε: ην ζχζηεκά καο νη αηηήζεηο ζηάιζεθαλ πξνο 10 δηεπζχλζεηο ηνπ darknet απφ ηελ ίδηα δηεχζπλζε IP.

Stacheldraht: Σν Stacheldraht (κεηαθξάδεηαη ζπξκαηφπιεγκα απφ ηα γεξκαληθά) είλαη έλα πξφγξακκα πνπ ρξεζηκνπνηείηαη γηα θαηαλεκεκέλεο επηζέζεηο DOS. Δληνπίζηεθε γηα πξψηε θνξά ην 1999 θαη ζηνρεχεη ζην ιεηηνπξγηθφ ζχζηεκα Solaris αιιά θαη ζε δηαλνκέο Linux. Βαζίδεηαη ζηα παιαηφηεξα πξνγξάκκαηα δηεμαγσγήο DDOS trinoo θαη Tribe Flood Network (TFN) θαη ρξεζηκνπνηεί παξφκνηεο κεζφδνπο επίζεζεο φπσο ICMP flood, SYN flood, UDP flood θαη "Smurf". Όπσο θαη ηα πξναλαθεξζέληα πξνγξάκκαηα, εθαξκφδεη κηα ηεξαξρία ζπκκεηερφλησλ ζηελ επίζεζε. ην αλψηεξν επίπεδν βξίζθνληαη νη θχξηνη ππνινγηζηέο πνπ ρξεζηκνπνηνχλ νη θαθφβνπινη ρξήζηεο. Έπεηηα ζπλαληάκε ηνπο ρεηξηζηέο, νη νπνίνη είλαη κνιπζκέλα ζπζηήκαηα ζηα νπνία ζπλδένληαη νη θχξηνη ππνινγηζηέο κέζσ ηνπ Stacheldraht. Σέινο νη ρεηξηζηέο κπνξνχλ λα ειέγμνπλ ηνπο επηηηζέκελνπο, νη νπνίνη βξίζθνληαη ζην θαηψηεξν επίπεδν θαη εθηεινχλ νπζηαζηηθά ηελ επίζεζε. Κάζε ρεηξηζηήο κπνξεί λα ειέγμεη πεξηνξηζκέλν αξηζκφ επηηηζέκελσλ, ζπλήζσο 1024. Σν λέν ζηνηρείν πνπ εηζάγεη ην Stacheldraht ζε ζρέζε κε ηνπο πξνδξφκνπο ηνπ είλαη ε ρξήζε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 69

ελφο client παξφκνηνπ κε ην telnet πξνζθέξνληαο θξππηνγξαθία ζπκκεηξηθνχ θιεηδηνχ ζηηο ζπλδέζεηο κεηαμχ θχξησλ ππνινγηζηψλ θαη μεληζηψλ. Δπίζεο θαη'εληνιή αλαβαζκίδεη ηνλ εαπηφ ηνπ κε ρξήζε ηεο εληνιήο rcp. ε αληίζεζε κε ην trinoo θαη ην TFN ην Stacheldraht ρξεζηκνπνηεί ζπλδπαζκφ πξσηνθφιισλ TCP/ICMP γηα ηηο ζπλδέζεηο (αληί γηα UDP/ICMP). Πην ζπγθεθξηκέλα ζπλδέζεηο κεηαμχ θχξησλ ππνινγηζηψλ θαη ρεηξηζηψλ γίλνληαη κέζσ ηεο TCP ζχξαο 16660, ελψ κεηαμχ ρεηξηζηψλ θαη επηηηζέκελσλ κέζσ ηεο TCP ζχξαο 65000 θαη αηηήζεσλ ICMP ECHO. Η κφιπλζε ζπζηεκάησλ κε ην πξφγξακκα δε ζηεξίδεηαη ζε θάπνηνλ εηδηθφ ηξφπν, αιιά ε εγθαηάζηαζή ηνπ αθνινπζεί θιαζζηθέο κεζφδνπο φπσο θξπθνχο θαηαιφγνπο θαη rootkits. Αξρηθά έλαο θαθφβνπινο πνπ ρξεζηκνπνηεί ηνλ θχξην ππνινγηζηή ζπλδέεηαη κε έλαλ ή πεξηζζφηεξνπο ρεηξηζηέο. Μέζσ απηψλ κπνξεί λα εθηειέζεη αξθεηέο ιεηηνπξγίεο φπσο αλίρλεπζε μεληζηψλ, επίζεζε ζε ηζηνρψξν, ξπζκίζεηο ηχπνπ επίζεζεο θ.α.. Αθνχ ζπλδεζεί, ν θαθφβνπινο ιακβάλεη κηα ιίζηα κε κνιπζκέλνπο ππνινγηζηέο θαη πξνζπαζεί λα ηνπο ρξεζηκνπνηήζεη σο επηπιένλ ρεηξηζηέο. Η ζχλδεζε γίλεηαη κέζσ ηεο αληαιιαγήο ICMP ECHO_REQUEST θαη ICMP ECHO_REPLY κε ηηκέο ζηα πεδία ID 666 θαη 667 αληίζηνηρα. Έπεηηα γίλεηαη δνθηκή αλ νη ρεηξηζηέο κπνξνχλ λα ζηείινπλ παθέηα κε πιαζηνγξαθεκέλεο IP δηεπζχλζεηο. Γηα λα αληρλεπζνχλ ππνινγηζηέο πνπ έρνπλ εγθαηεζηεκέλν ην πξφγξακκα ρξεζηκνπνηείηαη πάιη ICMP ECHO κε ρξήζε ηηκψλ ID 668 θαη 669 ζην request θαη ζην reply αληίζηνηρα. Τπάξρνπλ νξηζκέλνη ηξφπνη κε ηνπο νπνίνπο κπνξεί λα πξνζηαηεπζεί θαλείο απφ ην Stacheldraht, ή ηνπιάρηζηνλ λα εληνπίζεη κνιπζκέλνπο ππνινγηζηέο ζην δίθηπν ηνπ. Αξρηθά κπνξεί θαλείο λα ειέγρεη ηα παθέηα ICMP γηα ηελ εκθάληζε ησλ παξαπάλσ ραξαθηεξηζηηθψλ, ή λα ζηείιεη ν ίδηνο αηηήζεηο ICMP ECHO κε ID 668 γηα λα δεη αλ ζα ιάβεη απάληεζε. Αθφκε κπνξεί λα εξεπλήζεη ην ζχζηεκα αξρείσλ ηνπ γηα αξρεία κε ζπγθεθξηκέλεο ζπκβνινζεηξέο πνπ ρξεζηκνπνηνχληαη ζηνλ πεγαίν θψδηθα ηνπ Stacheldraht (αλ θαη απηέο ελδέρεηαη λα αιιάμνπλ ζε λεφηεξεο εθδφζεηο). πγθεθξηκέλεο ζπκβνινζεηξέο πεξηέρνληαη θαη ζηα payloads ησλ αηηήζεσλ ICMP ECHO. Σέινο είλαη πηζαλφ λα αληρλεπζεί ε απφπεηξα αλαβάζκηζεο ηνπ πξνγξάκκαηνο κέζσ ηεο παξαθνινχζεζεο ησλ ζπλδέζεσλ rcp.

Πεξηζζόηεξεο πιεξνθνξίεο: http://www.sans.org/security-resources/idfaq/stacheldraht.php.

ICMP PATH MTU denial of service (Snort Alert [1:3626:0]):

Μηα επίζεζε πνπ εθκεηαιιεχεηαη ην πξσηφθνιιν ICMP είλαη ην αίηην πνπ πξνθαιεί απηή ηελ εηδνπνίεζε ηνπ snort. Η επίζεζε ζηεξίδεηαη ζηνλ ηξφπν κε ηνλ νπνίν απνθαζίδεηαη ε κέγηζηε κνλάδα κεηάδνζεο (Maximum Transmission Unit - MTU) ζε κηα δηαδξνκή κεηαμχ 2 θφκβσλ ελφο δηθηχνπ. ε servers κε παιαηφηεξν ινγηζκηθφ αλ έλα παθέην ήηαλ πνιχ κεγάιν γηα κεηάδνζε ζε κηα ζπγθεθξηκέλε δηαδξνκή, ηφηε απηφ θαηαθεξκαηηδφηαλ ζε κηθξφηεξα δεδνκελνγξάκκαηα (datagrams) IP κε ζηαζεξφ πξνθαζνξηζκέλν κέγεζνο ψζηε λα ηθαλνπνηεί ην MTU φισλ ησλ ελδηάκεζσλ θφκβσλ. Απηή ε κέζνδνο έρεη νπζηαζηηθά θαηαξγεζεί πιένλ (ζην IPv6 δελ ππνζηεξίδεηαη) ιφγσ πξνβιεκάησλ αζθαιείαο θαη απνδνηηθφηεηαο. Απηφ πνπ ζπλήζσο εθαξκφδεηαη ζήκεξα είλαη ε αλαθάιπςε MTU δηαδξνκήο. Όηαλ έλαο θφκβνο ζέιεη λα ζηείιεη έλα παθέην ρξεζηκνπνηεί ην κέγηζην MTU πνπ ππνζηεξίδεη. Αλ ην παθέην θηάζεη ζε θφκβν ν νπνίνο έρεη κηθξφηεξν MTU, ν ηειεπηαίνο ζηέιλεη ζηνλ πξνεγνχκελφ ηνπ έλα παθέην ICMP ηχπνπ 3 (Destination host unreachable) κε θσδηθφ 4 (Fragmentation needed/DF set) πνπ ζεκαίλεη πσο ην παθέην ήηαλ πνιχ κεγάιν γηα λα εμππεξεηεζεί θαη απαηηεί

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 70

θαηάηκεζε αιιά απηή λα κελ εθαξκνζηεί (DF - Don't Fragment). Με άιια ιφγηα πξέπεη λα επαλαθαζνξηζηεί ην MTU γηα ηε ζχλδεζε ζην ειάρηζην κεηαμχ ησλ θφκβσλ. ην κήλπκα ICMP πεξηιακβάλεηαη θαη ην λέν MTU. Ο πξνεγνχκελνο θφκβνο ζπάεη ην datagram ζε 2 ε πεξηζζφηεξα θαηάιιεινπ κεγέζνπο θαη ηα ζηέιλεη ρξεζηκνπνηψληαο πιένλ ηε κηθξφηεξε ηηκή MTU. Αο ππνζέζνπκε ηψξα πσο έλαο ηξίηνο θαθφβνπινο ρξήζηεο έρεη ηε δπλαηφηεηα λα παξεκβιεζεί ζηε ζχλδεζε θαη λα ζηείιεη κελχκαηα ICMP κε πιαζηνγξαθεκέλε δηεχζπλζε. Θα κπνξνχζε ηφηε λα θάλεη αίηεζε γηα απζαίξεηα κηθξφηεξν MTU απφ ην ρξεζηκνπνηνχκελν. Απηφ ζα πξνθαινχζε ζπκθφξεζε ζηνπο θφκβνπο ηεο ζχλδεζεο αλ ε λέα ηηκή ήηαλ πνιχ κηθξή ιφγσ ηνπ επηπιένλ θφξηνπ γηα ηελ θαηάηκεζε ησλ παθέησλ θαη ηνπ ζπλνιηθά κεγαιχηεξνπ φγθνπ κεηαθνξάο ιφγσ ηνπ κεγαιχηεξνπ ζπλνιηθνχ overhead ησλ πνιχ πεξηζζφηεξσλ κηθξψλ παθέησλ. Σν ηειηθφ απνηέιεζκα ζα ήηαλ λα κελ κπνξνχλ λα εμππεξεηεζνχλ νη δηάθνξεο αηηήζεηο απφ ηνπο servers θαηαιήγνληαο ζε Denial of Service. Ο βαζηθφηεξνο ηξφπνο πξνζηαζίαο απφ απηή ηελ επίζεζε είλαη ε εγθαηάζηαζε patch αζθαιείαο ηνπ ICMP ή ηνπ ιεηηνπξγηθνχ ζπζηήκαηνο πνπ απνξξίπηνπλ ηελ αιιαγή ηνπ MTU ζε ηηκέο κηθξφηεξεο ηνπ 576 (πξνεπηιεγκέλε ηηκή ηνπ TCP/IP). Σν ίδην απνηέιεζκα κπνξεί λα επηηεπρζεί θαη κε θαηάιιειεο ξπζκίζεηο ηνπ firewall. Γεληθφηεξα, ε κέζνδνο αλαθάιπςεο MTU δηαδξνκήο κέζσ ICMP, αλ θαη ρξήζηκε, κπνξεί λα πξνθαιέζεη δηάθνξα πξνβιήκαηα ηδίσο ζε πεξηπηψζεηο θαθψλ ξπζκίζεσλ ή ηεο νιηθήο απαγφξεπζεο ρξήζεο ηνπ πξσηνθφιινπ ICMP. Αξθεηά κνληέια εκπνξηθψλ servers πάζρνπλ απφ bugs πνπ ζρεηίδνληαη κε ηε κέζνδν απηή θαη δεκηνπξγνχλ false positives ζε ζπζηήκαηα IDS.

ftp_pp: FTP bounce attack:

Μηα απφ ηηο πην θιαζζηθέο επηζέζεηο ζε ζπζηήκαηα πνπ ρξεζηκνπνηνχλ ηελ ππεξεζία FTP είλαη απηή ηνπ FTP bounce. Η πξψηε θνξά πνπ κειεηήζεθε ζε θάπνην έγγξαθν ήηαλ ην 1995 απφ ηνλ *Hobbit*. Η επίζεζε πεξηιακβάλεη 3 ζπκκεηέρνληεο: ηνλ επηηηζέκελν, ηνλ ελδηάκεζν θαη ηνλ ππνινγηζηή-ζηφρν. Αξρηθά ν επηηηζέκελνο μεθηλά κηα ζχλδεζε FTP κε ηνλ ελδηάκεζν. Έπεηηα ν επηηηζέκελνο εθηειεί ηελ εληνιή PORT γηα λα εγθαζηδξχζεη κηα λέα ζχλδεζε κε ηνλ ζηφρν κέζσ ηνπ ελδηάκεζνπ. Η εληνιή PORT δέρεηαη σο φξηζκα κηα δηεχζπλζε IP θαη κηα ζχξα ζηε κνξθή A,A,A,A,P,P. Η βαζηθή ηεο ρξήζε είλαη λα θαζνξίζεη ηε ζχξα απφ ηελ νπνία ζα ιακβάλεη δεδνκέλα ν FTP πειάηεο. Σν πξφβιεκα φκσο είλαη φηη δελ ππάξρεη πεξηνξηζκφο γηα ηε δηεχζπλζε IP πνπ δίλεηαη, κε απνηέιεζκα λα κπνξεί λα μεθηλήζεη ζχλδεζε κε έλαλ απζαίξεην ηξίην ππνινγηζηή. Αλ ε λέα ζχλδεζε είλαη επηηπρήο, ν επηηηζέκελνο κπνξεί λα ηελ εθκεηαιιεπηεί κε πνιινχο ηξφπνπο. Αλ παξαδείγκαηνο ράξε ν ελδηάκεζνο θαη ν ζηφρνο βξίζθνληαη ζην ίδην δίθηπν, ην νπνίν πξνζηαηεχεηαη απφ firewall, αιιά ν επηηηζέκελνο έρεη πξφζβαζε κφλν ζηνλ ελδηάκεζν κέζσ ηεο ππεξεζίαο FTP, απνθηά πιένλ πξφζβαζε θαη ζην ζηφρν, κηαο θαη ην firewall επηηξέπεη εζσηεξηθέο ζπλδέζεηο πξνο φινπο ηνπο ππνινγηζηέο ηνπ δηθηχνπ. Η πξφζβαζε απηή ζεκαίλεη φηη ν επηηηζέκελνο κπνξεί λα πξνζπειάζεη πηζαλψο εκπηζηεπηηθά δεδνκέλα ηνπ ππνινγηζηή-ζηφρνπ, ή λα ηνπνζεηήζεη ζε απηφλ δηθά ηνπ δεδνκέλα, π.ρ. spam mail. Η πξφζβαζε ζηα δεδνκέλα κπνξεί λα πξνθαιέζεη θαη άιιεο δεκηέο φπσο DoS. Μηα αθφκε ρξήζε ηνπ FTP bounce είλαη γηα αλίρλεπζε ζπξψλ (portscanning). Ο επηηηζέκελνο κπνξεί λα δνθηκάζεη πνηεο ζχξεο ηνπ ζηφρνπ είλαη αλνηρηέο κέζσ ηνπ ελδηάκεζνπ (π.ρ. αλ ιάβεη απάληεζε ζηελ εληνιή LIST). Σα πιενλεθηήκαηα ηεο αλίρλεπζεο κε απηή ηε κέζνδν είλαη φηη ε ηαπηφηεηα ηνπ επηηηζέκελνπ απνθξχπηεηαη θαη φηη κπνξεί λα πξνζπεξάζεη πηζαλά firewalls απνθηψληαο κηα πην ζσζηή εηθφλα γηα ηηο αλνηρηέο ζχξεο ηνπ ζηφρνπ. Έλαο ηξφπνο γηα λα απνηξέςνπκε ηνλ ππνινγηζηή καο απφ ην λα παίμεη ην ξφιν ηνπ ελδηάκεζνπ είλαη λα απαγνξεχζνπκε ηε ρξήζε ηεο εληνιήο PORT εμ νινθιήξνπ ή πξνο δηεχζπλζε δηαθνξεηηθή απφ απηέο ηνπ εμππεξεηεηή θαη ηνπ πειάηε. Απηφ είλαη πνπ ειέγρεη ν θαλφλαο ηνπ snort πνπ παξάγεη απηή ηελ εηδνπνίεζε, δειαδή ηε ρξήζε ηεο

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 71

PORT ζε FTP ζπλδέζεηο (κέζσ ηνπ FTP preprocessor). Γηα λα απνθχγνπκε λα γίλνπκε ζηφρνη απηήο ηεο επίζεζεο κπνξνχκε λα ξπζκίζνπκε ηελ απηφκαηε απφξξηςε ζπλδέζεσλ απφ ηελ ζχξα 20 (ζχξα δεδνκέλσλ ηνπ FTP) πξνο ηνλ ππνινγηζηή καο. Πιένλ νη πεξηζζφηεξεο εθδφζεηο πξνγξακκάησλ εμππεξεηεηψλ FTP είλαη ελήκεξεο γηα ην FTP bounce θαη πξνζηαηεχνληαη.

Αξρηθό paper αλαθνξάο ηνπ FTP bounce: http://nmap.org/hobbit.ftpbounce.txt

SNMP trap tcp:

Σν snort παξάγεη απηή ηελ εηδνπνίεζε φηαλ επηρεηξείηαη απφ εμσηεξηθφ παξάγνληα κηα ζχλδεζε κε ηνλ SNMP daemon κέζσ ηνπ πξσηνθφιινπ TCP. Σν SNMP (Simple Network Management Protocol)είλαη έλα πξσηφθνιιν πνπ ρξεζηκεχεη ζηελ επηηήξεζε κεξψλ ελφο δηθηχνπ. Κχξηα εθαξκνγή ηνπ είλαη ν έιεγρνο θαη ε επίβιεςε ζπζθεπψλ πνπ ρξεζηκνπνηνχληαη απφ ην δίθηπν (π.ρ. εθηππσηέο, δξνκνινγεηέο, ηειέθσλα IP θ.α.). Απνηειείηαη απφ 3 ζπζηαηηθά κέξε: ηηο ρεηξηδφκελεο ζπζθεπέο, ηνπο πξάθηνξεο, νη νπνίνη είλαη ινγηζκηθφ πνπ ηξέρνπλ νη ρεηξηδφκελεο ζπζθεπέο, θαη ην ζχζηεκα δηαρείξηζεο δηθηχνπ, πνπ ειέγρεη ηα παξαπάλσ. Τπάξρνπλ 3 εθδφζεηο ηνπ SNMP. ηελ πξψηε έθδνζε, φηαλ ν πξάθηνξαο κηαο ζπζθεπήο ζέιεη λα εηδνπνηήζεη ην ζχζηεκα δηαρείξηζεο γηα θάηη, ηνπ ζηέιλεη έλα κήλπκα πνπ νλνκάδεηαη trap. Ο daemon πνπ ιακβάλεη ηα SNMP traps αθνχεη ζηε ζχξα 162 TCP ή UDP. Έλαο θαθφβνπινο κπνξεί λα ζειήζεη λα δψζεη εζθαικέλεο πιεξνθνξίεο ζην ζχζηεκα δηαρείξηζεο κεηαδίδνληαο παθέηα SNMP ζηε ζχξα 162. Αλ ζθεθηεί θαλείο φηη νη δηαρεηξηδφκελεο απφ ην πξσηφθνιιν ζπζθεπέο ελδέρεηαη λα είλαη πςειήο ζεκαζίαο (π.ρ. δξνκνινγεηέο ή hubs), ηφηε κπνξεί ε επίζεζε λα θαηαιήμεη ζε Denial of Service. Γεληθφηεξα ην SNMP δελ είλαη έλα αζθαιέο πξσηφθνιιν. Δθηφο ηνπ φηη πνιιά παθέηα ηνπ ζηέιλνληαη ρσξίο θξππηνγξάθεζε, γηα νξηζκέλα άιια, ην θιεηδί θξππηνγξαθίαο είλαη πξνεπηιεγκέλν θαηά ηελ εγθαηάζηαζε κε ζηαζεξή ηηκή ("public" γηα δηάβαζκα ηηκψλ θαη "private" γηα γξάςηκν). Δπίζεο νη πεξηζζφηεξεο εηαηξίεο παξαγσγήο ζπζθεπψλ δηθηχνπ έρνπλ αξθεηά πξντφληα, ζηα νπνία ε ρξήζε ηνπ SNMP δηέπεηαη απφ bugs πνπ κπνξνχλ ζρεηηθά εχθνια λα επηηξέςνπλ επηζέζεηο DoS. Δθηφο απφ απηνχ ηνπ είδνπο ηηο επηζέζεηο, νη εηδνπνηήζεηο ηνπ snort γηα SNMP trap κπνξεί λα ππνδειψλνπλ αλίρλεπζε αλνηρηψλ ζπξψλ (κεηαμχ ησλ νπνίσλ θαη ε 162) απφ θάπνην εξγαιείν φπσο ην nmap, γηα ραξηνγξάθεζε ηνπ δηθηχνπ πξηλ απφ κηα επίζεζε. Η θαιχηεξε πξνζηαζία είλαη ην κπινθάξηζκα ρξήζεο ηνπ SNMP απφ ππνινγηζηέο εθηφο ηνπ δηθηχνπ κέζσ firewall ή ε πιήξεο απελεξγνπνίεζή ηνπ αλ δελ ρξεζηκνπνηείηαη.

SNMP request tcp:

Η εηδνπνίεζε απηή παξάγεηαη απφ ην snort φηαλ αληρλεχζεη ηελ απνζηνιή αηηήζεσλ κε ρξήζε ηνπ πξσηνθφιινπ SNMP, ζχληνκε πεξηγξαθή ηνπ νπνίνπ γίλεηαη παξαπάλσ. Οη αηηήζεηο απηέο ιέγνληαη SNMP requests θαη ελεξγνπνηνχλ ην ζπγθεθξηκέλν θαλφλα φηαλ γίλνληαη κέζσ παθέησλ TCP. Οη SNMP requests είλαη ην είδνο ηνπ κελχκαηνο πνπ ζηέιλεη ην ζχζηεκα δηαρείξηζεο δηθηχνπ πξνο ηνλ πξάθηνξα κηαο δηθηπαθήο ζπζθεπήο, φηαλ ζέιεη λα ιάβεη πιεξνθνξίεο γηα ηε ιεηηνπξγία ηεο. Έλαο θαθφβνπινο φκσο ζα κπνξνχζε λα ζηείιεη δνθηκαζηηθέο SNMP requests πξνο θάπνηα δηεχζπλζε. Αλ ιάβεη απάληεζε απηφ ζεκαίλεη φρη κφλν πσο ζηε δηεχζπλζε απηή φλησο αληηζηνηρεί κηα ζπζθεπή, αιιά θαη ην γεγνλφο πσο είλαη ελεξγφο έλαο SNMP πξάθηνξαο, θάηη ην νπνίν ν θαθφβνπινο κπνξεί λα εθκεηαιιεπηεί κε πεξαηηέξσ επηζέζεηο. Δπίζεο ε απάληεζε ζε κηα ηέηνηα αίηεζε κπνξεί λα έρεη σο απνηέιεζκα θαη δηαξξνή πιεξνθνξηψλ, θαζψο ε έιιεηςε ραξαθηεξηζηηθψλ αζθαιείαο ηνπ SNMP θάλεη δπζθνιφηεξε ηε δηάθξηζε αλάκεζα ζε έγθπξεο θαη κε αηηήζεηο. Οη SNMP requests γίλνληαη κέζσ ηεο ζχξαο TCP

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 72

161, ηελ νπνία παξαθνινπζεί ν θαλφλαο ηνπ snort. Σν κπινθάξηζκα ηεο ζχξαο κέζσ ηείρνπο πξνζηαζίαο, ή ν εμ νινθιήξνπ απνθιεηζκφο ηνπ SNMP ζε πεξίπησζε πνπ δε ρξεζηκνπνηείηαη, είλαη ηα πην αζθαιή κέηξα γηα ηελ επίιπζε ηνπ πξνβιήκαηνο.

SNMP AgentX/tcp request:

Αθφκα κηα εηδνπνίεζε πνπ ζρεηίδεηαη κε ην πξσηφθνιιν ειέγρνπ θαη δηαρείξηζεο SNMP. Μπνξεί λα παξαρζεί απφ ην snort φηαλ απηφ αληρλεχζεη απφπεηξα επίζεζεο ζε ζπζθεπή ηνπ δηθηχνπ κε ρξήζε ηεο πξψηεο έθδνζεο ηνπ πξσηνθφιινπ, SNMPv1. Σα απνηειέζκαηα πνπ κπνξεί λα επηθέξεη κηα ηέηνηα επίζεζε θπκαίλνληαη απφ DoS κέρξη εθηέιεζε απζαίξεηνπ θψδηθα θαη δηαξξνή πιεξνθνξηψλ. Σν SNMP πεξηέρεη αξθεηά ςεγάδηα φζνλ αθνξά ζηελ αζθάιεηα, ζπλεπψο νη επηζέζεηο κπνξνχλ λα δηεμαρζνχλ κε πνιινχο ηξφπνπο, νη πεξηζζφηεξνη απφ ηνπο νπνίνπο πεξηιακβάλνπλ ηελ απνζηνιή ελφο εηδηθά θαηαζθεπαζκέλνπ παθέηνπ TCP ή UDP ζηε ζχξα 705 πνπ εθκεηαιιεχεηαη ην θελφ αζθαιείαο. Γηα παξάδεηγκα, ππάξρεη κηα θνηλφρξεζηε ζπκβνινζεηξά, ζηελ νπνία ν επηηηζέκελνο κπνξεί λα πξνθαιέζεη ππεξρείιηζε buffer κε ζθνπφ ηελ εθηέιεζε θψδηθα ή ηελ απελεξγνπνίεζε ηεο ππεξεζίαο. Καθφβνπιε ρξήζε κπνξεί επίζεο λα γίλεη κέζσ ησλ κελπκάησλ GetRequest, GetNextRequest θαη SetRequest κε απνηέιεζκα DoS ή απφθηεζε δηθαησκάησλ. Πιεζψξα ζπζηεκάησλ θαη ζπζθεπψλ απφ δεκνθηιείο εηαηξίεο πνπ ρξεζηκνπνηνχλ SNMPv1 πάζρνπλ απφ ηα παξαπάλσ πξνβιήκαηα. Τπάξρνπλ ηξφπνη λα πξνζηαηεπζεί θαλείο απφ ηέηνηνπ είδνπο επηζέζεηο. Αξρηθά κπνξεί λα γίλεη αλαβάζκηζε ηνπ πξσηνθφιινπ ζηελ ηειεπηαία ηνπ έθδνζε, SNMPv3, γηα φζεο ζπζθεπέο ηελ ππνζηεξίδνπλ. Δπίζεο ζπλίζηαηαη ε ρξήζε θηιηξαξίζκαηνο παθέησλ εηζφδνπ/εμφδνπ κέζσ ηείρνπο πξνζηαζίαο θαζψο θαη ε πιήξεο απελεξγνπνίεζε ηνπ SNMP απφ ηηο ζπζθεπέο πνπ δελ ην ρξεζηκνπνηνχλ. Τπάξρεη πεξίπησζε νξηζκέλα παθέηα πξνο ηε ζχξα 705 TCP λα νδεγήζνπλ ην snort ζηελ παξαγσγή false positives, φπσο π.ρ. ε εθηέιεζε ελφο TCP SYN stealth scan κέζσ ηνπ πξνγξάκκαηνο Nmap.

frag3: Fragmentation overlap:

Ο frag3 είλαη ν πξνεπεμεξγαζηήο θαηαθεξκαηηζκνχ (fragmentation preprocessor) ηνπ snort θαη παξάγεη απηή ηελ εηδνπνίεζε φηαλ ιάβεη ηκήκαηα (fragments) δεδνκελνγξακκάησλ IP ησλ νπνίσλ ηα δεδνκέλα επηθαιχπηνληαη θαηά ηε ζπλαξκνιφγεζε. Όηαλ έλα δεδνκελφγξακκα IP είλαη πνιχ κεγάιν γηα λα δηέιζεη απφ έλαλ θφκβν ηεο δηαδξνκήο ηνπ δηθηχνπ ζε κηα ζχλδεζε, ρσξίδεηαη ζε ηκήκαηα. Σν κεγαιχηεξν ηκήκα έρεη κέγεζνο ίζν κε ην κηθξφηεξν MTU (Μaximum Transmission Unit) κεηαμχ ησλ θφκβσλ ηεο δηαδξνκήο. Σα ηκήκαηα πεξηέρνπλ δεδνκέλα πνπ ρξεζηκεχνπλ ζηελ ζπλαξκνιφγεζή ηνπο ζηνλ ηειηθφ θφκβν, φπσο ηνλ αξηζκφ ηνπ δεδνκελνγξάκκαηνο πνπ πξνέξρνληαη. Γηα λα θαζνξηζηεί ε ζέζε πνπ θαηαιακβάλνπλ ηα δεδνκέλα ηνπ ηκήκαηνο κέζα ζην δεδνκελφγξακκα, ην ηκήκα πεξηέρεη έλα offset απφ ηελ έλαξμε ησλ αξρηθψλ δεδνκέλσλ. Αλ ην offset είλαη αιινησκέλν, ζα ππάξρνπλ δεδνκέλα απφ δηαθνξεηηθά ηκήκαηα πνπ ζα πξννξίδνληαη γηα ηελ ίδηα ζέζε κέζα ζην δεδνκελφγξακκα. Έηζη δεκηνπξγνχληαη ηα επηθαιππηφκελα ηκήκαηα. Σα ιεηηνπξγηθά ζπζηήκαηα είλαη ηθαλά λα επηιχζνπλ ηέηνηεο ζπγθξνχζεηο κεηαμχ ησλ παθέησλ πνπ ιακβάλνπλ (κπνξεί επηθξαηνχλ πάληα ηα δεδνκέλα είηε ηνπ λεφηεξνπ παθέηνπ είηε ηνπ παιαηφηεξνπ). Σν πξφβιεκα φκσο είλαη φηη ηα ζπζηήκαηα IDS δελ αθνινπζνχλ πάληα ηηο ίδηεο κεζφδνπο κε ηα ιεηηνπξγηθά. πλεπψο έλαο θαθφβνπινο πνπ γλσξίδεη ηνλ ηξφπν επίιπζεο ηεο αιιεινεπηθάιπςεο, είλαη δπλαηφ λα ζηείιεη ηα ηκήκαηα κε θαηάιιειε αθνινπζία αλάινγα κε ην offset ψζηε λα πξνθαιέζεη πιήγκα ζην ζηνρεπφκελν ζχζηεκα. Π.ρ. έλα δεδνκελφγξακκα IP κπνξεί λα πξννξίδεηαη γηα κηα

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 73

ζχξα ελφο ππνινγηζηή ηνπ δηθηχνπ ε νπνία λα επηηξέπεηαη απφ ην firewall. ηε ζπλέρεηα έλα επφκελν ηκήκα γξάθεη δεδνκέλα ζην πεδίν ηνπ δεδνκελνγξάκκαηνο πνπ αιιάδνπλ ηε ζχξα ζε κηα κπινθαξηζκέλε, δίλνληαο έηζη πξφζβαζε ζηνλ θαθφβνπιν. Σν IDS κπνξεί λα επηηξέςεη θαη ηα δχν ηκήκαηα αλ δελ είλαη ελήκεξν γηα ηνλ ηξφπν πνπ ζα ηα ζπλαξκνινγήζεη ην ιεηηνπξγηθφ ζχζηεκα. Ο ηξφπνο κε ηνλ νπνίν κπνξεί λα πξνζηαηεπζεί θαλείο απφ επηζέζεηο κέζσ επηθαιππηφκελσλ παθέησλ, είλαη λα ζέζεη κηθξή ηηκή ζην επηηξεπφκελν offset, ψζηε λα κελ παξαπνηνχληαη θξίζηκα ζηνηρεία ηνπ παθέηνπ. πλεηή είλαη επίζεο θαη θαηάιιειε ξχζκηζε ηνπ IDS. Δθηφο απφ κε εμνπζηνδνηεκέλε πξφζβαζε, έλαο θαθφβνπινο κπνξεί λα επηηχρεη θαη Denial of Service κέζσ επηθαιππηφκελσλ παθέησλ. Πνιιά ιεηηνπξγηθά ζπζηήκαηα (εθδφζεηο Windows 3.1x, 95, NT, εθδφζεηο Linux πξνεγνχκελεο ηεο 2.0.32 θαη 2.1.63) πάζρνπλ απφ bugs ζηνλ θψδηθα ζπλαξκνιφγεζεο, πνπ πξνθαιεί ππεξρείιηζε buffer θαη θαηάξξεπζε ηνπ εμππεξεηεηή. Η επίζεζε DoS πνπ γίλεηαη κέζσ κπεξδεκέλσλ θαη δχζθνισλ ζηελ δηαρείξηζε παθέησλ ιέγεηαη επίζεζε teardrop.

SQL Microsoft SQL Server 2000 Server hello buffer overflow attempt (Snort Alert [1:11264:0]):

Σν snort εκθαλίδεη απηή ηελ εηδνπνίεζε φηαλ εληνπίζεη απφπεηξα εθκεηάιιεπζεο ελφο γλσζηνχ θελνχ αζθαιείαο ησλ πξντφλησλ Microsoft SQL Server 2000 θαη Microsoft Desktop Engine 2000, ηα νπνία ρξεζηκνπνηνχλ ηελ ππεξεζία Microsoft Data Engine 2000. Σν πξφβιεκα εκθαλίδεηαη θαηά ηε ζχλδεζε ηνπ ρξήζηε ζηελ παξαπάλσ ππεξεζία. Αλάινγα κε ηηο ξπζκίζεηο ηνπ εμππεξεηεηή κπνξεί λα ρξεζηκνπνηείηαη κηα απφ ηηο αθφινπζεο δχν κεζφδνπο ηαπηνπνίεζεο ηεο Microsoft: SQL Server authentication ή Windows Authentication. Καη ζηηο δπν κεζφδνπο αληαιιάζζνληαη νξηζκέλα πξνθαηαξθηηθά δεδνκέλα κεηαμχ ηνπ SQL πειάηε θαη ηνπ εμππεξεηεηή. Μηα απφ ηηο κεζφδνπο πνπ εθαξκφδνληαη ζηελ πξνθαηαξθηηθή θάζε δίλεη ηε δπλαηφηεηα ζε έλαλ θαθφβνπιν ρξήζηε λα πξνθαιέζεη ππεξρείιηζε buffer. Απηφ ζα επηθέξεη ζαλ βαζηθφ απνηέιεζκα ηελ πηζαλή θαηάξξεπζε ηνπ εμππεξεηεηή (DoS), ή, αλ ν ρξήζηεο είλαη πην έκπεηξνο, ηε δπλαηφηεηα εθηέιεζεο απζαίξεηνπ θψδηθα απφ πεξηνρέο ηεο κλήκεο πνπ κπνξεί λα δηαρεηξηζηεί. Σν θπξηφηεξν ζέκα κε απηφ ην θελφ αζθαιείαο είλαη φηη ε εθκεηάιιεπζε ηνπ κπνξεί λα ιάβεη ρψξα πξηλ νινθιεξσζεί ε ηαπηνπνίεζε, δίλνληαο ζηελ νπζία ηε δπλαηφηεηα απηή ζηνλ θαζέλα κε πξφζβαζε ζηνλ εμππεξεηεηή. Η ππεξρείιηζε κπνξεί λα ζπκβεί αλ ζηείιεη θαλείο έλα εηδηθά δηακνξθσκέλν κεγάιν παθέην σο αίηεζε ζχλδεζεο ζηε ζχξα TCP 1433. Σν παξαπάλσ θελφ αζθαιείαο είλαη επξέσο γλσζηφ κε ηελ νλνκαζία "Hello overflow". Απφ απηφ πάζρνπλ ηα πξναλαθεξζέληα πξντφληα ηεο Microsoft θαζψο επίζεο θαη πξντφληα άιισλ εηαηξηψλ πνπ ηα ρξεζηκνπνηνχλ (π.ρ. Cisco CallManager, Cisco Unity θαη Cisco Building Broadband Service Manager). Έλαο απιφο ηξφπνο λα απνθχγεη θαλείο ηελ εθκεηάιιεπζε ηνπ "Hello overflow" απφ ην Γηαδίθηπν, είλαη λα κπινθάξεη κέζσ ηείρνπο πξνζηαζίαο ηε ζχξα 1433 TCP. Η ζσζηφηεξε ελέξγεηα φκσο είλαη ε εγθαηάζηαζε ηεο ελεκέξσζεο αζθαιείαο MS02-056 ηεο Microsoft (ή λεφηεξσλ φπσο ε MS02-061) πνπ δηνξζψλεη ην πξφβιεκα. Η ζπγθεθξηκέλε ελεκέξσζε πξνζηαηεχεη ην ζχζηεκα θαη απφ δχν αθφκε θελά αζθαιείαο: κηα ππεξρείιηζε buffer πνπ κπνξεί λα ζπκβεί ζε κηα απφ ηηο Database Console Commands δίλνληαο ζηνλ θαθφβνπιν δηθαηψκαηα root γηα εθηέιεζε εληνιψλ SQL, θαη έλα ειάηησκα πνπ κπνξεί λα δψζεη ζε ρξήζηεο ρσξίο δηθαηψκαηα ηε δπλαηφηεηα λα ηξνπνπνηήζνπλ ηηο πξνγξακκαηηζκέλεο δηεξγαζίεο ηνπ SQL Server Agent πξνθαιψληαο πηζαλψο αιινίσζε αξρείσλ ζπζηήκαηνο. Ο ζπγθεθξηκέλνο θαλφλαο ηνπ snort αζρνιείηαη κφλν κε ην "Hello overflow", ελψ δελ παξάγεη false positives.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 74

Δειηίν Αζθαιείαο MS02-056 ηεο Microsoft αλαιύεη ην πξόβιεκα: http://www.microsoft.com/technet/security/Bulletin/MS02-056.mspx.

Script πνπ εμεηάδεη αλ ην ζύζηεκά καο πάζρεη από ην "Hello overflow": http://marc.info/?l=bugtraq&m=102873609025020&w=2.

WEB-FRONTPAGE /_vti_bin/ access:

Απηή ε εηδνπνίεζε ηνπ snort παξάγεηαη φηαλ θάπνηνο επηρεηξήζεη λα πξνζπειάζεη ηνλ θάθειν _vti_bin, ν νπνίνο πεξηέρεη αξρεία ζπζηήκαηνο επεθηάζεσλ ηνπ Microsoft FrontPage. Σν FrontPage είλαη έλα πξφγξακκα γηα ηελ δεκηνπξγία θαη ηε δεκνζίεπζε ηζηνζειίδσλ. Οξηζκέλνη web servers (φπσο ν IIS ηεο Microsoft) ρξεζηκνπνηνχλ θαη'επηινγή επεθηάζεηο απηνχ ηνπ πξνγξάκκαηνο. Δθφζνλ πξφθεηηαη γηα επηζέζεηο ζε web server, ρξεζηκνπνηείηαη ε TCP ζχξα 80 ηνπ ζηφρνπ. Σν ιεηηνπξγηθφ ζχζηεκα ζην νπνίν ζπλαληάηαη ζπρλφηεξα είλαη ηα Windows NT, αιιά ρξεζηκνπνηείηαη θαη ζε ζπζηήκαηα Unix ή ζε παιηφηεξεο εθδφζεηο ησλ Windows. Σν FrontPage έρεη δερηεί πνιιέο αξλεηηθέο θξηηηθέο απφ ηελ θνηλφηεηα πνπ αζρνιείηαη κε ηελ αζθάιεηα ζπζηεκάησλ γηαηί ε αξρηηεθηνληθή θαη ν θψδηθάο ηνπ πάζρνπλ απφ πιεζψξα θελψλ αζθαιείαο, πνιιά απφ ηα νπνία κπνξνχλ λα εθκεηαιιεπηνχλ αθφκα θαη αξράξηνη ρξήζηεο. Παξαδείγκαηνο ράξε, θαηάινγνη κε θξίζηκα αξρεία φπσο ν _vti_bin δελ κπνξνχλ λα πξνζπειαζηνχλ απφ ην web, φκσο αλ δψζεη θαλείο ηελ πιήξε δηαδξνκή ελφο απφ απηά κπνξεί λα δηαβάζεη ην αξρείν γηαηί ηα δηθαηψκαηα δελ ην απαγνξεχνπλ. Μέζα ζηα αξρεία απηά αλήθνπλ θαη εθείλα φπνπ είλαη απνζεθεπκέλα ηα ζηνηρεία πξφζβαζεο ηνπ δηαρεηξηζηή θαη ρξεζηψλ. Δπηπιένλ ζεκαληηθέο πιεξνθνξίεο είλαη απνζεθεπκέλεο ζε απιφ θείκελν, ελψ θσδηθνί πξφζβαζεο είλαη θξππηνγξαθεκέλνη κε ηνλ αιγφξηζκν DES, ν νπνίνο κπνξεί ζρεηηθά εχθνια λα "ζπάζεη". Γηάθνξα πξνβιήκαηα ζηνλ θψδηθά ηνπ επηηξέπνπλ ηελ κε εμνπζηνδνηεκέλε πξφζβαζε (κέζσ backdoor), ελψ δηάθνξα bugs κπνξνχλ λα πξνθαιέζνπλ ππεξρείιηζε buffer (κε απνηέιεζκα DoS ή αιινίσζε δεδνκέλσλ). Πην ζπγθεθξηκέλα, αλ θάπνηνο απνθηήζεη πξφζβαζε ζηνλ θαηάινγν ηεο εηδνπνίεζεο, κπνξεί λα ηξνπνπνηήζεη αξρεία ζπζηήκαηνο (ζρεηηθά εχθνια, αθνχ ε εγγξαθή ζε απηά δελ απαγνξεχεηαη πάληα), λα δηαβάζεη πξνζηαηεπκέλεο πιεξνθνξίεο, λα κνιχλεη ην ζχζηεκα κε ηφ θαη λα επεξεάζεη ην πεξηερφκελν ηζηνζειίδσλ πνπ θηινμελνχληαη. Γπζηπρψο δελ ππάξρεη ηξφπνο πξνζηαζίαο απφ επηζέζεηο ελαληίσλ εμππεξεηεηψλ πνπ ρξεζηκνπνηνχλ επεθηάζεηο ηνπ FrontPage, παξά κφλν ε αλαβάζκηζε ζηελ ηειεπηαία ηνπ έθδνζε, πνπ πεξηνξίδεη ηνλ αξηζκφ ησλ πξνβιεκάησλ.

Σεκείωζε: Η εηδνπνίεζε ζην ζχζηεκά καο πξνήιζε απφ ηελ απφπεηξα εμσηεξηθνχ ππνινγηζηή λα ρξεζηκνπνηήζεη ηε κέζνδν POST ζην αξρείν _vti_bin/_vti_aut/author.dll . Σν παθέην πξννξηδφηαλ πξνο ηελ TCP ζχξα 80 δηεχζπλζεο ηνπ darknet.

WEB-FRONTPAGE posting:

Αθφκα κηα εηδνπνίεζε πνπ ζρεηίδεηαη κε ην πξφγξακκα επεμεξγαζίαο θαη δεκνζίεπζεο ηζηνζειίδσλ Microsoft FrontPage, ην νπνίν πεξηγξάθεηαη παξαπάλσ, θαζψο επίζεο θαη κεξηθά απφ ηα πξνβιήκαηά ηνπ. Σν θελφ αζθαιείαο ζην νπνίν αθνξά απηή ε εηδνπνίεζε πξνέξρεηαη απφ ηνλ θαθφ ρεηξηζκφ επεξσηήζεσλ πξνο ηελ ππεξεζία δεκνζίεπζεο FrontPage Authoring πνπ ρξεζηκνπνηεί ην αξρείν author.dll . Αλ θαη ν θαλφλαο ηνπ snort εμεηάδεη κφλν αλ ηα παθέηα πεξηέρνπλ ην φλνκα ηνπ πξναλαθεξζέληνο αξρείνπ ζην payload, θαθφο ρεηξηζκφο γίλεηαη επίζεο θαη ζε θιήζεηο shtml (shtml.dll). Έλαο θαθφβνπινο ρξήζηεο κπνξεί λα εθηειέζεη κηα εηδηθά ηξνπνπνηεκέλε επεξψηεζε πξνο κηα απφ απηέο ηηο ππεξεζίεο κε απνηέιεζκα λα

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 75

θαηαξξεχζεη ν εμππεξεηεηήο, πξνθαιψληαο Denial of Service (ε ζπκπεξηθνξά πνηθίιιεη αλάινγα κε ην ιεηηνπξγηθφ ζχζηεκα). Η Microsoft έρεη εθδψζεη έλα patch πνπ δηνξζψλεη ην πξφβιεκα. Απιή απελεξγνπνίεζε ηεο ππεξεζίαο δελ είλαη απνηειεζκαηηθή. Δθηφο απφ ην παξαπάλσ πξφβιεκα, νη εηδνπνηήζεηο απηέο είλαη ρξήζηκεο, θαζψο κέζσ ηεο ππεξεζίαο δεκνζίεπζεο ν θαθφβνπινο κπνξεί λα ηξνπνπνηήζεη πεξηερφκελν ηζηνζειίδσλ, αλ γλσξίδεη εθ ησλ πξνηέξσλ ηνλ θαηάιιειν θσδηθφ πξφζβαζεο, ηνλ νπνίν κπνξεί λα ππνθιέςεη εθκεηαιιεπφκελνο άιια bugs ηνπ FrontPage.

Πεξηζζόηεξεο πιεξνθνξίεο: http://research.eeye.com/html/advisories/published/AD20001222.html

Σεκείωζε: Σελ εηδνπνίεζε πξνθάιεζε ην ίδην παθέην πνπ πξνθάιεζε θαη ηελ ακέζσο πξνεγνχκελε (WEB-FRONTPAGE /_vti_bin/ access). Αμίδεη λα παξαηεξήζνπκε φηη ην payload ηνπ παθέηνπ είλαη παξφκνην κε εθείλν πνπ δίλεηαη σο παξάδεηγκα εθκεηάιιεπζεο ηνπ θελνχ αζθαιείαο ζηελ ζειίδα ηνπ παξαπάλσ ππεξζπλδέζκνπ.

ICMP redirect host:

Η εηδνπνίεζε απηή παξάγεηαη φηαλ ην snort αληρλεχζεη εηζεξρφκελα κελχκαηα ICMP αλαθαηεχζπλζεο (ICMP ηχπνπ 5: redirect) κε θσδηθφ 1, δειαδή πξφβιεκα κε ην δηαθνκηζηή. Μελχκαηα ICMP redirect ρξεζηκνπνηνχληαη ζηελ εμήο πεξίπησζε: ν δηαθνκηζηήο Α επηζπκεί λα ζηείιεη παθέηα ζηνλ δηαθνκηζηή Β. Η πξνεπηιεγκέλε πχιε (gateway) ηνπ Α είλαη o δξνκνινγεηήο R1, νπφηε ζηέιλεη ζε απηφλ ηα παθέηα γηα λα ηα πξνσζήζεη ζηνλ Β. Ο R1 ζπκβνπιεχεηαη ηνπο πίλαθεο δξνκνιφγεζήο ηνπ θαη βιέπεη φηη ν Β δέρεηαη κελχκαηα κέζσ ηεο πχιεο R2. Γηαπηζηψλεη φκσο φηη ν Α κπνξεί λα ζηείιεη απεπζείαο παθέηα ζηελ R2 (ζπλήζσο δηφηη βξίζθνληαη ζην ίδην δίθηπν Ethernet), έρνληαο έηζη ιηγφηεξα άικαηα θαη θαιχηεξε απφδνζε ζηε κεηάδνζε ελφο παθέηνπ. Σφηε ν R1 πξνσζεί ην αξρηθφ παθέην ζηνλ Β, ελψ παξάιιεια ζηέιλεη ζηνλ Α έλα κήλπκα ICMP redirect ππνδεηθλχνληαο ηε δηεχζπλζε ηνπ R2. ην payload ηνπ κελχκαηνο πξέπεη λα πεξηέρνληαη ηα 8 πξψηα bytes ηνπ αξρηθνχ παθέηνπ ψζηε ν Α λα δερηεί πιεξνθνξίεο γηα ηε ζχλδεζε, φπσο πνηα δηεξγαζία ηελ ελεξγνπνίεζε θαη πνηεο ζχξεο ρξεζηκνπνηνχληαη. Μελχκαηα ICMP redirect δελ ζηέιλνληαη ζε πεξίπησζε πνπ ν Α πεξηειάκβαλε δεδνκέλα δξνκνιφγεζεο, ή ε απνζηνιή γηλφηαλ πξνο δηεχζπλζε multicast. Σα κελχκαηα ICMP redirect θαλνληθά πξέπεη λα κεηαδίδνληαη κφλν απφ gateways ηνπ δηθηχνπ. Γεληθφηεξα, έλα θαιά ζηεκέλν δίθηπν δελ πξέπεη λα ζηεξίδεηαη ζε απηά γηα λα δξνκνινγεί παθέηα, γηαηί θαηαζηξαηεγνχλ ηελ δξνκνιφγεζε πνπ πξνέβιεπε ν ζρεδηαζηήο ηνπ δηθηχνπ. Π.ρ. αλ ν δηαθνκηζηήο Α πξνζηαηεπφηαλ απφ firewall πνπ βξηζθφηαλ ζηνλ R1, ε πξνζηαζία παχεη λα ηζρχεη αλ ρξεζηκνπνηεί πιένλ ηνλ R2 γηα κηα ζχλδεζε. Απηφ ην ραξαθηεξηζηηθφ κπνξεί λα ην εθκεηαιιεπηεί έλαο θαθφβνπινο γηα λα ζηείιεη ηξνπνπνηεκέλα ICMP redirect κελχκαηα ζηνλ Α ψζηε λα πξνζπεξάζεη ην firewall. Γηα ηνλ ιφγν απηφ ππάξρεη ε δπλαηφηεηα λα απνξξίπηνπλ νη πχιεο κελχκαηα ICMP redirect. Δπηπιένλ κηα αδπλακία ηνπ πξσηνθφιινπ ICMP ζηα Windows 95 θαη NT, θάλεη ηνπο ππνινγηζηέο πνπ ρξεζηκνπνηνχλ απηά ηα ιεηηνπξγηθά λα ζηακαηνχλ λα αληαπνθξίλνληαη (DoS), αλ ιάβνπλ κελχκαηα ICMP redirect κε εηδηθά ηξνπνπνηεκέλν payload. Σν πξφβιεκα δηνξζψλνπλ ελεκεξψζεηο αζθαιείαο ηεο Microsoft.

TELNET Solaris login environment variable authentication bypass attempt (Snort Alert [1:10136:0]):

Μέζσ απηνχ ηνπ κελχκαηνο ην snort καο εηδνπνηεί γηα ηελ απφπεηξα εθκεηάιιεπζεο ελφο πνιχ ζνβαξνχ bug πνπ αθνξά ζηελ ππεξεζία telnet ζε ζπζηήκαηα κε ιεηηνπξγηθφ

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 76

Solaris 10 ή 11. Σν πξφβιεκα θαζψο θαη ν πξνβιεκαηηθφο θψδηθαο ηνπ telnet daemon (.telnetd) εληνπίζηεθαλ απφ ηελ πξψηε κέξα έθδνζεο ηνπ ινγηζκηθνχ. Σν bug επηηξέπεη ζε έλα ρξήζηε λα ζπλδεζεί ζην πάζρνλ ζχζηεκα κέζσ telnet (ζχξα 23 tcp) κε απμεκέλα δηθαηψκαηα ή αθφκα θαη σο ρξήζηεο root. Ο ιφγνο γηα ηνλ νπνίν θαζίζηαηαη απηφ δπλαηφ είλαη πσο ην πξφγξακκα δελ εμπγηαίλεη ηελ κεηαβιεηή πεξηβάιινληνο USER πνπ δίλεηαη απφ ην ρξήζηε θαηά ην login. Έηζη έλαο θαθφβνπινο κπνξεί λα δψζεη κηα εηδηθή ηηκή ζηελ κεηαβιεηή θαη λα ζπλδεζεί σο έλαο ππάξρσλ ρξήζηεο παξαθάκπηνληαο ηελ απζεληηθνπνίεζε. Ο ηξφπνο πνπ επηηπγράλεηαη απηφ είλαη πνιχ απιφο. Αλ π.ρ. ν θαθφβνπινο δνθηκάζεη λα ζπλδεζεί κέζσ ηεο εληνιήο: telnet -l -fusr target.example.com , ηφηε ε χπαξμε ηνπ νξίζκαηνο -f ζην φλνκα ρξήζηε ζα ηνπ επηηξέςεη λα ζπλδεζεί σο usr, αλ θπζηθά ν ρξήζηεο usr ππάξρεη. Κιαζζηθά νλφκαηα ρξήζηε πνπ δνθηκάδνληαη ζπλήζσο πεξηιακβάλνπλ ηα bin, adm θαη root. Τπάξρνπλ αξθεηνί ηξφπνη κε ηνπο νπνίνπο κπνξεί λα πξνζηαηεπζεί θαλείο απφ επηζέζεηο κέζσ απηνχ ηνπ bug. Ο πην απιφο είλαη λα εγθαηαζηήζεη ην θαηάιιειν patch αζθαιείαο γηα ηα Solaris. Δπίζεο κπνξεί λα επηηξέςεη ζπλδέζεηο ζηελ tcp ζχξα 25 κφλν απφ ππνινγηζηέο εζσηεξηθνχο ηνπ δηθηχνπ, ή λα απελεξγνπνηήζεη/απεγθαηαζηάζεηο ηελ ππεξεζία telnet εληειψο θαη λα ρξεζηκνπνηεί ssh γηα απνκαθξπζκέλεο ζπλδέζεηο. Αλ ην telnet ρξεηάδεηαη, κπνξεί θαλείο λα απελεξγνπνηήζεη ηε ζχλδεζε σο root ρξήζηεο κέζα απφ θνλζφια, απνζρνιηάδνληαο ηε γξακκή CONSOLE=/dev/console ηνπ αξρείνπ /etc/default/login (ε γξακκή απηή είλαη απνζρνιηαζκέλε θαηά ηελ ηππηθή εγθαηάζηαζε ησλ Solaris). Ωο ιχζε πξνηείλεηαη επίζεο θαη ε εθηέιεζε ηεο εληνιήο: inetadm -m svc:/network/telnet:default exec="/usr/sbin/in.telnetd -a user", αιιά ε κέζνδνο απηή δελ είλαη δνθηκαζκέλε. Δθηφο απφ ηηο ρεηξνλαθηηθέο επηζέζεηο πνπ κπνξεί λα επηρεηξήζνπλ δηάθνξνη θαθφβνπινη ρξήζηεο, αλαπηχρζεθε θαη έλα worm ην νπνίν εθκεηαιιεχεηαη ην πξφβιεκα απηφ. Σν worm κπνξεί λα κνιχλεη ην ζχζηεκα θαη λα εγθαηαζηήζεη έλα backdoor θέιπθνο, επηηξέπνληαο έηζη πεξαηηέξσ επηζέζεηο. Γηα λα θαζαξίζεη θαλείο ην ζχζηεκά ηνπ απφ πηζαλή κφιπλζε, κπνξεί λα θαηεβάζεη θαη λα ηξέμεη ην script inoculate.local.

Σεκείωζε: Η εηδνπνίεζε πξνθιήζεθε ζην δηθφ καο ζχζηεκα απφ ηελ απφπεηξα εμσηεξηθνχ παξάγνληα λα ζπλδεζεί σο ρξήζηεο adm κέζσ telnet ζηε δηεχζπλζε 192 ηνπ darknet πνπ αληηπξνζσπεχεη δξνκνινγεηή ζην honeynet. Αμίδεη λα ηνλίζνπκε, πσο ε επίζεζε έγηλε ιίγεο ψξεο κεηά ηελ ηξνπνπνίεζε ηνπ honeynet πνπ εηζήγαγε ηνλ δξνκνινγεηή σο ζηνηρείν.

4.3 Scripts for snort database

ε απηήλ ηελ ελφηεηα ζα παξνπζηαζηνχλ νξηζκέλα bash scripts ηα νπνία εμάγνπλ απφ ηε βάζε δεδνκέλσλ, φπνπ απνζεθεχνληαη ηα alerts απφ ηελ εθηέιεζε ηνπ Snort, ρξήζηκα δεδνκέλα πνπ δελ εκθαλίδνληαη κέζσ ηεο δηεπαθήο ηνπ BASE. Γηα απηφλ ηνλ ιφγν, φια ηα παξαθάησ scripts παίξλνπλ ηνπιάρηζηνλ έλα φξηζκα ζην νπνίν δειψλεηαη ην φλνκα θαη ν θσδηθφο ελφο ρξήζηε ηεο mysql βάζεο δεδνκέλσλ. ηα παξαδείγκαηα ζα ρξεζηκνπνηήζνπκε ηα ζηνηρεία ηνπ ρξήζηε (snort_user, κε θσδηθφ snortpass ) πνπ δεκηνπξγήζακε ζην θεθάιαην 2.1.1. Δπίζεο, ζε πνιιά απφ απηά ζην θνκκάηη ηεο mysql, γίλεηαη ρξήζε ηνπ πίλαθα protocols πνπ δελ ππάξρεη ζην βαζηθφ ζρήκα ηεο βάζεο δεδνκέλσλ. Δηδηθά γηα απηφ δείηε ην θεθάιαην 2.1.3.

Η έμνδνο απφ θάζε script είλαη έλα απιφ αξρείν θεηκέλνπ πνπ πεξηέρεη ζηήιεο νη νπνίεο ρσξίδνληαη κε ηνλ εηδηθφ ραξαθηήξα «;». Με απηφλ ηνλ ηξφπν είλαη πνιχ εχθνιν ην αξρείν λα εηζαρζεί ζε έλα θχιιν excel θαη απφ εθεί λα θαηαζθεπαζηνχλ δηαγξάκκαηα γηα ηελ νπηηθνπνίεζε ηεο πιεξνθνξίαο.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 77

Alerts without payload:

Απφ ηα alert πνπ εκθαλίζηεθαλ ζπλνιηθά ζηε βάζε δεδνκέλσλ, δηαθξίλνπκε θάπνηα λα έρνπλ payload θαη θάπνηα άιια λα κελ έρνπλ. Δπεηδή κεγάιν ξφιν ζηελ επεμήγεζε ελφο alert παίδεη ην payload, δειαδή ε πιεξνθνξία πνπ θέξεη, επηζπκνχκε λα ηα μερσξίζνπκε. Με ην παξαθάησ script εκθαλίδνληαη απηά πνπ δελ έρνπλ payload ελψ κε ην ακέζσο επφκελν απηά πνπ έρνπλ.

Όζνλ αθνξά ζην θνκκάηη ηεο mysql επεξψηεζεο, δεκηνπξγνχκε έλα πξνζσξηλφ αξρείν κε φλνκα /tmp/tmp1.txt , ζην νπνίν νη ζηήιεο ρσξίδνληαη απφ ηνλ εηδηθφ ραξαθηήξα ―;‖. Οη ζηήιεο απηέο είλαη θαηά ζεηξά, ην φλνκα ηνπ alert, ε θαηεγνξία ζηελ νπνία αλήθεη, ν αξηζκφο ησλ ίδησλ alert πνπ εκθαλίζηεθαλ θαη ην πξσηφθνιιν επηπέδνπ ηέζζεξα. Γηα θάζε παθέην πνπ θηάλεη, δεκηνπξγείηαη κία θαηαρψξηζε ζηνλ πίλαθα event, ελψ ην payload απηνχ, αλ έρεη, απνζεθεχεηαη ζηνλ πίλαθα data. Γηα λα βξνχκε ινηπφλ, αλ έλα παθέην έρεη payload ή φρη θάλνπκε ηνλ πίλαθα event left join κε ηνλ data θαη ειέγρνπκε ην πεδίν data.sid γηα ηηκή NULL. Δπηιέγνπκε ζηε ζπλέρεηα, κφλν ηηο πιεηάδεο εθείλεο πνπ ππάξρεη ηηκή NULL ζην data.sid. Γηα λα εκθαληζηεί κφλν κία θνξά έλα alert, νη πιεηάδεο γίλνληαη group by ζην φλνκα ηνπ alert. Δπίζεο, επεηδή δελ θαηεγνξηνπνηνχληαη φια ηα alerts, ρξεζηκνπνηψληαο μαλά ηελ πξάμε left join κεηαμχ ησλ signature θαη sig_class βξίζθνπκε φια ηα alerts πνπ έρνπλ ή δελ έρνπλ θαηεγνξία. Σειηθψο, ζην αξρείν tmp1.txt ζα ππάξρνπλ πιεηάδεο ζην πεδίν «θαηεγνξία» κε ηηκή ―\N‖. Γηα λα αληηθαηαζηήζνπκε ηελ ηηκή απηή κε ηελ ηηκή ―unclassified‖ θαη γηα λα ππνινγίζνπκε ηνλ ζπλνιηθφ αξηζκφ απφ alerts, ρξεζηκνπνηνχκε έλα κηθξφ gawk πξφγξακκα φπσο θαίλεηαη παξαθάησ ην νπνίν απνζεθεχεη ην απνηέιεζκα ζε έλα αξρείν κε φλνκα ―/tmp/AlertsWithoutPayload.txt‖.

Παξάδεηγκα εθηέιεζεο: ./AlertsWithoutPayload.sh snort_user:snortpass

#!/bin/bash

#

if [ "$#" -ne 1 ]; then

echo "Usage: ./AlertsWithoutPayload.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e /tmp/tmp1.txt ]; then

rm /tmp/tmp1.txt;

fi

echo "use snort; select sig_name,sig_class_name,count(*),proto_name into outfile '/tmp/tmp1.txt' fields terminated by ';' lines terminated by '\n' from iphdr,protocols,signature left join sig_class on signature.sig_class_id=sig_class.sig_class_id,event left join data on event.sid=data.sid and event.cid=data.cid where data.sid<=>NULL and event.signature=signature.sig_id and event.sid=iphdr.sid and event.cid=iphdr.cid and iphdr.ip_proto=protocols.protocol group by sig_name;" | mysql -u "$mysql_user" -p"$mysql_pass";

gawk 'BEGIN FS=";"; printf("Alert Signature;Classification;Number#;Layer

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 78

Alerts with payload:

Παξφκνηα κε ηε ινγηθή ηνπ πξνεγνχκελνπ script, απηφ εκθαλίδεη φια ηα alerts πνπ έρνπλ payload.

Παξάδεηγκα εθηέιεζεο: ./AlertsWithPayload.sh snort_user:snortpass

#!/bin/bash

if [ "$#" -ne 1 ]; then

echo "Usage: ./AlertsWithPayload.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e /tmp/tmp1.txt ]; then

rm /tmp/tmp1.txt;

fi

echo "use snort; select sig_name,sig_class_name,count(*),proto_name into outfile '/tmp/tmp1.txt' fields terminated by ';' lines terminated by '\n' from iphdr,protocols,event,data,signature left join sig_class on signature.sig_class_id=sig_class.sig_class_id where event.signature=signature.sig_id and event.sid=data.sid and event.cid=data.cid and event.sid=iphdr.sid and event.cid=iphdr.cid and iphdr.ip_proto=protocols.protocol group by sig_name;" | mysql -u "$mysql_user" -p"$mysql_pass"

gawk 'BEGIN FS=";"; printf("Alert Signature;Classification;Number#;Layer 4 Protocol\n");sum=0

col2=$2

if ($2=="\\N") col2="unclassified"

printf("%d)%s;%s;%s;%s\n",NR,$1,col2,$3,$4); sum+=$3

END printf("Total;;%s;",sum)' /tmp/tmp1.txt > /tmp/AlertsWithPayload.txt

rm /tmp/tmp1.txt;

#End of script

4 Protocol\n");sum=0

col2=$2

if ($2=="\\N") col2="unclassified"

printf("%d)%s;%s;%s;%s\n",NR,$1,col2,$3,$4); sum+=$3

END printf("Total;;%s;",sum)' /tmp/tmp1.txt > /tmp/AlertsWithoutPayload.txt

rm /tmp/tmp1.txt;

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 79

Δύξεζε ηεο ρώξαο πνπ αλήθεη ε IP:

Δπεηδή γηα ηα επφκελα scripts ρξεηαδφκαζηε ηε ρψξα ζηελ νπνία αλήθεη κία δηεχζπλζε IP, ην παξαθάησ perl script θάλνληαο ρξήζε ηεο βηβιηνζήθεο ―Geo::IP ‖, εκθαλίδεη ηε ρψξα φπνπ αληηζηνηρεί ε IP πνπ ηνπ δφζεθε σο παξάκεηξνο ζηε γξακκή εληνιψλ. Αλ ε ρψξα δελ είλαη δπλαηφλ λα βξεζεί ηππψλεη ην κήλπκα ―Unknown‖.

Παξάδεηγκα εθηέιεζεο: ./ CountryfromIp.pl 85.72.170.226

Οη ρώξεο πνπ αληηζηνηρνύλ ζηηο IP πξνέιεπζεο όπσο ζπγθεληξώζεθαλ από ηα honeypots:

Δθηφο απφ ηα δεδνκέλα πνπ ζπγθεληξψλεη ην Snort, απφ ηε ιεηηνπξγία ησλ honeypots έρνπκε επίζεο ζπγθεληξψζεη ζε κία βάζε δεδνκέλσλ, φπσο θαηαζθεπάζηεθε ζην θεθάιαην 2.3.2, φιεο ηηο ζπλδέζεηο πνπ έγηλαλ πξνο εθείλα απφ ηνλ «έμσ θφζκν». Μπνξνχκε ινηπφλ λα δνχκε θαη κία άιιε νπηηθή γσλία γηα ηελ εηζεξρφκελε θίλεζε.

Με ην παξαθάησ script δεκηνπξγείηαη έλα αξρείν κε φλνκα ―/tmp/Honeypots_srcCountries.txt‖ ην νπνίν πεξηέρεη φιεο ηηο ρψξεο απφ φπνπ εκθαλίδνληαη ζπλδέζεηο πξνο ηα honeypots θαη ηνλ αξηζκφ ησλ ζπλδέζεσλ πνπ έγηλαλ απφ θάζε κία.

Σψξα, ην φλνκα ηεο βάζεο είλαη ―master_hlog‖ θαη νη δχν πίλαθεο πνπ ζπκκεηέρνπλ ζηελ επεξψηεζε είλαη ν ―request‖ θαη ν―rip‖. Ο πξψηνο πεξηέρεη πιεξνθνξίεο γηα θάζε ζχλδεζε πνπ έγηλε θαη ν δεχηεξνο ηελ δηεχζπλζε IP πξνέιεπζεο. Έλα απιφ join αξθεί γηα λα ηαηξηάμνπκε κία ζχλδεζε κε ηελ IP πνπ πξνήιζε. Όκσο ζηε ζπλέρεηα πξέπεη λα ηηο νκαδνπνηήζνπκε κε βάζε ηε ρψξα απφ φπνπ πξνέξρνληαη θαη γηα απηφ, θάζε κία IP πεξλάεη απφ ην script CountriesfromIp.pl θαη ηειηθψο ζην πξνζσξηλφ αξρείν ―/tmp/tmp1.txt‖, απνζεθεχνληαη νη ρψξεο θαη πφζεο θνξέο εκθαλίζηεθε θάζε κία. Φπζηθά, ζην αξρείν θάπνηεο ρψξεο ζα εκθαλίδνληαη πεξηζζφηεξεο απφ κία θνξέο θαη γηα απηφ πξέπεη λα νκαδνπνηεζνχλ. Η νκαδνπνίεζε ζα γίλεη πάιη κέζσ ηεο mysql. Γεκηνπξγνχκε έλαλ πξνζσξηλφ πίλαθα, πνπ ππάξρεη φζν ηζρχεη κία ζχλδεζε κε ηε mysql, κε φλνκα ―countries‖ o νπνίνο έρεη ηξία κφλν πεδία. Σν πξψην είλαη έλαο αλαγλσξηζηηθφο αξηζκφο, ην δεχηεξν ε ρψξα θαη ην ηξίην ν αξηζκφο ησλ ζπλδέζεσλ πνπ

use Geo::IP;

$gi = Geo::IP->new(GEOIP_STANDARD);

$country_name = $gi->country_name_by_addr($ARGV[0]);

if($country_name eq "")

print "Unknown";

else

print $country_name;

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 80

έγηλαλ απφ απηήλ πξνο ηα honeypots. Φνξηψλνπκε ινηπφλ, ην αξρείν ―/tmp/tmp1.txt‖ ζηνλ πίλαθα ―countries‖ θαη εθηεινχκε κία απιή mysql επεξψηεζε πνπ καο δίλεη κία πιεηάδα γηα θάζε ρψξα θαη ηνλ αξηζκφ ησλ ζπλδέζεσλ απφ απηήλ. Σν απνηέιεζκα απνζεθεχεηαη ζην αξρείν /tmp/Honeypots_srcCountries.txt.

Παξάδεηγκα εθηέιεζεο: ./Honeypots_srcCountries.sh honeyd_user:honeydpass , ζεσξψληαο φηη ν ρξήζηεο honeyd_user έρεη θσδηθφ honeydpass θαη δηθαίσκα γηα select ζηε βάζε master_hlog.

#!/bin/bash

#

if [ "$#" -ne 1 ]; then

echo "Usage: ./Honeypots_srcCountries.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e "/tmp/Honeypots_srcCountries.txt" ]; then

rm /tmp/Honeypots_srcCountries.txt

fi

echo "use master_hlog; select rip.ip,count(*) as Total from request,rip where request.rip=rip.id and request.ecode!='E' group by rip.ip;" | mysql -u "$mysql_user" -p"$mysql_pass" | gawk 'NR!=1 system("perl /home/pavlos/CountryfromIp.pl "$1); printf ";%d\n",$2' > /tmp/tmp1.txt

echo "use snort;

CREATE TEMPORARY TABLE countries ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,\

country VARCHAR(255) NOT NULL,\

number INT NOT NULL,\

PRIMARY KEY (id));

load data infile '/tmp/tmp1.txt' into table countries fields terminated by ';' (country, number);

select country,sum(number) into outfile '/tmp/Honeypots_srcCountries.txt' fields terminated by ';' lines terminated by '\n' from countries group by country;" | mysql -u "$mysql_user" -p"$mysql_pass"

rm /tmp/tmp1.txt

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 81

Ο αξηζκόο ησλ δηαθνξεηηθώλ εηδώλ alerts γηα ηελ ίδηα IP πξνέιεπζεο:

Σν παξαθάησ script καο δηεπθνιχλεη αλ ζέινπκε λα δνχκε κήπσο ππάξρνπλ δηεπζχλζεηο IP απφ ηηο νπνίεο έρνπλ πξνέιζεη πεξηζζφηεξα απφ έλα είδνο alert. Η ηειηθή επεξψηεζε φπσο θαίλεηαη παξαθάησ θάλεη ρξήζε κίαο εηδηθήο φςεο κε φλνκα ―alerts_vs_ipsrc‖. Η φςε είλαη:

Η εθηέιεζε ηεο φςεο καο δίλεη γηα θάζε δηαθνξεηηθή IP πφζα δηαθνξεηηθά είδε alerts πξνέθπςαλ απφ απηήλ. Δθκεηαιιεπφκελνη ην απνηέιεζκα, ε επεξψηεζε ηνπ script νκαδνπνηεί ηηο πιεηάδεο κε βάζε ηνλ αξηζκφ ησλ δηαθνξεηηθψλ alerts θαη πξνθχπηεη ηειηθψο πφζεο IP έρνπλ πξνθαιέζεη πφζα δηαθνξεηηθά alerts.

Παξάδεηγκα εθηέιεζεο: ./no_IPs_vs_no_uniqueAlerts.sh snort_user:snortpass

VIEW alerts_vs_ipsrc AS select event.signature AS signature,inet_ntoa(iphdr.ip_src) AS source_ip,count(distinct event.signature) AS distinct_alerts from (event join iphdr) where ((event.sid = iphdr.sid) and (event.cid = iphdr.cid )) group by inet_ntoa(iphdr.ip_src) order by count(distinct event.signature)

#! /bin/bash

#

if [ "$#" -ne 1 ]; then

echo "Usage: ./no_IPs_vs_no_uniqueAlerts.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e /tmp/no_IPs_vs_no_uniqueAlerts.txt ]; then

rm /tmp/no_IPs_vs_no_uniqueAlerts.txt;

fi

echo "use snort; select count(source_ip) as no_of_IPs, distinct_alerts as no_of_unique_alerts into outfile '/tmp/no_IPs_vs_no_uniqueAlerts.txt' lines terminated by '\n' from alerts_vs_ipsrc group by no_of_unique_alerts order by no_of_unique_alerts asc;" | mysql -u "$mysql_user" -p"$mysql_pass"

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 82

Οη ρώξεο πξνέιεπζεο πνπ εκθαλίδνληαη ζηελ πξσηλή δώλε (06:00:00 – 11:59:59) ζε ώξα Διιάδνο (GMT +2):

Σν απνηέιεζκα ηεο επεξψηεζεο ηνπ script είλαη πφζα alerts εκθαλίδνληαη απφ θάζε IP ηε ζπγθεθξηκέλε δψλε ψξαο. Δπεηδή καο ελδηαθέξνπλ νη ρψξεο ζα ρξεζηκνπνηήζνπκε ην script CountryfromIp.pl πνπ αληηζηνηρεί κία IP κε ηε ρψξα πνπ αλήθεη. ηε ζπλέρεηα ζα πεξάζνπκε ην απνηέιεζκα ζε έλαλ πξνζσξηλφ πίλαθα θαη απφ εθεί ζα θάλνπκε νκαδνπνίεζε ησλ ρσξψλ κε ηε βνήζεηα ηεο mysql. Σν ηειηθφ απνηέιεζκα απνζεθεχεηαη ζην αξρείν /tmp/CountriesAtMorning.txt.

Παξάδεηγκα εθηέιεζεο: ./SrcCountriesAtMorning.sh snort_user:snortpass

#!/bin/bash

#

#Time Zone : Morning (06:00:00 - 11:59:59)

if [ "$#" -ne 1 ]; then

echo "Usage: ./SrcCountriesAtMorning.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e "/tmp/CountriesAtMorning.txt" ]; then

rm /tmp/CountriesAtMorning.txt

fi

echo "use snort; select inet_ntoa(ip_src),count(ip_src) as Total from event,iphdr where event.sid=iphdr.sid and event.cid=iphdr.cid and time(timestamp)>='06:00:00' and time(timestamp)<='11:59:59' group by ip_src;" | mysql -u "$mysql_user" -p"$mysql_pass" | gawk 'NR!=1 system("perl /home/pavlos/CountryfromIp.pl "$1); printf ";%d\n",$2' > /tmp/tmp1.txt

echo "use snort;

CREATE TEMPORARY TABLE countries ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,\

country VARCHAR(255) NOT NULL,\

number INT NOT NULL,\

PRIMARY KEY (id));

load data infile '/tmp/tmp1.txt' into table countries fields terminated by ';' (country, number);

select country,sum(number) into outfile '/tmp/CountriesAtMorning.txt' fields terminated by ';' \

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 83

Οη ρώξεο πξνέιεπζεο πνπ εκθαλίδνληαη ζηε κεζεκεξηαλή δώλε (12:00:00 - 17:59:59) ζε ώξα Διιάδνο (GMT +2):

Παξφκνηα κε ην πξνεγνχκελν script, ζην αξρείν /tmp/CountriesAtNoon.txt εκθαλίδνληαη νη ρψξεο θαη ν αξηζκφο ησλ alerts γηα θάζε κία ζηε κεζεκεξηαλή δψλε.

Παξάδεηγκα εθηέιεζεο: ./SrcCountriesAtNoon.sh snort_user:snortpass

lines terminated by '\n' from countries group by country;" | mysql -u "$mysql_user" -p"$mysql_pass"

rm /tmp/tmp1.txt

#End of script

#!/bin/bash

#

#Time Zone : Noon (12:00:00 - 17:59:59)

if [ "$#" -ne 1 ]; then

echo "Usage: ./SrcCountriesAtNoon.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e "/tmp/CountriesAtNoon.txt" ]; then

rm /tmp/CountriesAtNoon.txt

fi

echo "use snort; select inet_ntoa(ip_src),count(ip_src) as Total from event,iphdr where event.sid=iphdr.sid and event.cid=iphdr.cid and time(timestamp)>='12:00:00' and time(timestamp)<='17:59:59' group by ip_src;" | mysql -u "$mysql_user" -p"$mysql_pass" | gawk 'NR!=1 system("perl /home/pavlos/CountryfromIp.pl "$1); printf ";%d\n",$2' > /tmp/tmp1.txt

echo "use snort;

CREATE TEMPORARY TABLE countries ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,\

country VARCHAR(255) NOT NULL,\

number INT NOT NULL,\

PRIMARY KEY (id));

load data infile '/tmp/tmp1.txt' into table countries fields terminated by ';'

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 84

Οη ρώξεο πξνέιεπζεο πνπ εκθαλίδνληαη ζηελ απνγεπκαηηλή δώλε (18:00:00 - 23:59:59) ζε ώξα Διιάδνο (GMT +2):

Παξφκνηα κε ηα πξνεγνχκελα scripts, ζην αξρείν /tmp/CountriesAtAfternoon.txt εκθαλίδνληαη νη ρψξεο θαη ν αξηζκφο ησλ alerts γηα θάζε κία ζηελ απνγεπκαηηλή δψλε.

Παξάδεηγκα εθηέιεζεο: ./SrcCountriesAtAfternoon.sh snort_user:snortpass

#!/bin/bash

#

#Time Zone : Afternoon (18:00:00 - 23:59:59)

if [ "$#" -ne 1 ]; then

echo "Usage: ./SrcCountriesAtAfternoon.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e "/tmp/CountriesAtAfternoon.txt" ]; then

rm /tmp/CountriesAtAfternoon.txt

fi

echo "use snort; select inet_ntoa(ip_src),count(ip_src) as Total from event,iphdr where event.sid=iphdr.sid and \

event.cid=iphdr.cid and time(timestamp)>='18:00:00' and time(timestamp)<='23:59:59' \

group by ip_src;" | mysql -u "$mysql_user" -p"$mysql_pass" | gawk 'NR!=1 system("perl /home/pavlos/CountryfromIp.pl "$1); \

printf ";%d\n",$2' > /tmp/tmp1.txt

echo "use snort;

(country, number);

select country,sum(number) into outfile '/tmp/CountriesAtNoon.txt' fields terminated by ';' \

lines terminated by '\n' from countries group by country;" | mysql -u "$mysql_user" -p"$mysql_pass"

rm /tmp/tmp1.txt

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 85

Οη ρώξεο πξνέιεπζεο πνπ εκθαλίδνληαη ζηελ λπρηεξηλή δώλε (00:00:00 - 05:59:59) ζε ώξα Διιάδνο (GMT +2):

Παξφκνηα κε ηα πξνεγνχκελα scripts, ζην αξρείν /tmp/CountriesAtNight.txt εκθαλίδνληαη νη ρψξεο θαη ν αξηζκφο ησλ alerts γηα θάζε κία ζηελ απνγεπκαηηλή δψλε.

Παξάδεηγκα εθηέιεζεο: ./SrcCountriesAtNight.sh snort_user:snortpass

CREATE TEMPORARY TABLE countries ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,\

country VARCHAR(255) NOT NULL,\

number INT NOT NULL,\

PRIMARY KEY (id));

load data infile '/tmp/tmp1.txt' into table countries fields terminated by ';' (country, number);

select country,sum(number) into outfile '/tmp/CountriesAtAfternoon.txt' fields terminated by ';' \

lines terminated by '\n' from countries group by country;" | mysql -u "$mysql_user" -p"$mysql_pass"

rm /tmp/tmp1.txt

#End of script

#!/bin/bash

#

#Time Zone : NIGHT (00:00:00 - 05:59:59)

if [ "$#" -ne 1 ]; then

echo "Usage: ./SrcCountriesAtNight.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e "/tmp/CountriesAtNight.txt" ]; then

rm /tmp/CountriesAtNight.txt

fi

echo "use snort; select inet_ntoa(ip_src),count(ip_src) as Total from event,iphdr where event.sid=iphdr.sid and \

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 86

Υώξεο πξνέιεπζεο ησλ δηαθνξεηηθώλ εηδώλ alerts κε ηνλ αξηζκό απηώλ:

Γηα θάζε ρψξα εκθαλίδεη ηα είδε ησλ alerts πνπ πξνέξρνληαη απφ απηήλ θαη ηελ πνζφηεηα γηα θάζε είδνο.

Παξάδεηγκα εθηέιεζεο: ./ SrcCountriesvsUniqueAlerts.sh snort_user:snortpass

event.cid=iphdr.cid and time(timestamp)>='00:00:00' and time(timestamp)<='05:59:59' \

group by ip_src;" | mysql -u "$mysql_user" -p"$mysql_pass" | gawk 'NR!=1 system("perl /home/pavlos/CountryfromIp.pl "$1); \

printf ";%d\n",$2' > /tmp/tmp1.txt

echo "use snort;

CREATE TEMPORARY TABLE countries ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,\

country VARCHAR(255) NOT NULL,\

number INT NOT NULL,\

PRIMARY KEY (id));

load data infile '/tmp/tmp1.txt' into table countries fields terminated by ';' (country, number);

select country,sum(number) into outfile '/tmp/CountriesAtNight.txt' fields terminated by ';' \

lines terminated by '\n' from countries group by country;" | mysql -u "$mysql_user" -p"$mysql_pass"

rm /tmp/tmp1.txt

#End of script

#!/bin/bash

if [ "$#" -ne 1 ]; then

echo "Usage: ./SrcCountriesvsUniqueAlerts.sh <mysql_user:mysql_pass>"

exit 1

fi

mysql_user=`echo $1 | cut -d ":" -f1`

mysql_pass=`echo $1 | cut -d ":" -f2`

if [ -e "/tmp/CountriesvsUniqueAlerts.txt" ]; then

rm /tmp/CountriesvsUniqueAlerts.txt

fi

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 87

Portsweep:

Portsweep νλνκάδεηαη ην ζθαλάξηζκα πνιιψλ ππνινγηζηψλ δηαδνρηθά ζε κία ζπγθεθξηκέλε πχιε-ππεξεζία. Η ηερληθή απηή κπνξεί λα ρξεζηκνπνηεζεί απφ δηαρεηξηζηέο ππνινγηζηηθψλ θέληξσλ κε ζθνπφ λα ειέγμνπλ ηη ππεξεζίεο ηξέρνπλ ζε πνηνπο ππνινγηζηέο (δηάζεκα εξγαιεία γηα απηήλ ηε δνπιεηά είλαη nmap, cyberkit) ή απφ worms πνπ ζηνρεχνπλ λα εθκεηαιιεπζνχλ vulnerabilities ζπγθεθξηκέλσλ ππεξεζηψλ. Γηα παξάδεηγκα έλα MS-SQL worm κπνξεί λα αληρλεχζεη hosts ζηελ ζχξα 1434 επεηδή απηή ρξεζηκνπνηείηαη γηα ηε δηαρείξηζε ηεο MS-SQL.

Η πιεξνθνξία πνπ καο δίλεη ην Snort γηα θάζε portsweep πνπ ιακβάλεη ρψξα θαίλεηαη παξαθάησ:

echo "use snort; select inet_ntoa(ip_src),sig_name,count(*) from event,signature,iphdr where inet_ntoa(ip_dst) like '88.197.11%' and event.sid=iphdr.sid and event.cid=iphdr.cid and event.signature=signature.sig_id group by ip_src,sig_name;" \

| mysql -u "$mysql_user" -p"$mysql_pass" | sed "s/\t/;/g" | \

gawk 'BEGIN FS=";"

NR!=1 system("perl /home/pavlos/CountriesfromIp.pl "$1); printf(";%s;%d\n",$2,$3);' > /tmp/tmp1.txt

echo "use snort;

CREATE TEMPORARY TABLE countries ( id INT UNSIGNED NOT NULL AUTO_INCREMENT,\

country VARCHAR(255) NOT NULL,\

signature VARCHAR(255) NOT NULL,\

number INT UNSIGNED NOT NULL,\

PRIMARY KEY (id));

load data infile '/tmp/tmp1.txt' into table countries fields terminated by ';' (country,signature,number);

select country,signature,sum(number) into outfile '/tmp/CountriesvsUniqueAlerts.txt' fields terminated by ';' lines terminated by '\n' from countries group by country,signature;" | mysql -u "$mysql_user" -p"$mysql_pass"

rm /tmp/tmp1.txt

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 88

χκθσλα κε ηελ ηεθκεξίσζε ηνπ Snort ζην έγγξαθν README.sfportscan, ηα πεδία εξκελεχνληαη σο εμήο:

Priority Count: Δίλαη ν αξηζκφο ησλ θνξψλ πνπ ιήθζεθε αξλεηηθή απάληεζε απφ έλαλ host. Γηα παξάδεηγκα ν host κπνξεί λα ήηαλ unreachable ή λα έγηλε reset ζηε ζχλδεζε απφ ηνλ ίδην ή απφ θάπνην firewall.

Connection Count: Δίλαη ν αξηζκφο ησλ ελεξγψλ ζπλδέζεσλ πνπ ππάξρνπλ ηαπηφρξνλα ζηνλ ίδην ππνινγηζηή

IP Count: Δίλαη ν αξηζκφο ησλ δηαθνξεηηθψλ IP πνπ επηθνηλψλεζαλ κε ηνλ ίδην ππνινγηζηή. Απνζεθεχεηαη πάληα ε ηειεπηαία IP. Γηα ελεξγνχο ππνινγηζηέο ν αξηζκφο απηφο κπνξεί λα είλαη κεγάινο θαη λα καξηπξά έλα distributed scan.

Scanned IP Range: Σν εχξνο ησλ δηαθνξεηηθψλ ππνινγηζηψλ πνπ ζαξψζεθαλ.

Port/Proto Count: Ο αξηζκφο ησλ δηαθνξεηηθψλ ports πνπ ζαξψζεθαλ. Γηα portsweeps ζπλήζσο παίξλεη ηηκή έλα.

Port/Proto Range: Σν εχξνο ησλ ports πνπ ζαξψζεθαλ.

Γηα λα κεηξήζνπκε ηε ζπνπδαηφηεηα κίαο ζάξσζεο ή λα γηα λα μερσξίζνπκε απηέο πνπ είλαη false positives, ρξεζηκνπνηνχκε νξηζκέλεο κεηξηθέο παξακέηξνπο. Απηέο είλαη νη ιφγνη:

Connection Count / IP Count: Ο κέζνο φξνο ησλ ζπλδέζεσλ γηα θάζε IP. ε portsweeps ζπλήζσο είλαη κηθξφο αξηζκφο.

Port Count / IP Count: Ο κέζνο φξνο ησλ ports πνπ είλαη ζπλδεδεκέλε κία IP. πλήζσο παίξλεη κηθξή ηηκή.

Connection Count / Port Count: Ο κέζνο φξνο ησλ ζπλδέζεσλ κε κία port. πλήζσο είλαη κεγάινο αξηζκφο, θαζψο ε ζχξα είλαη παξακέλεη ίδηα.

Αθνινπζεί έλα bash script πνπ ππνινγίδεη απηνχο ηνπο ιφγνπο ιακβάλνληαο ππφςε φια ηα portsweeps πνπ βξέζεθαλ απφ ην Snort θαη ππνινγίδνληαο ηνλ κέζν φξν γηα ηνλ θάζε ιφγν. Η δεχηεξε παξάκεηξνο πνπ δέρεηαη ην script είλαη πξναηξεηηθή θαη είλαη ην αξρείν ζην νπνίν ζα ηππψζεη ηηο πιεξνθνξίεο γηα φια ηα portsweeps.

Η πιεξνθνξία γηα κία ζάξσζε φπσο παξνπζηάζηεθε πην πάλσ, ζηε βάζε δεδνκέλσλ απνζεθεχεηαη ζηνλ πίλαθα data ζε δεθαεμαδηθή κνξθή. Η επεξψηεζε ινηπφλ κέζα ζην script, ζπλδπάδεη ην payload απφ ηνλ data κε ηε δηεχζπλζε IP απφ ηνλ iphdr. Σν απνηέιεζκα απνζεθεχεηαη ζε έλα πξνζσξηλφ αξρείν ην νπνίν ζηε ζπλέρεηα ζαξψλεηαη απφ ην πην θάησ awk πξφγξακκα πνπ ππνινγίδεη ηνπο ιφγνπο.

Παξάδεηγκα εθηέιεζεο: ./Portsweep.sh snort_user:snortpass [ /tmp/portsweep.txt ]

IP source :116.9.95.1

Priority Count: 5

Connection Count: 1

IP Count: 128

Scanned IP Range: 88.197.11.8:88.197.11.255

Port/Proto Count: 1

Port/Proto Range: 10000:10000

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 89

#!/bin/bash

#

if [ "$#" -lt 1 ] || [ ―$#‖ –gt 2 ]; then

echo "Usage: ./Portsweep.sh <mysql_user:mysql_pass> <outfile(optional)>"

exit 1

fi

mysql_user=`echo $2 | cut -d ":" -f1`

mysql_pass=`echo $2 | cut -d ":" -f2`

if [ -e /tmp/portsweep.txt ]; then

rm /tmp/portsweep.txt;

fi

echo "use snort; select inet_ntoa(ip_src), unhex(data.data_payload) into outfile '/tmp/portsweep.txt' fields terminated by ';' lines terminated by '\n' from event,signature,data,iphdr where event.sid=iphdr.sid and event.cid=iphdr.cid and event.signature=signature.sig_id and event.sid=data.sid and event.cid=data.cid and sig_name like '%TCP Portsweep%';" | mysql -u "$mysql_user" -p"$mysql_pass"

awk 'BEGIN av_ConnCnt_IpCnt=0; av_ConnCnt_PortCnt=0; av_PortCnt_IpCnt=0; number_of_alerts=0

if(NR==int(NR/7)*7+2) s1=index($0,":"); str=substr($0,s1+2,6); split(str,array,"\\"); conn_count=array[1]

if(NR==int(NR/7)*7+3)

s1=index($0,":"); str=substr($0,s1+2,6); split(str,array,"\\");

ip_count=array[1]; av=conn_count/ip_count; av_ConnCnt_IpCnt+=av;

if(NR==int(NR/7)*7+5)

s1=index($0,":"); str=substr($0,s1+2,6); split(str,array,"\\");

port_count=array[1]; av=conn_count/port_count; av_ConnCnt_PortCnt+=av;

av=port_count/ip_count; av_PortCnt_IpCnt+=av;

number_of_alerts++;

END printf("Number of alerts: %d\n",number_of_alerts);

printf("Connection Count / IP Count: %f\n",av_ConnCnt_IpCnt/number_of_alerts);

printf("Connection Count / Port Count: %f\n",av_ConnCnt_PortCnt/number_of_alerts);

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 90

4.4 Αλάιπζε ησλ ζπκβάλησλ πνπ θαηέγξαςε ην Snort.

ηηο δχν πξψηεο ελφηεηεο ηνπ ηέηαξηνπ θεθαιαίνπ κηιήζακε γηα ηα είδε ησλ alerts. Έλα alert αθνξά έλα θαη κφλν παθέην δεδνκέλσλ. Δπνκέλσο, ζε κία tcp ή udp ζχλδεζε φπνπ ν αξηζκφο ησλ παθέησλ πνπ αληαιιάζζνληαη είλαη ζπλήζσο πεξηζζφηεξα απφ έλα ηφηε εκθαλίδεηαη κία ξνή απφ ίδηα alerts ηα νπνία κάιηζηα είλαη πνιχ θνληά κεηαμχ ηνπο σο πξνο ηνλ ρξφλν. Αμίδεη, ινηπφλ, λα κειεηήζνπκε ηα ζπκβάληα απηά θαη λα δνχκε πφζα εκθαλίδνληαη θαη πνηεο ψξεο αιιά θαη απφ πνπ πξνέξρνληαη. ηε ζπλέρεηα ζα παξνπζηαζηνχλ ζρεηηθά δηαγξάκκαηα πνπ αθνξνχλ πάληνηε ηα ζπκβάληα απφ ην ρψξν ηνπ darknet.

ην dark address space ζε φιε ηε δηάξθεηα ηεο ιεηηνπξγίαο ηνπ server, θαηαγξάθεθαλ 30.038 ζπκβάληα, πνπ αληηζηνηρνχλ ζε 38 είδε alerts, απφ 1706 δηαθνξεηηθέο IP πνπ κε ηε ζεηξά ηνπο αληηζηνηρνχλ ζε 88 ρψξεο απφ νιφθιεξν ηνλ θφζκν. ηνλ πίλαθα 2 αλαγξάθνληαη φιεο νη ρψξεο απηέο θαη δίπια απφ θάζε κία ν αξηζκφο ησλ alerts πνπ πξνήιζαλ απφ απηήλ. ην δηάγξακκα πνπ αθνινπζεί απεηθνλίδνληαη κφλν νη ρψξεο πνπ έρνπλ παξαπάλσ απφ 100 alerts.

Πίλαθαο 2: Οη 88 ρώξεο από ηηο νπνίεο θαηαγξάθεθαλ ζπκβάληα ζην dark address space.

Υώξα Alerts# Υώξα Alerts# Υώξα Alerts#

Algeria 2 Germany 184 Paraguay 2

Argentina 35 Greece 180 Peru 138

Armenia 1 Hong Kong 5 Philippines 1

Asia/Pacific Region 1 Hungary 4 Poland 19

Australia 25 India 31 Portugal 3

Austria 3 Indonesia 4 Puerto Rico 4

Azerbaijan 2 Iran, Islamic Republic of 5 Qatar 1

printf("Port Count / IP Count: %f\n",av_PortCnt_IpCnt/number_of_alerts);

' /tmp/portsweep.txt

if [ "$#" -eq 3 ]; then

output=$3

gawk 'BEGIN FS=";"

if(NR==int(NR/7)*7+1) printf("IP source :%s\n%s\n",$1,$2)

else print $0

' /tmp/portsweep.txt > "$output"

fi

rm /tmp/portsweep.txt

#End of script

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 91

Υώξα Alerts# Υώξα Alerts# Υώξα Alerts#

Bangladesh 4 Ireland 5 Romania 11

Belarus 1 Israel 2 Russian Federation 12303

Belgium 11 Italy 38 San Marino 1

Bolivia 4 Japan 22 Saudi Arabia 2

Bosnia and Herzegovina 1 Jordan 2 Singapore 5

Brazil 126 Kazakhstan 4 Slovakia 3

Brunei Darussalam 6

Korea, Republic of 70 Slovenia 2

Bulgaria 9 Kuwait 1 South Africa 1

Canada 253 Kyrgyzstan 2 Spain 35

Chile 3 Latvia 6 Sweden 19

China 1873 Lebanon 2 Switzerland 6

Colombia 32 Lithuania 6 Taiwan 196

Costa Rica 5 Luxembourg 20 Thailand 21

Cyprus 2 Malaysia 20 Turkey 434

Czech Republic 22 Mexico 7696 Ukraine 25

Denmark 6 Moldova, Republic of 2

United Arab Emirates 1

Dominican Republic 2 Morocco 1508

United Kingdom 183

Ecuador 2 Netherlands 22 United States 3125

Egypt 77 New Zealand 263 Unknown 177

Estonia 38 Nigeria 1 Venezuela 501

Finland 2 Norway 2 Vietnam 4

France 114 Pakistan 44

French Polynesia 1 Panama 1

Με ηε βνήζεηα ηνπ BASE θαη ηεο βηβιηνζήθεο γξαθηθψλ πνπ εγθαηαζηήζακε ζην θεθάιαην 2.2.2 κπνξνχκε λα απεηθνλίζνπκε ηηο ρψξεο πξνέιεπζεο ηνπ παξαπάλσ πίλαθα ζε έλαλ παγθφζκην ράξηε, ν νπνίνο θαίλεηαη παξαθάησ:

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 92

Δηθόλα 7: Παγθόζκηνο ράξηεο κε ζεκεησκέλεο ηηο ρώξεο απν ηηο νπνίεο θαηαγξάθεθε δξαζηεξηόηεηα πξνο ην darknet space.

Source Countries vs Alerts (> 100)

126 2531873

114 184 180

7696

1508263 138

12303

196 434 183

3125

177 501

0

20004000

60008000

1000012000

14000

Bra

zil

Can

ada

China

Franc

e

Ger

man

y

Gre

ece

Mex

ico

Mor

occo

New

Zeal

and

Per

u

Rus

sian

Federa

tion

Taiwan

Turkey

Unite

d Kin

gdom

Unite

d Sta

tes

Unk

nown

Ven

ezuel

a

ρήκα 2: Οη ρώξεο πξνέιεπζεο πξνο ηνλ αξηζκό ησλ alerts γηα θάζε κία. Σηκή θαησθιίνπ είλαη ηα 100 alerts.

Δζηηάδνληαο ζην παξαπάλσ δηάγξακκα ζηηο δχν ρψξεο κε ηα πεξηζζφηεξα alerts, ηελ Ρσζία θαη ην Μεμηθφ, παξαηεξνχκε φηη ην ζχλνιν ησλ παθέησλ έρεη πξνέιζεη απφ 53 δηαθνξεηηθέο IP γηα ηε Ρσζία θαη κφιηο 10 γηα ην Μεμηθφ. Πεγαίλνληαο έλα βήκα

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 93

παξαπάλσ, ζα ζέιακε λα δνχκε αλ ε θαηαλνκή ησλ παθέησλ ζηηο IP είλαη νκνηφκνξθε ή φρη. Θα ήηαλ ιάζνο λα θάλνπκε απιψο κία δηαίξεζε ηνπ αξηζκνχ ησλ alerts πξνο ηνπ αξηζκνχ ησλ IP πξνέιεπζεο γηαηί θάηη ηέηνην ζα καο έδηλε εζθαικέλε εληχπσζε γηα ην ηη ζπκβαίλεη πξαγκαηηθά. ηελ πεξίπησζε ηνπ Μεμηθνχ, κφλν δχν απφ ηηο IP έρνπλ πξνθαιέζεη ζρεδφλ ην ζχλνιν ησλ alerts κε ηελ 189.170.71.24 λα έρεη 3.583 alerts θαη ηελ 189.170.101.166 λα έρεη 4.101. Οη πεξηζζφηεξεο απφ ηηο ππφινηπεο έρνπλ απφ έλα ή δχν ην πνιχ alerts. Αλάινγε θαηάζηαζε ππάξρεη θαη ζην παξάδεηγκα ηεο Ρσζίαο. Μηα κφλν IP, ε 87.224.231.160, έρεη 10969 alerts, ε ακέζσο επφκελε, ε 91.122.132.24, θαηέρεη 1242 alerts ελψ ηα ππφινηπα 92 είλαη κνηξαζκέλα ζε 51 IP.

Iδηαίηεξν ελδηαθέξνλ παξνπζηάδεη ην γεγνλφο φηη νη ηέζζεξηο IP ηεο Ρσζίαο θαη ηνπ Μεμηθνχ πξνθάιεζαλ ην ίδην είδνο alert θαη ην νπνίν είλαη ην ―Short UDP packet, length field > payload length‖. Δλδηαθέξνλ επίζεο είλαη πσο κέζα ζε θάζε δεχγνο IP, Ρσζίαο θαη Μεμηθνχ, ε δξαζηεξηφηεηα ησλ δχν δηεπζχλζεσλ είλαη πνιχ θνληά κεηαμχ ηνπο ρξνληθά. ηελ πεξίπησζε ηνπ Μεμηθνχ, ε δηάξθεηα ηεο ξηπήο ησλ alerts απφ ηελ 189.170.101.166 είλαη πεξίπνπ έμη ιεπηά θαη ηξία ιεπηά κεηά ηε ιήμε ηεο θαηαγξάθεηαη ε δεχηεξε ξηπή απφ ηελ 189.170.71.24 κε δηάξθεηα ηεζζάξσλ ιεπηψλ. Παξφκνηα δξαζηεξηφηεηα εκθαλίδεηαη θαη ζηε πεξίπησζε ησλ Ρσζηθψλ IP.

Πίλαθαο 3: Σα είδε ησλ alerts θαη ν αξηζκόο απηώλ, πνπ πξνήιζαλ από ηηο πέληε ρώξεο κε ηα πεξηζζόηεξα alerts.

Υώξα Alert Signature Αξηζκόο#

China

China

DDOS Stacheldraht client check gag 10

ICMP Destination Unreachable Communication Administratively Prohibited 5

ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited 253

ICMP PING NMAP 7

portscan: TCP Portscan 11

portscan: TCP Portsweep 813

Snort Alert [1:10136:0] 2

Snort Alert [1:11264:0] 2

Snort Alert [1:6512:0] 757

snort_decoder: Experimental TCP options 3

snort_decoder: Short UDP packet, length field > payload length 1

snort_decoder: TCP Data Offset is less than 5! 4

snort_decoder: Tcp Options found with bad lengths 1

snort_decoder: Truncated Tcp Options 4

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 94

Υώξα Alert Signature Αξηζκόο#

Mexico

ICMP PING NMAP 1

portscan: TCP Portscan 2

portscan: TCP Portsweep 5

snort_decoder: Experimental TCP options 4

snort_decoder: Short UDP packet, length field > payload length 7684

Morocco

portscan: TCP Portsweep 8

snort_decoder: Short UDP packet, length field > payload length 1500

Russian Federation

Russian Federation

ICMP Destination Unreachable Communication Administratively Prohibited 1

ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited 23

portscan: TCP Portscan 6

portscan: TCP Portsweep 57

Snort Alert [1:2002974:0] 4

snort_decoder: Short UDP packet, length field > payload length 12211

snort_decoder: WARNING: ICMP Original IP Header Not IPv4! 1

United States

ftp_pp: FTP command channel encrypted 2

ftp_pp: Invalid FTP command 2

http_inspect: BARE BYTE UNICODE ENCODING 1

ICMP Destination Unreachable Communication Administratively Prohibited 6

ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited 23

ICMP PING NMAP 2548

ICMP superscan echo 348

portscan: TCP Portscan 14

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 95

Υώξα Alert Signature Αξηζκόο#

United States

portscan: TCP Portsweep 93

SNMP AgentX/tcp request 2

SNMP request tcp 3

Snort Alert [1:0:0] 2

Snort Alert [1:10136:0] 1

Snort Alert [1:2002974:0] 1

snort_decoder: Experimental TCP options 19

snort_decoder: TCP Data Offset is less than 5! 26

snort_decoder: Truncated Tcp Options 3

ssh: Protocol mismatch 4

WEB-PHP Setup.php access 27

Γξαζηεξηόηεηα ησλ IPs πξνέιεπζεο:

ρήκα 3: Ο αξηζκόο ησλ alerts πνπ πξνήιζαλ από δηάθνξεο IPs. Σηκή θαησθιίνπ ηα εθαηό alerts. Σν 100% αληηζηνηρεί ζε 30.038 alerts.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 96

Unique Alerts from one IP

1667

33

5

11

10

100

1000

10000

"1" "2" "3" "4"

Unique Alerts

IPs

ρήκα 4: Πόζεο IPs έρνπλ πξνθαιέζεη ηνλ ίδην αξηζκό unique alerts.

UniqueAlerts vs Different IPs (1-19)

1 2 1 1 1 1 1

1373

1

130

3 26

41

1323

1 1 2

1

10

100

1000

10000

DDO

S Sta

chel

draht c

l...

frag3:

Fra

gmenta

tion ..

.

ftp_pp:

FTP b

ounce a

...

ftp_pp:

FTP c

omm

an...

ftp_pp:

Inva

lid F

TP ...

ftp_pp:

Poss

ible

stri

n...

http_in

spect

: BAR

E ...

ICM

P D.U

.C.A

.P

ICM

P D.U

.C.A

.P(w

ith...

ICM

P PIN

G C

yberK

it ...

ICM

P PIN

G N

MAP

ICM

P redire

ct h

ost

ICM

P Sourc

e Quench

ICM

P supers

can e

cho

portsca

n: TCP P

ortsca

n

portsca

n: TCP P

orts...

SNMP A

gentX/tc

p re...

SNMP re

quest tc

p

SNMP tr

ap tcp

Unique Alerts

IPs

ρήκα 5: Ο αξηζκόο ησλ δηαθνξεηηθώλ IPs πνπ έρνπλ πξνθαιέζεη ην ίδην είδνο alert. Δηθνλίδνληαη ηα δέθα ελλέα πξώηα είδε ησλ alerts. ICMP D.U.C.A.P : “Destination Unreachable Communication

Administratively Prohibited”

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 97

UniqueAlerts vs Different IPs (20-38)

12

3

1

7

1

7

2

1910 14

1

410

46

4 3

1 12

1

10

100

Snort A

lert

[1:0

:0]

Snort A

lert

[1:1

0136:0

]

Snort A

lert

[1:1

1264:0

]

Snort A

lert

[1:2

002974:0

]

Snort A

lert

[1:3

441:0

]

Snort A

lert

[1:3

626:0

]

Snort A

lert

[1:6

512:0

]

Exper

iment

al TCP o

ptions

Short U

DP pack

et, length

...

TCP Data

Offs

et is le

ss...

Tcp O

ptions

found w

ith...

Trunca

ted T

cp O

ptions

ICM

P Orig

inal IP F

ragm

...

ICM

P Orig

inal IP H

eade...

ICM

P Orig

inal IP P

aylo..

ssh: P

roto

col m

ism

atch

WEB-F

RONTPAG

E /_v.

..

WEB-F

RONTPAG

E pos.

..

WEB-P

HP Setu

p.php ..

.

Unique Alerts

IPs

ρήκα 6: Ο αξηζκόο ησλ δηαθνξεηηθώλ IPs πνπ έρνπλ πξνθαιέζεη ην ίδην είδνο alert. Δηθνλίδνληαη ηα επόκελα δέθα ελλέα είδε ησλ alerts.

ρήκα 7: Οη TCP ζύξεο πξννξηζκνύ πξνο ηνλ αξηζκό ησλ alerts. To 100% αληηζηνηρεί ζε 968 alerts.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 98

Time Zones:

SrcCountriesAtMorning (06:00:00-11:59:59) ( >10)

17 57

357

18 12 60 45 17 18 22 16 41 11 45 17

1167

300

200400600800

100012001400

Bra

zil

Can

ada

China

Egy

pt

Franc

e

Ger

man

y

Gre

ece

Kor

ea, R

epub

lic o

f

Luxe

mbo

urg

Per

u

Rus

sian

Fed

erat

ion

Taiwan

Thaila

nd

Turke

y

Unite

d Kin

gdom

Unite

d Sta

tes

Unk

nown

ρήκα 8: Πξσηλή δώλε 06:00:00 – 11:59:59, κε ηηκή θαησθιίνπ ηα 10 alerts.

Μεζεκεξηαλή δψλε:

SrcCountriesAtNoon (12:00:00 - 17:59:59) (>10)

14 35 53 244 11 31 14 81 55 56 11 12 17 255 12 24

12236

49 274 33 635 310

2000400060008000

100001200014000

Arg

entin

a

Bra

zil

Can

ada

China

Colom

bia

Egy

pt

Eston

ia

Franc

e

Ger

man

y

Gre

ece

Indi

aIta

ly

Kor

ea, R

epub

lic o

f

New

Zea

land

Pak

ista

nPer

u

Rus

sian

Fed

erat

ion

Taiwan

Turke

y

Unite

d Kin

gdom

Unite

d Sta

tes

Unk

nown

ρήκα 9: Μεζεκεξηαλή δώλε 12:00:00 – 17:59:59, κε ηηκή θαησθιίνπ ηα 10 alerts.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 99

Απνγεπκαηηλή δψλε:

SrcCountriesAtAfternoon (18:00:00-23:59:59) (>10)

16 44 84994

12 12 12 46 43 16

7689

1503

14 47 17 50 77 90 476 66 495

0100020003000400050006000700080009000

Arg

entin

a

Bra

zil

Can

ada

China

Egy

pt

Eston

ia

Franc

e

Ger

man

y

Gre

ece

Kor

ea, R

epub

lic o

f

Mex

ico

Mor

occo

Pak

ista

nPer

u

Rus

sian

Fed

erat

ion

Taiwan

Turke

y

Unite

d Kin

gdom

Unite

d Sta

tes

Unk

nown

Ven

ezue

la

ρήκα 10: Απνγεπκαηηλή δώλε 18:00:00 – 23:59:59, κε ηηκή θαησθιίνπ ηα 10 alert.

Βξαδηλή δψλε:

SrcCountriesAtNight (00:00:00-05:59:59) (>10)

30 59

278

16 23 36 20 11 45 11 34 56 38 43

847

50

0100200300400500600700800900

Bra

zil

Can

ada

China

Egy

pt

Ger

man

y

Gre

ece

Kor

ea, R

epub

lic o

f

Pak

ista

nPer

u

Polan

d

Rus

sian

Fed

erat

ion

Taiwan

Turke

y

Unite

d Kin

gdom

Unite

d Sta

tes

Unk

nown

ρήκα 11: Βξαδηλή δώλε 00:00:00 – 05:59:59, κε ηηκή θαησθιίνπ ηα 10 alerts.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 100

Time Zones vs Alerts

2072

14300

11915

1751

0

2000

4000

6000

8000

10000

12000

14000

16000

Morning Noon Afternoon Night

ρήκα 12: Η θαηαλνκή ησλ alerts ζπλνιηθά κεηαμύ ησλ ηεζζάξσλ δσλώλ ώξαο.

ρήκα 13: Η θαηαλνκή ηνπ αξηζκνύ ησλ alerts ζε κεληαία βάζε. Από 1 Ιαλνπαξίνπ σο 1 Ινπλίνπ 2010. Σν 100% αληηζηνηρεί ζε 30.038 alerts.

4.5 Honeypots activity

Απφ ηε ιεηηνπξγία ησλ honeypots κπνξνχκε λα εμάγνπκε αληίζηνηρα ζηαηηζηηθά. Σψξα φκσο δελ έρνπκε alerts αιιά ε ίδηα δηθηπαθή θίλεζε είλαη χπνπηε θαζψο απεπζχλεηαη ζε έλα ζχλνιν IPs φπνπ δελ πεξηκέλνπκε λα έρεη αιιειεπίδξαζε κε θαλέλαλ ππνινγηζηή. Δπνκέλσο, φια ηα παθέηα πνπ θαηαιήγνπλ ζηα honeypots έρνπλ θάπνην θαθφβνπιν ζθνπφ.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 101

Σν πξψην πνπ ζα ζέιακε λα δηαπηζηψζνπκε είλαη πφζεο ζπλδέζεηο δέρηεθαλ ζπλνιηθά ηα honeypots θαη απφ πνηεο ρψξεο. πλνιηθά θαηαγξάθεθαλ 178 ρψξεο, πνιιέο πεξηζζφηεξεο απφ απηέο πνπ είδακε ζην θεθάιαην 4.4. ην παξαθάησ δηάγξακκα εηθνλίδνληαη ν αξηζκφο ησλ ζπλδέζεσλ πνπ έγηλαλ απφ θάζε ρψξα, ηνπιάρηζηνλ 10.000 ζπλδέζεηο. Οη πέληε πξψηεο ρψξεο θαηά ζεηξά είλαη ε Κίλα, νη Ηλσκέλεο Πνιηηείεο Ακεξηθήο, ε Οπθξαλία θαη ην Ηλσκέλν Βαζίιεην. Μεξηθέο αθφκα ρψξεο πνπ δελ εκθαλίδνληαη ζην δηάγξακκα νχηε ζηνλ πίλαθα 3 είλαη: Albania, Antigua and Barbuda, Aruba, Barbados, Brunei Darussalam, Cayman Islands, Cote D'Ivoire, Trinidad and Tobago, Virgin Islands U.S..

Connections per Country

11

62

9

18

60

75

13

91

46

44

02

23

38

4

12

16

11

10

72

10

57

61

68

20

37

30

62

83

41

12

97

83

67

28

28

09

01

62

75 7

23

93

43

18

2

11

38

61

26

60

23

32

51

17

02

22

41

72

23

13

17

24

38

86

53

24

54

31

95

40

34

62

91

03

76

35

15

21

75

16

9

11

14

78

21

49

06

12

28

70

23

30

3

0

50000

100000

150000

200000

250000

Arg

entin

a

Aus

tralia

Bra

zil

Can

ada

China

Colom

bia

Cze

ch R

epub

lic

Egy

pt

Eston

ia

Franc

e

Ger

man

y

Gre

eceIn

diaIta

ly

Japa

n

Kaz

akhs

tan

Kor

ea, R

epub

lic o

f

Fyrom

Mex

ico

Net

herla

nds

Nor

wayPer

u

Polan

d

Rom

ania

Rus

sian

Fed

erat

ion

Spa

in

Swed

en

Taiwan

Thaila

nd

Turke

y

Ukr

aine

Unite

d Kin

gdom

Unite

d Sta

tes

Unk

nown

Vietn

am

Co

nn

ecti

on

s

ρήκα 14: Οη ζπλδέζεηο γηα θάζε ρώξα. Σηκή θαησθιίνπ νη 10.000 ζπλδέζεηο.

Έλαο δεχηεξνο ηξφπνο γηα λα δνχκε ζπλνιηθά ηε δξαζηεξηφηεηα ησλ honeypots είλαη λα βξνχκε γηα θάζε έλα ηνλ αξηζκφ ησλ bytes πνπ έιαβε θαη έζηεηιε ζε θάζε κία απφ ηηο ζχξεο πνπ είρε αλνηθηέο. Απηφ αθξηβψο παξνπζηάδεηαη ζηνλ πίλαθα 4 πνπ αθνινπζεί. Η mysql επεξψηεζε πνπ δίλεη εθηεινχκε ζηε βάζε δεδνκέλσλ ηνπ honeyd είλαη:

Πίλαθαο 4: Ο αξηζκόο ησλ bytes πνπ αληαιιάρζεθαλ ζε θάζε honeypots θαη ζε θάζε ζύξα απηνύ.

Honeypot Port Bytes received Bytes Sent

88.197.11.106 21 1.028.899 2.138.649

88.197.11.106 22 36.044 9.334

88.197.11.106 80 8.000 196.938

88.197.11.106 137 0 0

88.197.11.107 22 100 143

88.197.11.107 80 339.833 1.502.280

88.197.11.107 137 0 0

88.197.11.107 1433 539.563 0

88.197.11.107 4444 0 0

select ip,port,sum(inf1) as rcvd, sum(inf2) as sent from request where ecode='E' group by ip,port;

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 102

Honeypot Port Bytes received Bytes Sent

88.197.11.107 8080 306 8.710

88.197.11.125 1080 1.605 0

88.197.11.192 23 1.021 628.128

88.197.11.194 22 9.284 4.667

88.197.11.194 80 188.093 1.044.546

88.197.11.195 22 7.657 4.628

88.197.11.195 23 207 2.151

Alerts between honeynet and rest of darknet

Darknet

27226

Honeypots

2812

Darknet

honeypots

ρήκα 15: Από ην ζύλνιν ησλ 30038 alerts, ηα 2812 απεπζύλνληαη ζε IPs ηνπ honeynet.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 103

Honeypots vs Unique alerts

6

14

12

10 109 9

0

2

4

6

8

10

12

14

16

88.1

97.1

1.1

88.1

97.1

1.10

6

88.1

97.1

1.10

7

88.1

97.1

1.12

5

88.1

97.1

1.19

2

88.1

97.1

1.19

4

88.1

97.1

1.19

5

Honeypots

Un

iqu

e a

lert

s#

ρήκα 16: Γηα θάζε honeypot αλαγξάθεηαη ν αξηζκόο ησλ δηαθνξεηηθώλ εηδώλ alerts πνπ δέρζεθε.

ε δηάζηεκα εβδνκήληα ελφο εκεξψλ, θαηά κέζν φξν, θάζε εκέξα θαηαγξάθεθαλ 970,5 δηαθνξεηηθέο IPs πξνέιεπζεο νη νπνίεο δεκηνπξγνχζαλ κία ζχλδεζε κε θάπνηα απφ ηα honeypots. Η δξαζηεξηφηεηα απηή θαηαλέκεηαη κεηαμχ ησλ ηξηψλ εηδψλ πξσηνθφιισλ icmp, tcp, udp ζχκθσλα κε ην παξαθάησ δηάγξακκα:

Protocols vs Connections

193897

1611391

329953

0

200000

400000

600000

800000

1000000

1200000

1400000

1600000

1800000

icmp tcp udp

Co

nn

ecti

on

s

ρήκα 17: H θαηαλνκή ηνπ αξηζκνύ ησλ ζπλδέζεσλ πξνο ηα honeypots, ζηα πξσηόθνιια icmp, tcp, udp.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 104

Ftp logfile:

Απφ ηελ εθηέιεζε ηνπ script ftp.sh ζε έλα απφ ηα honeypots, θαηαγξάθεθε ζην αληίζηνηρν αξρείν έλα είδνο brute force attack κε ζηφρν ηελ εχξεζε ηνπ username θαη ηνπ θσδηθνχ πξφζβαζεο ηεο ςεπδφ-ππεξεζίαο ftp. Παξ’ φιν πνπ ην script είλαη θαηαζθεπαζκέλν έηζη ψζηε λα δεκηνπξγεί έλαλ ρξήζηε ―anonymous‖ ρσξίο κάιηζηα λα απαηηείηαη θσδηθφο πξφζβαζεο, ν ππνινγηζηήο κε IP 125.64.16.125 επηρείξεζε 2380 δηαθνξεηηθνχο ζπλδπαζκνχο username θαη password. ην ζχλνιν ησλ δνθηκψλ κπνξνχκε λα αλαγλσξίζνπκε θάπνην κνηίβν. Γειαδή, επηιέγεηαη έλα ζχλνιν αιθαξηζκεηηθψλ γηα ηε ζέζε ηνπ θσδηθνχ πξφζβαζεο θαη απηφ ζπλδπάδεηαη κε έλα δεχηεξν ζχλνιν αιθαξηζκεηηθψλ γηα ηε ζέζε ηνπ username. Γηα παξάδεηγκα, ζηηο πξψηεο δνθηκέο ην username είλαη ην ―administrator‖ θαη κεξηθνί απφ ηνπο θσδηθνχο κε ηνπο νπνίνπο ζπλδπάδεηαη απηφ είλαη νη εμήο: orange, setup, 123456, password, 123, abascus, admin123, welcome, qwerty, test, administrators. Άιια αιθαξηζκεηηθά πνπ ρξεζηκνπνηήζεθαλ σο usernames είλαη: user, apple, null, dave, setup, 123456, demo, garage, info. Πνιχ ζπρλά ην ίδην αιθαξηζκεηηθφ ρξεζηκνπνηείηαη θαη σο username θαη σο θσδηθφο ζηελ ίδηα δνθηκή ή ζε δηαθνξεηηθέο δνθηκέο. Σειηθψο δελ δφζεθε πνηέ σο username ην ―anonymous‖ πνπ είλαη ην πην ζχλεζεο φηαλ ζέινπκε λα αθήζνπκε αλνηρηή ηελ ππεξεζία πξνο φινπο.

Αμίδεη λα ζεκεησζεί φηη ε ζπγθεθξηκέλε IP απφ ηελ νπνία πξνήιζε απηή ε απφπεηξα έρεη θαηαγξαθεί αξθεηέο θνξέο φηη θηινμελεί phishing websites θαη γηα απηφ κεξηθνί ζχλδεζκνη κε απηήλ ηελ IP είλαη θξαγκέλνη απφ ην anti-phishing θίιηξν ηνπ θπιινκεηξεηή Firefox.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 105

ΚΔΦΑΛΑΙΟ 5

5. Botnets

Ωο botnet νξίδνπκε έλα ζχλνιν ππνινγηζηψλ, νη νπνίνη έρνληαο κνιπλζεί απφ θαθφβνπιν ινγηζκηθφ απνθηνχλ απηφλνκε δξάζε. Σν ινγηζκηθφ πνπ πξνθαιεί απηή ηε ιεηηνπξγία απνθαιείηαη bot. πρλά ε ρξήζε ησλ φξσλ botnet θαη bot ελαιιάζζεηαη κεηαμχ ηεο έλλνηαο ηνπ κνιπζκέλνπ ππνινγηζηή θαη απηήο ηνπ πξνγξάκκαηνο πνπ ηνλ κνιχλεη. Σα botnets έρνπλ γίλεη έλα νινέλα θαη ζεκαληηθφηεξν θνκκάηη ηνπ Γηαδηθηχνπ ιφγσ ηεο απμαλφκελεο εμάπισζήο ηνπο. Ο ιφγνο γηα ηελ χπαξμή ηνπο είλαη πψο νη ηδηνθηήηεο ηνπο (δειαδή εθείλνη πνπ ηα ειέγρνπλ) θεξδίδνπλ θήκε ζηελ θνηλφηεηα ησλ «πεηξαηψλ» ηνπ Γηαδηθηχνπ, αιιά θπξίσο ε ρξήζε ηνπο ζε παξάλνκεο δξαζηεξηφηεηεο, ε νπνία αξθεηέο θνξέο ζπλνδεχεηαη απφ ρξεκαηηθφ φθεινο. Σα botnets πνπ έρνπλ εληνπηζηεί θαηά θαηξνχο απφ εηαηξίεο θαη απφ ηηο αξκφδηεο αξρέο, είραλ ζπρλά πνιχ κεγάια κεγέζε ηεο ηάμεσο ησλ δεθάδσλ ρηιηάδσλ ή αθφκα θαη εθαηνληάδσλ ρηιηάδσλ ππνινγηζηψλ. Έρεη εθηηκεζεί φηη κέρξη θαη ην έλα ηέηαξην ηνπ ζπλφινπ ησλ ππνινγηζηψλ πνπ έρνπλ πξφζβαζε ζην Γηαδίθηπν κπνξεί λα αλήθνπλ ζε έλα botnet. Όπσο ζα δνχκε παξαθάησ, θάπνηνο ππνινγηζηήο κπνξεί λα είλαη ηκήκα πεξηζζφηεξσλ απφ ελφο botnets, αλ έρεη κνιπλζεί απφ δηαθνξεηηθά ινγηζκηθά ηα νπνία ηξέρνπλ σο αλεμάξηεηνη πξάθηνξεο.

Τπάξρνπλ θάπνηα βαζηθά ραξαθηεξηζηηθά πνπ θαζνξίδνπλ ηε δνκή ελφο bot. Σν πξψην είλαη έλα ζχζηεκα επηθνηλσλίαο κε ηνλ ηδηνθηήηε ηνπ. Σα παιαηφηεξα θαη πην δηαδεδνκέλα botnets ρξεζηκνπνηνχλ θάπνηα έθδνζε ηνπ πξσηνθφιινπ IRC γηα απηφ ην ζθνπφ. Σν IRC είλαη έλα πξσηφθνιιν γηα online επηθνηλσλία πξαγκαηηθνχ ρξφλνπ κεηαμχ ρξεζηψλ. Μπνξεί λα ρξεζηκνπνηεζεί γηα επηθνηλσλία απφ έλαλ-πξνο-πνιινχο ή έλαλ-πξνο-έλαλ κέζσ δηαθνξεηηθψλ ζπλεδξηψλ ζπλνκηιίαο πνπ νλνκάδνληαη θαλάιηα. Η θπξηφηεξε ρξήζε ηνπ IRC είλαη ζε δηαδηθηπαθέο εθαξκνγέο chat. Οη ηδηνθηήηεο ελφο botnet κπνξνχλ φκσο λα ην ρξεζηκνπνηήζνπλ γηα λα δίλνπλ εληνιέο ζηνπο ειεγρφκελνπο ππνινγηζηέο. πλήζσο απηφ γίλεηαη κέζσ ελφο εμππεξεηεηή εληνιψλ-θαη-ειέγρνπ (Command-and-Control, C&C). ηνλ εμππεξεηεηή είλαη εγθαηεζηεκέλε θάπνηα έθδνζε ηνπ IRC. Τπάξρνπλ αξθεηέο δσξεάλ εθαξκνγέο αλνηρηνχ θψδηθα πνπ κπνξνχλ λα εμππεξεηήζνπλ απηφ ην ζθνπφ. Οη πην επξέσο ρξεζηκνπνηνχκελεο είλαη νη Unreal IRCd θαη ConferenceRoom. Δίλαη ζεκαληηθφ κηα ηέηνηα εθαξκνγή λα έρεη δηαπιαηθνξκηθέο δπλαηφηεηεο, ψζηε ην bot λα είλαη ζπκβαηφ κε δηαθνξεηηθά ιεηηνπξγηθά ζπζηήκαηα. Σηο πεξηζζφηεξεο θνξέο νη ηδηνθηήηεο ελφο botnet ηξνπνπνηνχλ ην πξσηφθνιιν IRC γηα λα απνθεχγνπλ ηνλ εληνπηζκφ (π.ρ. απαιείθνπλ ηε κεηάδνζε πεξηηηψλ κελπκάησλ θαη πιεξνθνξίαο γηα λα ειαρηζηνπνηήζνπλ ηελ θίλεζε), γηα λα πξνζζέζνπλ επηπιένλ εληνιέο (π.ρ. εληνιέο επίζεζεο) ή γηα λα θξππηνγξαθήζνπλ ηε ζπλνκηιία. ε νξηζκέλεο πεξηπηψζεηο δεκηνπξγνχλ έλα δηθφ ηνπο απιφ πξσηφθνιιν επηθνηλσλίαο απφ ην κεδέλ γηα πεξηζζφηεξε ιεηηνπξγηθφηεηα. Απηφ είλαη ζπαληφηεξν ιφγσ ησλ γλψζεσλ θαη ηνπ θφπνπ πνπ απαηηείηαη γηα έλα ηέηνην εγρείξεκα. Δθφζνλ ην bot έρεη εγθαηαζηαζεί ζε έλαλ ππνινγηζηή, ν ηδηνθηήηεο ηνπ botnet ζπλδέεηαη ζηνλ C&C εμππεξεηεηή θαη κέζσ απηνχ επηθνηλσλεί κε ην bot. Η επηθνηλσλία ζρεδφλ πάληα γίλεηαη κέζσ πξνζσπηθψλ θαλαιηψλ ηνπ IRC θαη απαηηεί θάπνηνπ είδνπο ηαπηνπνίεζε κέζσ θιεηδηψλ γξακκέλσλ ζηνλ θψδηθα ηνπ bot. Αλάινγα κε ην είδνο ηεο ηαπηνπνίεζεο θαη ηελ ηζρχ ηεο κεζφδνπ θξππηνγξάθεζεο πνπ εθαξκφδεηαη, είλαη δπλαηφλ θάπνηνο κνιπζκέλνο ππνινγηζηήο πνπ αλήθεη ζε έλα botnet λα θαηαιεθζεί απφ θάπνην άιιν, αλ ν ηδηνθηήηεο ηνπ δεχηεξνπ ρξεζηκνπνηεί bot ηεο ίδηαο νηθνγέλεηαο θαη θαηαθέξεη λα «ζπάζεη» ηελ αζθάιεηα ηνπ πξψηνπ. Σν κεηνλέθηεκα ηεο παξαπάλσ νξγάλσζεο, δειαδή ηεο επηθνηλσλίαο κέζσ IRC είλαη φηη έρεη έλα θεληξηθφ ζεκείν θαηάξξεπζεο. Αλ θάπνηνο εληνπίζεη ηνλ C&C εμππεξεηεηή κπνξεί λα ζηακαηήζεη ηε ιεηηνπξγία ηνπ

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 106

botnet. Γηα ην ιφγν απηφ έρνπλ αξρίζεη λα εκθαλίδνληαη botnets νξγαλσκέλα ζε νκφηηκε ηεξαξρία (peer-to-peer, P2P). ε απηά, ε επηθνηλσλία κπνξεί λα γίλεη απφ θάζε bot πξνο νπνηνδήπνηε άιιν, θαζψο εκπεξηέρνπλ ζηνλ θψδηθά ηνπο ηα απαξαίηεηα πξσηφθνιια, ζπλεπψο ν εληνπηζκφο νπνηνπδήπνηε ππνινγηζηή δελ νδεγεί ζηελ δηαθνπή ηεο δξάζεο ηνπ botnet. Αλακέλεηαη λα ππάξμνπλ πεξηζζφηεξα ηέηνηνπ είδνπο botnets ζην κέιινλ, αθνχ νη εξεπλεηέο γίλνληαη νινέλα θαιχηεξνη ζηελ αλίρλεπζε απηψλ πνπ ζηεξίδνληαη ζην IRC.

Δηθόλα 8: ύζηεκα δηαρείξηζεο botnet κέζσ ελόο θεληξηθνπνηεκέλνπ εμππεξεηεηή.

Σν δεχηεξν ραξαθηεξηζηηθφ ησλ bots είλαη ε πινπνίεζε εληνιψλ ζηνλ θψδηθά ηνπ, πνπ κπνξνχλ λα θιεζνχλ απφ ηνλ ηδηνθηήηε. Δλ γέλεη ππάξρνπλ δχν είδε εληνιψλ: εληνιέο επηζέζεσλ θαη εληνιέο αλαβάζκηζεο. Οη επηζέζεηο απνηεινχλ ηνλ βαζηθφηεξν ζθνπφ ελφο botnet. Αλάινγα κε ηελ έθδνζε ηνπ bot κπνξεί λα πεξηιακβάλνληαη δηάθνξνη ηχπνη επηζέζεσλ κε πην δηαδεδνκέλε ηελ Denial of Service. Πεξηζζφηεξα γηα ηηο επηζέζεηο πνπ κπνξνχλ λα δηεμαρζνχλ κέζσ botnets αλαθέξνληαη παξαθάησ. Οη εληνιέο αλαβάζκηζεο ζπλήζσο ππαγνξεχνπλ ζην bot λα θαηεβάζεη έλα αξρείν απφ ην Γηαδίθηπν ζηνλ ππνινγηζηή ηνπ ζχκαηνο θαη λα ην εθηειέζεη. Απηφ ζα αλαβαζκίζεη ην bot κε επηπιένλ ιεηηνπξγηθφηεηα φπσο λένπο ηχπνπο επηζέζεσλ. Σα ραξαθηεξηζηηθά απηά ζπρλά πξνζηίζεληαη κε ηε κνξθή plug-ins. Bots γξακκέλα ζε αληηθεηκελνζηξαθείο γιψζζεο φπσο ε C++ είλαη επθνιφηεξν λα αλαβαζκηζηνχλ κε απηφ ηνλ ηξφπν. Η πινπνίεζε εληνιψλ είλαη ην ζηνηρείν πνπ δηαρσξίδεη ηα bots απφ ηα worms, έλα είδνο θαθφβνπινπ ινγηζκηθνχ πνπ επίζεο εγθαζίζηαηαη ζηνλ ππνινγηζηή ηνπ ζχκαηνο θαη ελεξγεί απηφλνκα, ρσξίο λα έρεη θαλέλα ηξφπν επηθνηλσλίαο κε εθείλνλ πνπ πξνθάιεζε ηε κφιπλζε.

Σν ηξίην ραξαθηεξηζηηθφ ησλ bots, πνπ απνηειεί θαη ην θνηλφ ζηνηρείν ηνπο κε ηα worms, είλαη νη κέζνδνη δηάδνζεο. Απφ ηε ζηηγκή πνπ ην bot εγθαζίζηαηαη ζηνλ ππνινγηζηή ηνπ ζχκαηνο ςάρλεη λα βξεη θελά αζθαιείαο, ζηα νπνία γεηηνληθνί ππνινγηζηέο ηνπ δηθηχνπ

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 107

είλαη επάισηνη. Πνιιά bots αληρλεχνπλ νιφθιεξα class B (/16) ππνδίθηπα γηα ππνςήθηα ζχκαηα. Σα ζπλεζέζηεξα θελά αζθαιείαο πνπ εθκεηαιιεχνληαη ηα θαθφβνπια ινγηζκηθά είλαη ηα DCOM (MS03-026) θαη LSASS (MS04-011) ησλ Microsoft Windows πνπ επηηξέπνπλ ηελ εθηέιεζε απζαίξεησλ εληνιψλ. πλεζηζκέλα θελά αζθαιείαο ηνπ ίδηνπ ιεηηνπξγηθνχ ζπζηήκαηνο πνπ πθίζηαληαη εθκεηάιιεπζε είλαη επίζεο ηα: MS03-007, MS03-026, MS04-011 θαη MS04-045. Σα bots ζπρλά πξνζπαζνχλ λα ρξεζηκνπνηήζνπλ ηελ ππεξεζία RPC ησλ Windows, ε νπνία επηηξέπεη ηελ απνκαθξπζκέλε εθηέιεζε πξνγξακκάησλ απφ έλαλ ππνινγηζηή ηνπ δηθηχνπ ζε άιιν, ρσξίο ηε ξεηή εληνιή ηνπ πξνγξακκαηηζηή. Οη πξνζπάζεηεο ησλ bots λα θαηαιάβνπλ λένπο ππνινγηζηέο δεκηνπξγεί κεγάια πνζά χπνπηεο θίλεζεο ζε έλα δίθηπν ή ζην Internet. Δξεπλεηέο πνπ παξαθνινπζνχλ ηε δξάζε ησλ botnets κειεηνχλ απηφλ ην «δηαδηθηπαθφ ζφξπβν» γηα λα εμάγνπλ ζηνηρεία γηα ηε ζπκπεξηθνξά ηνπο ή γηα λέα θελά αζθαιείαο. Σν German Honeynet Project έδεημε πσο νη ζπλεζέζηεξεο ζχξεο ζηηο νπνίεο επηηίζεληαη ηα bots είλαη νη:

445 TCP (ρξεζηκνπνηείηαη απφ ηελ ππεξεζία Microsoft-DS πνπ ηξέρεη ζηα Windows 2000, XP θαη 2003 γηα ηελ θνηλή ρξήζε πφξσλ φπσο αξρεία)

139 TCP (ρξεζηκνπνηείηαη απφ ηελ ππεξεζία NetBIOS Session ησλ Windows 9x, NT θαη ME επίζεο γηα θνηλή ρξήζε πφξσλ)

137 UDP (ρξεζηκνπνηείηαη απφ ηελ ππεξεζία NetBIOS Name πνπ ηξέρεη ζε ππνινγηζηέο κε Windows γηα ηελ αλίρλεπζε δηθηπαθψλ ραξαθηεξηζηηθψλ άιισλ ππνινγηζηψλ)

135 TCP πνπ ρξεζηκνπνηείηαη απφ ηελ ππεξεζία RPC πνπ αλαθέξζεθε παξαπάλσ.

Πνιιέο θνξέο ζηνρεχνληαη επίζεο ζχξεο πνπ αληηζηνηρνχλ ζε ζπγθεθξηκέλα θελά αζθαιείαο παξά ζε ππεξεζίεο. Δλδεηθηηθά αλαθέξνπκε ηηο: 80 (ρξεζηκνπνηείηαη απφ ηνλ Apache θαη ηνλ IIS), 1025 (επίζεο ρξήζε ηεο γίλεηαη απφ ηελ ππεξεζία RPC αιιά θαη ηνλ Windows Messenger), 1433 (ρξεζηκνπνηείηαη απφ εμππεξεηεηέο MYSQL) θαη 3127 (ρξεζηκνπνηείηαη απφ ην worm MyDoom πνπ ζηέιλεη καδηθά κελχκαηα ειεθηξνληθνχ ηαρπδξνκείνπ). Αλ θαη εθδφζεηο ησλ Microsoft Windows ρσξίο ηηο απαξαίηεηεο ελεκεξψζεηο αζθαιείαο είλαη ην ιεηηνπξγηθφ πνπ ζπλαληάηαη ζπρλφηεξα ζηνπο κνιπζκέλνπο ππνινγηζηέο (πηζαλψο θαη ιφγσ ηεο δηάδνζήο ηνπ), ελ ηνχηνηο δελ είλαη ιίγνη νη εθηεζεηκέλνη ππνινγηζηέο πνπ ρξεζηκνπνηνχλ εθδφζεηο Linux ή άιισλ ιεηηνπξγηθψλ. Έλα bot κπνξεί λα εθκεηαιιεπηεί κφλν έλα κηθξφ ζχλνιν θελψλ αζθαιείαο πνπ πξνβιέπνληαη ζηνλ θψδηθά ηνπ, φκσο είλαη δπλαηφλ λα επεθηαζεί κέζσ αλαβαζκίζεσλ. Δλαιιαθηηθά ηα bots ρξεζηκνπνηνχλ άιινπο ηξφπνπο εμάπισζεο, φπσο ε απνζηνιή κελπκάησλ ειεθηξνληθνχ ηαρπδξνκείνπ πνπ ηα πεξηέρνπλ σο ζπλεκκέλα, ή ε ηνπνζέηεζή ηνπο ζε ρψξνπο θνηλήο ρξήζεο αξρείσλ αλ πξνζηαηεχνληαη απφ αδχλακνπο θσδηθνχο πξφζβαζεο πνπ κπνξνχλ λα «καληεπηνχλ».

Έρνληαο κηα άπνςε γηα ηα θνηλά βαζηθά ραξαθηεξηζηηθά ησλ bots κπνξνχκε λα θαηαιάβνπκε ηνλ ηξφπν εμάπισζήο ηνπο. Αξρηθά ζεσξνχκε φηη ν ηδηνθηήηεο ηνπ botnet (ζπρλά αλαθέξεηαη σο bot-herder) έρεη κέζσ θάπνηνπ θελνχ αζθαιείαο κνιχλεη έλα ζχζηεκα κε ην εθηειέζηκν αξρείν ηνπ bot. Σν εθηειέζηκν εθθηλεί, εγθαζηζηψληαο ην bot ζηνλ ππνινγηζηή θαη θάλνληάο ηνλ κέξνο ηνπ botnet. ηε ζπλέρεηα ην bot επηρεηξεί λα ζπλδεζεί ζηνλ IRC C&C εμππεξεηεηή ηνπ ηδηνθηήηε. Η δηεχζπλζε ηνπ εμππεξεηεηή βξίζθεηαη γξακκέλε ζηνλ θψδηθα ηνπ πξνγξάκκαηνο, αλ θαη ζπλήζσο ρξεζηκνπνηείηαη θάπνηνο δπλακηθφο εμππεξεηεηήο DNS (π.ρ. www.dyndns.org ) αληί γηα ζηαηηθή δηεχζπλζε IP, ψζηε λα ππνζηεξίδεηαη δπλαηφηεηα κεηαθνξάο. Οη εηαηξίεο πνπ ππνζηεξίδνπλ ηηο ππεξεζίεο δπλακηθψλ DNS πξνζπαζνχλ λα απνθφςνπλ ηα subdomains ζηα νπνία θάλνπλ αλαθνξά ηα bots, φηαλ ηα εληνπίδνπλ. Η δηαδηθαζία απηή

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 108

νλνκάδεηαη «nullrouting», θαζψο ηα νλφκαηα αληηζηνηρίδνληαη ζε κε πξνζβάζηκεο δηεπζχλζεηο IP. Σα bots ζπλήζσο ρξεζηκνπνηνχλ ςεπδψλπκα κε ζπγθεθξηκέλε κνξθή γηα ηε ζχλδεζή ηνπο ζηνλ IRC εμππεξεηεηή. Αθνχ ζπλδεζεί, ην bot δηαβάδεη ην ζέκα ηνπ IRC θαλαιηνχ θαη ην εθιακβάλεηαη σο εληνιή. πλήζσο ε εληνιή απηή απνηειεί θάπνηα εληνιή αλαβάζκηζεο ή ππφδεημε ηνπ ηξφπνπ δηάδνζεο. Σα πεξηζζφηεξα bots δελ εμαπιψλνληαη αλ δελ ιάβνπλ ξεηά ηελ εληνιή απφ ηνλ ηδηνθηήηε. Απηφ γίλεηαη γηα λα απνθεπρζεί ν εληνπηζκφο κνιπζκέλσλ ζπζηεκάησλ, ιφγσ ηεο θίλεζεο πνπ κπνξεί λα πξνθαιέζνπλ. Αλ ην bot θαηαθέξεη λα εγθαηαζηαζεί επηηπρψο ζε έλα λέν ζχζηεκα ζηέιλεη κήλπκα ζηνλ ηδηνθηήηε, αλ έρεη ηελ ππφδεημε λα ην θάλεη. Αλά πεξηφδνπο ν ηδηνθηήηεο επηθνηλσλεί κε ηα bots κέζσ ηνπ C&C εμππεξεηεηή. Γηα λα ζπλδεζεί απαηηείηαη θάπνηνπ είδνπο ηαπηνπνίεζε. Έπεηηα κπνξεί λα δηαρεηξηζηεί ην botnet ζχκθσλα κε ηνπο ζθνπνχο ηνπ, δειαδή ππαγνξεχνληαο ζηα bots λα εθηειέζνπλ θάπνηα ζπληνληζκέλε επίζεζε, αλαθηψληαο πιεξνθνξίεο πνπ πηζαλψο έρνπλ ζπιιέμεη, ή αθφκα θαη γηα κεηξήζεηο ζηαηηζηηθψλ ηνπ botnet φπσο ζπλνιηθφ εχξνο δψλεο. Η ιεηηνπξγία ελφο bot δελ ζηακαηά, εθηφο αλ εληνπηζηεί ε παξαβαηηθή ζπκπεξηθνξά ηνπ θαη ην ζχζηεκα εμπγηαλζεί, ή αλ ν ππνινγηζηήο θαηαιεθζεί απφ θάπνην άιιν bot.

Πιένλ έρνπκε δεη ηνλ ηξφπν πνπ ιεηηνπξγνχλ ηα bots θαη ην πψο εμαπιψλνληαη, αιιά ηη είλαη απηφ πνπ ηα θάλεη ηφζν επηθίλδπλα; Σν θίλεηξν ησλ ηδηνθηεηψλ ηνπο, ην νπνίν ηηο πεξηζζφηεξεο θνξέο απνηειεί ην παξάλνκν νηθνλνκηθφ φθεινο ή απιά ε θαηαζηξνθή, είλαη απηφ πνπ θαζνξίδεη ηελ επηθηλδπλφηεηα ελφο botnet. Αλάινγα κε ηελ πξνηηζέκελε ρξήζε, ην bot έρεη γξακκέλεο ζηνλ θψδηθά ηνπ ηηο κεζφδνπο γηα ηηο αληίζηνηρεο επηζέζεηο/ελέξγεηεο, ε νπνίεο ζα δνχκε πσο κπνξεί λα αλήθνπλ ζε έλα πνιχ επξχ θάζκα. Γελ είλαη ηπραίν πσο νη πεξηζζφηεξεο κεγάινπ αληίθηππνπ δηαδηθηπαθέο επηζέζεηο εθηεινχληαη πίζσ απφ ηελ αλσλπκία θαη ηελ ηζρχ ελφο botnet. Αθφκα θαη έλα ζρεηηθά κηθξφ botnet 1000 ππνινγηζηψλ κε κέζν εχξνο δψλεο upstream 128 Kbps, έρεη ζπλνιηθφ εχξνο δψλεο πάλσ απφ 100 Mbps, ηθαλφ δειαδή λα πξνμελήζεη πιήγκα ζε αξθεηνχο εμππεξεηεηέο. Σν πξφβιεκα γίλεηαη εληνλφηεξν αλ ζην botnet πεξηιακβάλνληαη ππνινγηζηέο κε ηζρπξέο επξπδσληθέο ζπλδέζεηο, φπσο εθείλνη πνπ αλήθνπλ ζε αθαδεκατθνχο θνξείο ή εηαηξίεο. Παξαθάησ ζα δνχκε κηα πεξηγξαθή ησλ θπξηφηεξσλ παξάλνκσλ ελεξγεηψλ πνπ κπνξνχλ λα εθηειεζηνχλ απφ έλα botnet:

Καηαλεκεκέλεο επηζέζεηο Denial of Service (DDoS): ε βαζηθφηεξε κνξθή επίζεζεο πνπ εθηεινχλ ηα botnets. ηελ νπζία πξφθεηηαη γηα ηελ εμάληιεζε ηνπ εχξνπο δψλεο ελφο ζπζηήκαηνο ή/θαη ηελ ππεξθφξησζε ησλ ππνινγηζηηθψλ ηνπ πφξσλ. Απηφ ζπλήζσο επηηπγράλεηαη κε ηελ απνζηνιή ππεξβνιηθά κεγάινπ αξηζκνχ παθέησλ, ψζηε ν εμππεξεηεηήο δελ κπνξεί λα αληαπεμέιζεη. Σν απνηέιεζκα είλαη φηη ε ππεξεζία πνπ πξνζέθεξε δελ είλαη πιένλ δηαζέζηκε ζε ηξίηνπο, θαζψο νη αηηήζεηο ηνπο δελ κπνξνχλ λα εμππεξεηεζνχλ. Σα bots πεξηέρνπλ αξθεηνχο ηχπνπο επηζέζεσλ DDoS, φπσο επηζέζεηο πιεκκχξαο TCP SYN θαη UDP, ή αθφκα θαη επηζέζεηο ελαληίνλ ηζηνρψξσλ, φπσο spidering (ζε απηή ηελ επίζεζε αθνινπζνχληαη αλαδξνκηθά φινη νη ππεξζχλδεζκνη κηαο ηζηνζειίδαο) ή εθηέιεζε εμαληιεηηθψλ αλαδεηήζεσλ ζε βάζεηο δεδνκέλσλ. Λφγσ ηεο εμέιημεο ησλ εμππεξεηεηψλ ζε ζέκαηα αζθαιείαο νη θαηαλεκεκέλεο επηζέζεηο είλαη πιένλ ν πην ζίγνπξνο ηξφπνο γηα λα επηθέξνπλ Denial of Service, θαη απηέο δελ κπνξνχλ λα εθηειεζηνχλ ρσξίο ηε ρξήζε ησλ botnets.

Απνζηνιή αλεπηζχκεησλ κελπκάησλ spam: Αξθεηά bots έρνπλ ηε δπλαηφηεηα λα ρξεζηκνπνηήζνπλ έλα δηαθνκηζηή δηακεζνιάβεζεο SOCKS v4/v5 ν νπνίνο ρξεζηκνπνηείηαη γηα δηθηπαθέο εθαξκνγέο. Μέζσ απηνχ κπνξνχλ λα ζηείινπλ κελχκαηα ειεθηξνληθνχ ηαρπδξνκείνπ απφ ηνλ κνιπζκέλν ππνινγηζηή. Σα κελχκαηα απηά ζπλήζσο απνηεινχλ δηαθεκίζεηο θαη είλαη σο επί ην πιείζηνλ αλεπηζχκεηα (spam). Με αξθεηνχο ππνινγηζηέο ζε θάζε botnet, ην Γηαδίθηπν θαηαθιχδεηαη απφ ηνλ φγθν αλεπηζχκεηεο αιιεινγξαθίαο. Δπηπιένλ νη πάξνρνη ειεθηξνληθνχ ηαρπδξνκείνπ έρνπλ ζηε δηάζεζή ηνπο ηζρπξνχο αιγφξηζκνπο anti-spam πνπ κπνξνχλ λα απνθιείζνπλ

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 109

κελχκαηα αλ ε θίλεζε πνπ πξνέξρεηαη απφ ηνλ απνζηνιέα είλαη χπνπηε. Η δηαδηθαζία φκσο γίλεηαη επθνιφηεξε γηα ηνπο bot-herders κε ηηο πνιιέο δηεπζχλζεηο IP πνπ πεξηιακβάλεη έλα botnet.

Keylogging: Αθφκα κηα ζπρλή ρξήζε ησλ botnets είλαη ε ππνθινπή επαίζζεησλ δεδνκέλσλ ησλ ρξεζηψλ ζηνπο νπνίνπο αλήθνπλ νη εθηεζεηκέλνη ππνινγηζηέο. Απηφ γίλεηαη κε ηε βνήζεηα εηδηθψλ πξνγξακκάησλ πνπ νλνκάδνληαη keyloggers θαη πεξηέρνληαη ζηνλ θψδηθα ηνπ bot. Σα πξνγξάκκαηα απηά θαηαγξάθνπλ ζπκβνινζεηξέο πνπ εηζάγεη ν ρξήζηεο κέζσ ηνπ πιεθηξνινγίνπ ηνπ. Δίλαη ινηπφλ ινγηθφ πσο αλ ν ρξήζηεο εηζάγεη θάπνπ έλαλ πξνζσπηθφ θσδηθφ ,π.ρ. ελφο ηξαπεδηθνχ ινγαξηαζκνχ, απηφο ζα θαηαγξαθεί. Σα ζηνηρεία πνπ ζπιιέγνληαη απνζηέιινληαη ζηε ζπλέρεηα κέζσ ηνπ C&C εμππεξεηεηή ζηνλ ηδηνθηήηε ηνπ botnet. Γηα λα κεηψζνπλ ηνλ φγθν ησλ δεδνκέλσλ πξνο εμέηαζε, νη keyloggers πεξηέρνπλ ζπρλά έμππλνπο αιγφξηζκνπο πνπ ειέγρνπλ ην ζρεηηθφ πιαίζην ζην νπνίν εηζάγεηαη κηα ζπκβνινζεηξά.

Απάηεο κέζσ δηαθεκίζεσλ: Τπάξρνπλ εηαηξίεο πνπ πιεξψλνπλ γηα ηελ πξνβνιή ησλ web δηαθεκίζεψλ ηνπο αλάινγα κε ηα clicks πνπ απηέο δέρνληαη. Ο ηδηνθηήηεο ελφο botnet κπνξεί λα θαηαζθεπάζεη κηα ηζηνζειίδα πνπ θηινμελνχληαη απηνχ ηνπ είδνπο νη δηαθεκίζεηο θαη λα αλαγθάδεη ηνλ ππνινγηζηή ηνπ ζχκαηνο λα ηελ αλνίγεη πεξηνδηθά φηαλ ρξεζηκνπνηεί ηνλ θπιινκεηξεηή ηνπ. Έλαο απιφο ηξφπνο γηα λα γίλεη απηφ είλαη λα αιιάμεη ηελ αξρηθή ζειίδα ηνπ θπιινκεηξεηή, επνκέλσο άλνηγκα ηνπ πξνγξάκκαηνο ζπλεπάγεηαη κηα πξνζπέιαζε ηεο ηζηνζειίδαο. Σν θίλεηξν γηα απηφ είλαη θπζηθά πιεξσκή ηνπ bot-herder απφ ηηο δηαθεκηζηηθέο εηαηξίεο γηα ηα clicks πνπ ηνπο παξέρεη.

Πιαζηνπξνζσπία: Δθηφο απφ spam κελχκαηα ειεθηξνληθνχ ηαρπδξνκείνπ ηα νπνία είλαη ζρεηηθά αθίλδπλα, έλα botnet κπνξεί λα ζηείιεη θαη κελχκαηα «ειεθηξνληθνχ ςαξέκαηνο» (phishing). Ο απνζηνιέαο ησλ κελπκάησλ απηψλ ππνδχεηαη πσο είλαη θάπνηνο άιινο π.ρ. κηα ηξάπεδα ή κηα ππεξεζία πνπ ρξεζηκνπνηεί ν παξαιήπηεο φπσο ην MSN. πλήζσο ην κήλπκα παξαπέκπεη ηνλ παξαιήπηε ζε κηα ηζηνζειίδα πνπ επίζεο πξνζπνηείηαη πσο αλήθεη ζηελ παξαπάλσ νληφηεηα θαη ηνπ δεηά λα πιεθηξνινγήζεη θάπνηνλ θσδηθφ. Όπσο είλαη πξνθαλέο ε ηζηνζειίδα αλήθεη ζηνλ ηδηνθηήηε ηνπ botnet, ν νπνίνο ζπιιέγεη ηνπο θσδηθνχο πνπ δίλνληαη θαη ηνπο εθκεηαιιεχεηαη. Απηή ε ηερληθή απάηεο, επεηδή απαηηεί ηελ εππηζηία (ή άγλνηα) ηνπ ζχκαηνο, απνθαιείηαη social engineering.

Φπζηθά ε ιίζηα δελ ζηακαηά εδψ. Τπάξρνπλ θη άιινπ ηχπνπ παξαβαηηθέο ελέξγεηεο πνπ κπνξνχλ λα δηεμαρζνχλ κε ρξήζε ησλ botnets, φπσο ππνθινπή δηθηπαθήο θίλεζεο (packet sniffing) ησλ κνιπζκέλσλ ζπζηεκάησλ, αιινίσζε απνηειεζκάησλ ειεθηξνληθψλ ςεθνθνξηψλ, αιιαγή πεξηερνκέλνπ ηζηνζειίδσλ θ.α.. Καηαιαβαίλνπκε ινηπφλ ηελ αμία ησλ botnets γηα ηνπο ηδηνθηήηεο ηνπο. Τπάξρνπλ πνιιέο εηαηξίεο πνπ πιεξψλνπλ ηνπο ηδηνθηήηεο γηα ηηο ππεξεζίεο ηνπο. Οη εηαηξίεο απηέο δελ είλαη απαξαίηεηα δηαθεκηζηηθέο ˙ έρνπλ βξεζεί αξθεηέο πεξηπηψζεηο πνπ νξγαληζκνί πιεξψλνπλ γηα επηζέζεηο ή ππνθινπή ζηνηρείσλ ελαληίνλ αληηπάισλ ηνπο. Σα botnets είλαη έλα απφ ην ηζρπξφηεξα φπια ηνπ ειεθηξνληθνχ εγθιήκαηνο.

Αλ ηα botnets είλαη ηφζν επηθίλδπλα, πψο κπνξνχκε λα ηα ζηακαηήζνπκε; Ο απινχζηεξνο ηξφπνο ζα ήηαλ λα ιάβνπκε κέηξα πξνζηαζίαο ψζηε λα κελ είλαη δπλαηφ λα εθηεζνχκε ζην θαθφβνπιν ινγηζκηθφ εμαξρήο. Κάηη ηέηνην δπζηπρψο είλαη αδχλαηνλ. Πάληα ζα ππάξρνπλ θελά αζθαιείαο ζε έλα ζχζηεκα, ηδηαίηεξα θάπνην πνπ πξννξίδεηαη γηα έληνλε δηθηπαθή ρξήζε, φπσο νη δηάθνξνη εμππεξεηεηέο. Πεηξάκαηα έρνπλ δείμεη πσο ν κέζνο ρξφλνο κέρξη ηε κφιπλζε ελφο ππνινγηζηή ρσξίο ηηο απαξαίηεηεο ελεκεξψζεηο αζθαιείαο ηνπ ιεηηνπξγηθνχ ηνπ ζπζηήκαηνο είλαη ιίγα ιεπηά απφ ηε ζηηγκή πνπ ζα ζπλδεζεί ζην Γηαδίθηπν. Δθφζνλ ινηπφλ δελ κπνξνχκε λα απνηξέςνπκε ηε δεκηνπξγία θαη ηελ εμάπισζε ησλ botnets πξέπεη λα βξνχκε θάπνηνλ ηξφπν λα ζηακαηήζνπκε ηε ιεηηνπξγία φζσλ ππάξρνπλ. Η απάληεζε ζε απηφ είλαη ηα honeynets.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 110

Με ηε βνήζεηα ησλ honeynets, δειαδή δηθηχσλ (ζπρλά εηθνληθψλ) ζπζηεκάησλ ηα νπνία είλαη ηειείσο εθηεζεηκέλα ζε επηζέζεηο, κπνξνχκε λα ζπιιέμνπκε θαθφβνπιν ινγηζκηθφ θαη λα κειεηήζνπκε ηε δξάζε ηνπ. Τπάξρνπλ αξθεηά πξνγξάκκαηα πνπ βνεζνχλ ζηε ζπιινγή θαθφβνπινπ ινγηζκηθνχ πνπ πξνζπαζεί λα εγθαηαζηαζεί ζε έλα honeypot, φπσο γηα παξάδεηγκα ην Nepenthes, ή ην CWsandbox. Αθνχ ζπιιερζεί θαη απνκνλσζεί ην εθηειέζηκν ηνπ bot πξνζπαζεί λα κνιχλεη ην ζχζηεκά καο, πξέπεη λα ππνζηεί reverse engineering, ψζηε λα κπνξέζνπκε λα ζπιιέμνπκε ζηνηρεία ηνπ θψδηθά ηνπ. Η δηαδηθαζία απηή κπνξεί λα απνδεηρζεί πνιχ δχζθνιε. Οξηζκέλα ζχγρξνλα bots (π.ρ. Agobot) είλαη αξθεηά εμειηγκέλα ψζηε λα αληηιακβάλνληαη κηα ηέηνηα απφπεηξα θαη ιακβάλνπλ κέηξα, φπσο δηαγξαθή ησλ αξρείσλ ηνπο. Σξφπνη κε ηνπο νπνίνπο κπνξνχλ λα αληηιεθζνχλ πξνζπάζεηεο εμέηαζήο ηνπο είλαη αλ δηαπηζηψζνπλ ηελ εθηέιεζή ηνπο ζε πεξηβάιινλ θάπνηνπ debugger (νη νπνίνη ρξεζηκνπνηνχληαη γηα reverse engineering εθηειέζηκσλ), ή αλ ν C&C εμππεξεηεηήο πνπ ηνπο ππαγνξεχεηαη λα ζπλδεζνχλ είλαη ν localhost, θαζψο κηα ηέηνηα θαηάζηαζε είλαη χπνπηε θαη ππνδεηθλχεη ηελ χπαξμε honeypot. Αθνχ αλαιπζεί ν θψδηθαο ηνπ bot, ην επφκελν βήκα είλαη λα παξεηζθξήζνπκε ζην botnet, δειαδή λα ζπλδεζνχκε ζηνλ C&C εμππεξεηεηή ππνδπφκελνη έλαλ κνιπζκέλν ππνινγηζηή. Σα ζηνηρεία πνπ πξέπεη λα έρνπκε ζπιιέμεη γηα απηφ είλαη: ε δηεχζπλζε DNS/IP ηνπ εμππεξεηεηή IRC θαη ν αξηζκφο ηεο ζχξαο (ελδερνκέλσο θαη ν θσδηθφο γηα ηε ζχλδεζε), ην θαηάιιειν ςεπδψλπκν ησλ bots θαη ε δνκή ident, θαη ην θαλάιη IRC πνπ ρξεζηκνπνηείηαη. Με ηα ζηνηρεία απηά ζηε δηάζεζή καο κπνξνχκε λα ζπλδεζνχκε ζηνλ C&C εμππεξεηεηή θαη λα παξαθνινπζήζνπκε ηε δξάζε ηνπ botnet θαηαγξάθνληαο ηηο εληνιέο πνπ ζηέιλεη ν ηδηνθηήηεο. Καη απηφ ην βήκα φκσο εκπεξηέρεη θάπνηεο δπζθνιίεο. Σηο πεξηζζφηεξεο θνξέο νη ηδηνθηήηεο ησλ botnets έρνπλ ηξνπνπνηήζεη ην πξσηφθνιιν IRC πνπ ρξεζηκνπνηνχλ, επνκέλσο ν ππνινγηζηήο πνπ ζα ρξεζηκνπνηήζνπκε κπνξεί λα γίλεη αληηιεπηφο, εθφζνλ δελ ζα αληαπνθξίλεηαη ζε έγθπξεο εληνιέο. Σηο πεξηζζφηεξεο θνξέο νη bot-herders απαγνξεχνπλ ηελ πξφζβαζε ζηνλ εηζβνιέα θαη πξνζπαζνχλ λα ηνπ επηηεζνχλ κε DDoS. Γηα λα παξαθνινπζήζνπλ κε επηηπρία έλα botnet, πνιινί εξεπλεηέο δεκηνπξγνχλ ηηο δηθέο ηνπο εθαξκνγέο πειάηε IRC ζηεξηδφκελνη ζηα ζηνηρεία πνπ έρνπλ απνθνκίζεη απφ ην bot θαη ηελ θίλεζε ηνπ IRC εμππεξεηεηή. Αθνχ ζπιιερζνχλ αξθεηά ζηνηρεία γηα ην botnet, πξέπεη λα παξαδνζνχλ ζηηο αξκφδηεο αξρέο πνπ είλαη ππεχζπλεο γηα ηε δηαθνπή ηεο δξάζεο ηνπ.

ηα πιαίζηα ηεο εξγαζίαο, αζρνιεζήθακε κε ηα botnets αξρηθά ζε ζεσξεηηθφ επίπεδν, κειεηψληαο ηε ιεηηνπξγία, ηε δξάζε θαη ηνπο ηξφπνπο εμάπισζήο ηνπο φπσο πεξηγξάθνληαη παξαπάλσ. Ο ιφγνο ήηαλ πσο έρνληαο ζπιιέμεη αλαθνξέο γηα επηζέζεηο ζην ζχζηεκά καο κέζσ ηνπ snort, δηαθξίλακε απηνκαηνπνηεκέλε δξαζηεξηφηεηα ζε αξθεηέο απφ απηέο. Τπήξραλ επηζέζεηο πνπ έδεηρλαλ ζπληνληζκέλεο ρξνληθά, αλ θαη πξνέξρνληαλ απφ δηαθνξεηηθέο δηεπζχλζεηο IP. Σν γεγνλφο απηφ ζπλδπάζηεθε κε ηελ ππνςία πσο πνιιέο επηζέζεηο κπνξεί λα κελ πξνέξρνληαλ απεπζείαο απφ ηνλ ππνινγηζηή θάπνηνπ θαθφβνπινπ, αιιά απφ έλα ζχζηεκα πνπ βξίζθεηαη ππφ ηνλ έιεγρφ ηνπ. πλεπψο ε κειέηε ησλ botnets απνηέιεζε έλα απφ ηα δεηήκαηα πνπ καο απαζρφιεζαλ. Όπσο εμεγείηαη παξαπάλσ, ε κειέηε ηνπ θψδηθα ησλ bots θαη ηεο ζπκπεξηθνξάο ελφο botnet, απαηηνχλ ηε ρξήζε high-interaction honeypots κε επηπξφζζεηε δπλαηφηεηα ζπιινγήο ηνπ θαθφβνπινπ ινγηζκηθνχ (π.ρ. κέζσ ηνπ ινγηζκηθνχ Nepenthes). Γπζηπρψο ηα honeypots πνπ είρακε δεκηνπξγήζεη κέζσ ηνπ honeyd, ππνζηεξίδνπλ κφλν low-interaction ιεηηνπξγία, θαζηζηψληαο αδχλαηε ηελ ελεξγφ κειέηε πηζαλψλ botnets πνπ ζα πξνζπαζνχζαλ λα κνιχλνπλ ην ζχζηεκά καο. Γηα απηφ ην ιφγν απνθαζίζακε λα αζρνιεζνχκε κε ηξφπνπο εληνπηζκνχ ησλ botnets κέζσ ησλ εηδνπνηήζεσλ πνπ ζα δεκηνπξγνχζαλ νη επηζέζεηο ηνπο. Γηα ην δήηεκα απηφ δελ ππάξρνπλ πνιιέο αλαθνξέο ζηνλ Ιζηφ κε πηζαλά εξγαιεία ή επξεηηθέο κεζφδνπο αλαγλψξηζεο. Έηζη γξάςακε δχν απιά scripts πνπ κέζσ επεξσηήζεσλ ζηε βάζε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 111

δεδνκέλσλ ησλ εηδνπνηήζεσλ κπνξνχλ λα εμάγνπλ απνηειέζκαηα γηα επηηηζέκελνπο πνπ πηζαλψο αλήθνπλ ζε έλα botnet.

Καη ηα δχν scripts είλαη γξακκέλα ζε bash θαη ρξεζηκνπνηνχλ ηε mysql βάζε δεδνκέλσλ πνπ δεκηνπξγεί ην snort, φπσο πεξηγξάθεηαη παξαπάλσ. Γηα ηηο ζπλαιιαγέο κε ηε βάζε απαηηείηαη φλνκα ρξήζηε θαη θσδηθφο πξφζβαζεο ηα νπνία δίλνληαη ζαλ κεηαβιεηέο ζηελ αξρή ηνπ script. Δδψ ρξεζηκνπνηνχκε ηα ζηνηρεία πνπ δφζεθαλ θαηά ην παξάδεηγκα ηεο εγθαηάζηαζεο, αιιά ν αλαγλψζηεο κπνξεί λα ηα αληηθαηαζηήζεη κε ηα δηθά ηνπ. θνπφο ηνπ πξψηνπ script είλαη ν έιεγρνο γηα ηελ χπαξμε θαηαλεκεκέλσλ επηζέζεσλ ελαληίνλ κηαο IP ηνπ δηθηχνπ. Μηα θαηαλεκεκέλε επίζεζε δελ είλαη απαξαίηεην λα ζεκαίλεη DDoS. Γηα θάζε IP ηνπ δηθηχνπ πνπ έρεη θαηαγξάςεη ην snort σο πξννξηζκφ, ην script ειέγρεη πνηα είδε επηζέζεσλ έρεη δερζεί κέζσ ησλ signatures, θαη νκαδνπνηεί ηηο δηεπζχλζεηο πξννξηζκνχ κε θνηλή εκεξνκελία. Δίλαη πνιχ πηζαλφ πσο αλ ζε κία εκέξα 2 ή πεξηζζφηεξεο IP έρνπλ πξνθαιέζεη ηελ ίδηα εηδνπνίεζε κε ηνλ ίδην ζηφρν, αλήθνπλ ζε θάπνην botnet. Αθνινπζεί ν θψδηθαο ηνπ script:

#!/bin/bash

#mysql username

user="snort_user"

#mysql password

pass="snortpass"

for dst_ip in $(echo "use snort; select distinct inet_ntoa(ip_dst) from iphdr;" | mysql -u $user -p$pass | tail -n +2)

do

echo "Checking destination IP: $dst_ip"

for sig_id in $(echo "use snort; select distinct signature from event, iphdr where inet_ntoa(iphdr.ip_dst) = '$dst_ip' and event.cid = iphdr.cid and event.sid = iphdr.cid;" | mysql -u $user -p$pass | tail -n +2)

do

for date in $(echo "use snort; select distinct date(timestamp) from event, iphdr where inet_ntoa(iphdr.ip_dst) = '$dst_ip' and event.signature = '$sig_id' and iphdr.cid = event.cid and iphdr.sid = event.sid;" | mysql -u $user -p$pass | tail -n +2)

do

i=0

for src_ip in $(echo "use snort; select distinct inet_ntoa(ip_src) from event, iphdr where date(event.timestamp) = '$date' and event.signature = '$sig_id' and inet_ntoa(iphdr.ip_dst) = '$dst_ip' and iphdr.cid = event.cid and iphdr.sid = event.sid;" | mysql -u $user -p$pass | tail -n +2)

do

i=`expr $i + 1`

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 112

Η εθηέιεζε απηνχ ηνπ script δελ παξήγαγε απνηειέζκαηα, γεγνλφο πνπ ζεκαίλεη πσο θακία κεκνλσκέλε δηεχζπλζε ηνπ δηθηχνπ δελ δέρηεθε θαηαλεκεκέλε επίζεζε.

Σν δεχηεξν script έρεη σο ζηφρν λα ειέγμεη αλ έγηλαλ ζπληνληζκέλεο επηζέζεηο απφ bots ελαληίνλ πνιιαπιψλ δηεπζχλζεσλ ηνπ δηθηχνπ. Γηα παξάδεηγκα, έλα botnet κπνξεί λα δηαηξνχζε ηηο /16 IP ηνπ darknet ζε κηθξφηεξα ππνδίθηπα θαη λα ηηο θαηέλεηκε ζε πεξηζζφηεξα ηνπ ελφο bots γηα έιεγρν ελφο ζπγθεθξηκέλνπ θελνχ αζθαιείαο, Σν script εμεηάδεη γηα θάζε signature εηδνπνίεζεο ηηο εκεξνκελίεο πνπ δεκηνπξγήζεθαλ. ηε ζπλέρεηα, γηα θάζε εκεξνκελία βξίζθεη ην ζχλνιν ησλ δηεπζχλζεσλ πξννξηζκνχ θαη ζρεκαηίδεη νκάδεο κε φιεο ηηο IP απφ ηηο νπνίεο πξνέξρνληαη. Γηα λα απμεζεί ε πηζαλφηεηα εληνπηζκνχ ελφο έγθπξνπ botnet, ην script κπνξεί λα εθηειεζηεί κε ρξήζε ηνπ νξίζκαηνο --with-time-comp , ην νπνίν πξνζζέηεη ζηελ ίδηα νκάδα κφλν δηεπζχλζεηο πνπ πξνθάιεζαλ ηελ εηδνπνίεζε κέζα ζηελ ίδηα ψξα. Δπηπιένλ έρεη απνθιεηζηεί ε εμέηαζε ηνπ ssh mismatch, ιφγσ ησλ ππεξβνιηθά πνιιψλ εηδνπνηήζεσλ πνπ πεξηιακβάλεη ζην ζχζηεκά καο, νη νπνίεο ζα εκθάληδαλ πιαζκαηηθά απνηειέζκαηα. Η εμέηαζε απηνχ ηνπ signature κπνξεί λα ελεξγνπνηεζεί κε ρξήζε ηνπ νξίζκαηνο --enable-ssh-mismatch . Δλαιιαθηηθά, κπνξεί θαλείο λα απνθιείζεη ηνλ έιεγρν άιισλ εηδνπνηήζεσλ, φπσο απηψλ πνπ πξνέξρνληαη απφ ηνλ decoder, ή φζσλ πεξηέρνπλ ηε ιέμε PING, ηξνπνπνηψληαο θαηάιιεια ησλ θψδηθα, ν νπνίνο θαίλεηαη παξαθάησ:

if [ $i -eq 1 ]

then

fisrt_ip=$src_ip

elif [ $i -eq 2 ]

then

echo " --on date: $date"

echo " $first_ip"

echo " $src_ip"

else

echo " $src_ip"

fi

done

done

done

done

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 113

#!/bin/bash

#mysql username

user="snort_user"

#mysql password

pass="snortpass"

ssh_sig=$(echo "use snort; select sig_id from signature where sig_name = 'ssh: Protocol mismatch'" | mysql -u $user -p$pass | tail -n +2)

for sig_id in $(echo "use snort; select distinct signature from event;" | mysql -u $user -p$pass | tail -n +2)

do

if [ $sig_id -ne $ssh_sig -o "$1" == "--enable-ssh-mismatch" -o "$2" == "--enable-ssh-mismatch" ]

then

sig_name=$(echo "use snort; select sig_name from signature where sig_id = '$sig_id';" | mysql -u $user -p$pass | tail -n +2)

echo "Checking signature: $sig_name"

for date in $(echo "use snort; select distinct date(timestamp) from event where signature = '$sig_id';" | mysql -u $user -p$pass | tail -n +2)

do

i=0

if [ "$1" == "--with-time-comp" -o "$2" == "--with-time-comp" ]

then

for src_ip in $(echo "use snort; select inet_ntoa(iphdr.ip_src), hour(event.timestamp) as hour from iphdr, event where event.signature = '$sig_id' and date(event.timestamp) = '$date' and event.sid = iphdr.sid and event.cid = iphdr.cid group by inet_ntoa(ip_src) order by hour asc;" | mysql -u $user -p$pass | tail -n +2 | sed "s/\t/:/g")

do

i=`expr $i + 1`

if [ $i -eq 1 ]

then

first_ip=$src_ip

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 114

first_hour=$(echo "$src_ip" | cut -d ":" -f 2)

last_group=0

cur_group=1

elif [ $i -gt 1 ]

then

hour=$(echo "$src_ip" | cut -d ":" -f 2)

diff=`expr $hour - $first_hour`

if [ $diff -lt 1 -a $diff -gt -1 ]

then

if [ $last_group -eq $cur_group ]

then

ip=$(echo "$src_ip" | cut -d ":" -f 1)

echo " $ip"

else

if [ $cur_group -eq 1 ]

then

echo "--on $date:"

fi

echo " Suspected group $cur_group:"

ip=$(echo "$first_ip" | cut -d ":" -f 1)

echo " $ip"

ip=$(echo "$src_ip" | cut -d ":" -f 1)

echo " $ip"

cur_group=`expr $cur_group + 1`

last_group=$cur_group

fi

else

first_ip=$src_ip

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 115

first_hour=$hour

last_group=0

fi

fi

done

else

for src_ip in $(echo "use snort; select distinct inet_ntoa(iphdr.ip_src) from event, iphdr where event.signature = '$sig_id' and date(event.timestamp) = '$date' and event.sid = iphdr.sid and event.cid = iphdr.cid;" | mysql -u $user -p$pass | tail -n +2)

do

i=`expr $i + 1`

if [ $i -eq 1 ]

then

first_ip=$src_ip

elif [ $i -eq 2 ]

then

echo "--on $date:"

echo " $first_ip"

echo " $src_ip"

else

echo " $src_ip"

fi

done

fi

done

fi

done

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 116

Παξαδείγκαηα εθηέιεζεο: ./botnet2 ./botnet2 --with-time-comp ./botnet2 --enable-ssh-mismatch --with-time-comp

Δθηειψληαο ην script κε ηε ρξήζε ηεο δεχηεξεο εληνιήο ιακβάλνπκε αξθεηέο δεθάδεο νκάδσλ δηεπζχλζεσλ IP πνπ παξνπζηάδνπλ ζπληνληζκέλε δξάζε. Οη πεξηζζφηεξεο απνηεινχληαη απφ δχν έσο πέληε δηεπζχλζεηο. Πνιιέο απφ απηέο ζα κπνξνχζαλ λα ραξαθηεξηζηνχλ «false positives» φζνλ αθνξά ζηα botnets, θαζψο ε θνηλή ηνπο δξάζε δείρλεη ζπκπησκαηηθή. Ιδηαίηεξν ελδηαθέξνλ φκσο παξνπζηάδνπλ ηα παξαθάησ απνηειέζκαηα:

Checking signature: Snort Alert [1:0:0]

--on 2010-01-09:

Suspected group 1:

189.32.220.83

174.37.193.200

187.39.103.153

189.71.131.218

208.115.111.247

92.245.8.41

200.163.167.170

41.234.121.100

118.169.38.19

222.122.39.84

201.43.172.74

89.149.204.122

77.49.218.213

85.159.160.197

Checking signature: Snort Alert [1:2002974:0]

--on 2010-01-09:

Suspected group 1:

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 117

Οη ζπγθεθξηκέλεο νκάδεο ρξήδνπλ πεξαηηέξσ παξαηήξεζεο, δηφηη είλαη νη κνλαδηθέο ηέηνηνπ πιήζνπο πνπ έρνπλ πξνθιεζεί απφ signatures επηζέζεσλ, νη νπνίεο δελ είλαη ηεο θαηεγνξίαο portscan, portsweep, ping ή εηδνπνηήζεσλ ηνπ decoder. Απηφ έρεη εμαηξεηηθή ζεκαζία, θαζψο ην darknet ιακβάλεη θαζεκεξηλά ηεξάζηην πιήζνο παθέησλ/επηζέζεσλ πνπ αλήθνπλ ζηηο παξαπάλσ θαηεγνξίεο, ζπλεπψο ε ρξνληθή ζηηγκή πνπ εθηειείηαη ε ίδηα επίζεζε απφ δηαθνξεηηθά ζπζηήκαηα κπνξεί λα ζπκπέζεη ηπραία. Δπηπιένλ ε δεχηεξε νκάδα πξνζπαζεί λα εθκεηαιιεπηεί έλα ζπγθεθξηκέλν θελφ αζθαιείαο (ζε αληίζεζε κε ηα γεληθήο θχζεσο portsweep) ην νπνίν ρξεζηκνπνηεί ν ηφο Hupigon (βι. §4.1 ). Ο Hupigon έρεη αξθεηέο δπλαηφηεηεο, νη νπνίεο πεξηιακβάλνπλ θαη ηε δξάζε ηνπ σο bot. πλεπψο είλαη πνιχ πηζαλφ νη εηδνπνηήζεηο απηέο λα απνηεινχλ ηελ πξνζπάζεηα ηνπ θαθφβνπινπ ινγηζκηθνχ λα δηαδνζεί. Απηφ γίλεηαη πην ζαθέο αλ δεη θαλείο κέζσ ηνπ BASE ηηο δηεπζχλζεηο πξννξηζκνχ ησλ παθέησλ. Απνζηέιινληαη 1-2 παθέηα απνθιεηζηηθά απφ κία δηεχζπλζε ηνπ botnet πξνο κία ηνπ darknet ζε δηάζηεκα 4 ιεπηψλ. Όια ηα παθέηα έρνπλ ην ίδην payload, ελψ νη IP πξννξηζκνχ δελ είλαη δηαδνρηθέο πξνο απνθπγή εληνπηζκνχ ηεο δξάζεο ηνπ botnet. Σελ ίδηα ζπκπεξηθνξά εκθαλίδνπλ θαη ηα παθέηα ηεο πξψηεο νκάδαο. Αλ θαη ηα παθέηα δελ έρνπλ payload, νη θεθαιίδεο ηνπο είλαη ίδηεο, ελψ επηπιένλ ε δξαζηεξηφηεηα δηαξθεί 15 ιεπηά. Όια δείρλνπλ πσο πξφθεηηαη επίζεο γηα θαηαλεκεκέλε επίζεζε, δειαδή γηα θάπνην botnet. Οη δχν νκάδεο δελ πξέπεη λα αλήθνπλ ζην ίδην botnet, δηφηη παξφιν πνπ έδξαζαλ ηελ ίδηα εκέξα, νη ελέξγεηεο ηεο θάζε κίαο έιαβαλ ρψξα ζε δηάζηεκα ιίγσλ ιεπηψλ, ελψ κεηαμχ ηνπο απέρνπλ 2 ψξεο.

Κιείλνληαο ηελ ζπδήηεζε πεξί botnets, κπνξνχκε λα πνχκε πσο είλαη μεθάζαξε ε ζεκαζία θαη ε επηθηλδπλφηεηά ηνπο ζηελ ζεκεξηλή δηαδηθηπαθή πξαγκαηηθφηεηα. Αλαιχνληαο ηε ιεηηνπξγία ηνπο έρνπκε κηα γεληθή εηθφλα γηα ηνπο κεραληζκνχο πνπ επηζηξαηεχνπλ γηα λα εμαπιψλνληαη θαη λα επηηίζεληαη. Μέζσ ησλ honeypots αιιά θαη ηνπ darknet έρνπκε ηε δπλαηφηεηα γηα πεξαηηέξσ κειέηε ηνπο κε ζθνπφ ηελ αλάπηπμε κεζφδσλ πξνζηαζίαο απφ ηελ θαθφβνπιε δξάζε ηνπο.

59.93.89.222

77.247.163.97

200.35.251.153

79.20.117.90

77.34.218.167

118.169.38.19

72.8.128.211

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 118

ΚΔΦΑΛΑΙΟ 6

6. πκπεξάζκαηα θαη παξαηεξήζεηο

Απηφ ην θεθάιαην έρεη δχν βαζηθνχο άμνλεο, ην ηζηνξηθφ εθπφλεζεο ηεο εξγαζίαο θαη νξηζκέλεο θαηεπζχλζεηο γηα κειινληηθή ζπλέρεηα απηήο. ηελ πξψηε ελφηεηα πνπ αληηζηνηρεί ζην ηζηνξηθφ, γίλεηαη αλαθνξά ζηηο επηπηψζεηο πνπ είρακε απφ ιαλζαζκέλεο ξπζκίζεηο ησλ εξγαιείσλ Snort θαη Arpd. ηελ δεχηεξε ελφηεηα, πεξηγξάθνληαη ζπλνπηηθά κεξηθέο ηδέεο γηα ηε ζπλέρηζε ηεο εξγαζίαο κε ζθνπφ λα παξαρζνχλ πεξηζζφηεξα ζπκπεξάζκαηα απφ ηε ιεηηνπξγία ηνπ darknet server.

6.1 Ιζηνξηθό εξγαζίαο

Γηα ηηο αλάγθεο ηεο εξγαζίαο ρξεηάζηεθε λα εγθαηαζηήζνπκε θαη λα ζπληνλίζνπκε αξθεηά δηαθνξεηηθά εξγαιεία ινγηζκηθνχ, ηα νπνία πεξηγξάθνληαη ζε πξνεγνχκελα θεθάιαηα. Η δηαδηθαζία απηή ζπλεπάγεηαη ηε δνθηκή δηαθφξσλ ξπζκίζεσλ θαη αλάιπζε ησλ απνηειεζκάησλ πνπ απνδίδνπλ, κέρξηο φηνπ θηάζνπκε ζηελ επηζπκεηή θαηάζηαζε. Γπζηπρψο, νη δνθηκέο δελ ήηαλ πάληα επηηπρείο ˙ ε εκπεηξία ζηε ρξήζε ηνπ ινγηζκηθνχ ήηαλ κηθξή, ελψ πνιιέο θνξέο έπξεπε λα πεξηκέλνπκε αξθεηφ ρξφλν ψζπνπ λα δηαπηζησζεί αλ θάπνηα ξχζκηζε ήηαλ ζσζηή ή φρη (π.ρ. δηφηη ρξεηαδφηαλ λα δερηνχκε νξηζκέλν πιήζνο εηζεξρφκελσλ παθέησλ). Παξφια απηά νξηζκέλεο ιαλζαζκέλεο ελέξγεηεο παξήγαγαλ ζηνηρεία πνπ νδεγνχλ ζε ελδηαθέξνληα ζπκπεξάζκαηα. Σα ζεκαληηθφηεξα απφ απηά αλαιχνπκε παξαθάησ.

6.1.1 Alerts ηνπ παξαγσγηθνύ δηθηύνπ

Όπσο είδακε ζην εδάθην §2.1.1, ην πξφγξακκα NIDS πνπ ρξεζηκνπνηήζακε γηα ηελ αλάιπζε ηεο εηζεξρφκελεο θαη εμεξρφκελεο θίλεζεο είλαη ην Snort. Γηα λα κπνξεί ην Snort λα παξαθνινπζεί ζσζηά ην δίθηπφ καο πξέπεη λα ην νξίζνπκε ζην αξρείν ξπζκίζεσλ /etc/snort/snort.conf . Σν παξαθνινπζνχκελν δίθηπν θαζνξίδεηαη απφ ηε κεηαβιεηή HOME_NET . Ο επθνιφηεξνο ηξφπνο γηα λα νξίζνπκε σο ηηκή έλα εχξνο δηεπζχλζεσλ (π.ρ. ην ζχλνιν ηνπ dark address space) είλαη κε ηε ρξήζε ηεο αξρηθήο δηεχζπλζεο ηνπ ππνδηθηχνπ αθνινπζνχκελν απφ κηα ηηκή numbits. Παξαδείγκαηνο ράξε, αλ δψζνπκε ηελ ηηκή 192.168.1.0/24 , ην Snort ζα παξαθνινπζεί ην ππνδίθηπν πνπ μεθηλά απφ ηε δηεχζπλζε 192.168.1.0 , ζα θξαηήζεη ζηαζεξά ηα πξψηα 24 bits ηεο δηεχζπλζεο θαη ζα απνδψζεη φιεο ηηο πηζαλέο ηηκέο ζηα ππφινηπα. Γειαδή ζην παξάδεηγκα ζα παξαθνινπζείηαη ην εχξνο 192.168.1.x, x [0,255]. Τπάξρεη ε

δπλαηφηεηα λα δνζνχλ πεξηζζφηεξεο ηεο κίαο ηηκήο δηαρσξηζκέλεο κε θφκκα.

Καζψο ξπζκίδακε απηή ηελ παξάκεηξν ηνπ Snort, ζειήζακε γηα πεξηζζφηεξε αζθάιεηα λα παξαθνινπζνχκε θαη ηηο δηεπζχλζεηο ησλ 2 NICs ηνπ εμππεξεηεηή καο εθηφο απφ ην darknet. Γνθηκαζηηθά, αληί λα εηζάγνπκε ηηο 2 IP σο ηηκέο ζηελ παξάκεηξν, δψζακε ηελ αξρηθή δηεχζπλζε ηνπ παξαγσγηθνχ δηθηχνπ αθνινπζνχκελε απφ /24, παξαθνινπζψληαο ζηελ νπζία έλα ππνδίθηπφ ηνπ 256 δηεπζχλζεσλ. Θεσξεηηθά, ην Snort έπξεπε λα έρεη πξφζβαζε κφλν ζε φζα παθέηα αληηζηνηρνχλ ζηηο IP ησλ NICs, ρσξίο λα κπνξεί λα αλαιχζεη ηα ππφινηπα. ηελ πξάμε φκσο θάηη ηέηνην δελ ζπλέβε. Αληηζέησο έλα κεγάιν ηκήκα ηεο θίλεζεο ηνπ ππφινηπνπ ππνδηθηχνπ αλεμάξηεην απφ ηνλ εμππεξεηεηή καο ήηαλ νξαηφ απφ ην Snort (βι. εηθφλα 1 φπνπ ζπκβνιίδεηαη σο traffic B). Σν γεγνλφο απηφ νθείιεηαη ζηελ ηνπνινγία ηνπ δηθηχνπ θαη ζηε θπζηθή ζέζε

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 119

θάζε ππνινγηζηή ζε ζρέζε κε ηνλ κεηαγσγφ δηθηχνπ (switch). Όζα παθέηα πξννξίδνληαλ πξνο ην ίδην θπζηθφ θχθισκα ζην νπνίν βξηζθφηαλ ν εμππεξεηεηήο καο αιιά ήηαλ ζπλδεδεκέλα σο επφκελνη θφκβνη , γίλνληαλ αληηιεπηά απφ ην Snort θαη ην payload ηνπο αλαιπφηαλ. πλνιηθά εμεηάζηεθαλ παθέηα απφ 52 δηαθνξεηηθέο δηεπζχλζεηο ηνπ δηθηχνπ ηα νπνία πξνθάιεζαλ 2.380.133 εηδνπνηήζεηο. Μηα ζπγθεθξηκέλε απφ απηέο παξήγαγε έλαλ εληππσζηαθφ αξηζκφ εηδνπνηήζεσλ ζπγθξηηηθά κε ηα ππφινηπα δεδνκέλα θηάλνληαο ηηο 165 κε 8 δηαθνξεηηθά είδε (νξηζκέλα απφ απηά πεξηγξάθνληαη ζην Κεθ. 4, θαζψο παξνπζηάδνληαη θαη ζην darknet). Αμηνπεξίεξγν είλαη πσο απνηεινχζε ζε φιεο ηε δηεχζπλζε πεγήο (κεηαμχ ησλ νπνίσλ θαη νξηζκέλα portsweeps), πξνθαιψληαο νπζηαζηηθά ηελ ππξνδφηεζε ηνπ θαλφλα.

πλνιηθά δεκηνπξγήζεθαλ 8 δηαθνξεηηθά είδε alerts, ηα ζεκαληηθφηεξα απφ ηα νπνία αλαιχνληαη παξαθάησ:

Πίλαθαο 5: Σα επηπιένλ είδε ησλ alerts πνπ θαηαγξάθεθαλ ζην παξαγσγηθό ππνδίθηπν. Φηάλνπλ

ηα νθηώ ζε αξηζκό.

http_inspect: DOUBLE DECODING ATTACK

Απηέο νη εηδνπνηήζεηο παξάγνληαη απφ ηνλ απνθσδηθνπνηεηή http ηνπ snort φηαλ, κεηά ηελ απνθσδηθνπνίεζε ελφο URL, εληνπηζηνχλ ραξαθηήξεο κε κε έγθπξνπο ASCII θσδηθνχο. Απηφ ππνδειψλεη πσο ην URL έρεη ππνζηεί δηπιή θσδηθνπνίεζε. Η ηερληθή απηή γεληθά ζεσξείηαη χπνπηε γηαηί κπνξεί λα νδεγήζεη ζε πνιιέο εξκελείεο ελφο ραξαθηήξα ηνπ URL θαη δελ ρξεζηκνπνηείηαη επξέσο (ν δεκνθηιέζηεξνο web εμππεξεηεηήο apache δελ ηελ ππνζηεξίδεη). Παξάιιεια κπνξεί λα ρξεζηκνπνηεζεί γηα λα γίλνπλ θεθαιπκκέλεο επηζέζεηο. πρλά ηα ζπζηήκαηα IDS απνθσδηθνπνηνχλ κία θνξά έλα URL, νπφηε αλ απηφ έρεη ππνζηεί δηπιή θσδηθνπνίεζε απνθεχγεη ηνλ έιεγρν. Η πξαγκαηηθή ηνπνζεζία πνπ θαηεπζχλεη ηνλ ρξήζηε κπνξεί λα εκπεξηέρεη θηλδχλνπο, ρσξίο φκσο λα παξαρζεί ε εηδνπνίεζε πνπ ζα έπξεπε. Αμίδεη λα ηνληζηεί πσο ην απηφ ην είδνο επίζεζεο πιήηηεη απνθιεηζηηθά εμππεξεηεηέο IIS ηεο Microsoft (εθδφζεηο 4.0 θαη 5.0), δηφηη εθείλνη ππνζηεξίδνπλ ηελ δηπιή θσδηθνπνίεζε. ην πξψην ζηάδην ρξεζηκνπνηείηαη UTF-8 Unicode, ASCII, bare byte, θαη %u, ελψ ζην δεχηεξν εθαξκφδνληαη νη ίδηεο κέζνδνη εθηφο ηνπ UTF-8 Unicode. Πνιιέο δεκνθηιείο ηζηνζειίδεο ρξεζηκνπνηνχλ IIS (πρ. Hotmail, eBay) θαη αλαθαηεπζχλνπλ ηνπο ρξήζηεο κε URL κε

Alert Signature Classification

frag3: Short fragment, possible DoS attempt unclassified

ftp_pp: Telnet command on FTP command channel protocol-command-decode

http_inspect: DOUBLE DECODING ATTACK unclassified

http_inspect: IIS UNICODE CODEPOINT ENCODING unclassified

http_inspect: OVERSIZE REQUEST-URI DIRECTORY unclassified

ICMP PING speedera misc-activity

snort_decoder: Invalid UDP header, length field < 8 non-standard-protocol

WEB-MISC robots.txt access web-application-activity

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 120

δηπιή θσδηθνπνίεζε. Αλ ν απνθσδηθνπνηεηήο http ηνπ snort δελ έρεη ξπζκηζηεί θαηάιιεια, ππάξρεη ην ελδερφκελν λα παξάγεηαη κεγάιν πιήζνο απηψλ ησλ εηδνπνηήζεσλ, φηαλ νη ρξήζηεο επηζθέπηνληαη ηέηνηεο ηζηνζειίδεο. πλήζσο νη εηδνπνηήζεηο δελ είλαη άμηεο αλεζπρίαο, εηδηθά αλ νη IP δηεπζχλζεηο πνπ ηηο πξνθαινχλ είλαη εζσηεξηθέο ηνπ δηθηχνπ.

Σεκείωζε: Οη εηδνπνηήζεηο ζην ζχζηεκά καο παξήρζεζαλ φηαλ ππνινγηζηήο ηνπ δηθηχνπ επηζθέθζεθε ηζηνζειίδεο ηεο Google θαη ηεο AOL θαη δελ ελέρνπλ πξαγκαηηθφ θίλδπλν.

http_inspect: IIS UNICODE CODEPOINT ENCODING

Ο http πξνεπεμεξγαζηήο ηνπ snort παξάγεη απηή ηελ εηδνπνίεζε φηαλ αληρλεχζεη ραξαθηήξεο θσδηθνπνηεκέλνπο ζε κνξθή Unicode κέζα ζε ζπκβνινζεηξέο αηηήζεσλ http. Οη εηδνπνηήζεηο απηέο δελ ππνδειψλνπλ νπσζδήπνηε θίλδπλν γηα ην ζχζηεκά καο θαη κπνξεί πνιχ ζπρλά λα είλαη false positives. Σν Unicode είλαη έλα πξφηππν θσδηθνπνίεζεο γηα ηελ ππνζηήξημε κε ιαηηληθψλ ραξαθηήξσλ απφ εθαξκνγέο. Σν snort καο ελεκεξψλεη γηα ηελ παξνπζία Unicode ραξαθηήξσλ ιφγσ ησλ ελδερφκελσλ πξνβιεκάησλ πνπ κπνξεί λα πξνθαιέζεη ε θσδηθνπνίεζε απηή ζηα ζπζηήκαηα πξνζηαζίαο IDS. Δπεηδή ε Unicode κνξθή ρξεζηκνπνηείηαη ζην επίπεδν εθαξκνγήο, ην IDS πξέπεη λα γλσξίδεη ζε πνηα αθξηβψο ζπκβνινζεηξά ζα κεηαθξαζηεί κηα εηζεξρφκελε ξνή bytes απφ ηελ εθάζηνηε εθαξκνγή. Γπζηπρψο ε απνθσδηθνπνίεζε ραξαθηήξσλ Unicode δελ είλαη εληαία θαζηεξσκέλε. Καηαξράο ην IDS είλαη πηζαλφ λα ρξεζηκνπνηεί δηαθνξεηηθνχο πίλαθεο αληηζηνίρηζεο ραξαθηήξσλ απφ ηελ εθαξκνγή (ην snort ρξεζηκνπνηεί σο πξνεπηινγή ην unicode.map 1252 γηα ηελ ακεξηθαληθή αγγιηθή γιψζζα), ζπλεπψο παθέηα πνπ απφ ην IDS κπνξεί λα πεξάζνπλ σο αθίλδπλα λα απνηεινχλ επηζέζεηο. Δπηπιένλ ιφγσ ησλ δηαθνξεηηθψλ εθδφζεσλ ηνπ Unicode ππάξρνπλ πνιιαπιέο δηαθνξεηηθέο αλαπαξαζηάζεηο ηνπ ίδηνπ ραξαθηήξα ζε θσδηθνπνηεκέλε κνξθή (π.ρ. γηα ην ραξαθηήξα "A" ππάξρνπλ νη: U+0041, U+0100, U+0102, U+0104, U+01CD, U+01DE, U+8721). Σν γεγνλφο απηφ ζε ζπλδπαζκφ κε ηε δηαθνξεηηθή αληηκεηψπηζε ηνπ Unicode απφ θάζε εθαξκνγή, φπσο ην ζηάδην ζην νπνίν απηή ζπκβαίλεη, θαζηζηνχλ άμηα πξνζνρήο ηελ χπαξμε θσδηθνπνηεκέλσλ ραξαθηήξσλ. Απηφο είλαη θαη ν ιφγνο γηα ηνλ νπνίν ην snort παξάγεη απηή ηελ εηδνπνίεζε, ρσξίο ππνρξεσηηθά λα θηλδπλεχεη ε αθεξαηφηεηα ηνπ εμππεξεηεηή.

Έγγξαθν πνπ επεμεγεί ην Unicode θαη αλαιύεη πηζαλνύο θηλδύλνπο: http://www.symantec.com/connect/articles/ids-evasion-unicode

http_inspect: OVERSIZE REQUEST-URI DIRECTORY

Η εηδνπνίεζε απηή παξάγεηαη απφ ηνλ απνθσδηθνπνηεηή http ηνπ snort φηαλ δερζεί κηα αίηεζε πξνο URL κε ππεξβνιηθά κεγάιν κέγεζνο. Η πξνεπηιεγκέλε ξχζκηζε ηεο ηηκήο πνπ δελ πξέπεη λα μεπεξλά ην URL είλαη 500 ραξαθηήξεο. Η ρξήζε ππεξκεγεζψλ URLs είλαη κηα παιηά κέζνδνο απνθπγήο ησλ ζπζηεκάησλ πξνζηαζίαο (IDS). Γηα κεγαιχηεξε ηαρχηεηα ζηελ αλάιπζε ησλ παθέησλ, παιαηφηεξα ζπζηήκαηα έιεγραλ κφλν έλα ζπγθεθξηκέλν αξηζκφ bytes ζηελ αξρή θάζε αίηεζεο. πλεπψο αλ ε signature ηεο επίζεζεο βξηζθφηαλ παξαθάησ δε ζα γηλφηαλ αληηιεπηή. Δθηφο απφ ηελ παξαπάλσ εθαξκνγή ηνπο, URLs κε πνιχ κεγάιν κήθνο κπνξεί λα πξνθαιέζνπλ πξνβιήκαηα ζε νξηζκέλα ζπζηήκαηα. Σν module mod_jk.so ηνπ Apache Tomcat JK Web Server Connector (εθδφζεηο 1.2.19 θαη 1.2.20) είλαη πηζαλφ λα παξνπζηάζεη ππεξρείιηζε buffer βαζηζκέλνπ ζηε ζηνίβα ζηε ζπλάξηεζε map_uri_to_worker (native/common/jk_uri_worker_map.c) ιφγσ κε αζθαινχο αληηγξαθήο πεξηερνκέλσλ

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 121

κλήκεο, αλ δερζεί ππεξκέγεζεο URL. Ο Apache Tomcat JK Web Server Connector πνπ ρξεζηκνπνηείηαη απφ ηηο εθδφζεηο 4.1.34 θαη 5.5.20 ηνπ Tomcat γηα δηαζχλδεζε κε Apache, θαζψο θαη φζα πξνγξάκκαηα ή ζπζθεπέο ηνλ πεξηιακβάλνπλ, είλαη εθηεζεηκέλα ζην παξαπάλσ θελφ αζθαιείαο. Δθκεηαιιεπφκελνο ηελ ππεξρείιηζε, θάπνηνο θαθφβνπινο κπνξεί λα ζηείιεη έλα εηδηθά δηακνξθσκέλν URL ζηελ αίηεζε πνπ ζα πεξηέρεη απζαίξεην θψδηθα, ε εθηέιεζε ηνπ νπνίνπ ελδερνκέλσο λα πξνμελήζεη δηαξξνή επαίζζεησλ δεδνκέλσλ ή θαηάξξεπζε ηνπ εμππεξεηεηή (DoS). Γηαθνπή ιεηηνπξγίαο κπνξεί λα πξνθιεζεί θαη ζε εμππεξεηεηέο Ιζηνχ Lotus Domino Server κέζσ αηηήζεσλ ζην /cgi-bin/ απφ URLs κε κήθνο πεξίπνπ 330 ραξαθηήξεο Unicode. Ο πην ελδεδεηγκέλνο ηξφπνο πξνζηαζίαο απφ ηνπο παξαπάλσ θηλδχλνπο είλαη ε εγθαηάζηαζε ησλ θαηάιιεισλ ελεκεξψζεσλ αζθαιείαο ησλ θαηαζθεπαζηψλ. Ο θαλφλαο ηνπ snort είλαη πνιχ πηζαλφ λα παξάγεη false positives, δηφηη ζηηο κέξεο καο φιν θαη πεξηζζφηεξεο ηζηνζειίδεο πνπ παξέρνπλ δπλαηφηεηα αζθαιψλ δνζνιεςηψλ έρνπλ URLs κε πνιχ κεγάιν κέγεζνο (π.ρ. eBay).

Σεκείωζε: Όια ηα παθέηα ζην δηθφ καο ζχζηεκα πξνέξρνληαη απφ ηελ ίδηα δηεχζπλζε IP ηνπ παξαγσγηθνχ ππνδηθηχνπ, ελψ φια κε εμαίξεζε ελφο απεπζχλνληαη ζηελ ίδηα δηεχζπλζε πξννξηζκνχ.

ICMP PING speedera

Απηφ ην κήλπκα δελ πξνεηδνπνηεί γηα θάπνην πηζαλφ θίλδπλν ηνπ ππνινγηζηή καο. Σν snort παξάγεη απηέο ηηο εηδνπνηήζεηο φηαλ ιάβνπκε κηα ICMP αίηεζε ping πνπ πξνέξρεηαη απφ ηελ Speedera. Η Speedera Networks είλαη κηα εηαηξία παξνρήο ππεξεζηψλ web, φπσο δίθηπα παξάδνζεο δεδνκέλσλ media θαη ζηέγαζε domain names. Η Speedera δηαηεξεί κεηξήζεηο γηα ην Γηαδίθηπν θαη ηελ επξσζηία ηνπ. Αλ θάπνηνο ππνινγηζηήο ηνπ δηθηχνπ καο επηρεηξήζεη λα πξνζπειάζεη έλαλ ηζηνρψξν ηνπ νπνίνπ ην domain name δηαηεξείηαη απφ ηελ εηαηξία, ηφηε εθείλε πξνζπαζεί λα ηνπ απαληήζεη κε ηε δηεχζπλζε ηνπ εμππεξεηεηή κε ηε βέιηηζηε θαη ηαρχηεξε απφδνζε. Γηα λα δηαιέμεη κεηαμχ ησλ εμππεξεηεηψλ, δηεξεπλά ηελ θαζπζηέξεζε ζηελ απνζηνιή δεδνκέλσλ κεηαμχ ηνπ ππνινγηζηή ηνπ δηθηχνπ καο θαη νξηζκέλσλ ηνπνζεζηψλ ηνπ Γηαδηθηχνπ. Μηα απφ ηηο κεζφδνπο πνπ ρξεζηκνπνηνχληαη γηα απηφ είλαη κηα αίηεζε ICMP ping. Σα ping πνπ πξνέξρνληαη απφ ηε Speedera έρνπλ απζηεξά πεξηνξηζκέλν αξηζκφ θαη δελ γίλνληαη απξνθάιεζηα ή γηα απζαίξεηεο κεηξήζεηο, αιιά κφλν ζε πεξίπησζε πνπ πξνζπειαζηεί έλα domain πνπ εμππεξεηεί. Υξεζηκνπνηνχλ ην πξσηφθνιιν ICMP, εθηφο αλ ηα ICMP pings έρνπλ απελεξγνπνηεζεί, νπφηε θαη απνζηέιιεη ηελ αίηεζε ζηελ UDP ζχξα 53. Αλ θαη εθείλε είλαη κπινθαξηζκέλε, δνθηκάδεη κεξηθέο απφ ηηο πςειφηεξεο ζχξεο (> 32768). To snort αλαγλσξίδεη ηηο αηηήζεηο ping ηεο Speedera απφ ην πεξηερφκελν ηνπο (πεξηέρνπλ πάληα ηνπο δεθαεμαδηθνχο ραξαθηήξεο 20-3F, δειαδή ηε ζπκβνινζεηξά: !"#$%&'()*+,-./0123456789:;<=>? ). Κάπνηνο θαθφβνπινο ζα κπνξνχζε λα έρεη πιαζηνγξαθήζεη ηα παθέηα πνπ απνζηέιιεη ψζηε λα κνηάδνπλ κε ping ηεο Speedera, αιιά απηφ ην ελδερφκελν είλαη ζρεηηθά απίζαλν.

FAQ από ηελ Speedera πνπ πεξηγξάθεη ηελ αηηία ηωλ εηδνπνηήζεωλ: http://www.mcabee.org/lists/snort-users/Jul-02/msg00621.html

Σεκείωζε: ην δηθφ καο δίθηπν έγηλαλ 3-5 αηηήζεηο πξνο ηηο δηεπζχλζεηο 12,24,33,62,63,66,69,97,120 θαη 210 ηνπ 71 ππνδηθηχνπ. Όιεο ζπλέβεζαλ ηελ ίδηα εκεξνκελία απφ ηελ ίδηα IP δηεχζπλζε, κε εμαίξεζε εθείλεο πξνο ηελ δηεχζπλζε 62, πνπ πξνέξρνληαη απφ κηα αθφκα IP ζε δηαθνξεηηθή εκεξνκελία.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 122

WEB-MISC robots.txt access

Μέζσ απηνχ ηνπ κελχκαηνο ην snort καο εηδνπνηεί πσο επηρεηξήζεθε πξφζβαζε ζην αξρείν robots.txt . Σν robots.txt είλαη έλα απιφ αξρείν θεηκέλνπ πνπ ηνπνζεηείηαη ζηνλ θεληξηθφ θάθειν φπνπ βξίζθνληαη ηα αξρεία ελφο ηζηνρψξνπ ζηνλ εμππεξεηεηή, κέζσ ηνπ νπνίνπ είλαη πξνζπειάζηκνο. θνπφο ηνπ είλαη λα ππνδείμεη ζε πνηα αξρεία ηνπ ηζηνρψξνπ επηηξέπεηαη λα έρνπλ πξφζβαζε πξνγξάκκαηα γλσζηά σο "robots". Σα robots (αιιηψο crawlers ή bots) είλαη πξνγξάκκαηα πνπ ηξέρνπλ απηφλνκα ζηνλ Ιζηφ αλνίγνληαο ηηο δηαζέζηκεο ζειίδεο δηάθνξσλ ηζηνρψξσλ. Παξαδείγκαηνο ράξε, κεραλέο αλαδήηεζεο φπσο ην Google, ηξέρνπλ robots πνπ δεκηνπξγνχλ θαηαιφγνπο δηαζέζηκσλ ζειίδσλ γηα λα επηηαρχλνπλ ηηο αλαδεηήζεηο. Σα πξνγξάκκαηα απηά ιεηηνπξγνχλ κε ηνλ εμήο ηξφπν: φηαλ έλα robot ζέιεη λα δηαηξέμεη ηηο ζειίδεο ελφο ηζηνρψξνπ (έζησ www.randomsite.com/index.html), ε πξψηε ελέξγεηα πνπ εθηειεί είλαη λα αλνίμεη ην αξρείν robots.txt γηα λα δεη πνηα αξρεία ηνπ επηηξέπεηαη λα αλνίμεη (αληηθαζηζηψληαο ην "index.html" κε "robots.txt", δειαδή www.randomsite.com/robots.txt, αθνχ απηφ βξίζθεηαη ζηνλ θεληξηθφ θάθειν). Ο ιφγνο γηα ηνλ νπνίν κπνξεί λα απαγνξεχεηαη ε πξφζβαζε ζε ζπγθεθξηκέλα αξρεία ζπλήζσο είλαη πσο δελ είλαη πξνζηαηεπκέλα θαη κπνξεί λα αιινησζνχλ απφ θάπνηνλ θαθφβνπιν, ή λα ηνπ δψζνπλ ηνλ έιεγρν ηνπ ηζηνρψξνπ. Αθξηβψο γηα απηφ ην ιφγν ην snort παξαθνινπζεί ην άλνηγκα ηνπ αξρείνπ robots.txt: ζηελ νπζία είλαη κηα ιίζηα κε εππαζή πνιχηηκα αξρεία ζηνλ εμππεξεηεηή καο. Έλαο πηζαλφο επηηηζέκελνο κπνξεί ζηε ζπλέρεηα λα πξνζπαζήζεη λα εθκεηαιιεπηεί ηα θελά αζθαιείαο πνπ πεξηέρνπλ, ελψ θαθφβνπια robots δελ αθνινπζνχλ ηηο ππνδείμεηο ηνπ robots.txt . Έλαο ηξφπνο λα απνθχγνπκε ηελ θαθφβνπιε πξφζβαζε ζηα εππαζή αξρεία είλαη λα ηα ηνπνζεηήζνπκε ζε έλαλ θάθειν πνπ δελ επηηξέπεη ηελ παξνπζίαζε ιίζηαο κε ηα πεξηερφκελά ηνπ θαη ζηε ζπλέρεηα λα απαγνξεχζνπκε ηελ πξφζβαζε ζε απηφλ. Έηζη θάπνηνο ζα γλσξίδεη πσο ππάξρεη έλαο θάθεινο κε δπλαηφηεηεο πηζαλήο εθκεηάιιεπζεο, αιιά φρη ην αθξηβέο φλνκα ηνλ αξρείσλ γηα λα ηα αλνίμεη. Δπεηδή ν θαλφλαο ηνπ snort ειέγρεη θάζε είδνπο αλαθνξά ζην robots.txt , είλαη επηξξεπήο ζηελ παξαγσγή false positives. Η πην ζπλεζηζκέλε κέζνδνο γηα λα κελ ππξνδνηείηαη ν θαλφλαο, είλαη λα ηνλ απελεξγνπνηήζνπκε θαη αληί ηνπ παξαπάλσ αξρείνπ λα ρξεζηκνπνηνχκε έλα HTML <META> tag ζηελ θεθαιίδα θάζε εππαζνχο ηζηνζειίδαο, πνπ ππαγνξεχεη ζηα robots λα κε ηελ αλνίμνπλ. Βέβαηα ν κφλνο ηξφπνο γηα αμηφπηζηε αζθάιεηα είλαη λα κελ έρνπκε εππαζή αξρεία ζηνπο ηζηνρψξνπο καο πνπ δελ απαηηνχλ εμνπζηνδφηεζε γηα ηελ ηξνπνπνίεζή ηνπο.

Ιζηνρώξνο κε πιεξνθνξίεο γηα ην robots.txt: http://www.robotstxt.org

6.1.2 ARP poisoning, host flapping MAC address

ARP poisoning

Ωο ARP poisoning ή ARP spoofing ζε έλα LAN Ethernet ελλννχκε ηελ απνζηνιή ςεχηηθσλ ARP κελπκάησλ ζην δίθηπν πνπ έρνπλ σο απνηέιεζκα ηελ ηξνπνπνίεζε ηεο ARP cache πνπ δηαηεξνχλ νη ππνινγηζηέο ηνπ δηθηχνπ θαη ε gateway. Η ARP cache είλαη έλαο πίλαθαο απφ δεπγάξηα ζπζρεηηζκέλσλ IP πξνο ΜΑC address. Αιιάδνληαο ηε MAC κε ηελ νπνία ζρεηίδεηαη κία IP, αιιάδνπκε ηε δξνκνιφγεζε ησλ παθέησλ εληφο ηνπ LAN. Γηα πεξηζζφηεξεο ιεπηνκέξεηεο γηα ηε ιεηηνπξγία ηνπ πξσηνθφιινπ ARP ζπκβνπιεπηείηε ηελ ελφηεηα §3.1.

Σν παξαπάλσ είλαη κία ηερληθή πνπ εθαξκφδεηαη ζπλήζσο απφ θάπνηνλ θαθφβνπιν ρξήζηε κε εμεηδηθεπκέλα εξγαιεία. ηε δηθή καο πεξίπησζε, πξνέθπςε θάηη αλάινγν

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 123

απφ ιαλζαζκέλε ρξήζε ηνπ εξγαιείνπ farpd. Η ρξήζε ηνπ farpd πεξηγξάθεηαη αλαιπηηθά ζηελ ελφηεηα §3.1.1.

Δθηειψληαο ην farpd κε εζθαικέλε παξάκεηξν ην εχξνο ησλ δηεπζχλζεσλ IP:

root@honeyd-server:~# farpd –i eth0 195.134.71.0/24

ην ινγηζκηθφ άξρηζε λα δεζκεχεη IPs απφ ην παξαγσγηθφ ππνδίθηπν κε ηνλ ηξφπν πνπ πεξηγξάθεηαη ζηελ ελφηεηα 3.1.1. Απηφ είρε σο απνηέιεζκα ν honeyd server λα ιακβάλεη παθέηα απφ IPs πνπ δελ είραλ απνδνζεί ζε απηφλ λφκηκα. Οη δηαρεηξηζηέο ηνπ δηθηχνπ αληηιήθζεθαλ άκεζα ην πξφβιεκα θαη πξνέβεζαλ ζηελ απνζχλδεζε ηνπ ππνινγηζηή κέρξηο φηνπ λα ηεξκαηηζηεί ε δηεξγαζία ηνπ farpd θαη λα απεγθαηαζηαζεί ην ινγηζκηθφ.

Ηost flapping MAC address

Έλα δεχηεξν δήηεκα πνπ καο απαζρφιεζε θαη είρε σο απνηέιεζκα λα απνζπλδεζεί ν honeyd server γηα ιφγνπο αζθαιείαο γηα αθφκα κία θνξά, έρεη λα θάλεη κε ηελ αιιαγή ησλ MAC address ζηηο δχν NIC πνπ έρεη ν ππνινγηζηήο. Δθ’ φζνλ ε αιιαγή ησλ MAC address δελ έγηλε απφ ιάζνο ρεηξηζκφ ή εζθεκκέλε πξνζπάζεηα, θαηαιήγνπκε ζην ζπκπέξαζκα φηη απηφ έγηλε απηφκαηα κεηά απφ κία επαλεθθίλεζε ηνπ ππνινγηζηή. Αλαθνξέο ζε νξηζκέλεο ηζηνζειίδεο θαη mailing lists ππνδεηθλχνπλ πσο απηφ νθείιεηαη ζε κεξηθή αζπκβαηφηεηα ηνπ πξνγξάκκαηνο νδήγεζεο ηεο θάξηαο δηθηχνπ κε ην kernel. Σν ιεηηνπξγηθφ ζχζηεκα θφξησζε θαη ζηηο δχν NIC ηελ ίδηα MAC: AA:00:04:00:0A:04. Απηφ είρε σο απνηέιεζκα ην switch κε ην νπνίν είλαη ζπλδεδεκέλεο θαη νη δχν NIC, λα ππεξθνξησζεί θαη λα εκθαλίζεη έλα αληίζηνηρν κήλπκα: Host AA:00:04:00:0A:04 is flapping. Γηα ηελ αληηκεηψπηζε ηνπ πξνβιήκαηνο έπξεπε λα επαλαθέξνπκε ηηο θαλνληθέο MAC ζηηο δχν θάξηεο δηθηχνπ. Έλαο ηξφπνο είλαη λα δνχκε ηα κελχκαηα πνπ εκθαλίδεη ν ππνινγηζηήο θαηά ην μεθίλεκά ηνπ. Απηφ ην θάλνπκε εχθνια κε ηελ εληνιή ―dmesg‖. Δπεηδή πην ζπγθεθξηκέλα ζέινπκε λα εμεηάζνπκε ην κήλπκα γηα ηηο θάξηεο δηθηχνπ εθηεινχκε: ―dmesg | grep eth‖. Απηφ ζην δηθφ καο ζχζηεκα (debian) εκθαλίδεη ην παξαθάησ:

Δίλαη εκθαλέο πιένλ, φηη ε εξγνζηαζηαθή MAC γηα ηε δηεπαθή eth0 είλαη ε ―00:80:48:18:e8:bf‖ θαη γηα ηελ eth1 ―00:13:8f:b1:01:83‖. Η επαλαθνξά ησλ εξγνζηαζηαθψλ κπνξεί λα γίλεη εθηειψληαο γηα θάζε δηεπαθή ηα δεχγε εληνιψλ:

ifconfig ethX down hw ether 00:80:48:18:e8:bf

ifconfig ethX up

Όπνπ ―X‖ ην λνχκεξν πνπ αληηζηνηρεί ζηε δηεπαθή (0 ή 1 γηα εκάο). Γηα πεξηζζφηεξεο ιεπηνκέξεηεο ζπκβνπιεπηείηε ηελ ηεθκεξίσζε ηεο εληνιήο ifconfig πνπ παξέρεηαη απφ ην ζχζηεκά ζαο.

[ 3.900974] eth0: RealTek RTL8139 at 0xffffc200004dac00, 00:80:48:18:e8:bf, IRQ 23 [ 3.900977] eth0: Identified 8139 chip type 'RTL-8100B/8139D' [ 3.901517] eth1: RealTek RTL8139 at 0xffffc200004dc800, 00:13:8f:b1:01:83, IRQ 22 [ 3.901520] eth1: Identified 8139 chip type 'RTL-8101'

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 124

Αλαιχνληαο θαη ηηο ηξεηο MAC πνπ εκθαλίζηεθαλ, κεηαηξέπνπκε ην πξψην πην ζεκαληηθφ byte ηεο δηεχζπλζεο ζε δπαδηθή ηηκή γηα λα βξνχκε ζε πνηα θαηεγνξία αλήθεη:

aa:00:04:00:0a:04 : aa -> 10101010

00:80:48:18:e8:bf : 00 -> 00000000

00:13:8f:b1:01:83 : 00 -> 00000000

Αλ ην δεχηεξν bit απφ ηα δεμηά είλαη 1 παξαπέκπεη ζε locally administered address θαη αλ είλαη 0 παξαπέκπεη ζε universally administered address. Απηφ επηβεβαηψλεη φηη νη δχν ηειεπηαίεο MAC είλαη εξγνζηαζηαθέο ελψ ε πξψηε φρη.

6.2 Μειινληηθέο θαηεπζύλζεηο

ηελ εξγαζία καο ρξεζηκνπνηήζακε έλα ινγηζκηθφ φπσο ην honeyd γηα λα θαηαζθεπάζνπκε κεξηθά low interaction honeypots. Σν honeyd πεξηνξίδεηαη ζηε πξνζνκνίσζε ηεο ζηνίβαο πξσηνθφιισλ ζην επίπεδν κεηαθνξάο, ελψ γηα λα ζπγθεληξψζεη δεδνκέλα γηα ην επίπεδν εθαξκνγήο ρξεζηκνπνηεί νξηζκέλα shell scripts πνπ πξνζνκνηψλνπλ ππεξεζίεο θαη απηά είλαη πνπ ζα θαηαγξάςνπλ ζε αξρεία ηα δεδνκέλα πνπ αληαιιάζζνληαη ζε κία ζχλδεζε. Η δπζθνιία ηεο θαηαζθεπήο ηέηνησλ scripts θαη ελ ηέιεη ε ρακειή δηαδξαζηηθφηεηα πνπ επηηπγράλνπλ, καο αλαγθάδνπλ λα βξνχκε άιινπο ηξφπνπο γηα λα απμήζνπκε ηε ζπιινγή δεδνκέλσλ.

Η πξψηε ιχζε πνπ έξρεηαη απφ ην ίδην ην honeyd είλαη ην ―Subsystem Virtualization‖, κε ην νπνίν αζρνιεζήθακε ιίγν ζην θεθάιαην 3.5. Με απηφ έρνπκε ηε δπλαηφηεηα λα εθηειέζνπκε αιεζηλά πξνγξάκκαηα ή ππεξεζίεο ζηα πιαίζηα ελφο honeypot.

Η δεχηεξε ιχζε ζα ήηαλ λα ρξεζηκνπνηήζνπκε high interaction honeypots. Γηα ην ζθνπφ απηφ ππάξρνπλ εξγαιεία φπσο ην VMware κε ην νπνίν κπνξνχκε λα ηξέμνπκε εηθνληθά νπνηνδήπνηε ιεηηνπξγηθφ ζχζηεκα επηζπκνχκε, θαζψο θαη User Mode Linux πνπ θάλεη αληίζηνηρε δνπιεηά κε ην VMware αιιά πεξηνξίδεηαη ζε ιεηηνπξγηθά Linux.

Δλαιιαθηηθά, κπνξνχλ λα ρξεζηκνπνηεζνχλ ινγηζκηθά φπσο ην nepenthes ή ην honeytrap, κε ηα νπνία κπνξνχκε λα πξνζνκνηψζνπκε επθνιφηεξα ην επίπεδν εθαξκνγήο θαη έηζη λα θαηαγξάςνπκε θαη λα αλαιχζνπκε ην payload ησλ παθέησλ. Η θεληξηθή ηδέα ζηα honeypots πνπ δεκηνπξγνχλ θαη ηα δχν ινγηζκηθά, πνπ ζπρλά θαηαηάζζνληαη ζηελ θαηεγνξία ησλ medium interaction, είλαη λα πξνζνκνηψλνπλ ηα ηξσηά ζεκεία δηαθφξσλ ππεξεζηψλ ηνπ δηαδηθηχνπ θαη λα απνθξίλνληαη κε ηξφπν αλακελφκελν γηα ηα πην γλσζηά exploits πνπ θπθινθνξνχλ. Απφ ηελ άιιε, δελ είλαη δπλαηφλ ην honeypot λα εθηεζεί ζηνλ επηηηζέκελν αθνχ δελ εθηειεί πξαγκαηηθέο ππεξεζίεο. Απηά ηα ινγηζκηθά ινηπφλ, ζπλδπάδνπλ ζηνηρεία ηφζν απφ low interaction φζν θαη απφ high interaction ζπζηήκαηα.

Intrusion Analysis in Darknet with Honeynet Deployment

Παχινο Αξβαλίηεο, Φψηηνο Παξαζθεπάο 125

ΑΝΑΦΟΡΔ

[1] Η Ιζηνζειίδα ηνπ ινγηζκηθνχ honeyd, http://www.honeyd.org/.

[2] Roger Grimes, Honeypots For Windows.

[3] Patrick Diebold, Usage of Honeypots for Detection and Analysis of Unknown Security Attacks, Diploma thesis Technische Universitat Berlin.

[4] Niels Provos θαη Thorsten Holz, Virtual Honeyots: From Botnet Tracking to Intrusion Detection.

[5] Niels Provos, A Virtual Honeypot Framework, http://www.citi.umich.edu/u/provos/papers/honeyd.pdf.

[6] Έλα Darknet project απφ ηελ νκάδα Team-Cymrou, http://www.team-cymru.org/Services/darknets.html.

[7] Internet Motion Sensor: Distributed Darknet Monitoring System, University of Michigan, http://www.eecs.umich.edu/fjgroup/pubs/darknet-ciss06.pdf , http://www.eecs.umich.edu/fjgroup/pubs/ims-ndss05.pdf.

[8] Papers απφ ηνλ δηεζλή νξγαληζκφ Honeynet Project, http://www.honeynet.org/papers/virtual - Know Your Enemy: Defining Virtual Honeyents, http://www.honeynet.org/papers/gen2 - Know Your Enemy: GenII Honeynets, http://www.honeynet.org/papers/uml - Know Your Enemy: Learning with User-Mode Linux, - Know Your Enemy: Tracking Botnets, http://www.honeynet.org/papers/bots/.

[9] Σν ειιεληθφ Honeynet Project απφ ην εξεπλεηηθφ θέληξν ηνπ Γεκφθξηηνπ http://www.honeynet.gr/ , http://www.islab.demokritos.gr/gr/html/index.htm.

[10] Lance Spitzner: Honeypots: Tracking Hackers, ε επίζεκε ηζηνζειίδα ηνπ http://www.tracking-hackers.com/.

[11] Οδεγίεο εγθαηάζηαζεο εξγαιείσλ γηα debian, http://linux.justinhartman.com/Intrusion_Detection_using_BASE_and_Snort.

[12] Christian Kreibich θαη Jon Crowcroft, University of Cambridge, Honeycomb - Creating Intrusion Detection Signatures Using Honeypots, http://www.icir.org/christian/publications/honeycomb-hotnetsII.pdf.

[13] Simulating Networks with Honeyd, http://www.hynesim.org/files/652/simulatingNetworksWithHoneyd_RoshenChandran.pdf.

[14] Snort ID lookup, http://www.snortid.com/.

[15] Internet Protocol numbers, http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml.

[16] Open source θνηλφηεηα πνπ θαηαζθεπάδεη Snort rules, http://www.emergingthreats.net/.

[17] Η επίζεκε ηζηνζειίδα γηα ην ινγηζκηθφ Nmap, http://nmap.org/.

[18] Representation of MAC address, http://standards.ieee.org/regauth/groupmac/tutorial.html.

[19] James F. Kurose θαη Keith W. Ross, Γηθηχσζε Τπνινγηζηψλ – 4ε έθδνζε, Δθδφζεηο Μ. Γθηνχξδαο.

[20] Security Focus, http://www.securityfocus.com.

[21] Λεμηθφ γλσζηψλ θελψλ αζθαιείαο Common Vulnerabilities and Exposures, http://cve.mitre.org/.

[22] Ιζηνζειίδα Open Vulnerability and Assessment Language, http://oval.mitre.org/.

[23] National Vulnerability Database ησλ Η.Π.Α., http://nvd.nist.gov/.

[24] Ιζηνζειίδα ππνζηήξημεο ηεο Microsoft κε πιεξνθνξίεο ησλ ελεκεξψζεσλ αζθαιείαο, http://support.microsoft.com/.

[25] Δπίζεκε Ιζηνζειίδα ηεο Symantec, http://www.symantec.com/.

[26] Daniel J. Roelker, HTTP IDS Evasions Revisited, http://docs.idsresearch.org/http_ids_evasions.pdf.

[27] Online αξρείν ηεο mailing list ηνπ Snort, http://archives.neohapsis.com/archives/snort/.