porque eu recebo este / bin / sh: 1: ^ Mno: erro não encontrado

0

Eu digitei for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done E isso diz

no crontab for root
no crontab for daemon
...
no crontab for apache2

e eu tenho muitas vezes Você tem novo e-mail em / var / mail / root mensagem

quando eu leio, são todos iguais

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

Eu sei que ^ M é brut porque o cron pesquisa este arquivo ...

    
por Et7f3XIV 02.08.2017 / 17:43

1 resposta

1

Quando você recebe e-mails como

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

e você não pode dizer qual crontab contém o comando ofensivo, você pode grep para peças de comando nos lugares padrão:

grep -r "no crontab" /etc/cron* /var/spool/cron | cat -vet

O cat -vet mostrará todos os caracteres de controle incorporados que, de outra forma, seriam invisíveis ou resultariam no movimento do cursor.

No seu caso, você encontrou o comando em

/var/spool/cron/crontabs/root:* * * * * /dev/.x;^Mno crontab for root$

e o arquivo contém isso (quebras de linha adicionadas para facilitar a leitura):

# 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

Por causa do caractere Ctrl + M incorporado, a execução de crontab -u root -l aparece para mostrar apenas no crontab for root . Parece que alguém está tentando ocultar a entrada do crontab. Sugiro que alguém familiarizado com a segurança e a perícia analise seu sistema para determinar se ele foi comprometido.

Você pode remover este crontab com crontab -u root -r .

Você mencionou que /dev/.x não existe e que essa string não aparece em nenhum arquivo em /etc , mas, por favor, continue monitorando seu sistema para ver se esses arquivos reaparecem. Isso seria um strong indicador de que seu sistema ainda está comprometido.

Se possível, instale todos os patches de segurança oferecidos pela sua distribuição.

    
por 14.08.2017 / 20:57

Tags