나는 이미 for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done
입장했다
no crontab for root
no crontab for daemon
...
no crontab for apache2
/var/mail/root에 새 메일이 있습니다라는 메시지를 자주 받습니다.
읽어보니 다 똑같더라구요
From [email protected] Wed Aug 2 15:40:02 2017
Return-Path: <[email protected]>
X-Original-To: root
Delivered-To: [email protected]
Received: by lxc2014.localdomain (Postfix, from userid 0)
id 03E571D666; Wed, 2 Aug 2017 15:40:02 +0000 (UTC)
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <root@lxc2014> /dev/.x;^Mno crontab for root
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <[email protected]>
Date: Wed, 2 Aug 2017 15:40:02 +0000 (UTC)
/bin/sh: 1: ^Mno: not found
^M이 \r인 것은 알지만 cron이 이 파일을 검색하는 이유는 무엇입니까?
답변1
이런 메일을 받으면
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <root@lxc2014> /dev/.x;^Mno crontab for root
X-Cron-Env: <LOGNAME=root>
/bin/sh: 1: ^Mno: not found
그리고 어느 crontab에 문제의 명령이 포함되어 있는지 알 수 없습니다. 표준 위치에서 명령 조각을 grep할 수 있습니다.
grep -r "no crontab" /etc/cron* /var/spool/cron | cat -vet
cat -vet
보이지 않거나 커서를 움직이게 하는 내장된 제어 문자 가 표시 됩니다 .
귀하의 경우에는 다음에서 명령을 찾았습니다.
/var/spool/cron/crontabs/root:* * * * * /dev/.x;^Mno crontab for root$
파일에는 다음 내용이 포함되어 있습니다(가독성을 위해 줄 바꿈이 추가됨).
# DO NOT EDIT THIS FILE - edit the master and reinstall.\n
# (- installed on Thu Jul 20 20:50:12 2017)\n
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)\n
* * * * * /dev/.x;^Mno crontab for root
포함된 문자로 인해 Ctrl+M실행 crontab -u root -l
은 no crontab for root
. 누군가 crontab 항목을 숨기려고 하는 것 같습니다. 보안 및 포렌식에 능숙한 사람이 귀하의 시스템을 조사하여 시스템이 손상되었는지 확인하는 것이 좋습니다.
crontab 을 사용하여 이 crontab을 삭제할 수 있습니다 crontab -u root -r
.
해당 문자열이 /dev/.x
존재하지 않으며 아래의 어떤 파일에도 나타나지 않는다고 말씀하셨습니다 /etc
. 하지만 시스템을 계속 모니터링하여 이러한 파일이 다시 나타나는지 확인하시기 바랍니다. 이는 시스템이 여전히 손상되었음을 나타내는 강력한 표시입니다.
가능하다면 배포판에서 제공하는 보안 패치를 설치하십시오.