Intro
Cette machine couvrira le forçage brutal des identifiants de compte et la gestion des exploits publics. Voici un lien vers la boîte.
Enumération
Nmap scan
Comme d’habitude, nous commencerons par un scan Nmap.
ÉTAT DU PORT VERSION DU SERVICE 80/tcp open http Microsoft IIS httpd 8.5 | http-methods : | Méthodes prises en charge : GET HEAD OPTIONS TRACE POST |Méthodes potentiellement risquées : TRACE | http-robots.txt : 6 entrées interdites | /Compte/*.* /search /search.aspx /error404.aspx |_/archive /archive.aspx |_http-server-header : Microsoft-IIS/8.5 |_http-title : hackpark | hackpark amusements 3389/tcp open ssl/ms-wbt-server ? | ssl-cert : Subject : commonName=hackpark | Emetteur : commonName=hackpark | Type de clé publique : rsa | Clé publique bits : 2048 | Algorithme de signature : sha1WithRSAEncryption | Non valide avant : 2020-10-01T21:12:23 | Non valide après : 2021-04-02T21:12:23 | MD5 : 3032 2fb5 4e45 55fa e4d8 a136 f99f 86d3 |_SHA-1 : e191 17b5 7329 905e 23e3 93ca d5b1 fbac a510 663b |Date : 2021-02-09T08:23:14+00:00 ; -1s à partir de l'heure du scanner. Informations sur le service : OS : Windows ; CPE : cpe:/o:microsoft:windows
Nous disposons d’un serveur web Microsoft ouvert et d’un port RDP. Tout en inspectant le site web, nous allons effectuer une force brute pour trouver d’autres répertoires intéressants en arrière-plan.
Forçage brutal des répertoires de Gobuster
=============================================================== Gobuster v3.0.1 par OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_) =============================================================== [+] Url : http://10.10.33.120/ [+] Threads : 10 [+] Liste de mots : /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt [Codes d'état : 200,204,301,302,307,401,403 [+] Agent utilisateur : gobuster/3.0.1 [+] Follow Redir : true [+] Expanded : true [+] Délai d'attente : 10s =============================================================== 2021/02/09 11:14:40 Démarrage du gobuster =============================================================== http://10.10.33.120/contact (Statut : 200) http://10.10.33.120/search (Statut : 200) http://10.10.33.120/archives (Statut : 200) http://10.10.33.120/archive (Statut : 200) http://10.10.33.120/content (Statut : 403) http://10.10.33.120/contactus (Statut : 200) http://10.10.33.120/contacts (Statut : 200) http://10.10.33.120/contact_us (Statut : 200) http://10.10.33.120/admin (Statut : 200)
Avec les résultats de gobuster, nous trouvons la page de connexion de l’administrateur. La vérification du type de requête en inspectant l’élément de formulaire nous montre des requêtes POST qui envoient des données au serveur web.
Nous avons également constaté que le nom d’utilisateur était admin, comme l’indique l’URL du formulaire de connexion. Maintenant que nous connaissons le type de requête et que nous avons une URL pour le formulaire de connexion, nous pouvons commencer à forcer brutalement le compte.
Exploitation
Forçage brutal des comptes Hydra
1. Allez sur la page de connexion du site web et essayez de vous connecter avec des informations d’identification aléatoires.
2. Appuyez sur« F12 » ou ouvrez« Outils debasculement » dans Firefox.
3. Sélectionnez l’onglet« Réseau« .
4. Essayez de vous connecter avec des informations d’identification aléatoires.
5. Recherchez et sélectionnez la requête« POST » dans la colonne« Méthode« .
6. Copiez l’URL commençant par« /Account/login » et collez-la quelque part pour construire votre commande :
7. Dans l’onglet de droite, appuyez sur« Request« , faites défiler vers le bas et copiez le contenu de« Request payload« , et ajoutez-le au lien précédent en le séparant par deux points ( : ).
8. Remplacez votre nom d’utilisateur et votre mot de passe par ^USER^ & ^PASS^
9. Ajoutez « :Login failed » à la fin de votre commande.
10. Résultat :
Cette chaîne comporte trois parties divisées par des deux-points :
chemin d’accès à la page du formulaire de connexion : corps de la requête : message d’erreur indiquant l’échec
Searchsploit
Après s’être connecté en tant qu’administrateur, nous trouvons que la version de BlogEngine est 3.3.6.0 et nous cherchons un exploit :
Copiez l’exploit localement, changez l’IP et le port et commencez à écouter le port choisi.
D’après la description de l’exploit, nous devons faire ce qui suit :
1. Naviguer vers le contenu
2. Postes
3. Nouveau
4. Télécharger l’exploit (le nom doit être PostView.ascx)
5. Publier
6. Visiter http://TARGET_IP/?theme=../../App_Data/files
pour obtenir une coquille
L’escalade des privilèges
Systeminfo pour obtenir une vue d’ensemble
Voyons les caractéristiques de la machine :
c:\windows\system32\inetsrv>systeminfo Nom de l'hôte : HACKPARK Nom du système d'exploitation : Microsoft Windows Server 2012 R2 Standard Version du système d'exploitation : 6.3.9600 N/A Build 9600 Fabricant du système d'exploitation : Microsoft Corporation Configuration du système d'exploitation : Serveur autonome OS Build Type : Multiprocesseur Gratuit Propriétaire enregistré : Windows User Organisation enregistrée : Identifiant du produit : 00252-70000-00000-AA886 Date d'installation originale : 8/3/2019, 10:43:23 AM Heure de démarrage du système : 2/9/2021, 3:19:24 AM Fabricant du système : Xen Modèle de système : HVM domU Type de système : PC basé sur x64 ...
Vérification des privilèges de Whoami
c:\windows\system32\inetsrv>systeminfo INFORMATIONS SUR LES PRIVILÈGES ---------------------- Nom du privilège Description État ============================= ========================================= ======== SeAssignPrimaryTokenPrivilege Remplacer un jeton de niveau processus Désactivé SeIncreaseQuotaPrivilege Ajuster les quotas de mémoire pour un processus Désactivé SeAuditPrivilege Générer des audits de sécurité Désactivé SeChangeNotifyPrivilege Contournement de la vérification de la traversée Activé SeImpersonatePrivilege Impersonnaliser un client après authentification Activé SeCreateGlobalPrivilege Créer des objets globaux Activé SeIncreaseWorkingSetPrivilege Augmenter l'ensemble de travail d'un processus Désactivé
Windows utilise des jetons pour s’assurer que les comptes disposent des privilèges nécessaires pour effectuer certaines actions. Les jetons de compte sont attribués à un compte lorsque les utilisateurs se connectent ou sont authentifiés.
Il existe deux types de jetons d’accès :
- jetons d’accès primaires : ceux qui sont associés à un compte d’utilisateur et qui sont générés lors de l’ouverture d’une session
- jetons d’usurpation d’identité: ces jetons permettent à un processus particulier (ou à un thread dans un processus) d’accéder à des ressources en utilisant le jeton d’un autre processus (utilisateur/client).
Nous pourrions utiliser l’usurpation d’identité par jeton pour accéder au système.
Informations d’identification Winlogon
Vérifions le registre pour les informations d’identification Autologon / Winlogon de l’utilisateur :
... LastUsedUsername REG_SZ administrator AutoAdminLogon REG_DWORD 0x1 DefaultUserName REG_SZ administrator DefaultPassword REG_SZ 4q6[redacted]Fdxs
Il semble que nous ayons trouvé des identifiants d’administrateur ; utilisons le port RDP ouvert pour nous connecter à la machine.
Nous avons exceptionnellement récupéré le drapeau. Poursuivons le chemin normal pour exploiter une autre faiblesse de cette boîte.
Chemins de service non cotés
Cherchons des chemins de service non cotés :
AWS Lite Guest Agent AWSLiteAgent C:\Program Files\Amazon\XenTools\LiteAgent.exe Auto System Scheduler Service WindowsScheduler C:\PROGRA~2\SYSTEM~1\WService.exe Auto
Interrogeons le nom du service pour plus d’informations.
[SC] QueryServiceConfig SUCCESS SERVICE_NAME : WindowsScheduler TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 0 IGNORE NOM_DU_CHEMIN_BINAIRE : C:\PROGRA~2\SYSTEM~1\WService.exe LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : Service du planificateur de système DÉPENDANCES : NOM_DU_SERVICE : LocalSystem
Vérifiez dans les fichiers journaux si le nom du binaire exécuté automatiquement est correct. Dans la carte de l’ordonnanceur système, vous pouvez remplacer le fichier
message.exe
avec un shell exec généré pour obtenir un shell d’administration comme alternative.
0 commentaires