Skip to content
Snippets Groups Projects
zz2-f5-websec.md 6.67 KiB
Newer Older
mazenovi's avatar
mazenovi committed
Title: ZZ2 F5 WebSec
Date: 2017-11-20 10:55
Category: <i class='fa fa-graduation-cap' aria-hidden='true'></i> &Eacute;tudiants
Tags: cours

[TOC]

## Plan du cours

* Introduction

    * [Contexte](https://doc.m4z3.me/_/1337/contexte.htm)
    * [Cadre juridique](https://doc.m4z3.me/_/1337/droit.htm)

* Architecture

    * [HTTP](https://doc.m4z3.me/_/1337/HTTP.htm)
    * [TLS/SSL](https://doc.m4z3.me/_/1337/TLS.htm)

* Pentesting

    * [Collecter](https://doc.m4z3.me/_/1337/collecter.htm)
    * [Détecter](https://doc.m4z3.me/_/1337/detecter.htm)

* Exploit

    * [Heartbleed](https://doc.m4z3.me/_/1337/heartbleed.htm)

* Mécanisme

    * [Authentification](https://doc.m4z3.me/_/1337/AUTH.htm)

* Vulnérabilités communes

    * [Command execution](https://doc.m4z3.me/_/1337/CMDi.htm)

* Exploit

    * [Shellshock](https://doc.m4z3.me/_/1337/shellshock.htm)
    * [Upload](https://doc.m4z3.me/_/1337/upload.htm)
    * [LFI_RFI](https://doc.m4z3.me/_/1337/LFI_RFI.htm)
    * [XSS](https://doc.m4z3.me/_/1337/XSS.htm)
    * [CSRF](https://doc.m4z3.me/_/1337/CSRF.htm)
  * [SQLi](https://doc.m4z3.me/_/1337/SQLi.htm)

* Exploit

    * [Drupalgeddon](https://doc.m4z3.me/_/1337/drupalgeddon.htm)

* Se protéger

    * [Top10](https://doc.m4z3.me/_/1337/top10.htm)
    * [anticiper](https://doc.m4z3.me/_/1337/anticiper.htm)
    * [réagir](https://doc.m4z3.me/_/gdi/cnrs.htm#/cover)


## Recréer l'environnement de cours dans VirtualBox

mazenovi's avatar
mazenovi committed
* testé avec [VirtualBox 5.1.30](https://www.virtualbox.org/wiki/Download_Old_Builds_5_1)
  * et les [extensions pack associés](http://download.virtualbox.org/virtualbox/5.1.30/Oracle_VM_VirtualBox_Extension_Pack-5.1.30-118389.vbox-extpack)

```
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.30-118389.vbox-extpack
```

sous windows vous devrez peut être utiliser le path entier de vboxmanage
mazenovi's avatar
mazenovi committed

```
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
```

### Créer un réseau NAT

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
vboxmanage  natnetwork add --netname natwebsec --network "172.16.76.0/24" --enable --dhcp off
mazenovi's avatar
mazenovi committed
```

mazenovi's avatar
mazenovi committed
### Télécharger les images OVA
mazenovi's avatar
mazenovi committed

voir [https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/](https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/)

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
wget https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/files/?p=/debian.ova&dl=1
wget https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/files/?p=/proxy.ova&dl=1
wget https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/files/?p=/kali.ova&dl=1
wget https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/files/?p=/thenetwork.ova&dl=1
mazenovi's avatar
mazenovi committed
```
<div class="panel panel-warning">
  <div class="panel-heading">
    <h3 class="panel-title">FYI</h3>
  </div>
  <div class="panel-body">
    il y a environ 7 Go d'images, n'hésitez pas à vous les faire passer via des clés USB
  </div>
</div>

### Importer les images OVA

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
vboxmanage import debian.ova
vboxmanage import proxy.ova
vboxmanage import kali.ova
vboxmanage import thenetwork.ova
mazenovi's avatar
mazenovi committed
```

mazenovi's avatar
mazenovi committed
### Configurer le réseau pour chaque vm
```bash
vboxmanage modifyvm debian --nic1 natnetwork --nat-network1 natwebsec
vboxmanage modifyvm proxy --nic1 natnetwork --nat-network1 natwebsec
vboxmanage modifyvm kali --nic1 natnetwork --nat-network1 natwebsec
vboxmanage modifyvm thenetwork --nic1 natnetwork --nat-network1 natwebsec
```

mazenovi's avatar
mazenovi committed
![réseau vm](images/etudiants/vm-network.png)

mazenovi's avatar
mazenovi committed
### (optionnel) Mettre en place le port-forwarding sur debian
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
vboxmanage natnetwork modify --netname natwebsec --port-forward-4 "ssh:tcp:[127.0.0.1]:1337:[172.16.76.144]:22"
mazenovi's avatar
mazenovi committed
```

mazenovi's avatar
mazenovi committed
### (optionnel) Se connecter en ssh
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
ssh -p 1337 student@127.0.0.1
mazenovi's avatar
mazenovi committed
```

mazenovi's avatar
mazenovi committed
## (fix) En cas de réseau injoignable sur proxy et thenetwork
mazenovi's avatar
mazenovi committed

si

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
ping 172.16.76.145 # ping sur kali
mazenovi's avatar
mazenovi committed
```

renvoie

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
connect: Network is unreachable
```

vérifier le numéro de votre interface réseau

mazenovi's avatar
mazenovi committed
```bash
student@proxy:~$ ifconfig -a

mazenovi's avatar
mazenovi committed
eth2      Link encap:Ethernet  HWaddr 08:00:27:ae:b5:20
mazenovi's avatar
mazenovi committed
          inet adr:172.16.76.143  Bcast:172.16.76.255  Masque:255.255.255.0
mazenovi's avatar
mazenovi committed
          adr inet6: fe80::a00:27ff:feae:b520/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:24 erreurs:0 :0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          Octets reçus:4789 (4.7 KB) Octets transmis:4679 (4.6 KB)

mazenovi's avatar
mazenovi committed
lo        Link encap:Boucle locale
mazenovi's avatar
mazenovi committed
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          Packets reçus:54 erreurs:0 :0 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          Octets reçus:4076 (4.0 KB) Octets transmis:4076 (4.0 KB)
mazenovi's avatar
mazenovi committed
```

mazenovi's avatar
mazenovi committed
par exemple ce numéro peut être eth2 (comme ci dessus) au lieu de eth0
mazenovi's avatar
mazenovi committed

il faut alors modifier le fichier /etc/network/interfaces en fonction

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
student@proxy:~$ sudo vi /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
mazenovi's avatar
mazenovi committed
auto eth2
iface eth2 inet static
        address 172.16.76.143
mazenovi's avatar
mazenovi committed
        netmask 255.255.255.0
mazenovi's avatar
mazenovi committed
        gateway 172.16.76.1
mazenovi's avatar
mazenovi committed
```

puis activer l'interface réseau

mazenovi's avatar
mazenovi committed
```bash
mazenovi's avatar
mazenovi committed
student@proxy:~$ sudo ifup eth2
mazenovi's avatar
mazenovi committed
```

réessayer

mazenovi's avatar
mazenovi committed
```bash
ping 172.16.76.145 # ping sur kali
mazenovi's avatar
mazenovi committed
```

mazenovi's avatar
mazenovi committed
Ce bug est dû à la numérotation fantaisiste d'Ubuntu des interfaces réseau ...


mazenovi's avatar
mazenovi committed
## liste des vms / noms de domaine
mazenovi's avatar
mazenovi committed

```
mazenovi's avatar
mazenovi committed
# SecLab
172.16.76.143 proxy secured heart.bleed fo.ol #proxied version of dum.my
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
172.16.76.144 good.one go.od targ.et
172.16.76.144 mutillid.ae
172.16.76.144 dvwa.com dv.wa
172.16.76.144 d.oc
172.16.76.144 dum.my
172.16.76.144 drup.al hackable-drupal.com drupal
172.16.76.144 wordpre.ss bl.og wp wordpress
172.16.76.144 spip sp.ip
172.16.76.145 bad.guy hack.er 1337.net
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
172.16.76.142 thenetwork
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
172.16.76.1   us.er
mazenovi's avatar
mazenovi committed
```
mazenovi's avatar
mazenovi committed

## Evaluation

* Examen écrit en fin de session (/10)

mazenovi's avatar
mazenovi committed
## Mini projet en binôme
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
* [Enoncé](https://drive.mesocentre.uca.fr/f/55715c2cdd44476fbb6f/?dl=1)
mazenovi's avatar
mazenovi committed

* Rendu le 26/03/2018 à 23h59 dernier délais

mazenovi's avatar
mazenovi committed
    * à [vincent.mazenod@isima.fr](mailto:vincent.mazenod@isima.fr)
mazenovi's avatar
mazenovi committed

      * ```[TP websec]``` dans le sujet du mail ... sinon je vous perds ;)
mazenovi's avatar
mazenovi committed

mazenovi's avatar
mazenovi committed
    * Tous les fichiers nommés en NOMETUDIANT1_NOMETUDIANT2_nomfichier.ext

mazenovi's avatar
mazenovi committed
## Evaluation du cours

Vous avez aimé ou vous avez détesté ce cours ... donnez moi votre avis et aidez moi à l'améliorer (en tout anonymat)

https://docs.google.com/forms/d/e/1FAIpQLSdt93c8g306J60v2ANMCzVajo00udaFJApaGWt_TSugshbBmw/viewform

mazenovi's avatar
mazenovi committed
## See also

* [faire son propre seclab](https://blog.mazenod.fr/faire-son-propre-seclab.html)