Я запустил nmap на своем сервере и обнаружил, что странный порт открыт. Я пытаюсь выяснить, есть ли способ сопоставить этот порт с конкретным процессом, но понятия не имею, есть ли такой инструмент.
Какие-либо предложения?
Как и Netstat, упомянутый в других сообщениях, команда lsof должна прекрасно справиться с этим. Просто используйте это:
lsof -i :<port number>
и должны появиться все процессы. Я довольно часто использую его в OS X.
Вам нужен инструмент lsof
, в котором будут перечислены файлы (а также сокеты и порты). Скорее всего, он установлен, и это, скорее всего, версия злоумышленника, а значит, будет ложь тебе.
Это действительно руткит. Я видел такое поведение раньше, и это всегда руткит. Ваша система скомпрометирована, и нельзя доверять любым используемым вами инструментам, созданным с той же машины. Загрузитесь с Live CD (который имеет доверенные двоичные файлы только для чтения) и используйте его для извлечения ваших данных, настроек и т. Д. Любые программы, которые у вас были, любые скрипты, которые у вас были, оставь их. Не приноси их. Относитесь к ним и к системе, как к проказе, потому что они делать.
Сделайте это как можно скорее. Да, и отключите сетевое соединение - запретите доступ злоумышленнику.
sudo netstat -lnp
Перечисляет порты, которые прослушивают входящие соединения, и связанный процесс, у которого порт открыт.
netstat -anp
"-P" указывает ему, что нужно перечислить ID процесса, у которого открыт порт. Параметр -an указывает ему перечислить порты прослушивания и не разрешать имена. В загруженных системах это может значительно увеличить скорость возврата.
netstat -anp | grep "СПИСОК"
Это просто даст вам открытые порты.
Если вы не видите порт, открытый средствами операционной системы, и подозреваете вторжение, возможно, был установлен руткит.
Руткит мог изменить системные инструменты, чтобы избежать определенных процессов и портов или изменить модули ядра.
Вы можете проверить наличие руткита с помощью нескольких автоматизированных инструментов. 'apt-cache search rootkit' в Ubuntu показывает следующее:
chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports
Если у вас есть руткит, вы можете вернуть «измененное» к вашей системе, но я рекомендую вам выяснить, как было совершено вторжение, и укрепить систему, чтобы оно не повторялось.
Они не являются эксклюзивными для Ubuntu, вы также можете использовать их в CentOS. Просто найдите пакет или загрузите его со своей страницы.
Судя по выходным данным этого порта, похоже, что вы действительно используете pcanywhere: «�Ы� <Enter>» очень похоже на «Пожалуйста, нажмите <Enter>», которое является приветственным сообщением pcanywhere. Я не знаю, почему процесс не отображается в списке процессов. Вы root?
Вы можете попробовать перезагрузить компьютер, чтобы проверить, выполняется ли это одноразовый процесс.
Чтобы объяснить ответ @bjtitus, вы можете получить очень подробную информацию, например:
$ 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
Я сразу вижу, что кальмар - это процесс, но на самом деле это мой squid-deb-proxy
что занимает порт.
Еще один хороший пример 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
Вы можете видеть в lsof
(LiSt Open Files), что это java, что бесполезно. Запуск ps
с PID сразу видно, что это CrashPlan.