Corri o nmap no meu servidor e encontrei uma porta estranha aberta. Estou tentando descobrir se existe uma maneira de mapear essa porta para um processo específico, mas não tenho idéia se existe essa ferramenta.
Alguma sugestão?
Corri o nmap no meu servidor e encontrei uma porta estranha aberta. Estou tentando descobrir se existe uma maneira de mapear essa porta para um processo específico, mas não tenho idéia se existe essa ferramenta.
Alguma sugestão?
Respostas:
Assim como o Netstat, mencionado em outras postagens, o comando lsof deve ser capaz de fazer isso perfeitamente. Apenas use isto:
lsof -i :<port number>
e todos os processos devem surgir. Eu o uso no OS X com bastante frequência.
A ferramenta que você precisa é a lsof
que lista os arquivos (e soquetes e portas). Provavelmente está instalado e é provavelmente a versão do invasor, o que significa que mentirá para você.
Este é realmente um rootkit. Eu já vi esse comportamento antes, e é sempre um rootkit. Seu sistema está comprometido e não é possível confiar em nenhuma ferramenta que você esteja usando originada na mesma máquina. Inicialize em um Live CD (que possui binários confiáveis somente leitura) e use-o para extrair seus dados, configurações, etc. Todos os programas que você teve, quaisquer scripts que você teve, os abandonaram . Não os traga . Trate-os e o sistema como se tivessem hanseníase, porque o fazem .
Faça isso o mais rápido possível. Ah, e desconecte sua conexão de rede - negue o acesso do invasor.
netstat -anp
O "-p" diz para listar o ID do processo que possui a porta aberta. O -an diz para listar portas de escuta e não resolve nomes. Em sistemas ocupados que podem acelerar bastante a rapidez com que ele retorna.
netstat -anp | grep "LIST"
Isso apenas fornecerá portas abertas.
Se você não conseguir ver a porta aberta com as ferramentas do sistema operacional e suspeitar de uma invasão, pode ser que um rootkit tenha sido instalado.
O rootkit pode ter alterado as ferramentas do sistema para evitar certos processos e portas ou os módulos do kernel.
Você pode verificar o rootkit com várias ferramentas automatizadas. 'apt-cache search rootkit' mostra o seguinte no Ubuntu:
chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports
Se você tiver um rootkit, poderá reverter o 'alterado' para o seu sistema, mas eu recomendo que você descubra como a invasão foi feita e proteja o sistema para que ele não se repita.
Eles não são exclusivos do Ubuntu, você também pode usá-los no CentOS. Basta procurar o pacote ou baixá-lo da página deles.
Pela saída dessa porta, parece que você está executando o pcanywhere: " Ы <Enter>" é muito semelhante a "Por favor, pressione <Enter>", que é a mensagem de boas-vindas do pcanywhere. Não sei por que o processo não aparece na lista de processos. Você é root?
Você pode tentar reiniciar para ver se é um processo único em execução também.
Para explicar a resposta de @bjtitus, você pode obter informações muito detalhadas, por exemplo:
$ 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
Eu posso ver ali que o squid é o processo, mas na verdade é o meu squid-deb-proxy
que está ocupando o porto.
Outro bom exemplo de aplicativo 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
Você pode ver em lsof
(LiSt Open Files) que é java, o que é menos que útil. Executando o ps
comando com o PID, podemos ver imediatamente que é o CrashPlan.