방금 한 사용자가 "httpd"라는 프로세스를 시작한다고 언급했습니다.
31712 ftp_johndoe 20 0 35988 8828 1460 S 14.0 0.0 1h50:31 httpd
28616 ftp_johndoe 20 0 5304M 43936 35080 S 4.0 0.2 0:02.72 /usr/bin/php5-cgi -c /var/www/vhosts/system/johndoe.net/etc/php.ini
31711 ftp_johndoe 20 0 35808 8608 1460 S 1.0 0.0 1h51:15 httpd
글쎄, 데비안 아파치에서는 "httpd"라는 프로세스가 시작되지 않기 때문에 프로세스를 "httpd"라고 부르는 이유가 궁금했습니다.
내가 그것을 쟁취하면 다음과 같은 결과를 얻습니다.
httpd 28868 ftp_johndoe txt REG 253,0 10456 12335127 /usr/bin/perl
httpd 28868 ftp_johndoe mem REG 253,0 22952 12335108 /usr/lib/perl/5.14.2/auto/File/Glob/Glob.so
httpd 28868 ftp_johndoe mem REG 253,0 109888 12335102 /usr/lib/perl/5.14.2/auto/POSIX/POSIX.so
httpd 28868 ftp_johndoe mem REG 253,0 18672 12335109 /usr/lib/perl/5.14.2/auto/Fcntl/Fcntl.so
httpd 28868 ftp_johndoe mem REG 253,0 39256 12980353 /usr/lib/perl5/auto/Socket/Socket.so
httpd 31712 ftp_johndoe 63u IPv4 520937935 0t0 TCP server.name.com:38504->64.233.165.26:smtp (ESTABLISHED)
httpd 31712 ftp_johndoe 67u IPv4 520937969 0t0 TCP server.name.com:38536->64.233.165.26:smtp (ESTABLISHED)
httpd 31712 ftp_johndoe 73u IPv4 520937951 0t0 TCP server.name.com:38520->64.233.165.26:smtp (ESTABLISHED)
그래서 나는 이것이 악성 코드라고 생각합니다. 하지만 httpd 프로세스를 시작하는 스크립트를 어떻게 찾을 수 있습니까?
답변1
다음을 사용하여 실행 파일 찾기를 시작할 수 있습니다.
ls -l /proc/<PID>/exe
그런 다음 누가 그것을 생성했는지(상위 PID)를 찾을 수 있습니다.
ps -p <PID> -o ppid=
그리고 출발점을 찾을 때까지 검색하세요.
at
초기화 스크립트, 전역 및 사용자별 크론 작업, 스크립트, rc.local
파일과 같은 일반적인 자동 실행 지점을 확인할 수도 있습니다.
업데이트:방금 라는 프로그램이 생각나더군요스누피저것
스누피는 시스템에서 실행된 모든 명령(+ 인수)을 기록하는 작은 라이브러리입니다.
명령 실행을 확인하는 데 사용하면 매우 유용할 수 있습니다.
이것은 완전한 해결책은 아닙니다. 이를 우회할 수 있는 간단한 방법이 있다는 것을 알고 있습니다. 나보다 경험이 많은 사람이 더 도움이 되길 바랍니다.