filter tb64 { [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($_)) } - przydatny filtr do kodowania Base64
tty1 · powershell
PS> filter tb64 { [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($_)) }
#Powershell#RedTeam#Base64
Zacznijmy od prostego przykładu:
PS /Users/drg> filter tb64{[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($_))}
PS /Users/drg> whoami
drg
PS /Users/drg> whoami | tb64
ZAByAGcA
PS /Users/drg>
Tworząc ten filtr, w wygodny sposób możemy mieć pod ręką szybki sposób na kodowanie danych do base64. Jedno z zastosowań to przygotowanie danych do eksfiltracji. Koklejnym jest przygotowanie payloadu do uruchomienia przez Powershella z wykorzystaniem opcji -enc, czyli np:
PS C:\Users\Administrator> echo "whoami"|tb64
dwBoAG8AYQBtAGkA
PS C:\Users\Administrator> powershell -enc dwBoAG8AYQBtAGkA
win-rvm4fv5tv8u\administrator
PS C:\Users\Administrator>