Le drone Five86-1 de la CTF *** combat réel

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.1RCE
    • searchsploit
    • exp de recherche github
  • Cracker le mot de passe crypté HASH sous Linux
    • crunchGénérer un dictionnaire
    • johnEt hashcatdéchiffrer le code
    • hash-identifierAfficher le type de HASH
  • Connexion sans mot de passe SSH
    • Copiez la clé publique commeauthorized_keys
  • Linux afficher les autorisations utilisateur actuelles des fichiers lisibles et des commandes exécutables
    • Afficher les fichiers lisibles des autorisations utilisateur actuellesfind / -type f -user www-data
    • Commande exécutablesudo -l

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

Découvrez l'adresse cible

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

Détails de sortie

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 opennetadminla page de gestion, et la version est18.1.1

Visitez la page de gestion

Page de gestion

v18.1.1L' opennetadminexistence de la vulnérabilité RCE, sur github peut trouver un hit exp dans le passé, < https://github.com/amriunix/ona-rce> ;

Trouvez une exp sur github et appelez-la

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.shcette commande, et le shell ici ne peut pas être converti en TTY

Utilisez searchsploit

Format de conversion

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 cdcommandes ne peuvent pas être exécutées , mais les commandes lset peuvent être utiliséescat

La commande n'est pas renvoyée

La commande n'est pas renvoyée

Il doit y avoir un contrôle des autorisations ici. Vous pouvez utiliser des find / -type f -user www-datacommandes pour afficher les fichiers que cet utilisateur peut lire, à l'exception /procde /var/www/html/reports/.htaccesset/var/log/ona.log

Afficher les fichiers que cet utilisateur peut lire

Lisez le chemin qui var/www/html/reports/.htaccesspeut être trouvéAuthUserFile/var/www/.htpasswd

Trouvez le chemin

Lisez ce fichier comme suit, vous pouvez obtenir le nom d'utilisateur douglaset le mot de passe HASH $apr1$9fgG/hiM$BtsL9qpNHUlylaLxk81qY1, l'invite donnée est只包含aefhrt的十个字符

Obtenez le nom d'utilisateur et le mot de passe HASH

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-identifiervoir quel HASH est, le résultat est de type de hachage: [+] MD5 (APR)

Regardez quel hachage

Ensuite, utilisez pour crunchgénérer le dictionnaire correspondant, format de commande crunch &lt;min-len&gt; &lt;max-len&gt; [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.

Générer le dictionnaire correspondant

Enfin, il faut utiliser le fameux hashcatpour 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

Courir dans Kali continue de signaler des erreurs

mot de passe

Le mot de passe final est fatherrrrr

Ou il peut être utilisé johnici pour craquer john --wordlist=pass.txt hash.txt, mais la vitesse peut être problématique

Fissure

Utilisez ssh pour vous connecterssh [email protected]

Connectez-vous avec SSH

Il s'agit d'un TTY, mais il existe toujours un contrôle des autorisations. Utilisez-le pour sudo -lvoir quelles commandes peuvent être utilisées. Par conséquent (jen) NOPASSWD: /bin/cp, c'est un peu étrange ici. douglasVous pouvez jenexécuter des cpcommandes comme vous le pouvez

Contrôle d'accès

Allez visiter homele répertoire, trouvé douglaset jences deux utilisateurs, mais uniquement avec jenla cpcommande, et sans jenmot de passe

Visitez le répertoire personnel

Il est à noter que si l' jenutilisateur /home/jen/.ssh/authorized_keyscontient douglasla clé publique, le ssh qui peut être utilisé douglaspour se id_rsaconnecter au fichier jen, c'est-à-dire le ssh qui peut se connecter sans secret jen. Ceci est copié dans le /tmprépertoire car jenil n'y a pas d'autorisation pour accéder douglasaux 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/

Connectez-vous au ssh de jen avec le fichier id_rsa de douglas

Puis connectez-vous avec sshssh -i id_rsa [email protected]

Connectez-vous avec SSH

Connectez-vous avec succès jen, voyez l'invite mailou exécutez-la d'abord echo $(find / -type f -user jen) &gt; 1.txt, il y a un /var/mail/jenfichier qui peut être lu

Connexion réussie à jen

Ou mailles commandes entrées directement ici peuvent également être vues

Entrez directement la commande mail

Lisez-le, son contenu est le suivant

Lire son contenu

change Moss's passwordMots - clés: ,his password is now Fire!Fire!

Puis ssh pour connecter l' mossutilisateurssh [email protected]

utilisateur ssh connect moss

Un répertoire caché a été trouvé dans le répertoire courant .gameset un rootfichier binaire d'autorisation a été trouvé après l'accèsupyourgame

fichier binaire

Après avoir couru, je me suis retrouvé comme par magie devenu utilisateur root épicé

Après avoir couru

Enfin, le drapeau est /rootdans, pour8f3b38dd95eccf600593da4522251746

drapeau

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 mossle mot de passe du compte utilisé, et le même effet

temps de Pâques

Je suppose que tu aimes

Origine blog.51cto.com/14601372/2595864
conseillé
Classement