From zero to hero: Pwn - 1

From zero to hero: Pwn - 1

Salut chers passionnés de cybersécurité !

Comme promis dans mon précédent article, nous allons démarrer la série d'articles sur le pwn. Alors ...

Qu'est-ce-que le pwn ?

Le pwn est un terme employé en hacking pour désigner l'action de dominer, de conquérir ou de posséder. Ce terme est problablement issu du terme anglais own qui veut tout simplement dire posséder. Il était employé auparavant par les gamers en ligne pour désigner le fait qu'ils aient battu leur adversaire. Pour ceux qui ont déjà eu à s'entraîner sur HackTheBox, vous avez certainement déjà lu l'expression "has been Pwned" :

En CTF de cybersécurité de type Jeopardy, vous allez avoir des challenges de catégorie pwn. Vous êtes donc invités à exploiter une faille dans un programme hébergé sur un serveur afin de posséder le contrôle du programme et d'opérer certaines actions sur le serveur. La plupart du temps, il vous faudra lire le fichier contenant le flag ou lancer un shell interactif en vue de naviguer sur le serveur.

Il vous ait le plus souvent fourni le programme et la commande à exécuter pour communiquer avec l'instance du challenge. Le plus souvent le programme est écrit en C, mais vous pouvez également vous retrouver avec un programme écrit en C++ ou en Rust. En ce qui concerne la commande à exécuter, il s'agit le plus souvent de nc, qui est une commande Unix vous permettant de lire et écrire des données entre deux ordinateurs. Du coup, en utilisant nc vous communiquez à l'instance votre entrée, nc vous retournera ensuite la réponse du serveur.

Prenons l'exemple du challenge AM1 présent pour les pré-qualifications pour l'Africa Battle CTF 2023. Il nous ait fourni un fichier zippé contenant le binaire à exploiter et le code source du binaire. Dans la description du challenge, il nous ait indiqué la commande à utiliser pour communiquer avec l'instance : "nc pwn.battlectf.online 1003".

Afin de réussir cette catégorie de challenges, vous devez analyser le binaire afin de déterminer les vulnérabilités à exploiter. Il est donc important de comprendre concrètement ce que c'est qu'un binaire, quels sont les différents formats existants, comment il est structuré, les différentes architectures disponibles, etc.

Dans le prochain article, nous aborderons ensemble ce que c'est qu'un binaire et quels sont les différents formats existants et les plus communs.

Poursuivez l'aventure en restant branché pour le prochain article sur "Qu'est-ce-qu'un binaire et les différents formats existants ?"

Merci !

Références:
https://delinea.com/what-is/pwn
https://haxez.org/2021/09/hack-the-box-lame-has-been-pwned/
https://phoenixnap.com/kb/nc-command#:~:text=The%20Netcat%20(%20nc%20)%20command%20is,%2C%20ncat%20%2C%20and%20others)
https://prequal.battlectf.online/challenges#AM1-26