{"id":2213,"date":"2018-05-06T01:28:28","date_gmt":"2018-05-05T23:28:28","guid":{"rendered":"https:\/\/doulliez.com\/?p=2213"},"modified":"2018-05-08T23:21:18","modified_gmt":"2018-05-08T21:21:18","slug":"securite-demarche-de-tests-dintrusion-applicatifs","status":"publish","type":"post","link":"https:\/\/doulliez.com\/index.php\/2018\/05\/06\/securite-demarche-de-tests-dintrusion-applicatifs\/","title":{"rendered":"S\u00e9curit\u00e9: D\u00e9marche de tests d&rsquo;intrusion applicatifs"},"content":{"rendered":"<p>Je vous pr\u00e9sente ici la d\u00e9marche \u00e0 op\u00e9rer pour effectuer des tests d&rsquo;intrusion applicatifs.<\/p>\n<h2>1. Lister les ports ouverts de l&rsquo;h\u00e9bergement<\/h2>\n<p>Il est tr\u00e8s simple d&rsquo;obtenir l&rsquo;IP de votre h\u00e9bergement en r\u00e9solvant la valeur TXT A de votre site web.<\/p>\n<p>Vous pouvez r\u00e9cup\u00e9rer l&rsquo;IP ici:\u00a0<span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/www.whatsmydns.net\" target=\"_blank\" rel=\"noopener\">https:\/\/www.whatsmydns.net<\/a><\/span><\/p>\n<p>Ensuite, avec la commande UNIX\u00a0\u00ab\u00a0nmap\u00a0\u00bb on obtient la liste de tous les ports ouverts pour cette IP.<\/p>\n<p>Rappelez-vous nous avons parl\u00e9 comment limiter l&rsquo;ouverture de vos ports dans l&rsquo;article : \u00ab\u00a0<a href=\"https:\/\/doulliez.com\/index.php\/2018\/05\/08\/securite-tests-dintrusion-applicatifs\/\"><span style=\"color: #0000ff;\">S\u00e9curit\u00e9: Tests d&rsquo;intrusion applicatif<\/span><\/a>\u00ab\u00a0.<\/p>\n<h2>2. D\u00e9couverte de chemins<\/h2>\n<p>L&rsquo;objectif est de d\u00e9couvrir \u00e0 l&rsquo;aide d&rsquo;un outil, les chemins par d\u00e9faut ou connus pr\u00e9sents sur une application.<\/p>\n<p>On utilisera l&rsquo;outil UNIX \u00ab\u00a0<span style=\"color: #0000ff;\">nikto<\/span>\u00ab\u00a0.<\/p>\n<p>L&rsquo;ex\u00e9cution permet de d\u00e9couvrir la pr\u00e9sence d&rsquo;un server-status ou encore d&rsquo;un balancer-manager ainsi que des fichiers par d\u00e9faut de Apache ou Ngnix.<\/p>\n<p>Ici commence, une liste d&rsquo;informations potentiellement offerte aux hackers puisqu&rsquo;ils ont connaissance du type du serveur web, de sa version etc.; et donc potentiellement des failles connues.<\/p>\n<h2>3. Listage de r\u00e9pertoire<\/h2>\n<p>Il s&rsquo;agit l\u00e0, de lister les r\u00e9pertoires fr\u00e9quemment nomm\u00e9s: \/images, \/connexion etc., etc.<\/p>\n<p>Nous utilisons pour cela un outil UNIX qui prend en param\u00e8tre un dictionnaire de noms de r\u00e9pertoires fr\u00e9quemment utilis\u00e9s (concr\u00e8tement un dictionnaire de r\u00e9pertoires sous la forme d&rsquo;un fichier .txt).<\/p>\n<p>L&rsquo;outil lanc\u00e9 par une ligne de commande sur le domaine du site, va peut \u00eatre permettre de d\u00e9couvrir un lien vers une page de connexion ou encore un r\u00e9pertoire d&rsquo;images (probl\u00e8me de confidentialit\u00e9). On peut d\u00e9couvrir des merveilles \u00e0 exploiter.<\/p>\n<h2>4. Fuite d&rsquo;informations<\/h2>\n<p>La strat\u00e9gie est de divulguer le moins possible d&rsquo;informations quant au type de serveur web, de moteur de Servlets (Tomcat par exemple), ou de serveur d&rsquo;application (JBoss, Websphere, etc). Dans la mesure, o\u00f9 il semble logique que c&rsquo;est plus facile d&rsquo;identifier les failles connues sur un tel type de serveur ou de version.<\/p>\n<p>Pour ce faire, il s&rsquo;agit de mettre en place dans la configuration du serveur web Apache2, les instructions suivantes:<\/p>\n<blockquote><p>ServerTokens Prod<\/p>\n<p>ServerSignature Off<\/p><\/blockquote>\n<p>On v\u00e9rifiera \u00e9galement si des liens de l&rsquo;application font r\u00e9f\u00e9rence \u00e0 des URL pouvant permettre de lister tous les articles, utilisateurs d&rsquo;un site via un changement d&rsquo;un param\u00e8tre d&rsquo;une URL GET.<\/p>\n<h2>5. Erreurs verbeuses<\/h2>\n<p>Les erreurs verbeuses peuvent \u00eatre utiles \u00e0 un attaquant afin de mieux comprendre le fonctionnement et l&rsquo;architecture technique d&rsquo;une application.<\/p>\n<p>Une page qui n&rsquo;existe pas va par exemple vous fournir dans le meilleur des cas la version du serveur web ou celle du serveur applicatif. Encore une fois une mine d&rsquo;information qui vont permettre de cibler l&rsquo;attaque.<\/p>\n<p>Un exemple sur <span style=\"color: #0000ff;\"><strong>axa.fr<\/strong><\/span>:\u00a0<span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"https:\/\/www.axa.fr\/hello\" target=\"_blank\" rel=\"noopener\">https:\/\/www.axa.fr\/hello<\/a><\/span><\/p>\n<p>On y d\u00e9couvre, le type de technologie utilis\u00e9e pour les d\u00e9veloppements, le type de serveur web et sa version, le type de serveur application, le type d&rsquo;OS, le mode d&rsquo;infrastructure, etc.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-medium wp-image-2295\" src=\"https:\/\/doulliez.com\/wp-content\/uploads\/2018\/05\/axa-1-300x118.png\" alt=\"\" width=\"300\" height=\"118\" srcset=\"https:\/\/doulliez.com\/wp-content\/uploads\/2018\/05\/axa-1-300x118.png 300w, https:\/\/doulliez.com\/wp-content\/uploads\/2018\/05\/axa-1.png 693w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Pour ce faire, on mettra en place au niveau du serveur web et au niveau du serveur applicatif un param\u00e9trage pour rediriger les erreurs vers de belles pages HTML en indiquant que la page n&rsquo;est pas connue. De ce fait aucune information ne sera divulgu\u00e9e. Il ne faut divulguer aucune information technique \u00e0 un potentiel attaquant.<\/p>\n<h2>6. Fuite de donn\u00e9es<\/h2>\n<p>On entend par l\u00e0 la simulation d&rsquo;un vol de donn\u00e9es.<\/p>\n<p>Dans la plupart des cas, le vol d&rsquo;information ne peut se faire qu&rsquo;une fois qu&rsquo;on a une session de connexion. Mais si l&rsquo;on consid\u00e8re que le hacker a obtenu un cookie de connexion ou encore qu&rsquo;il s&rsquo;agit d&rsquo;un employ\u00e9 qui ma\u00eetrise un peu le web, il aura vite fait de r\u00e9cup\u00e9rer un tas d&rsquo;informations.<\/p>\n<p>Ceci se produit dans la plupart des cas quand l&rsquo;acc\u00e8s aux donn\u00e9es est une URL avec en param\u00e8tre un id qui fournit l&rsquo;information d&rsquo;un article, d&rsquo;une personne etc.<\/p>\n<h2>7. InjectionXSS<\/h2>\n<p>On peut se pr\u00e9munir ais\u00e9ment de ce type de faille, si la configuration du serveur web est bien faite.<\/p>\n<p>&nbsp;<\/p>\n<h2>8. Enum\u00e9ration d&rsquo;utilisateurs<\/h2>\n<h2>9. Relais d&#8217;emails<\/h2>\n<h2>10. Cookies<\/h2>\n<h2>11. Configuration SSL<\/h2>\n<h2>12. Injection SQL<\/h2>\n<h2>13. Redirection arbitraire<\/h2>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Mise \u00e0 jours et correctifs<\/p>\n<p>&nbsp;<\/p>\n<p><em>Copyright \u00a9 2018 &#8211; Laurent Doulliez.<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je vous pr\u00e9sente ici la d\u00e9marche \u00e0 op\u00e9rer pour effectuer des tests d&rsquo;intrusion applicatifs. 1. Lister les ports ouverts de l&rsquo;h\u00e9bergement Il est tr\u00e8s simple d&rsquo;obtenir l&rsquo;IP de votre h\u00e9bergement en r\u00e9solvant la valeur TXT A de votre site web. Vous pouvez r\u00e9cup\u00e9rer l&rsquo;IP ici:\u00a0https:\/\/www.whatsmydns.net Ensuite, avec la commande UNIX\u00a0\u00ab\u00a0nmap\u00a0\u00bb on obtient la liste de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2250,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/posts\/2213"}],"collection":[{"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/comments?post=2213"}],"version-history":[{"count":22,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/posts\/2213\/revisions"}],"predecessor-version":[{"id":2296,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/posts\/2213\/revisions\/2296"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/media\/2250"}],"wp:attachment":[{"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/media?parent=2213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/categories?post=2213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/doulliez.com\/index.php\/wp-json\/wp\/v2\/tags?post=2213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}