Le "Footprinting"
|
17-01-2013, 04h40
(Modification du message : 17-01-2013, 15h13 par CyberSee.)
Message : #1
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 157 Inscription : Jan 2012 |
Le "Footprinting"
Bonjour à tous,
Certain d'entre vous le fait de façon adroite, d'autre le font comme ça viens et d'autre ne save pas du tout ce qu'ils font. Le "Footprinting" est un art qui vous ouvrira les portes dans l'univers du pentesting. Il est possible que certain de ceux qui me lisent actuellement ne save même pas de ce dont je vous parle. Permettez-moi donc de commencer par la définition du mot. Le "Footprinting" est probablement l'une des choses les plus importantes qu'un hacker doit faire avant de tenter de pénétrer un système. Il s’agit de l'art très intense de la collecte d'information liée à une organisation, intranet, internet et extranet. Elle permet de créer un profil complet de la cible. Le "Footprinting" doit être performé avec précision et de manière contrôlée. Ça fait un petit bout que je n'ai pas partagé avec vous un tuto alors permettez moi de vous partager mon expérience sur ce sujet. Bien que la collecte d'informations est un processus lent et ennuyeux, il est probablement le processus le plus important qui est nécessaire à faire avant que toute attaque de pentesting soit envisageable ... Il est donc primordial de le faire sans négliger aucune étape. Étape 1: Collect d'information primaire Je pense que je n'ai pas vraiment besoin de le dire, mais avant tous, il faut savoir qui et quoi nous voulons pentester lol. Il faut déterminer si vous envisagez d'attaquer une organisation ou si vous avez une cible bien précise. Cela va grandement changer la tactique de collecte d'information. C'est parfois très surprenant le nombre d'informations que l'ont peut récolter quand on visite le site de la cible. Une bonne pratique est d'utiliser un logiciel pour sniffer l'intégrale du site en HTML. Les logiciels que je recommande pour Windows seraient: "WinHTTrack ou Teleport Pro" et pour unix "Wget". Une fois sur votre disque dur, vous pourrez récupérer via une recherche tout les commentaires HTML ce qui peut être très pratique pour bien comprendre l'architecture et même identifier le ou les CMS utilisés. Vous pourrez également étudier les différents scripts JS qui sont parfois bien cachés. Ceux qui corresponde en AJAX avec des scripts côté serveur comme PHP peuvent parfois être manipulé pour retourner des informations incroyables sous forme d'un array ou encoder en json. Ses scripts sont souvent détachés du core du site et peuvent souvent être vulnérable à des attaques d'injection SQL. Car il est facile de ce dire en tant que programmeur que personne ne va le remarquer. Utiliser Google pour apprendre le plus d'information possible sur votre cible est à ne pas négliger. Parfois pour atteindre nos objectifs, il faut passer par des partenaires ou d'autres sites partagent le même serveur. C'est aussi un bon moyen pour trouver des courriels d'employer et même des adresses. Effectuer un reverse domain sur le domaine de la cible. http://www.yougetsignal.com/tools/web-si...eb-server/ Il arrive souvent que la porte d'entrée que vous trouverez sur le serveur réside dans un autre site héberger au même endroit. Il sera donc important de visiter chacun de ses sites et d'effectuer au audit de sécurité afin dévaluer vos chances d'effectuer des attaques au serveur qui pourrait être bénéfique a votre but premier. Attention à ne pas vous égarer... Rappeler vous de votre objectif et surtout n'effectuer aucune opération que vous n'avez pas préalablement eu l'autorisation de faire. Étape 2: Réseau La première étape est d'identifier les noms de domaine et réseaux connexes relatifs à cette organisation. Pour les noms de domaine, faire un WHOIS est une étape importante à ne pas négliger. Il existe de nombreux endroits ou vous pouvez le faire. Domaintools.com étant un que j'apprécie énormément. Vous pouvez également utiliser intodns.com et dnswatch.info pour obtenir des informations supplémentaires sur les DNS. Cela peut être particulièrement intéressant pour trouver des serveurs internes qui serviraient également de serveur mail. Il est important aussi d'identifier la plateforme et la version du serveur utiliser. Un bon outil pour ça que j'apprécie est: http://uptime.netcraft.com/up/graph?site..._sible.com Vérifier les vulnérabilités rapporter pour cette version du serveur est très important. Netcraft offre d'ailleurs plusieurs autres outils que je vous conseille de visiter. Un autre truc qui peut aider à collecter des informations sur la structure de leur réseau est le traceroute qui consiste à vous donner une compréhension de la topologie du réseau que nous essayons d'attaquer. Pour ce faire, les outils dont vous aurez besoin sont traceroute pour les utilisateurs UNIX et tracert pour les utilisateurs Windows. En gros, traceroute envoie des paquets à partir de votre ordinateur sur les ordinateurs cibles. Chaque commutateur ou routeur qu'il traverse renvoie des informations vers votre ordinateur. La commande à effectuer est: [bash]$ traceroute <domain>.<suffix> Ce qui vous retournera un truc dans le genre de: Code : [bash]$ traceroute www.drdfrn.co.za En règle générale, et en fonction de la complexité de l'organisation, on peut supposer que le saut avant la destination finale est le routeur de l'organisation qui fait office de firewall. Une fois que vous avez collecté toutes ses informations, il est important de les épurer afin que les informations excédentaires de nuise pas au portrait global que vous essayez d'effectuer. Prenez toute foi garde à bien réfléchir aux informations que vous vous apprêter a supprimé ... Un truc que beaucoup de monde néglige est le contact administratif du serveur que vous aurez obtenu dans votre WHOIS. C'est un élément important, car avec sont nom et courriel vous pourriez entrer en contact avec la cible en substituant votre courriel pour celui de l'administrateur (Email spoofing). Il vous serait donc possible de récupérer plusieurs informations sensibles en vous assurant que le "Reply-to" dans le header de votre mail point a un courriel que vous pourrez récupéré par la suite. Cette opération peut être fait très facilement en PHP. Voici un exemple de code qui permetrait de ce faire passer pour un autre. Code PHP : <?php Utilisez la forme "Prénom Nom <courriel>" standard dans les champs pour plus de réalisme. Rappelez -vous cependant que le serveur mail qui va envoyer le courriel et celui qui recevras le reply peuvent être facilement retraçable ... prenez les précautions qui s'impose. Mais de toute façon, puisqu'il s’agit d'un pentesting légal, le but n'est pas de vous protégez, mais de ne pas ce faire repéré. Il ne faut jamais écarter les possibilités de SE qui s'offre à vous quand on fait un pentesting. Ses souvent une faille humaine qui ce cache derrière les infiltrations les plus dévastatrices. Trouver les maillons faibles d'une organisation est un bon moyen d'arriver à nos fins. Étape 3: Scan Avec tout les informations que vous aurez obtenues, et une fois le ménage effectuer sur ce qui est pertinent et pas, vous êtes rendu a l'étape du scan. Premièrement, vérifier les ports ouverts sur tous les IP de votre cible. Certains ports pourraient être vulnérables à des attaques. Il existe plusieurs logiciels qui peuvent le faire, mais voici un code partager par khaled en PHP qui fera très bien l'affaire. Code PHP : <?php Il est important d'utiliser des logiciels automatiser d'audit de sécurité. Je vous conseil nikto qui est très puissant et complet. Bien que vous avez acquis avec le temps beaucoup de connaissance sur les différentes failles, les logiciels sont en mesure de les tester pour vous à une bonne vitesse et trouveront sans doute les failles les plus évidentes en n'oubliant aucune variante. Bien entendu, ce serait une énorme erreur de prétendre que votre audit serait complet quand il affiche 100%. BEACOUP BEAUCOUP de faille réside à des endroits que le logiciel ne peux pas accéder ou ne connais pas encore. C'est là que le cerveau humain et vos compétences acquises doivent entrer en jeux. Utilisez la version HTML que vous avez préalablement clonée. Scrutez-la avec minutie. Si le site en question utilise un CMS, téléchargez-la, lisez la source. Installez-le en serveur local et testez les options et les manipulations possibles. Essayez d'identifier la version utilisée et renseignez-vous sur les failles déjà connues. Ne faites pas l'erreur de vous fier qu'à ce qui a été publié ... Le meilleur réside dans ce qui est inconnu aux autres. À vous de les trouver! et ses ici que votre aventure commence! Conclusion Le "Footprinting" est un must pour tout hacker qui se respecte. Utilisez les informations que vous récoltez, soyez créatif et évidemment ne faites rien que vous pourriez regretter. Un "Footprinting" bien formaté vous guidera tout au long de vos exploitations et servira de base pour votre rapport final. Soyez intelligent et restez WhiteHat! Par CyberSee Code PHP : <?php |
|
17-01-2013, 13h50
Message : #2
|
|
ThibauT
Keyboard not found, press F1 to resume. Messages : 348 Sujets : 6 Points: 69 Inscription : Jun 2012 |
RE: Le "Footprinting"
Merci de ce tuto, très intéressant et très complet
Btw, je poste ma candidature pour être le correcteur attitré de CyberSee Martin Golding a écrit :"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." Gnomino a écrit :et quand je suis payé je fais ce qu'on me demande :B |
|
17-01-2013, 14h29
Message : #3
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: Le "Footprinting"
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
17-01-2013, 15h13
Message : #4
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 157 Inscription : Jan 2012 |
RE: Le "Footprinting"
Merci pour ton partage khaled, c'est ajouter au tuto :-)
@ThibauT, pourquoi pas :-) Je t'engage lol Code PHP : <?php |
|
17-01-2013, 15h19
Message : #5
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: Le "Footprinting"
la différence entre le fingerprinting et le footprinting c'est qu'y en a un où il faut monter pieds nus sur la table c'est ça ?
|
|
17-01-2013, 15h24
Message : #6
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 157 Inscription : Jan 2012 |
RE: Le "Footprinting"
lol si tu parles du vrai sens du mot et non du terme technique utiliser dans le pentesting, oui. Ils ont utilisé footprinting comme terme parce qu'il s’agit de suivre les traces d'information et suivre quelque chose et plus facile a pied que sur les pouces ... Enfin pour moi en tout cas lol
Code PHP : <?php |
|
17-01-2013, 16h10
(Modification du message : 17-01-2013, 16h16 par gruik.)
Message : #7
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: Le "Footprinting"
ben en l'occurence on parle même de deux choses distinctes que sont la collecte d'informations et la prise d'empreintes
si la collecte d'information est une étape préliminaire à toute intrusion, la prise d'empreintes concerne un service spécifique et on parle souvent de relever les bannières, le whois et les lookups dns en soit ne font pas partie de la prise d'empreintes mais de la collecte d'informations, tout comme les scan de ports qui entre dans une démarche dite de firewalking visant à déterminer les règles effectives d'un éventuel firewall enfin concernant le relevé de bannières, on connait tous la possibilité de la plupart des services à camoufler ou personnaliser leur bannière et plus particulièrement leur identifiant de version (Apache avec la directive ServerToken par exemple, Postfix avec smtpd_banner, Bind avec options{version "toto"}, PHP avec expose_php, etc.) entre un Apache 1.3.37 et un 2.2.4 par exemple avec la directive ServerTokens à Prod, on voit pas grande différence, on va alors utiliser d'autres techniques que le simple relevé de bannières, on va par exemple provoquer volontairement des fautes de manières à récupérer un message d'erreur caractéristique de la part du serveur web, par exemple le code HTTP 414 "url too long" se déclenchera par défaut avec une url de +8k de long sur Apache tandis que ~3k suffiront a mettre nginx en erreur c'est ce que fait un logiciel comme Httprint par exemple ps: http://www.googlefight.com/index.php?lan...otprinting |
|
17-01-2013, 21h40
Message : #8
|
|
Yttrium
Membre actif Messages : 106 Sujets : 14 Points: 48 Inscription : Jul 2012 |
RE: Le "Footprinting"
Super tuto, mais j'aimerais revenir sur un point.
Tu nous parle a un moment de ceci : Avec tout les informations que vous aurez obtenues, et une fois le ménage effectuer sur ce qui est pertinent et pas, vous êtes rendu a l'étape du scan. Premièrement, vérifier les ports ouverts sur tous les IP de votre cible. Certains ports pourraient être vulnérables à des attaques. Je ne comprend ce que tu considère comme vulnérables, c'est pas avec un port http, ftp qu'on va faire grand chose, et je ne voie pas ce que l'ont trouverais d'autre ^^ Si quelqu'un peut m'éclairer, merci beaucoup ! |
|
18-01-2013, 08h09
Message : #9
|
|
Swissky
Bon membre Messages : 523 Sujets : 32 Points: 96 Inscription : Apr 2012 |
RE: Le "Footprinting"
Je pense qu'il veut dire qu'en analysant les ports ouvert on peut en déduire quels programmes sont présents sur la machine. Et de ce fait trouver une faille concernant une version non mise à jour de ce logiciel, ou bien des ports concernant une infection ex: Port 1604 dans le cas d'une infection par le trojan DarkComet, ensuite on doit pouvoir transmettre des faux ordres aux trojans..
Enfin je le comprends comme ça je me trompe peut être n'ayant jamais fait de footprinting ^^ |
|
18-01-2013, 13h24
Message : #10
|
|
InFamouZz
Membre actif Messages : 76 Sujets : 21 Points: 3 Inscription : Dec 2011 |
RE: Le "Footprinting"
TOP TUTO
|
|
10-02-2013, 23h24
Message : #11
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 157 Inscription : Jan 2012 |
RE: Le "Footprinting"
merci InFamouZz ;-)
Code PHP : <?php |
|
11-02-2013, 00h00
Message : #12
|
|
Di0Sasm
Chimiste Messages : 922 Sujets : 56 Points: 92 Inscription : Aug 2011 |
RE: Le "Footprinting"
(17-01-2013, 21h40)Yttrium a écrit : Super tuto, mais j'aimerais revenir sur un point. Le scan te fournira des infos sur openssl avec la version, si la personne n'a pas changé son port pour le SSH, etc.. Après à toi de vérifié si sur tel service un exploit est possible. Et croit pas que tout le monde sécurise ses services, tu trouve encore des FTP avec les accès "anonymous" open. ou des connections SSH permise en "anonyme" toujours sur le port 22. C'est là ou le recueille d'information est vraiment important pour gagner du temps pour la phase d'exploitation ou pour un compte rendu d'audit. Mais le scanne de port et considéré comme illégal sauf en cas d'autorisation, alors scanner pas à tout va ça remplis les logs . |
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 6 visiteur(s)