Lepszy reverse shell z rlwrap i nie tylko
Napisał: Patryk Krawaczyński
10/03/2021 w Administracja Brak komentarzy. (artykuł nr 775, ilość słów: 324)
r
lWrap jest opakowaniem biblioteki readline umożliwiającym edycję danych wejściowych z klawiatury dla dowolnego polecenia; zapewnia również mechanizm historii, który jest bardzo przydatny do poprawiania lub ponownego wykorzystywania poleceń. Program ten można wykorzystać wszędzie tam, gdzie interfejs wiersza poleceń danego narzędzia nie umożliwia takich czynności. W dodatku, jeśli posiadamy wolne połączenia z daną siecią, gdzie każde naciśnięcie klawisza jest przesyłane jedno po drugim w zauważalnej pauzie, a każda literówka staje się o wiele bardziej frustrująca i czasochłonna dla nas – rlwrap również sprawdza się w tej sytuacji, ponieważ buforuje wszystkie pojedyncze naciśnięcia klawiszy do momentu naciśnięcia klawisza [Enter]
, a następnie przesyła jednocześnie całą wprowadzoną linię tekstu. To znacznie ułatwia pisanie z dużą prędkością i poprawianie literówek.
Przykład. Jeśli odpalimy netcat i zaczniemy wpisywać jakieś polecenia i odruchowo nauczeni z powłoki bash będziemy chcieli przewinąć kursorem historię to możemy się rozczarować:
agresor@darkstar:~$ nc -vnlp 60669 Listening on [0.0.0.0] (family 0, port 60669) uname -a ls -al cat /etc/passwd ^[[A^[[A^[[A^[[B
Uruchamiając to samo polecenie, za pomocą rlwrap zyskamy cały zestaw skrótów Ctrl+ ...
oraz możliwość swobodnego poruszania się pomiędzy poleceniami:
apt install -y rlwrap
agresor@darkstar:~$ rlwrap nc -vnlp 60669 Listening on [0.0.0.0] (family 0, port 60669) uname -a ls -al cat /etc/passwd (reverse-i-search)`u': uname -a
W powyższym przykładzie zamiast kursorów została użyta funkcja przeszukiwania historii poleceń za pomocą Ctrl+R
. Możemy nawet włączyć sobie pseudo autouzupełnianie – gdy uruchomimy narzędzie z parametrem --remember
wszystkie słowa z standardowego wejścia i wyjścia zostaną dodane do listy uzupełnień:
agresor@stardust:~$ rlwrap -r nc -vnlp 60669 Listening on [0.0.0.0] (family 0, port 60669) netstat -naplet | grep 6[TAB] netstat -naplet | grep 60669
Narzędziem tym możemy przykryć bardzo wiele innych programów, które nie oferują swobody poruszania się po wydawanych poleceniach. Warto zapoznać się z jego możliwościami, ponieważ pisanie własnych filtrów, logowanie historii poleceń, przepuszczanie danych wyjściowych przez inne narzędzia – to tylko kilka z wielu możliwości tego programu.
Więcej informacji: man rlwrap, rlwrap na YT