Wpis z mikrobloga

Interesująca metoda ukrywania kodu pod #linux - użyteczna do przemycania np. exploitów w prawilnym kodzie ( ͡º ͜ʖ͡º)

Aby utworzyć plik z ukrytym kodem, wykonaj polecenie:

echo -e "#"'!'"/bin/bash\necho co ten unknow...\n#\e[2A\necho nic tu nie ma\nexit 0;" >exploit.sh
Ciekawe efekty sprawdzania kodu:

◢ CAT ◣

$ cat exploit.sh
#!/bin/bash
echo nic tu nie ma...
exit 0;

◢ HEAD ◣

$ head exploit.sh
#!/bin/bash
echo nic tu nie ma...
exit 0;

◢ TAIL ◣

$ tail exploit.sh
#!/bin/bash
echo nic tu nie ma...
exit 0;

◢ WHILE ◣

$ while read line; do echo $line; done < exploit.sh
#!/bin/bash
echo nic tu nie ma...
exit 0;

➡➡➡ A normalne uruchomienie wygląda tak:

$ sh a
co ten unknow...
nic tu nie ma

---✂---
tl;dr: dzięki temu możesz wrzucić w teoretycznie bezpieczny kod linijkę (np. rm -rf /), którą trudno wyłapać z poziomu konsoli = ☠☠☠
---✂---


#security #bezpieczenstwo #hacking
imlmpe - Interesująca metoda ukrywania kodu pod #linux - użyteczna do przemycania np....

źródło: comment_0Jzh5zC6SebyLtFJutPNdHmwgn8Zn6Vn.jpg

Pobierz
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nie jest o przypadkiem przejście o jedną linię do góry, co miałoby spowodować nadpisanie tego, co chcemy ukryć?
  • Odpowiedz
@imlmpe: @go3: @aquaz:
tak jak sobie poszukałem, to \e odpowiada ESC. natomiast [ - to polecenie test (sprawdzanie warunków) a 2A w ASCII to * - gwiazdka czyli dopasowuje wszystko.
Jakby to zapisać inaczej to:
echo co ten unknow...\n
#\e[2A
tylko ten # tak jakby to #\e[2A miało kasować wszstko co było wstawione wczesniej
  • Odpowiedz
Nie jest o przypadkiem przejście o jedną linię do góry, co miałoby spowodować nadpisanie tego, co chcemy ukryć?


@aquaz: tak, to jest kod sterujący ANSI do przejścia na początek przedniej linii.
  • Odpowiedz
ale dlaczego # nie jest interpretowany jako początek komentarza (czyli linijki do pominięcia) w tym przypadku, tylko jako początek polecenia?


@virusriddle: hash to po prostu komentarz i to jest interpretowane jako komentarz. Dlatego podczas wykonywania kodu nic się nie dzieje z tą linijką. Komentuję znak kontrolny tylko po to, aby się nie wykonał (wtedy na ekran poleciałby komunikat, że to złe polecenie). Równie dobrze można zamienić znak # np. na
  • Odpowiedz
  • 1
własnie sobie sprawdziłem i zamiana # na echo jednak nie daje tego samego efektu - echo co ten unknow... się nie wykonało wtedy


@virusriddle: wykonało się, tylko efekt działania został ukryty :) zamień to polecenie z unknowem np na:

touch hacker

Plik zostanie utworzony.
  • Odpowiedz
czyli najlepiej scripty z nieznanych źródeł czytać lessem albo grepować


@wytrzzeszcz: tak, ale z less-em bym uważał, bo niektóre dystrybucje mają ustawione takie cudo:

alias less='less -r' (żeby kolorki
  • Odpowiedz