Dekodér Base64, hex a URL

Vložte zakódovaný řetězec z logu, e-mailu nebo skriptu a nástroj pozná formát, dekóduje ho a ukáže text nebo hex výpis. Umí i opačný směr – zakódovat text.

Jak nástroj použít

  1. Zkopírujte zakódovaný řetězec – například parametr za -EncodedCommand z logu procesů, část odkazu z podezřelého e-mailu nebo hodnotu z HTTP požadavku.
  2. Vložte ho do pole a klikněte na Dekódovat. Mezery, konce řádků a chybějící znaky = na konci nevadí.
  3. Když nástroj formát nepozná nebo vybere jiný, než čekáte, zvolte ho ručně v nabídce Formát.
  4. Výsledek zkopírujte jako text nebo jako hex. Pro opačný směr napište text a klikněte na Zakódovat text.

Jak to funguje

Zakódované řetězce potkáte při analýze incidentů na každém kroku: příkaz PowerShellu skrytý za -EncodedCommand, data v odkazu z phishingového e-mailu, obsah přílohy nebo tělo HTTP požadavku v logu webového serveru. Kódování nic nešifruje, jen mění zápis – a právě proto ho útočníci používají, aby se škodlivý obsah na první pohled ztratil.

Nástroj podporuje tyto formáty:

  • Base64 – 64 znaků (A–Z, a–z, 0–9, +, /) a doplnění = na konci podle RFC 4648. Nejčastější způsob, jak poslat binární data jako text (přílohy e-mailů, data v HTML, skripty).
  • Base64URL – varianta pro adresy a tokeny JWT, místo + a / používá - a _ a doplnění často vynechává.
  • Šestnáctkový zápis (hex) – každý bajt jako dvě číslice 0–9 a a–f. Přijme i zápis s mezerami, dvojtečkami, 0x nebo \x.
  • URL kódování – znaky jako %2F nebo %C5%99 podle RFC 3986, znak + bere jako mezeru (formuláře).

Výsledek dekóduje jako text UTF-8. Když má text každý druhý bajt nulový, pozná kódování UTF-16LE, které používá PowerShell. Když výsledek není text, ukáže hex výpis a podle prvních bajtů („magic bytes“) odhadne typ souboru – spustitelný soubor Windows, ZIP, PDF, obrázek a další.

Časté otázky

Odesílá se vložený text někam?

Ne. Dekódování i kódování počítá skript přímo ve vašem prohlížeči a nic se neodesílá na server ani neukládá. Přesto do žádného webového nástroje nevkládejte hesla a klíče, pokud nemusíte.

Je Base64 šifrování?

Ne. Base64, hex i URL kódování jen převádějí data do jiného zápisu, aby prošla systémy, které zvládají jen text. Neobsahují žádný klíč a dekódovat je může kdokoli. Útočníci je proto používají k ukrytí příkazů před letmým pohledem, ne před analýzou.

Proč je v dekódovaném příkazu PowerShellu mezi písmeny nula nebo mezera?

Parametr -EncodedCommand podle dokumentace Microsoftu očekává Base64 z textu v kódování UTF-16LE, kde má každý znak dva bajty. Nástroj takový text pozná a ukáže ho normálně. Při ručním zakódování použijte řádek Base64 z UTF-16LE.

Co znamenají vrstvy?

Útočníci často kódují vícekrát – například hex uvnitř Base64. V režimu Rozpoznat automaticky nástroj dekóduje tak dlouho, dokud výsledek vypadá jako další kódovaný text (nejvýš pět vrstev), a ukáže každou zvlášť. Při ručně zvoleném formátu dekóduje jen jednu vrstvu.

Výsledek není text, ale soubor. Co s ním?

Nástroj ukáže hex výpis a podle prvních bajtů odhadne typ souboru (třeba spustitelný soubor Windows začínající „MZ“). Takový soubor neotevírejte na běžném počítači. Pro další analýzu si zkopírujte hex a pracujte s ním v izolovaném prostředí.

Zdroje

  1. RFC 4648 – Kódování Base16, Base32 a Base64
  2. RFC 3986 – Syntaxe URI (procentové kódování, část 2.1)
  3. Microsoft – about_PowerShell_exe (parametr -EncodedCommand)
  4. MITRE ATT&CK – T1140 Deobfuscate/Decode Files or Information

Pomohl vám tento nástroj?

Chybí vám něco nebo jste našli chybu? Napište nám.

Aktualizováno