Adresse de l'ordinateur cible: < http://www.vulnhub.com/entry/five86-1,417/> ;
Cet article comprend des exercices pratiques sur des points de connaissances: VulnHub *** teste le champ de tir de combat réel Node 1.0 (Le nœud 1.0 est un défi Boot2root / CTF de difficulté moyenne. L'environnement du champ de tir a été créé à l'origine par HackTheBox et le but de l'expérience est d'obtenir deux drapeaux)
Point technique
opennetadmin v18.1.1
RCEsearchsploit
- exp de recherche github
- Cracker le mot de passe crypté HASH sous Linux
crunch
Générer un dictionnairejohn
Ethashcat
déchiffrer le codehash-identifier
Afficher le type de HASH
- Connexion sans mot de passe SSH
- Copiez la clé publique comme
authorized_keys
- Copiez la clé publique comme
- Linux afficher les autorisations utilisateur actuelles des fichiers lisibles et des commandes exécutables
- Afficher les fichiers lisibles des autorisations utilisateur actuelles
find / -type f -user www-data
- Commande exécutable
sudo -l
- Afficher les fichiers lisibles des autorisations utilisateur actuelles
Découverte de la cible
Le paramètre nmap -sP utilise ping pour analyser les hôtes LAN, l'adresse de destination est 192.168.56.5
nmap -sS -A -v 192.168.56.5 Jetez un œil aux résultats d'analyse détaillés -sS est une analyse semi-ouverte, -A est pour la détection d'empreintes digitales et de version du système d'exploitation, -v génère des informations détaillées
Nous pouvons voir les 22,80,10000 ouvert trois ports et 80 ports existent robots.txt
, et des chemins/ona
Découverte et exploitation des vulnérabilités
accèshttp://192.168.56.5 est une page vierge, puis allez sur / ona, vous pouvez voir que opennetadmin
la page de gestion, et la version est18.1.1
v18.1.1
L' opennetadmin
existence de la vulnérabilité RCE, sur github peut trouver un hit exp dans le passé, < https://github.com/amriunix/ona-rce> ;
Ou utilisez-le searchsploit
, mais il y a un piège ici, c'est de convertir le format de ce script bash, sinon une erreur sera signalée, utilisez dos2unix 47691.sh
cette commande, et le shell ici ne peut pas être converti en TTY
La question suivante est de savoir comment augmenter les privilèges. Après quelques tests, on constate que les commandes qui ne peuvent pas être exécutées ici ne sont pas renvoyées en écho et que les cd
commandes ne peuvent pas être exécutées , mais les commandes ls
et peuvent être utiliséescat
Il doit y avoir un contrôle des autorisations ici. Vous pouvez utiliser des find / -type f -user www-data
commandes pour afficher les fichiers que cet utilisateur peut lire, à l'exception /proc
de /var/www/html/reports/.htaccess
et/var/log/ona.log
Lisez le chemin qui var/www/html/reports/.htaccess
peut être trouvéAuthUserFile
/var/www/.htpasswd
Lisez ce fichier comme suit, vous pouvez obtenir le nom d'utilisateur douglas
et le mot de passe HASH $apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1
, l'invite donnée est只包含aefhrt的十个字符
douglas:$apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1
# To make things slightly less painful (a standard dictionary will likely fail),
# use the following character set for this 10 character password: aefhrt
Utilisez-le d'abord pour hash-identifier
voir quel HASH est, le résultat est de type de hachage: [+] MD5 (APR)
Ensuite, utilisez pour crunch
générer le dictionnaire correspondant, format de commande crunch <min-len> <max-len> [charset string] [options]
, ici pour générer seulement 10 caractères contenant aefhrt, vous pouvez utiliser les commandes suivantes crunch 10 10 aefhrt -o pass.txt
, pour plus d'introduction, veuillez consulter l'outil de génération de dictionnaire Commandes Crunch et Crunch sous Linux.
Enfin, il faut utiliser le fameux hashcat
pour cracker ce HASH, le format de commande hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
, la commande utilisée ici esthashcat -m 1600 -a 0 -o res hash.txt pass.txt
-m est la catégorie HASH, -a est la *** méthode, -o est le résultat de sortie, plus de paramètres peuvent se référer au guide de craquage de mot de passe Hashcat . Ici, courir dans kali a signalé des erreurs, il est donc passé à wsl2, la commandehashcat -m 1600 -a 0 -o res hash.txt pass.txt --force
Le mot de passe final est fatherrrrr
Ou il peut être utilisé john
ici pour craquer john --wordlist=pass.txt hash.txt
, mais la vitesse peut être problématique
Utilisez ssh pour vous connecterssh [email protected]
Il s'agit d'un TTY, mais il existe toujours un contrôle des autorisations. Utilisez-le pour sudo -l
voir quelles commandes peuvent être utilisées. Par conséquent (jen) NOPASSWD: /bin/cp
, c'est un peu étrange ici. douglas
Vous pouvez jen
exécuter des cp
commandes comme vous le pouvez
Allez visiter home
le répertoire, trouvé douglas
et jen
ces deux utilisateurs, mais uniquement avec jen
la cp
commande, et sans jen
mot de passe
Il est à noter que si l' jen
utilisateur /home/jen/.ssh/authorized_keys
contient douglas
la clé publique, le ssh qui peut être utilisé douglas
pour se id_rsa
connecter au fichier jen
, c'est-à-dire le ssh qui peut se connecter sans secret jen
. Ceci est copié dans le /tmp
répertoire car jen
il n'y a pas d'autorisation pour accéder douglas
aux fichiers dans le répertoire
cp .ssh/id_rsa.pub /tmp/authorized_keys
chmod 777 /tmp/authorized_keys
sudo -u jen /bin/cp /tmp/authorized_keys /home/jen/.ssh/
Puis connectez-vous avec sshssh -i id_rsa [email protected]
Connectez-vous avec succès jen
, voyez l'invite mail
ou exécutez-la d'abord echo $(find / -type f -user jen) > 1.txt
, il y a un /var/mail/jen
fichier qui peut être lu
Ou mail
les commandes entrées directement ici peuvent également être vues
Lisez-le, son contenu est le suivant
change Moss's password
Mots - clés: ,his password is now Fire!Fire!
Puis ssh pour connecter l' moss
utilisateurssh [email protected]
Un répertoire caché a été trouvé dans le répertoire courant .games
et un root
fichier binaire d'autorisation a été trouvé après l'accèsupyourgame
Après avoir couru, je me suis retrouvé comme par magie devenu utilisateur root épicé
Enfin, le drapeau est /root
dans, pour8f3b38dd95eccf600593da4522251746
Moment de l'oeuf de Pâques, en fait douglas
, vous pouvez vous connecter avec une machine virtuelle après avoir obtenu le mot de passe, puis opérer, voici moss
le mot de passe du compte utilisé, et le même effet