alphasec
Bash / Unix protip 0007
in 𝕏

alias ssh="ssh -M -S /tmp/%r@%h:%p -oControlPersist=yes" - bardzo fajny/bardzo groźny backdoor, zwłaszcza na hoście przesiadkowym

tty1 · bash
$ alias ssh="ssh -M -S /tmp/%r@%h:%p -oControlPersist=yes"
#Bash#RedTeam#SSH#Backdoor#LTO

Dodanie tego aliasa do plików wczytywanych po zalogowaniu (np. do ~/.bashrc, ~/.bash_profile czy ~/.profile albo w ogóle do /etc/profile jeśli mamy roota) spowoduje, że za każdym razem, kiedy ktoś uruchomi ssh user@host zostanie uruchomione ssh -M -S /tmp/%r@%h:%p -oControlPersist=yes user@host w wyniku czego zostanie utworzone gniazdo /tmp/user@host:22 wykorzystujące bardzo fajną funkcjonalność ssh - multipleksację.

Rozbijając to na detale:

No i teraz, kiedy ktoś na tej maszynie ma dostęp i uprawnienia do gniazda /tmp/@: (bo np. złamaliśmy/wykradliśmy login i hasło danego usera) może wykonać:

ssh -S /tmp/user@host:22 host

i zostanie zalogowany do sesji, którą wcześniej zainicjował nasz Master. Bez potrzeby wprowadzania hasła, ponieważ to już zrobił Master.

Jak to działa — krok po kroku

Rozłóżmy onelinera na czynniki pierwsze:

ssh

połączenie ssh ;)

-M

ustaw połaczenie w trybie Master, by móc udostępnić to połączenie innym,

-S /tmp/%r@%h:%p

ścieżka do gniazda wykorzystywanego podczas współdzielenia połączenia, w tym wypadku /tmp/@:

-oControlPersist=yes

utrzymuj połączenie w tle, nawet po zamknięciu sesji, która połączenie zainicjowała,

user@host

połącz do hosta jako user

Przydatne linki

OpenSSH/Cookbook/Multiplexing web ↗
← poprzedni protip 0006 ••• Wszystkie protipy następny → protip 0008
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: