-
Vincent Mazenod authoredVincent Mazenod authored
Title: ZZ2 F5 - Securité logicielle - sécurité des applications web Date: 2019-11-20 10:55 Category: Étudiants Tags: cours
- Contexte
- Pentesting
- Mécanisme
- Vulnérabilités communes
- Se protéger
- Recréer l'environnement de cours dans VirtualBox
- (fix) En cas de réseau injoignable sur proxy et thenetwork
- liste des vms / noms de domaine
- Evaluation
- Evaluation du cours
- See also
Contexte
Pentesting
Mécanisme
Vulnérabilités communes
Se protéger
FYI
- Tous les slides sont fait avec reveal.js
- ils sont exportables en pdf en ajoutant
?print-pdf#
à l'url (à coller juste après le.html
) et en passant par l'impression dans un fichier du navigateur chrome ou (mieux) chromium- plus de détails sur l'export PDF de reveal
- ils sont exportables en pdf en ajoutant
Recréer l'environnement de cours dans VirtualBox
- testé avec VirtualBox 5.2.18 sous Ubuntu Bionic
- et les extensions pack associés
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.18.vbox-extpack
sous windows vous devrez peut être utiliser le path entier de vboxmanage
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
Créer un réseau NAT
vboxmanage natnetwork add --netname natwebsec --network "172.16.76.0/24" --enable --dhcp off
Télécharger les images OVA
voir https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/
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
wget https://drive.mesocentre.uca.fr/d/69e5535b0b88425396d7/files/?p=/ubuntu-server-18.04.ova&dl=1
FYI
Importer les images OVA
vboxmanage import debian.ova
vboxmanage import proxy.ova
vboxmanage import kali.ova
vboxmanage import thenetwork.ova
vboxmanage ubuntu-server-18.04.ova
Configurer le réseau pour chaque vm
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
vboxmanage modifyvm ubuntu-server-18.04 --nic1 natnetwork --nat-network1 natwebsec
(optionnel) Mettre en place le port-forwarding sur debian
vboxmanage natnetwork modify --netname natwebsec --port-forward-4 "ssh:tcp:[127.0.0.1]:1722:[172.16.76.142]:22"
vboxmanage natnetwork modify --netname natwebsec --port-forward-4 "ssh:tcp:[127.0.0.1]:1723:[172.16.76.143]:22"
vboxmanage natnetwork modify --netname natwebsec --port-forward-4 "ssh:tcp:[127.0.0.1]:1724:[172.16.76.144]:22"
vboxmanage natnetwork modify --netname natwebsec --port-forward-4 "ssh:tcp:[127.0.0.1]:1725:[172.16.76.145]:22"
vboxmanage natnetwork modify --netname natwebsec --port-forward-4 "ssh:tcp:[127.0.0.1]:1726:[172.16.76.146]:22"
(optionnel) Se connecter en ssh
ssh -p 1722 mazenovi@127.0.0.1 #thenetwork
ssh -p 1723 mazenovi@127.0.0.1 #proxy
ssh -p 1724 mazenovi@127.0.0.1 #debian
ssh -p 1725 mazenovi@127.0.0.1 #kali
ssh -p 1726 mazenovi@127.0.0.1 #ubuntu server 18.04
(fix) En cas de réseau injoignable sur proxy et thenetwork
si
ping 172.16.76.145 # ping sur kali
renvoie
connect: Network is unreachable
vérifier le numéro de votre interface réseau
student@proxy:~$ ifconfig -a
eth2 Link encap:Ethernet HWaddr 08:00:27:ae:b5:20
inet adr:172.16.76.143 Bcast:172.16.76.255 Masque:255.255.255.0
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)
lo Link encap:Boucle locale
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)
par exemple ce numéro peut être eth2 (comme ci dessus) au lieu de eth0
il faut alors modifier le fichier /etc/network/interfaces en fonction
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).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth2
iface eth2 inet static
address 172.16.76.143
netmask 255.255.255.0
gateway 172.16.76.1
puis activer l'interface réseau
student@proxy:~$ sudo ifup eth2
réessayer
ping 172.16.76.145 # ping sur kali
Ce bug est dû à la numérotation fantaisiste d'Ubuntu des interfaces réseau ...
liste des vms / noms de domaine
# SecLab
172.16.76.143 proxy secured heart.bleed fo.ol #proxied version of dum.my
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
172.16.76.142 thenetwork
172.16.76.1 us.er
Evaluation
-
Examen écrit en fin de session
-
Une présentation d'une des 7 failles suivantes par trinôme
- [lundi 22/09/2020] Authentification inefficiente ou ressource mal protégée
- un objet qui devrait être protégée est accessible sans authentification
- on peut obtenir une session
- [lundi 29/09/2020] Command execution
- il s'agit d'injecter des commandes systèmes (on empiète pas sur le SQLi)
- [lundi 6/10/2020] Upload
- comment exécuter du code arbitraire à partir d'un formulaire d'upload de fichier
- [lundi 13/10/2020] LFI / RFI
- injection de paramètre http permettant d'inclure un fichier localement / distant
- [lundi 20/10/2020] XSS
- faire exécuter du code javascript arbitraire stocké (stored) ou passé en paramètres dan la requête (reflected)
- [lundi 03/11/2020] CSRF
- exécution d'un commande avec privilège à l'insu de l'utilisateur
- [lundi 17/11/2020] SQLi
- injection de commandes SQL (les blind sont à traiter)
- [lundi 22/09/2020] Authentification inefficiente ou ressource mal protégée
-
Vous pouvez vous organiser avec ce framacalc
-
Chaque présentation durera 15 minutes et devra présenter
- la vulnérabilité
- l'exploitation de la vulnérabilité
- l'exploitation d'une vulnérabilité existante dans https://www.cvedetails.com/ est un plus :D
- un ensemble de solutions permettant de se protéger
-
Vous éviterez au maximum de vous aider du support de cours et des exemples qui s'y trouvent (notamment DVWA). Si je raconte la même chose que les étudiants qui présentent c'est pas marrant ...
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)