내 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입니다.UID
예stew
. 이는 권한이 없는 사용자이므로 전체 시스템은 손상된 것으로 보이지 않고 해당 사용자만 손상된 것으로 보입니다.
PPID 체인을 따라가면 내 데스크탑 환경의 터미널에서 실행되고 있는 bash를 통해 실행되는 것을 볼 수 있다. 이 모든 것은 놀라운 일이 아닙니다. 이것이 제가 하는 일입니다.
PPID가 무엇인지 알아내고 curl
메인 프로세스를 찾을 때까지 체인을 따라가세요. 이는 법적 절차의 일부일 수 있습니다.
에 속한 PPID가 표시되면 sshd
이 사람이 귀하의 컴퓨터에 적극적으로 로그인되어 있다는 의미입니다. 비밀번호 변경 및 인증키 삭제가 필요합니다.
이것이 시스템 서비스에서 오는 것임을 알게 되면 서비스가 실제로 수행해야 하는 작업을 확인하고 필요한 경우 비활성화할 수 있습니다.
답변2
ps, ss 및 기타 관련 명령을 시도했지만 독립 실행형 컬 명령이 실행 중임을 표시할 수 있습니다. 상위-하위 프로세스가 없습니다.
해커가 한 일은 Apache 웹 서버의 www-data 사용자를 사용하여 매분마다 cron 작업을 실행한 것입니다. 해당 cron 작업과 실행 중이던 손상된 나머지 컬 프로세스를 종료하면 새 프로세스가 생성되지 않습니다.
VPS 인스턴스를 삭제했지만, 이런 일이 발생하지 않도록 하려면 어떤 조치를 취할 수 있는지 알려주세요.