User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

Lors de ses projets de création de l'application (applications web ou applications mobile smartphones Android iphone IOS) Consultingit intègre maintenant une phase de pentesting (bug bounty comme certains l'appellent). Consultingit fait appel à la célèbre équipe CTF LGHM, (aussi connue sous le nom de l'association loi 1901 à but non lucratif LGang des Hackers de Montreuil), cette "RED TEAM" de hackers éthiques (chapeaux blancs) consultants en cybersécurité: pour sécuriser les applications, trouver les failles et les vulnérabilités du programme, avant que le programme passe en production. Cela évite qu'ensuite des hackers mal intentionnés (les black hats, ou chapeaux noirs) trouvent des failles et les exploitent.  Mais concrètement...

Le pen tester, que fait-il ?

Que font les pentesteurs Red Team LGHM ?

Des audit courts externes, avec un scope client, domaines, ranges IP, ou une applications...

Des audits courts internes, dans l’entreprises

Audits sites webs, applications mobiles, apk…

Simulation de campagnes de fishing emailing serveur messagerie sur un gros panel de clients en entreprise, exemple 5000 utilisateurs sur toute la France, puis statistiques (un peu comme un  Google Analytics manuel) de quel utilisateur sur quoi il a cliqué, combien ont cliqué, qui a ouvert la piece jointe, qui a été infecté car n'a pas son antivirus à jour…

Les contrats Red Team d'étalent plutot de 6 mois à 1 an

A part le red team les missions sont courtes, sur quelques jours. Le périmètre est signé avec le client

Date début

Date de fin

 

  

Une question? Posez-la ici

Pentesting d'applications 

Le bug hunter, que fait-il ?

 

Il decide du temps qu'il a à consacrer au bug bounty

On n’a pas une autorisation de test, on doit etre invité sur la plate forme de bug bounty

Il y a une date de debut, et une date de fin, mais la date de fin c'est le bug hunter qui se l'impose

On a peut-être un bounty (récompense), si on remonte un bug

Pas de fishing.

Une question? Posez-la ici

Pentesting d'applications 

Le Bug Bounty, comment faire?

 

LIRE! Lire lire lire lire la doc, tout ce qu'il y a à l'écran, et bien relire

Qui est le client? Le Gérant? Que fait-il ? Dans quel contexte?

Quoi? Perimetre? Une URL? Une application? Un domaine en wildcard?

 

RTFM

Qu’est-ce qui est accepté comme vulnérabilités?

Qu’est-ce qqui ne faut pas reporter?

Les XSS, c'est la base, on va très facilement en trouver, elles ne seront pas très rémunérées

 

 

Des contraintes?

Un user agent spécifique? Y a til des comptes à demander, Envoyer un mail...

Y a-t-il des outils à ne pas utiliser? Comme Nessus…

Regarder la grille de rémunération: combien paye le programme de bug bounty?

Y a-t-il de la doc sur l’API? On comprend le contexte, que sont les methodes appelées…

 

La chasse commence!

 

On fait du mapping, on doit connaitre notre cible

On récupère les informations sur les sous-domaines… Recherches Google, google dorks (site:example.com … Sublister (cherche dans virustotal…) qui va recuperer les sous domaines, massdns, certsh…

 

The harvester

 

Est-ce qu’il y a deja eu des fuites de codse pour en savoir plus?

Sur pastebin…

site:pastebin.com

 

Est-ce qu’il y a eu d’autres rapports de bug bountys, est-ce qu’ils utilisent tel ou tel moteur de template. Qu’y a-t-il eu comme bugs auparavant?

 

La cible, son evolution dans le temps?

Avec Netcraft, le mois dernier, on voit ce qu’il s’est passé sur la cible

 

Port scanning:

on cherche des services qui sont maqués, des applications un peu exotiques.

 

Découvrir les services oubliés

Fingerprinter les cibles très vote

 

 

Recherche de ressources:

Gobuster, dirbuster, wfuzz

 

Chercher des composants: Wappalyzer, whatweb

Quelle librairie JS est utilisée, quel est le serveur Web

 

Authentification.Session

On a une page login:

faire test / test

 

captcha?

Mot de passe oublié? Y a til une information si le user existe ou pas: on peut enumerer les users

Un token UNIQUE est-il envoyé? Comprendre comment le token est géré, il expire? On peut en générer 100…

 

Sur la session, une fois connecté, on un token, cookie… S’il est custom, on va essayer de voir s’il est unique, si l’enthropie est forte pour ne pas retomber une autre fois.

Avec Burp sequencer

Peut on rejouer le token, en changeant l’ID… regarder bricoler

 

Pentesting ou Bug bounty? La partie XSS

 

Les 2 types les plus connus: reflected? Stored?

On injecte ça où ? Cans tout ce qu’on voit, sur un malentendu ca peut parcher

 

<script>alert("xss");</script>

 

Plus rare: les blind XSS. On injecte le user agent, et quand l’admin consulte ses logs, ca va executer le code sur une interface invisible.

 

XSS hunter installé sur un VPS c’est pas mal: on a une notification d’email quand qqn execute le code qu’on a injecté.

On recupere le user agent, les cookies, le code html de la page…

Pentesting ou Bug bounty? Le CSRF

 

Idée: faire executer du code à un user sous sa session.

Lui faire faire ajouter des utilisateurs?

Supprimer des utilisateurs?

Ajouter des favoris?

Ajouter des objets au panier d’achat?

Changer le mot de passe de l’utilisateur?

Pentesting ou Bug bounty? L'injection SQL

 

Tout le monde connait….

 

On Fuzz, on envoie des wordlists, des scans, est…

Nuance entre SQLMAP et Burp

 

Une fois que l’on en a detecté une, on l’exploite

SQL Injection en pre-auth

Curl X GET https://foo.bar/index/token/

Pentesting ou Bug bounty? Idor

 

Insecure direct object reference

Acceder à des données/documents qui ne sont pas les notres

exemple, identifiant 1234 ca fonctionne, 1236 ca fonctionne et on récupere des infos qui ne sont pas à nous.

Partout ou on voit quelquechose unique, incrémenté? On va essayer d’acceder à d’autres informations.

Outils: tout ce qu’on veut pour incrémenter, multiplier les requetes… Navigateur…

IDOR en test d’intrusion:

Peut-on lire les messages des autres utilisateurs par exemple?

curl -X GET https://foo.bar/messages/

Accès aux documents privés via CSRF+XSS dans un tchat.

On met du code dans la boite du chat et ca va l’executer.

Pentesting ou Bug bounty? SSRF

On utilise la cible pour acceder à d’autres ressources. Internes

exemple.com prend en parametre un url et affiche autre chose

Peuton  traffiquer l’url pour aller acceder à autre chose?

Peut-on mettre l’IP en hexa…?

Wordlist avec payloads: on envoie tous les payloads sur tous les ports et on voit ce qui se passe

Pentesting ou Bug bounty? Full path disclosure via un paramètre GET

 

Curl X GET http://foo.bar/account/create/id

Conclusion:

Plus on passe de temps sur le bug bounty, plus on a de chance d’arriver à trouver quelquechose; Le plus dur c’est de trouver du temps.

Cet article reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit

Voilà, j'espère que ça vous a plu. 

Besoin de pentesting ou bugbounty, contactez-nous

Conclusion:

Plus on passe de temps sur le bug bounty, plus on a de chance d’arriver à trouver quelquechose; Le plus dur c’est de trouver du temps.