Linux/Debian에서 프로세스가 반복적으로 실행되는 것을 중지할 수 있는 방법이 있습니까? 이는 잠재적인 보안 위협입니다.

Linux/Debian에서 프로세스가 반복적으로 실행되는 것을 중지할 수 있는 방법이 있습니까? 이는 잠재적인 보안 위협입니다.

내 VPS가 해킹된 것 같습니다. 특정 IP 주소에서 Jpg 파일을 가리키고 실행 중인 컬 프로세스의 여러 인스턴스가 있습니다. 이 프로세스가 계속해서 생성되는 것을 어떻게 막을 수 있습니까?

동시에 실행되는 프로세스는 여러 개 있으며, 그 중 하나를 삭제해도 다른 프로세스는 삭제되지 않습니다. 다 삭제해봤는데 다시 생성되더군요.

답변1

프로세스가 프로세스를 생성하는 경우 해당 프로세스뿐만 아니라 해당 프로세스를 종료합니다.

을 실행하면 ps -ef내 컴퓨터에서 실행 중인 프로세스 목록이 표시됩니다. 다음과 같이 관심 있는 프로세스만 포함했습니다.

$ ps -ef --forest
UID          PID    PPID  C STIME TTY          TIME CMD
...
stew      909382       1  0 08:36 ?        00:00:00 /bin/sh -c i3-sensible-terminal
stew      909383  909382  0 08:36 ?        00:00:04  \_ x-terminal-emulator
stew      909386  909383  0 08:36 pts/0    00:00:00      \_ /bin/bash
stew      910033  909386  0 08:46 pts/0    00:00:00          \_ curl https://unix.stackexchange.com/questions/712603/is-there-any-way
stew      910034  909386  0 08:46 pts/0    00:00:00          \_ ps -ef --forest

실제로 curl실행 중입니다(직접 시작했습니다). 여기에서 볼 수 있습니다:

  • CMD: 내가 알고 있는 명령줄 매개변수 curl. 여기에는 귀하가 데이터를 전송하거나 지침을 얻는 위치의 URL 또는 IP가 포함될 수 있습니다. 귀하는 DDOS의 일부일 수도 있으며, 이 경우 이는 피해자의 정보입니다.
  • PPID: 상위 프로세스가 시작되었습니다 curl. 제 경우에는 909386입니다.
  • UIDstew. 이는 권한이 없는 사용자이므로 전체 시스템은 손상된 것으로 보이지 않고 해당 사용자만 손상된 것으로 보입니다.

PPID 체인을 따라가면 내 데스크탑 환경의 터미널에서 실행되고 있는 bash를 통해 실행되는 것을 볼 수 있다. 이 모든 것은 놀라운 일이 아닙니다. 이것이 제가 하는 일입니다.

PPID가 무엇인지 알아내고 curl메인 프로세스를 찾을 때까지 체인을 따라가세요. 이는 법적 절차의 일부일 수 있습니다.

에 속한 PPID가 표시되면 sshd이 사람이 귀하의 컴퓨터에 적극적으로 로그인되어 있다는 의미입니다. 비밀번호 변경 및 인증키 삭제가 필요합니다.

이것이 시스템 서비스에서 오는 것임을 알게 되면 서비스가 실제로 수행해야 하는 작업을 확인하고 필요한 경우 비활성화할 수 있습니다.

답변2

ps, ss 및 기타 관련 명령을 시도했지만 독립 실행형 컬 명령이 실행 중임을 표시할 수 있습니다. 상위-하위 프로세스가 없습니다.

해커가 한 일은 Apache 웹 서버의 www-data 사용자를 사용하여 매분마다 cron 작업을 실행한 것입니다. 해당 cron 작업과 실행 중이던 손상된 나머지 컬 프로세스를 종료하면 새 프로세스가 생성되지 않습니다.

VPS 인스턴스를 삭제했지만, 이런 일이 발생하지 않도록 하려면 어떤 조치를 취할 수 있는지 알려주세요.

관련 정보