---
# System prepended metadata

title: OverTheWire Bandit

---

---
title: 'OverTheWire Bandit'
disqus: hackmd
---

OverTheWire Bandit
===

Antony DURAND
Maxence LOUINEAU
Raphael LAFON

## Table des matière

[TOC]

## Level 0

Tout est ecrit

## Level 1

le login est celui du niveau "bandit1"
le mot de passe se trouve en executant la commande suivante : 
```cat.readme=
bandit0@bandit:$ cat readme
```
le mot de passe est 
```bandit1=
boJ9jbbUNNfktd78OOpsqOltutMc3MY1
```

## Level 2

le login est celui du niveau "bandit2"
La subtilité ici est que le "-" permet d'ajouter des arguments à une commande.
Il nous faut donc forcer la commande cat comme ceci :
```cat.-=
bandit1@bandit:$ cat ./-
```
le mot de passe est 
```bandit2=
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
```

## Level 3

le login est celui du niveau "bandit3"
Le mot de passe se situe dans le fichier "spaces in this filename" :
```cat.-=
bandit2@bandit:$ cat spaces\ in\ this\ filename
```
le mot de passe est 
```bandit3=
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
```

## Level 4

Le login est celui du niveau "bandit4"
Le mot de passe se situe dans le dossier "inhere".
Lorsqu'on fait un ls pour afficher les fichiers, rien apparait.
On fait donc la commande suivante afin d'afficher les fichiers cachés : 
```ls.a=
bandit3@bandit:$ ls -a
bandit3@bandit:$ cat .hidden
```
le mot de passe est 
```bandit4=
pIwrPrtPN36QITSp3EQaw936yaFoFgAB
```

## Level 5

Le login est celui du niveau "bandit5"
Le mot de passe se situe dans le dossier "inhere".
Lorsqu'on fait un ls pour afficher les fichiers.

On fait donc la commande suivante afin d'afficher les fichiers cachés : 
```file=
bandit4@bandit:~/inhere$ file ./-file0*
    ./-file00: data
    ./-file01: data
    ./-file02: data
    ./-file03: data
    ./-file04: data
    ./-file05: data
    ./-file06: data
    ./-file07: ASCII text
    ./-file08: data
    ./-file09: data
bandit4@bandit:~/inhere$ cat ./-file07

```
le mot de passe est 
```bandit5=
koReBOKuIDDepwhWk7jZC0RTdopnAYKh
```

## Level 5

Le login est celui du niveau "bandit6"
A l'aide de la commande "find", nous recherchons le fichier en finction des paramètres.
la commande find --help nous aide : 
    -readable : lisible humainement
    ! -executable : qui n'est pas executable
    -size 1033c : taille de 1033 et c pour bytes
```=
bandit5@bandit:~/inhere$ find -readable ! -executable -size 1033c
    ./maybehere07/.file2
    


```
le mot de passe est :
```bandit6=
DXjZPULLxYr17uwoI01bNLQbtFemEgo7
```

Deuxième possibilité de commande (trouvé sur internet):
```find=
find . -type f -size 1033c ! -executable -exec file {} + | grep ASCII
```
## Level 6

Le login est celui du niveau "bandit7"
Afin de chercher le fichier correspondant, on utilise la commande find : 
    -user bandit7 : pour l'utilisateur bandit7
    -group bandit6 : pour le groupe bandit6
    -size 33c : pour un fichier de 33 bytes

Pour amélorier la commande on ajoute -print 2>/dev/null afin de retirer les "Permission denied"

```=
bandit6@bandit:$ find -user bandit7 -group bandit6 -size 33c -print 2>/dev/null
        ./var/lib/dpkg/info/bandit7.password
bandit6@bandit:~$ cat /var/lib/dpkg/info/bandit7.password

```
le mot de passe est 
```bandit7=
HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs
```

## Level 7

Le login est celui du niveau "bandit8"
On utilise la commande grep
```=
bandit6@bandit:$ grep "millionth" data.txt

```
le mot de passe est 
```bandit7=
cvX2JJa4CFALtqS87jk27qwqGhBM9plV
```
## Level 8

Le login est celui du niveau "bandit9"

```=
bandit7@bandit:$ cat data.txt | sort | uniq -u

```
le mot de passe est 
```bandit8=
UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR
```
## Level 9

Le login est celui du niveau "bandit10"

```=
bandit8@bandit:$ strings data.txt | grep "^=="
```
le mot de passe est 
```bandit9=
    
```
Le problème est que le mot de passe ne sort pas.
https://axcheron.github.io/writeups/otw/bandit/