Como visualizar o script de chamada no Linux [closed]

0

Estou tentando escrever um script para ajudar na segurança do computador. Eu estou tentando procurar portas abertas, encontrar o PID e encontrar o que chamou.

Eu tenho isso funcionando, onde minha saída é algo como isto:

IPV4 - 1234 - 2566 / nc

Em execução de: /bin/nc.openbsd

Execução de comando: nc -l 1234

No entanto, na natureza de procurar backdoors, pode haver um script em meu computador em algum lugar, que chamaria nc . É possível, a partir do PID de nc , encontrar o local dos scripts originais?

Digamos que em /etc/rc.local eu coloquei a linha nc -l 1234 , Eu poderia conseguir algo que me diria que o comando nc foi aberto por /etc/rc.local ?

Obrigado!

P.S. Eu senti que isso era mais adequado aqui do que stackoverflow devido ao problema ser um problema do Linux, e não um problema com meu script.

    
por zer0w1re 24.11.2014 / 18:27

2 respostas

1

Para obter o PID do processo pai, você pode usar o comando:

ps -ef

Ele fornecerá uma lista de processos que inclui os dois PIDs.

Se o comando foi iniciado a partir de um script, então o PPID (ID do processo pai) retornado pelo comando seria o PID do script que o iniciou.

    
por 24.11.2014 / 18:52
0

Acabei usando o seguinte:

grep -r "$command" $(ls -l /proc/$pid/cwd | awk '{ print $11 }') | awk -F: '{ print $1 }'

Onde $command="$(cat /proc/$pid/cmdline | sed 's\x0/ g' | sed 's/.$//')"

Que irá recursivamente percorrer os arquivos no diretório em que o script está localizado para localizar o arquivo que contém o comando nc em execução.

Parece um pouco confuso, por isso, se alguém puder ajudar a limpar um pouco isso seria ótimo:)

Obrigado pela ajuda pessoal!

    
por 24.11.2014 / 19:34