diff --git a/content/slides/1337/detecting.html b/content/slides/1337/detecting.html new file mode 100644 index 0000000000000000000000000000000000000000..32d59e4288216b53d0fdcfa88155abfb7d90951d --- /dev/null +++ b/content/slides/1337/detecting.html @@ -0,0 +1,70 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> + + <title>Détecter</title> + + <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css"> + <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css"> + + <!-- Theme used for syntax highlighting of code --> + <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css"> + <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="../main.css"> + + <!-- Printing and PDF exports --> + <script> + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); + </script> + </head> + <body> + <div class="reveal"> + <div class="slides"> + <section data-markdown="md/detecting.md" + data-separator="^\n\n\n" + data-separator-vertical="^\n\n" + data-separator-notes="^Note:" + data-charset="utf-8"> + </section> + </div> + </div> + + <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script> + <script src="../../node_modules/reveal.js/js/reveal.js"></script> + + <script> + // More info about config & dependencies: + // - https://github.com/hakimel/reveal.js#configuration + // - https://github.com/hakimel/reveal.js#dependencies + Reveal.initialize({ + controls: true, + progress: true, + history: true, + center: false, + dependencies: [ + { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' }, + { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js', + condition: function() { return !!document.querySelector( '[data-markdown]' ); }, + callback: function() { + Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){ + var fragIndex = ele.innerHTML.indexOf("--") + if (fragIndex != -1){ + ele.innerHTML = ele.innerHTML.replace("--", ""); + ele.className = 'fragment'; + } + }); + } + }, + { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true }, + { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } } + ] + }); + </script> + </body> +</html> diff --git a/content/slides/1337/gathering.html b/content/slides/1337/gathering.html new file mode 100644 index 0000000000000000000000000000000000000000..1a9317db5616bc27fa0805acdb73e6a6e3def573 --- /dev/null +++ b/content/slides/1337/gathering.html @@ -0,0 +1,70 @@ +<!doctype html> +<html> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> + + <title>Collecter</title> + + <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css"> + <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css"> + + <!-- Theme used for syntax highlighting of code --> + <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css"> + <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="../main.css"> + + <!-- Printing and PDF exports --> + <script> + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); + </script> + </head> + <body> + <div class="reveal"> + <div class="slides"> + <section data-markdown="md/gathering.md" + data-separator="^\n\n\n" + data-separator-vertical="^\n\n" + data-separator-notes="^Note:" + data-charset="utf-8"> + </section> + </div> + </div> + + <script src="../../node_modules/reveal.js/lib/js/head.min.js"></script> + <script src="../../node_modules/reveal.js/js/reveal.js"></script> + + <script> + // More info about config & dependencies: + // - https://github.com/hakimel/reveal.js#configuration + // - https://github.com/hakimel/reveal.js#dependencies + Reveal.initialize({ + controls: true, + progress: true, + history: true, + center: false, + dependencies: [ + { src: '../../node_modules/reveal.js/plugin/markdown/marked.js' }, + { src: '../../node_modules/reveal.js/plugin/markdown/markdown.js', + condition: function() { return !!document.querySelector( '[data-markdown]' ); }, + callback: function() { + Array.prototype.forEach.call(document.querySelectorAll('section > li'), function(ele){ + var fragIndex = ele.innerHTML.indexOf("--") + if (fragIndex != -1){ + ele.innerHTML = ele.innerHTML.replace("--", ""); + ele.className = 'fragment'; + } + }); + } + }, + { src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true }, + { src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } } + ] + }); + </script> + </body> +</html> diff --git a/content/slides/1337/images/detecting/mapping.png b/content/slides/1337/images/detecting/mapping.png new file mode 100644 index 0000000000000000000000000000000000000000..b0264eadd68cf60b739f881380f01d3dca682ef9 Binary files /dev/null and b/content/slides/1337/images/detecting/mapping.png differ diff --git a/content/slides/1337/images/gathering/Google-fu-chuck-norris.jpg b/content/slides/1337/images/gathering/Google-fu-chuck-norris.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5be8d496af3f188fd2fe8ed818dc776245a5d641 Binary files /dev/null and b/content/slides/1337/images/gathering/Google-fu-chuck-norris.jpg differ diff --git a/content/slides/1337/images/gathering/RIPE.png b/content/slides/1337/images/gathering/RIPE.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ef15dab29fdf5ceed75351b93baf627107cbf3 Binary files /dev/null and b/content/slides/1337/images/gathering/RIPE.png differ diff --git a/content/slides/1337/images/gathering/dns.png b/content/slides/1337/images/gathering/dns.png new file mode 100644 index 0000000000000000000000000000000000000000..f053a7d8b4ef57038d567610fc05b1e7ad600a19 Binary files /dev/null and b/content/slides/1337/images/gathering/dns.png differ diff --git a/content/slides/1337/images/gathering/maltego.jpg b/content/slides/1337/images/gathering/maltego.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d21702ac69735d9a6c2672df5f7892ce1fdaefa2 Binary files /dev/null and b/content/slides/1337/images/gathering/maltego.jpg differ diff --git a/content/slides/1337/images/gathering/ne-pas-toucher.jpeg b/content/slides/1337/images/gathering/ne-pas-toucher.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7a2a3aaa8294054b4503a599cf419885a9e8899a Binary files /dev/null and b/content/slides/1337/images/gathering/ne-pas-toucher.jpeg differ diff --git a/content/slides/1337/md/detecting.md b/content/slides/1337/md/detecting.md new file mode 100644 index 0000000000000000000000000000000000000000..ec22e623404d6de502d67c4f4d91b912f99673eb --- /dev/null +++ b/content/slides/1337/md/detecting.md @@ -0,0 +1,400 @@ +# détecter + +# <i class="fa fa-puzzle-piece" aria-hidden="true"></i> + + +### On cherche des points d'entrée **sur** ou **vers** la cible + +<!-- .element width="80%" --> + + +## Architecture + +* **Virtual hosting** / **hébergement mututalisé** + * éventuellement connu en phase de reconnaissance + * via les DNS + * via les moteurs de recherche (bing) + * se connecter au serveur par défaut + + +## Architecture + +* **Reverse proxy** + * un proxy type [nginx](https://www.nginx.com/) cache le serveur a qui il renvoie le traffic + * il est parfois possible d'atteindre le serveur directement + + +## Architecture + +* **Load Balancing** + * les injections peuvent avoir des résultats obfusqués + * on peut tenter de forcer pour cibler un serveur de sortie + * l'en tête http Date peut révéler des serveurs non synchronisés + +Note: +- virtual hosting accessible par la racine (cf exo) +- load balancing des paramètres peuvent se trouver dans + - la query string + - les cookies + + +#### (Server / service) (profiling / fingerprint) + +* Ports ouvert +* Bannières +* Version de l'OS +* Version de services + * TLS / SSL +* en-tête http + +<pre><code>Server: Apache</code></pre> + + +#### (Server / service) (profiling / fingerprint) + +* Pages par défaut +* Pages d'erreurs +* On peut avoir des versions vulnérables mais patchées + * cas de la version de PHP par défaut + * liée à la version de Debian + +Note: +- comme on a l'archi ca vaut le coup de regarder sur tous les serveurs connus +- les numéros de versions facilitent la recherhce de vulnérabilité / exploit + - openssl 1.0.1 = Heartbleed + - Drupal 7.x drupalgeddon +- page par défaut apache (it works) silencieuse + - pas forcément le cas d'IIS +- les 404 par défaut d'apache donne la version d'apache + + +## [nmap](https://nmap.org/) + +<pre><code>nmap 172.16.76.0/24</code></pre> + +#### Recherche des hôtes et des services +* -O pour la signature de l'OS + * envoie des paquets malformés pour déterminer + * la malformation des paquets réseaux bas niveau nécessite les droits de root + + +## [nmap](https://nmap.org/) + +* -sV détection de la version des services + * teste le service attendu + * teste d'autres options si ça rate + * à base d'envoi de paquets + * nudge packets - malformés +* -p spécifie le port / le range de port +* -p- TOUS les ports + + +## [nmap](https://nmap.org/) + +* -sC passe les scripts non intrusifs + * par défaut tous le scan des wellkown ports 1024 +* scriptable --script=script-name + * *.nse écrit en lua (à vérifier) + * /usr/share/nmap/scripts/http-robots.txt.nse + * pour samba, quake, vns, sip, ... plein +* possibilité d'export formaté des résultats + * réutilisable en entrée de certains outils + +Note: +- [nmap service probes](https://nmap.org/book/vscan-fileformat.html) + - détection de services custom +- autre scanners + - [openvas](http://www.openvas.org/) + - [nessus](http://www.tenable.com/products/nessus-vulnerability-scanner) + - [w3af](http://w3af.org/) + - [ZAP](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) en scanner de vulnaérbilité + + +## Analyse de code / client side + +* Signatures de CMS + * noms et valeurs d'attributs HTML + * champs de formulaire + * nom de class css +* Tous les commentaires + * notes de développeur + * documentation de fonctions + * vieux codes commentés (liens cachés ou oubliés) + <pre><code data-stream class="hljs php">// $pass = MD5($mdp + $birthdate)</code></pre> + <!-- a href="http://pastebin.com/mNdmD5L2">voir aussi luckypada1</a --> + +Note: +- libs framework compliqué à détecter + - symfony 1.0 environnement par exemple + - dev.php + - page de configuration + - assez bien fait maintenant + - facile pour js +- récupérer par Nikto + + +## urls de l'appli + +* [drupal](https://www.drupal.fr/) + * /?q=node/234 + * /user +* [WordPress](https://fr.wordpress.com/) + * /?p=25 + * /wp-admin +* [spip](https://www.spip.net) + * /spip.php?article765 + * /ecrire +* url rewriting ([mod_rewrite](https://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html)) + + +## path systèmes de l'appli + +* messages d'erreurs + * [MySQL](https://dev.mysql.com/doc/refman/5.7/en/error-log.html) / [php](http://php.net/manual/fr/function.error-reporting.php) +* [phpinfo](http://php.net/manual/fr/function.phpinfo.php) + * également version OS, PHP, lib +* facilitent + * [injection de commande](command_execution.html) + * inclusion ([RFI/LFI](lfi_rfi.html)) + + +## Automatic detection + +* [Wappalyzer](http://wappalyzer.com) +* [BlindElephant Web Application Fingerprinter](http://blindelephant.sourceforge.net/) + * [Supporter par Qualys](http://www.qualys.com/blindelephant) +* <i class="fa fa-github"></i> [Dionach/CMSmap](https://github.com/Dionach/CMSmap) +* [CMS Detector](http://guess.scritch.org/) +* [CMS explorer](https://hackertarget.com/cms-explorer/) +* [Ermis CMS Security Scanner](https://addons.mozilla.org/fr/firefox/addon/ermis-cms-security-scanner/) +* spécialisés + * [WPScan](http://wpscan.org/) + * inclus les plugins vulnérables + + +## Gestion de sessions + +* [SID](http://php.net/manual/fr/session.idpassing.php) + * copier le SID ouvre une session + * /server-status [mod_status](https://httpd.apache.org/docs/2.4/mod/mod_status.html) +* cookie + * copier le cookie ouvre une session + * regarder s'il y d'autres paramètres +* SID prédictibles? + * patterns triviaux + * la recherche de non [entropie](https://fr.wikipedia.org/wiki/Entropie_de_Shannon) + * tomber sur une session en cours + +Note: +- paramètre dans cookie cf TP +- [Entropy analysis tools](http://sourceforge.net/p/entropyanalysis/code/ci/master/tree/) +- [Entropy analysis tools](https://github.com/ulikoehler/entropy-analysis-tools) + - toujours le même résultat : entropie nulle + + +## Spidering + +* Arborescence + * cartographie + * des ressources + * des fonctionnalités + * pages dynamiques + * risque de boucle infini + * profondeur (scope) + + +## Spidering + +* Répertoires "cachés" + * directory browsing + * 403 + * le répertoire existe + * Per-user web directories (public_html) + * parties inutilisées mais toujours active + * `/old` + + +## Spidering + +* Fichiers "cachés" (non directement liés) + * aides en ligne + * manuels de configuration, connexion + * page d'admin (back office, phpMyAdmin, ...) + + +## Spidering + +* Affichage de configuration en clair + * extensions de fichiers renvoyés en clair + * `.txt, .yml, .xml, ...` + * mauvaise configuration de l'interpréteur PHP + * les fichiers php sont renvoyés en texte + * fichiers de sauvegardes oubliés + * `/save/backup.zip` + + +## Spidering + +* `robots.txt` + * directive d'indexation par user agent + * Disallow: dossier, pages non indexées + * valable pour les crawlers sympas et polis + +<pre><code data-stream class="hljs bash">wget -r -e robots=off -l 0 http://targ.et</code></pre> + +<pre><code data-stream class="hljs bash">nmap --script=http-robots.txt www.lemonde.fr</code></pre> + +#### spidering VS guessing + +Note: +- arbo non exportable +- sitemap.xml +- zap pas très bon pour suivre les urls + - javascripts burp est meilleur + - burp / zap en mode proxy empile les urls visitées + - pas frocément devinable par le programme + - gère les urls qui peuvent entraver le spidering (/logout) +- balise META permettant le même type de chose quie le robots.txt + - sur le cache ou l'indexation +- pas discret +- httracks +- là où il y a login / pass + - comptes par défaut + - mot de passe triviaux + - brute force + + +## [Nikto](https://cirt.net/Nikto2) + +* Recherche de point d'entrées classiques + * grosse bases de données + * teste les points d'entrée des CMS classiques + * phpinfo.php + * server-satuts + * conf apache + * fingerprints de l'OS + * robots.txt +* User-agent personnalisable + +<pre><code data-stream class="hljs bash" style="font-size: 25px">nikto --host go.od -Format htm --output /tmp/go.od.html</code></pre> + +Note: +- trouve le phpmyadmin + + +## Fuzzing + +* Fuzzing + * n'importe quoi + * valeurs incorrectes + * non ascii + * binaire + * random ou pseudo random + * valeurs malines + * fermeture de caractère + + +## Fuzzing + +* On cherche + * des requêtes avec des tailles différentes + * messages d'erreur + * paramètres HTTP repris dans la page + * des codes http inattendus + * tout ce qui se différencie du cas normal + +#### [<i class="fa fa-github"></i> fuzzdb](https://github.com/fuzzdb-project/fuzzdb) dictionnaire de fuzzing + +Note: +- mode comparaison de burb +- fuzzdb réinjectable dans burp intruder +- spidering VS guessing + + +## [DirBuster](https://www.owasp.org/index.php/Category:OWASP_DirBuster_Project) + +* Produit [OWASP](https://www.owasp.org) +* Copie en locale +* Peut spécifier + * une liste de pattern + * du brute force pure + * itératif + * des extensions de fichiers (bak, tmp, new, ...) + +<small>[Hack Like a Pro: How to Find Directories in Websites Using DirBuster](http://null-byte.wonderhowto.com/how-to/hack-like-pro-find-directories-websites-using-dirbuster-0157593/)</small> + + +## [<i class="fa fa-github"></i> patator](https://github.com/lanjelot/patator) + +* [Produit HSC](http://www.hsc.fr/ressources/outils/patator/download/README) +* Brute force en tout genre +* Fuzzing http + * on peut tester tous les paths de FILE + * avec tous les rep de FILE0 + * tous les noms de fichiers de FILE1 + * toutes les extensions de fichiers FILE2 + +<pre><code data-stream class="hljs bash" style="font-size: 14px">patator.py http_fuzz url=http://client/FILE0/FILE1FILE2 0=paths.txt 1=files.txt 2=exts.txt --ignore=404</code></pre> + +<small>[<i class="fa fa-film"></i> Patator -- Brute-Force Attack And Dns Reverse And Forward Lookup](http://www.securitytube.net/video/7060)</small> + +Note: +- utilisation dans burp possible aussi + + +## <i class="fa fa-medkit"></i> Se protéger + +* Bien configurer son serveur + * [Apache Tips & Tricks: Disable Directory Indexes](http://www.ducea.com/2006/06/26/apache-tips-tricks-disable-directory-indexes/) + * [Per-user web directories](https://httpd.apache.org/docs/2.2/howto/public_html.html) + * [<strike>mod_status</strike>](http://httpd.apache.org/docs/2.2/mod/mod_status.html) + + +## <i class="fa fa-medkit"></i> Se protéger + +* Limiter / faker / filtrer les bannières / headers + * [Changing Apache Server Name To Whatever You Want With mod_security On Debian 6](https://www.howtoforge.com/changing-apache-server-name-to-whatever-you-want-with-mod_security-on-debian-6) + * [Apache Tips & Tricks: Hide PHP Version (X-Powered-By)](http://www.ducea.com/2006/06/16/apache-tips-tricks-hide-php-version-x-powered-by/) + * [A practical approach for defeating Nmap OS-Fingerprinting](https://nmap.org/misc/defeat-nmap-osdetect.html) + * les autres services + + +## <i class="fa fa-medkit"></i> Se protéger + +* Eviter les messages d'erreurs trop bavard en prod + * `php.ini` + * [display_errors](http://php.net/manual/fr/errorfunc.configuration.php#ini.display-errors) à Off + * fait taire mysql + * le @ peut "muter" une fontcion + * [directive log_errors](http://php.net/manual/fr/errorfunc.configuration.php#ini.log-errors) à On + * [mysql.trace_mode](http://php.net/manual/fr/mysql.configuration.php#ini.mysql.trace-mode) à Off + * [error_reporting = 0](http://php.net/manual/fr/function.error-reporting.php#example-504) + + +## <i class="fa fa-medkit"></i> Se protéger + +* Utiliser un système de déploiement automatisé + * utilisation d'un CVS + * utilisation des environnements de dev / test / prod + +* Privilégier les commentaires côté serveur + * éliminer les commentaires HTML / CSS / JS au déploiement + + +## <i class="fa fa-medkit"></i> Se protéger + +* Proscrire les services "en clair" + * ftp + * pop3 + * imap + * rlogin + * telnet ... + + +## <i class="fa fa-medkit"></i> Se protéger + +* Mettre à jour régulièrement + * OS + * services + * librairies + * CMS diff --git a/content/slides/1337/md/gathering.md b/content/slides/1337/md/gathering.md new file mode 100644 index 0000000000000000000000000000000000000000..840d675bacdcbdb22f4b16115d69a85387881d8e --- /dev/null +++ b/content/slides/1337/md/gathering.md @@ -0,0 +1,290 @@ +# collecter + +# <i class="fa fa-puzzle-piece" aria-hidden="true"></i> + + +# On ne touche pas à la cible! + + + + +## leakable people + +* Connaître les dev, les admins, les webmestres, les directeurs, les cadres, les employés, les prestataires +* Interroger + * les moteurs de recherche + * les réseaux sociaux +* Ingénierie sociale (social engineering) + * [Kevin Mitnick](https://fr.wikipedia.org/wiki/Kevin_Mitnick) + * [L'art de la supercherie](http://www.amazon.fr/Lart-supercherie-r%C3%A9v%C3%A9lations-c%C3%A9l%C3%A8bre-plan%C3%A8te/dp/2744015709) + * [Cybertraque](http://www.allocine.fr/film/fichefilm_gen_cfilm=23117.html) + +Note: +- ingénierue social + - hors scope du cours +- kevin mitnik + - a accédé illégalement aux bases de données des clients de Pacific Bell + - a pénétré illégalement les systèmes de Fujitsu, Motorola, Nokia, Sun Microsystems et aussi du Pentagone + - est le premier hacker à figurer dans la liste des dix criminels les plus recherchés par le FBI aux États-Unis finalement arrêté en 1995 + - reconverti en expert sécurité + + +## IP + +* [REGIONAL INTERNET REGISTRIES](https://www.arin.net/knowledge/rirs.html) + + * [AFRINIC](http://www.afrinic.net/) Africa, portions of the Indian Ocean + * [APNIC](http://www.apnic.net/) Portions of Asia, portions of Oceania + * [LACNIC](http://www.lacnic.net/en/) Latin America, portions of the Caribbean + * [ARIN](https://www.arin.net/) Canada, Caribbean and North Atlantic islands, and USA + * [RIPE CC](https://www.ripe.net/) Europe, the Middle East, Central Asia + * [IP de l'UCA](https://apps.db.ripe.net/search/query.html?searchtext=193.49.119.31#resultsAnchor) + + +## Noms de domaines + +* whois des gestionnaires de premier niveau + * [ICANN](https://whois.icann.org/fr) + * contrôle des tld (top-level domains) + * generic top-level domains (gTLD) depuis 2011 + * [AFNIC](https://www.afnic.fr/fr/produits-et-services/services/whois/) + * .fr ou .re ainsi que .tf, .yt, .pm et .wf +* whois de registar + * [Gandi.net](https://www.gandi.net/whois?lang=fr) +* ligne de commande `whois` + +Note: +- donne des points d'entrées + - personnes + - infra + - hébergement de dédié + - CERT + + +## DNS + +<!-- .element width="70%" --> + +* [nslookup](https://fr.wikipedia.org/wiki/Nslookup) +* [dig](https://mediatemple.net/community/products/dv/204644130/understanding-the-dig-command) + +Note: +- on peut voir les requêtes dans wireshark +- converti les NDD en IP + - plusieurs NND sur une IP (multihosting) + - passer par une autre appli ou une autre interface + - point d'entrée + - pas de possibilité de récupérer tous les enregistrements d'un nom de domaine + - ce sreait bien ca donne même les enregistrements inconnus des moteurs de recherche + - internes purs, cachés, etc ... + - sauf si on passe par le transfert de zone + - c'est un défaut de configuration du serveur autoritaire (y en a pas des masses sur Internet) + - le transfert est autorisé sur les serveurs dns secondaire connu + - de toute facon le transfert dns ne fonctionne pas avec un dns secondaire + + +## DNS leak +### <i class="fa fa-hand-o-right" aria-hidden="true"></i> augmenter la surface d'attaque + +* [Fierce Domaine Scanner](http://tools.kali.org/information-gathering/fierce) + * champs SOA : permier serveur autoritaire + * adresse mail de celui qui gère les dns + * tente un transfert de domaine + * teste les sous domaines en aveugle + * à partir d'une ip + * trouve les domaines + * en perl + + +## DNS leak + +* [DNSrecon](http://tools.kali.org/information-gathering/dnsrecon) + * même idée + * en Python +* [IP search using Bing/Azure APIs](http://martin.swende.se/projects/ipsearch.html) + * basé sur les moteurs de recherche + * limité à l'indexation de bing + +Note: +- on interroge les DNS et les moteurs de recherche + - toujours pas la cible +- le leak du virtual hosting ne me paraît pas contournable + + +## Google-Fu / Google Dork + +[Google Hacking Database (GHDB)](https://www.exploit-db.com/google-hacking-database/) + +<small> + +| | | | | +|-----------|-----------------------|--------------|--------------------------------------------| +| [""]() | motif exact | [site:]() | dans le ou les noms des domaines spécifiés | +| [-]() | élimine des résultats | [inurl:]() | dans l'url | +| [~]() | approxime | [intitle:]() | dans la balise title | +| [*]() | caractère joker | [ext:]() | extension de fichier | + +</small> + +* <a href="#"><strike>link: pages mentionant l'url</strike></a> + +[<i class="fa fa-book"></i> Google Hacking for Penetration Testers](http://www.amazon.com/Google-Hacking-Penetration-Testers-Johnny/dp/1597491764) + +Note: +- duckduckgo : requete en post / pas d'en tete referer / safe +- cache gogle / way bak machine : info dans le temps et discrète par rapport à la cible +- Google Hacking Data Base GHDB + - rech par techno + - exploit DB CVE compliant ? :D + - intiltle:"index of" "last modified" +- chaque moteur a ses commandes + + +## Veille / IE + +* Forum / News group / Mailing list +* [google groups](https://groups.google.com/forum/#!overview) +* [stackoverflow](http://stackoverflow.com/) +* [github](https://github.com/) +* [Google alerts](https://www.google.com/alerts) + +### à automatiser + + +## Veille / IE + +* technos de prédilection +* style de code +* extraits +* secrets? + +Note: +- google fu avec username et site de coder + - dans google alert +- exemple du copier de code (potentiellement vulnérable) + - dans google groups ou forum + + +## [Shodan](https://www.shodan.io/) + +* découverte de l'internet ... + * en mode combinatoire + <pre><code data-trim class="bash">/[0-255]\.[0-255]\.[0-255]\.[0-255]:\d*/</code></pre> + * en analysant les bannières de service +* prise en main rapide + * [Shodan for penetration testers](https://www.defcon.org/images/defcon-18/dc-18-presentations/Schearer/DEFCON-18-Schearer-SHODAN.pdf) + * [Les dernières requêtes pour l'inspiration](https://www.shodan.io/explore) + + +## [Shodan](https://www.shodan.io/) + +* Interfaces d'admin + * sans protection + * comptes par défaut + * parfois non modifiables (contrat de maintenance) + +* Services vulnérables + * [Heartbleed](http://www.shodanhq.com/search?q=port%3A443+openssl+1.0.1) + +<small>[Hack Like a Pro: How to Find Vulnerable Targets Using Shodan—The World's Most Dangerous Search Engine](http://null-byte.wonderhowto.com/how-to/hack-like-pro-find-vulnerable-targets-using-shodan-the-worlds-most-dangerous-search-engine-0154576/)</small> + +Note: +- barrage hydraulique +- cam de surveillance en tout genre +- avec les objetcs connectés + - le meilleur reste à venir +- la recherche est juridiquement + - cliquer sur un lien c'est plus flou + - silencieux envers la cible + + +## [<i class="fa fa-github"></i> laramies/theHarvester](https://github.com/laramies/theHarvester) + +* Domaine en entrée pour en sortie + * des mails + * des sous domaines + * des usernames valides + * clé GPG +* Utilise Shodan, Google, Bing, Yahoo, twitter, linkedIn, baidu + + +## [<i class="fa fa-bitbucket"></i> Recon-ng](https://bitbucket.org/LaNMaSteR53/recon-ng/wiki/Home) + +* Scripts rangés par catégories + * nombreuses API + * namechk, jigsaw, picasa, youtube, shodan, bing etc ... + * sait temporiser les requêtes +* Enregistre toutes les infos dans une bdd locale +* Même ergonomie que metasploit + + +## [Maltego](https://www.paterva.com/web6/products/maltego.php) + +* Opensource +* Version payante + * limitation à 12 résultats, compte à réactiver +* Hébergé sur des seveurs non maîtrisés + * le traffic n'est pas sécurisé + * pas de self hosting + + +## [Maltego](https://www.paterva.com/web6/products/maltego.php) + +* People +* Groups of people (social networks) +* Companies +* Organizations +* Web sites +* Internet infrastructure such as: + * Domains + * DNS names + * IP addresses +* Documents and files + + +## [Maltego](https://www.paterva.com/web6/products/maltego.php) + + + + +## [FOCA](https://www.elevenpaths.com/labstools/foca/) +* Glanneur de méta données /fichier par domaine + * ip d'imprinante + * username stocké dans les documents libre office + * l'OS est donnée aussi + * Google pour la récup des fichiers sur la cible + * traitement des méta local +#### <i class="fa fa-windows"></i> Windows Only + + +### A ce stade on ne s'est toujours pas connecté à la cible + +* Si on veut préserver son anonymat + * Tor + * vpn + * proxy + * [cachedview](http://cachedview.com/) + * [wayback machine](https://archive.org/web/) + * [google translate](https://translate.google.fr/m/translate?hl=fr) + + +## <i class="fa fa-medkit"></i> Se protéger + +* Essayer des outils de collectes régulièrement sur son périmètre + * interroger les moteurs de recherche +* Sensibiliser ses utilisateurs +* Faire une analyse de risque + * mise en place d'une graduation de la confidentialité de l'information + * publique + * secret + + +## <i class="fa fa-medkit"></i> Se protéger + +* Configuration correcte d'apache + * Directory listing + * Home page per user +* Configuration correcte des DNS +* Caché n'est pas protégé + * renommer le dossier `wp-admin` + * ne suffit probablement pas diff --git a/content/slides/index.html b/content/slides/index.html index 1429b9398dcc2f30fb3ac977f4555d60c1fc005e..cc57c29b06c9dc44a45e8c3aa1c02a600ce26ac3 100644 --- a/content/slides/index.html +++ b/content/slides/index.html @@ -1,24 +1,94 @@ +<h3>1337</h3> + +<ul> + <li> + Architecture + <ul> + <li><a href="1337/http.html">http</a> / <a href="privacy/tls.html#/0/52">https</a></li> + </ul> + </li> + <li> + Pentesting + <ul> + <li><a href="1337/gathering.html">Collecter</a></li> + <li><a href="1337/detect.html">Détecter</a></li> + <li> + Exploit + <ul> + <li><a href="1337/heartbleed.html">Heartbleed</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="1337/authentication.html">Authentification</a></li> + <li> + Vulnérabilités communes + <ul> + <li> + <a href="1337/command_execution.html">Exécution arbitraire de commandes</a> + <ul> + <li> + Exploit + <ul> + <li><a href="1337/shellshock.html">Shellshock</a></li> + </ul> + </li> + </ul> + </li> + <li><a href="1337/upload.html">Upload</a></li> + <li><a href="1337/lfi_rfi.html">LFI_RFI</a></li> + <li><a href="1337/xss.html">XSS</a></li> + <li><a href="1337/csrf.html">CSRF</a></li> + <li> + <a href="1337/sqli.html">SQLi</a> + <ul> + <li> + Exploit + <ul> + <li><a href="1337/drupalgeddon.html">Drupalgeddon</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + <li> + Se protéger + <ul> + <li> + <li><a href="1337/top10.html">Top10</a></li> + <li><a href="1337/anticiper.html">Anticiper</a></li> + <li><a href="1337/anticiper.html">Réagir</a></li> + </li> + </ul> + </li> +</ul> + <h3>cri</h3> <li><a href="cri/criprod.html">criprod</a></li> -<h3>cours</h3> - -<li> - <a href="privacy/jnarac.html">je n'ai rien à cacher</a> - <ul> - <li><a href="1337/http.html">HTTP</a></li> - </ul> -</li> - -<li><a href="privacy/passwords.html">mots de passes</a></li> -<li><a href="privacy/tracking.html">tracking</a></li> -<li><a href="privacy/sovereignty.html">souveraineté</a></li> -<li><a href="privacy/tails.html">tails</a></li> -<li><a href="privacy/crypto.html">crypto</a></li> -<li><a href="privacy/tls.html">tls</a></li> -<li><a href="privacy/pgp.html">pgp</a></li> -<li><a href="privacy/TLSvsPGP.html">tls</a></li> -<li><a href="privacy/tor.html">tor</a></li> -<li><a href="privacy/tor_lite.html">tor lite</a></li> -<li><a href="privacy/bitcoin.html">bitcoin</a></li> +<h3>privacy</h3> + +<ul> + + <li> + <a href="privacy/jnarac.html">je n'ai rien à cacher</a> + <ul> + <li><a href="1337/http.html">http</a></li> + <li><a href="privacy/sovereignty.html">souveraineté</a></li> + <li><a href="privacy/tracking.html">tracking</a></li> + <li><a href="privacy/passwords.html">mots de passes</a></li> + <li><a href="privacy/tor.html">tor</a></li> + <li><a href="privacy/tails.html">tails</a></li> + <li><a href="privacy/crypto.html">crypto</a></li> + <li><a href="privacy/pgp.html">pgp</a></li> + <li><a href="privacy/tls.html">tls</a> / <a href="privacy/tls.html#/0/52">https</a></li> + <li><a href="privacy/TLSvsPGP.html">tls vs PGP</a></li> + <li><a href="privacy/bitcoin.html">bitcoin</a></li> + </ul> + </li> + + <li><a href="privacy/surfer_couvert.html">surfer couvert (en bref)</a></li> + +</ul> diff --git a/content/slides/privacy/images/jello.jpg b/content/slides/privacy/images/jello.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b90a93e434c027d82f74dd2e2f463dba8f2b946 Binary files /dev/null and b/content/slides/privacy/images/jello.jpg differ diff --git a/content/slides/privacy/jnarac.html b/content/slides/privacy/jnarac.html index 7496d1935c6a7bb37e7cfb82415f4250faef1e98..1f923643f9412e0cc858160fa9f9d5e13299357c 100644 --- a/content/slides/privacy/jnarac.html +++ b/content/slides/privacy/jnarac.html @@ -74,6 +74,13 @@ data-separator-notes="^Note:" data-charset="utf-8"> </section> + <section data-markdown="md/jnarac/end.md" + data-separator="^\n\n\n" + data-separator-vertical="^\n\n" + data-separator-notes="^Note:" + data-background-color="black" + data-charset="utf-8"> + </section> </div> </div> diff --git a/content/slides/privacy/md/jnarac/books.md b/content/slides/privacy/md/jnarac/books.md index a731b4b9f16c4b2594a4362f2cd2426b01003c59..083ba5b539a76eee9caee77674f5f09a8f248ac9 100644 --- a/content/slides/privacy/md/jnarac/books.md +++ b/content/slides/privacy/md/jnarac/books.md @@ -8,20 +8,16 @@ [<!-- .element: width="50%" -->](http://cfeditions.com/Turner/) -## Guide d'auto défense numérique +## Le cimetière de prague -[<!-- .element: width="40%" -->](https://guide.boum.org/) + -Note: -- une suggestion de lecture pour les RSSI dans la salle - - permet d'être sur la même longueur d'onde que les geeks dans mon genre -- ouvrage non conventionel de SSI -- Faire marcher le bon sens - - bon pour tous -- ne pas croire aux listes noires mais au listes blanches -- analyse de risque personnel -- 15 € -- Prendre du recul ... voulez vous prendre un peu plus de recul? + +## La cathédrale et le bazar + +[<!-- .element: width="35%" -->](https://fr.wikipedia.org/wiki/La_Cath%C3%A9drale_et_le_Bazar) + +* [Eric Raymond](https://fr.wikipedia.org/wiki/Eric_Raymond) ## Surveillance:// @@ -38,23 +34,25 @@ Note: ## Les marchands de peur -[](http://editionslibertalia.com/catalogue/a-boulets-rouges/Les-Marchands-de-peur) +[<!-- .element: width="25%" -->](http://editionslibertalia.com/catalogue/a-boulets-rouges/Les-Marchands-de-peur) * [Mathieu Rigouste](https://fr.wikipedia.org/wiki/Mathieu_Rigouste) -## La cathédrale et le bazar - -[<!-- .element: width="35%" -->](https://fr.wikipedia.org/wiki/La_Cath%C3%A9drale_et_le_Bazar) - -* [Eric Raymond](https://fr.wikipedia.org/wiki/Eric_Raymond) - - -## Norbert wiener cybernétique et société +## Guide d'auto défense numérique -[<!-- .element: width="35%" -->](http://www.seuil.com/ouvrage/cybernetique-et-societe-norbert-wiener/9782757842782) +[<!-- .element: width="40%" -->](https://guide.boum.org/) -* [Norbet Wiener](https://fr.wikipedia.org/wiki/Norbert_Wiener) +Note: +- une suggestion de lecture pour les RSSI dans la salle +- permet d'être sur la même longueur d'onde que les geeks dans mon genre +- ouvrage non conventionel de SSI +- Faire marcher le bon sens +- bon pour tous +- ne pas croire aux listes noires mais au listes blanches +- analyse de risque personnel +- 15 € +- Prendre du recul ... voulez vous prendre un peu plus de recul? ## La société du risque @@ -78,6 +76,8 @@ Note: - supprimer le risque (ne pas le prendre) -## Le cimetière de pragmatique +## Norbert wiener cybernétique et société - +[<!-- .element: width="35%" -->](http://www.seuil.com/ouvrage/cybernetique-et-societe-norbert-wiener/9782757842782) + +* [Norbet Wiener](https://fr.wikipedia.org/wiki/Norbert_Wiener) diff --git a/content/slides/privacy/md/jnarac/end.md b/content/slides/privacy/md/jnarac/end.md new file mode 100644 index 0000000000000000000000000000000000000000..7f7a7c5dbe17681539207043e06112c453375427 --- /dev/null +++ b/content/slides/privacy/md/jnarac/end.md @@ -0,0 +1,5 @@ +#### "Don't hate the media, become the media" + +<!-- .element width="75%" --> + +##### <em><a href="https://fr.wikipedia.org/wiki/Jello_Biafra">Jello Biafra</a></em> diff --git a/content/slides/privacy/md/jnarac/gafa.md b/content/slides/privacy/md/jnarac/gafa.md index 9118fc0138521153abe465ba1dd84b3e6edeb6dd..b9605cc3717780316735f6a05d64334256a7d594 100644 --- a/content/slides/privacy/md/jnarac/gafa.md +++ b/content/slides/privacy/md/jnarac/gafa.md @@ -96,15 +96,16 @@ Note: * [Terms of Service; Didn't Read - TOSDR](https://tosdr.org/) * Utiliser des services souverains * Conforme au [RGPD](https://www.cnil.fr/fr/reglement-europeen-protection-donnees) -* Faire la différence entre logiciel - * Gratuit - * Open Source - * Libre <i class="fa fa-smile-o" aria-hidden="true"></i> +* Etre [souverain](sovereignty.html) sur les outils que l'on utilise + * Faire la différence entre logiciel + * Gratuit + * Open Source + * Libre <i class="fa fa-smile-o" aria-hidden="true"></i> ## <i class="fa fa-ambulance" aria-hidden="true"></i> protéger sa vie privée -* Comprendre les tracking cookie +* Comprendre les [tracking](tracking.html) cookie * [<i class="fa fa-github" aria-hidden="true"></i> willdurand-edu/cookie-playground](https://github.com/willdurand-edu/cookie-playground) * Eviter les tracking cookie * [<i class="fa fa-firefox" aria-hidden="true"></i> Ghostery](https://www.ghostery.com/fr/) diff --git a/content/slides/privacy/md/jnarac/ie.md b/content/slides/privacy/md/jnarac/ie.md index a13f9372ff6b6c9f24c7f6a8d9b8295eabdc9b1f..8c9d79854cf36c88904ead53bad37c1e0ab1f46f 100644 --- a/content/slides/privacy/md/jnarac/ie.md +++ b/content/slides/privacy/md/jnarac/ie.md @@ -75,7 +75,7 @@ ## <i class="fa fa-ambulance" aria-hidden="true"></i> Piraterie -* Choisir de bons mots de passe +* Choisir de [bons mots de passe](passwords.html) * Mettre à jour * son système * ses logiciels diff --git a/content/slides/privacy/md/jnarac/law.md b/content/slides/privacy/md/jnarac/law.md index 048abc85938189a6ea896da94240990bbccca4f2..a591dc8f82e33f468a4beb1c1497eacc91e78933 100644 --- a/content/slides/privacy/md/jnarac/law.md +++ b/content/slides/privacy/md/jnarac/law.md @@ -243,9 +243,9 @@ Soumises à autorisation de la CNIL * Recherche publique * [Protection du Potentiel Scientifique et Technique de la nation](http://fr.wikipedia.org/wiki/Protection_du_potentiel_scientifique_et_technique_de_la_nation_%28PPST%29) * Données de santé - * [http://esante.gouv.fr/](http://esante.gouv.fr/) + * [ASIP santé - L'agence française de la santé numérique](http://esante.gouv.fr/) * Etablissements de crédit - * [garanties spécifiques de sécurité](http://www.fbf.fr/fr/contexte-reglementaire-international/cadre-juridique/les-principaux-textes-regissant-le-secteur-bancaire-francais) + * [Garanties spécifiques de sécurité](http://www.fbf.fr/fr/contexte-reglementaire-international/cadre-juridique/les-principaux-textes-regissant-le-secteur-bancaire-francais) ## Conservation des logs de modification diff --git a/content/slides/privacy/md/jnarac/surveillance.md b/content/slides/privacy/md/jnarac/surveillance.md index 53ed1a3334127ab437fe2f88777167ca5d0d6602..164d2c9af4494c3d4d7521e081bf1a5d8b06d088 100644 --- a/content/slides/privacy/md/jnarac/surveillance.md +++ b/content/slides/privacy/md/jnarac/surveillance.md @@ -187,10 +187,10 @@ Note: ## <i class="fa fa-ambulance" aria-hidden="true"></i> Surveillance -* [Tor](https://www.torproject.org/) +* [Tor](tor.html), [tails](tails.html) * [VPN](https://fr.wikipedia.org/wiki/VPN) * [<i class="fa fa-github" aria-hidden="true"></i> ttlequals0/autovpn](https://github.com/ttlequals0/autovpn) -* [PGP](https://www.openpgp.org/) -* [Bitcoin](https://bitcoin.org/fr/) mais surtout [Monero](https://getmonero.org/), [Zcash](https://z.cash/), ... +* [chiffrer](crypto.html): avec [PGP](pgp.html) ou [TLS](tls.html) +* [Bitcoin](bitcoin.html) mais surtout [Monero](https://getmonero.org/), [Zcash](https://z.cash/), ... * Scotcher webcam, micro * [Du maquillage pour tromper les logiciels de reconnaissance faciale](https://lexpansion.lexpress.fr/high-tech/du-maquillage-pour-tromper-les-logiciels-de-reconnaissance-faciale_1930781.html) diff --git a/content/slides/privacy/md/passwords.md b/content/slides/privacy/md/passwords.md index f7bb6e922de093e9ec0fecbf453a04fa3f1e6b75..a7d965d5873bd3ebd26f83738cec8d8729042deb 100644 --- a/content/slides/privacy/md/passwords.md +++ b/content/slides/privacy/md/passwords.md @@ -37,7 +37,7 @@ ## [<i class="fa fa-chrome" aria-hidden="true"></i> Chrome](https://www.google.fr/chrome/browser/desktop/) * Stocke les [mots de passe en ligne](https://passwords.google.com/settings/passwords) - * non souverain + * non [souverain](sovereignty.html) * comme [LastPass](https://www.lastpass.com/fr), [Dashlane](https://www.dashlane.com/), [iCloud](https://www.icloud.com/), ...  @@ -198,7 +198,7 @@ ## iOS -* [http://keepass.info/download.html](http://keepass.info/download.html) +* N'hésitez pas à m'envoyer vos pointeurs ## [Vault by HashiCorp](https://www.vaultproject.io/) diff --git a/content/slides/privacy/tor_lite.html b/content/slides/privacy/surfer_couvert.html similarity index 100% rename from content/slides/privacy/tor_lite.html rename to content/slides/privacy/surfer_couvert.html