Uruchomiłem nmap na moim serwerze i znalazłem dziwny otwarty port. Próbuję dowiedzieć się, czy istnieje sposób odwzorowania tego portu na konkretny proces, ale nie mam pojęcia, czy istnieje takie narzędzie.
Jakieś sugestie?
Uruchomiłem nmap na moim serwerze i znalazłem dziwny otwarty port. Próbuję dowiedzieć się, czy istnieje sposób odwzorowania tego portu na konkretny proces, ale nie mam pojęcia, czy istnieje takie narzędzie.
Jakieś sugestie?
Odpowiedzi:
Podobnie jak Netstat, wspomniany w innych postach, polecenie lsof powinno być w stanie to zrobić dobrze. Po prostu użyj tego:
lsof -i :<port number>
i wszystkie procesy powinny się pojawić. Używam go w systemie OS X dość często.
Potrzebne jest narzędzie lsof
, które wyświetli listę plików (oraz gniazd i portów). Najprawdopodobniej jest zainstalowany i najprawdopodobniej jest to wersja atakującego, co oznacza, że będzie cię okłamywać .
To jest rzeczywiście rootkit. Widziałem to wcześniej i zawsze jest to rootkit. Twój system jest zagrożony i nie można ufać żadnym używanym narzędziom pochodzącym z tego samego komputera. Uruchom komputer na Live CD (który ma zaufane pliki binarne tylko do odczytu) i użyj go do wyodrębnienia danych, ustawień itp. Wszelkie programy, które posiadasz, wszelkie skrypty, porzuć je . Nie przynoś ich . Traktuj ich i system tak, jakby mieli trąd, ponieważ tak .
Zrób to jak najszybciej. Aha i odłącz połączenie sieciowe - odmów dostępu napastnikowi.
netstat -anp
„-P” informuje go o wyświetleniu identyfikatora procesu, który ma otwarty port. -An nakazuje mu wyświetlić listę nasłuchujących portów i nie rozpoznawać nazw. Na zajętych systemach, które mogą znacznie przyspieszyć szybkość powrotu.
netstat -anp | grep „LIST”
To po prostu da ci otwarte porty.
Jeśli nie widzisz portu otwartego za pomocą narzędzi systemu operacyjnego i podejrzewasz włamanie, być może zainstalowano rootkita.
Rootkit mógł zmienić narzędzia systemowe, aby uniknąć pewnych procesów i portów, lub zmienić moduły jądra.
Możesz sprawdzić rootkit za pomocą kilku zautomatyzowanych narzędzi. „rootkit wyszukiwania apt-cache” pokazuje następujące elementy w Ubuntu:
chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports
Jeśli zdarzy ci się mieć rootkita, możesz przywrócić „zmieniony” do swojego systemu, ale radzę dowiedzieć się, jak doszło do włamania i wzmocnić system, aby się nie powtarzał.
Nie są one wyłączne dla Ubuntu, możesz ich również używać w CentOS. Po prostu wyszukaj pakiet lub pobierz go ze swojej strony.
Na podstawie danych wyjściowych z tego portu wydaje się, że rzeczywiście uruchamiasz program pcanywhere: „ Ы <Enter>” jest bardzo podobny do „Proszę nacisnąć <Enter>”, który jest wiadomością powitalną pcanywhere. Nie wiem, dlaczego proces nie pojawia się na liście procesów. Czy jesteś rootem?
Możesz także spróbować ponownie uruchomić komputer, aby sprawdzić, czy jest to proces jednorazowy.
Aby wyjaśnić odpowiedź autorstwa @bjtitus, możesz uzyskać bardzo szczegółowe informacje, na przykład:
$ lsof -i :8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
squid3 1289 proxy 15u IPv6 14810490 0t0 TCP *:8000 (LISTEN)
$ ps -fp 1289
UID PID PPID C STIME TTY TIME CMD
proxy 1289 1 0 09:48 ? 00:00:00 /usr/sbin/squid3 -N -f /etc/squid-deb-proxy/squid-deb-proxy.conf
Widzę tam, że kałamarnica jest procesem, ale tak naprawdę to mój squid-deb-proxy
port zajmuje.
Kolejny dobry przykład aplikacji Java:
$ lsof -i :4242
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3075 root 86u IPv4 12019 0t0 TCP *:4242 (LISTEN)
$ ps -fp 3075
UID PID PPID C STIME TTY TIME CMD
root 3075 1 15 May24 ? 3-16:07:25 /usr/local/crashplan/jre/bin/java -Dfile.encoding=UTF-8 -Dapp=CrashPlanService -DappBaseName=CrashPl
Możesz zobaczyć w lsof
(LiSt Open Files), że jest to Java, co jest mniej niż pomocne. Po uruchomieniu ps
polecenia z PID od razu widać, że jest to CrashPlan.