Skip to the content.

Windows


In case of doubt, reboot, Rowan Atkinson

Principes

Permissions

Pour check/set les permissions :

icacls <dossier>
# I  - permission inherited from the parent container
# F  - full access (full control)
# M  - modify right/access
# OI - object inherit
# IO - inherit only
# CI - container inherit
# RX - read and execute
# AD - append data (add subdirectories)
# WD - write data and add files

GPO

Mettre Γ  jour les GPO :

gpupdate /force

Privileges

On a typical Windows server, you may find several different account types :

Windows Privilege Escalation Vectors

A few common vectors that could allow any user to increase their privilege levels on a Windows system :

Initial Information Gathering

A few key points in enumeration :

Forensic

Ruches de registre

https://tryhackme.com/room/windowsforensics1

Les fichiers intΓ©rΓ©ssants sont :

C
β”œβ”€β”€ Users
β”‚   β”œβ”€β”€ Administrator
β”‚   β”‚   β”œβ”€β”€ AppData
β”‚   β”‚   β”‚   └── Local
β”‚   β”‚   β”‚       └── Microsoft
β”‚   β”‚   β”‚           └── Windows
β”‚   β”‚   β”‚               β”œβ”€β”€ UsrClass.dat
β”‚   β”‚   β”‚               β”œβ”€β”€ UsrClass.dat.LOG1
β”‚   β”‚   β”‚               └── UsrClass.dat.LOG2
β”‚   β”‚   β”œβ”€β”€ NTUSER.DAT
β”‚   β”‚   β”œβ”€β”€ ntuser.dat.LOG1
β”‚   β”‚   └── ntuser.dat.LOG2
β”‚   └── arthur
β”‚       β”œβ”€β”€ AppData
β”‚       β”‚   └── Local
β”‚       β”‚       └── Microsoft
β”‚       β”‚           └── Windows
β”‚       β”‚               β”œβ”€β”€ UsrClass.dat
β”‚       β”‚               β”œβ”€β”€ UsrClass.dat.LOG1
β”‚       β”‚               └── UsrClass.dat.LOG2
β”‚       β”œβ”€β”€ NTUSER.DAT
β”‚       β”œβ”€β”€ ntuser.dat.LOG1
β”‚       └── ntuser.dat.LOG2
└── Windows
    β”œβ”€β”€ appcompat
    β”‚   └── Programs
    β”‚       β”œβ”€β”€ Amcache.hve
    β”‚       β”œβ”€β”€ Amcache.hve.LOG1
    β”‚       └── Amcache.hve.LOG2
    └── System32
        └── config
            β”œβ”€β”€ RegBack
            β”‚   β”œβ”€β”€ DEFAULT
            β”‚   β”œβ”€β”€ SAM
            β”‚   β”œβ”€β”€ SECURITY
            β”‚   β”œβ”€β”€ SOFTWARE
            β”‚   └── SYSTEM
            β”œβ”€β”€ DEFAULT
            β”œβ”€β”€ DEFAULT.LOG1
            β”œβ”€β”€ DEFAULT.LOG2
            β”œβ”€β”€ SAM
            β”œβ”€β”€ SAM.LOG1
            β”œβ”€β”€ SAM.LOG2
            β”œβ”€β”€ SECURITY
            β”œβ”€β”€ SECURITY.LOG1
            β”œβ”€β”€ SECURITY.LOG2
            β”œβ”€β”€ SOFTWARE
            β”œβ”€β”€ SOFTWARE.LOG1
            β”œβ”€β”€ SOFTWARE.LOG2
            β”œβ”€β”€ SYSTEM
            β”œβ”€β”€ SYSTEM.LOG1
            └── SYSTEM.LOG2

17 directories, 35 files

Les fichiers .LOG sont les journaux de modification des ruches de registre. Il contiennent des donnΓ©es plus rΓ©centes et sont donc Γ  considΓ©rer. Zimmerman's Registry Explorer permet de les prendre en compte lors de la lecture.

MFT

Parser une MFT et la lire :

.\MFTECmd.exe -f 'C:\users\THM-4n6\Desktop\triage\C\$MFT' --csv parsed-mft.csv
.\MFTECmd.exe -f 'C:\users\THM-4n6\Desktop\triage\C\$BOOT' --csv parsed-mft.csv

EZviewer pour regarder les csv.

PowerShell

# chronomΓ©trer une commande
Measure-Command {cmd}

# afficher en arborescence
tree /f

# lien symbolique
new-item -itemtype symboliclink -path . -name settings.json -value "C:\Users\Kamil\OneDrive\Windows Terminal\settings.json"

# Hash
Get-FileHash filename -Algorithm MD5|SHA256|SHA512
CertUtil -hashfile filename MD5|SHA256|SHA512

Mots de passe

Pour se connecter en local et pas sur le domaine : .\username

Bruteforce sur le rΓ©seau (pas du tout discret) :

hydra -L usernames.txt -P rockyou.txt 192.168.10.1 smb

Mot de passe dans SYSVOL

Pour dΓ©chiffrer le cpassword d'un compte dΓ©fini dans une GPO sur un partage :

ClΓ© AES256 donnΓ©e par Microsoft :

# AES256 cipher key
4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8 f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b
# Initialisation Vector
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Source : https://adsecurity.org/?p=2288

Kerberoast

Avec Impacket :

python3 ./GetUserSPNs.py -request -dc-ip 192.168.10.1 MIDGAR.LAN/scarlet:password -outputfile kerberoast.hash

Pour casser ces hash :

hashcat -m 13100 -a 0 kerberoast.hash rockyou.txt -o output.txt

Partage

Pour rΓ©cupΓ©rer tous les fichiers d'un partage, et les Γ©tudier en local :

smb: \> recurse
smb: \> prompt
smb: \> mget *

Liens utiles

https://github.com/S1ckB0y1337/Active-Directory-Exploitation-Cheat-Sheet

https://www.hackingarticles.in/a-little-guide-to-smb-enumeration/

https://m0chan.github.io/2019/07/31/How-To-Attack-Kerberos-101.html

Pentesting Active Directory mindmap :