Há um processo em execução em um servidor que estou usando e muitas pessoas têm acesso.
Quando eu faço top eu vejo isso ocupando ~ 99% da CPU.
com ps aux
, posso ver que o comando em questão é:
python -c import pty;pty.spawn("bash")
Eu leio os documentos e eles dizem
pty.spawn(argv[, master_read[, stdin_read]])
Spawn a process, and connect its controlling terminal with the current process’s standard io. This is often used to baffle programs which insist on reading from the controlling terminal.
The functions master_read and stdin_read should be functions which read from a file descriptor. The defaults try to read 1024 bytes each time they are called.
Mas eu não entendo porque alguém faria isso. Por que alguém usaria um shell para invocar python para gerar um shell? E por que está levando tanto CPU?
Estou sentindo falta de algo ou preciso de um café?
Basicamente eu quero saber o que este processo está realmente fazendo com 99% da CPU, então eu posso decidir se vou matá-lo ou não (lembre-se, não apenas eu na caixa).Um sys-admin não sou. Eu sou um daqueles 'desenvolvedores' que só sabem o suficiente para sobreviver.
Não tenho certeza de como aprofundar isso - alguma idéia?
Edit: Um exploit é o único uso deste tipo de comando? Mais uma vez, muitas pessoas têm acesso a essa caixa. Não poderia ter um propósito legítimo? De alguma forma eu posso diferenciar um do outro?