SNMP RCE
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
SNMP może być wykorzystane przez atakującego, jeśli administrator zignoruje jego domyślną konfigurację na urządzeniu lub serwerze. Poprzez nadużycie społeczności SNMP z uprawnieniami do zapisu (rwcommunity) na systemie operacyjnym Linux, atakujący może wykonywać polecenia na serwerze.
Aby rozszerzyć usługi SNMP i dodać dodatkowe polecenia, możliwe jest dodanie nowych wierszy do tabeli "nsExtendObjects". Można to osiągnąć, używając polecenia snmpset
i podając niezbędne parametry, w tym absolutną ścieżkę do pliku wykonywalnego oraz polecenie do wykonania:
Wstrzykiwanie poleceń do uruchomienia na usłudze SNMP wymaga istnienia i możliwości wykonania wywoływanego binarnego/skryptu. NET-SNMP-EXTEND-MIB
nakłada obowiązek podania absolutnej ścieżki do pliku wykonywalnego.
Aby potwierdzić wykonanie wstrzykniętego polecenia, można użyć polecenia snmpwalk
, aby wyliczyć usługę SNMP. wynik wyświetli polecenie i jego powiązane szczegóły, w tym absolutną ścieżkę:
Gdy wstrzyknięta komenda jest odczytywana, jest wykonywana. To zachowanie jest znane jako run-on-read()
. Wykonanie komendy można zaobserwować podczas odczytu snmpwalk.
Aby uzyskać kontrolę nad serwerem i zdobyć powłokę serwera, można wykorzystać skrypt Pythona opracowany przez mxrch z https://github.com/mxrch/snmp-shell.git.
Alternatywnie, powłokę odwrotną można ręcznie stworzyć, wstrzykując konkretną komendę do SNMP. Ta komenda, uruchamiana przez snmpwalk, nawiązuje połączenie powłoki odwrotnej z maszyną atakującego, umożliwiając kontrolę nad maszyną ofiary. Możesz zainstalować wymagane elementy do uruchomienia tego:
Lub odwrotna powłoka:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)