<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>爱周末 &#187; 病毒</title>
	<atom:link href="http://zhoumo123.cn/tag/%e7%97%85%e6%af%92/feed" rel="self" type="application/rss+xml" />
	<link>http://zhoumo123.cn</link>
	<description>知识分享，共同进步。zhoumo123.cn</description>
	<lastBuildDate>Thu, 07 Nov 2019 05:53:49 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>Linux  /lib/libudev.so 病毒清除 随机10字符病毒</title>
		<link>http://zhoumo123.cn/linux/3579.html</link>
		<comments>http://zhoumo123.cn/linux/3579.html#comments</comments>
		<pubDate>Mon, 20 Jun 2016 22:52:43 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[病毒]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=3579</guid>
		<description><![CDATA[今天遇到连上网就CPU，网络爆满的情况，查看日志发现一直在启动/etc/cron.hourly/gcc.sh，然后去网上查了下，发现是中招了，最后按文章成功解决:) 其中许多是查找，解决基本上是删除gcc.sh等一些在init.d下的执行文件，还有crontab里的level3有个启动，再chattr +i /usr/bin锁定那些检测删除病毒主程序的东西， 这样就能rm删除掉主程序，find发现.Trash-0回收站里有被删除了本体，接着全部rm掉，最后chattr -i恢复后解决那些数字串的文件，查询一下就发现都被解决了！ 后续：之后系统一直稳定，无意中又在log中发现启动gcc.sh，查 ...  <a href="http://zhoumo123.cn/linux/3579.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>今天遇到连上网就CPU，网络爆满的情况，查看日志发现一直在启动/etc/cron.hourly/gcc.sh，然后去网上查了下，发现是中招了，最后按文章成功解决:)</p>
<p>其中许多是查找，解决基本上是删除gcc.sh等一些在init.d下的执行文件，还有crontab里的level3有个启动，再chattr +i /usr/bin锁定那些检测删除病毒主程序的东西，</p>
<p>这样就能rm删除掉主程序，find发现.Trash-0回收站里有被删除了本体，接着全部rm掉，最后chattr -i恢复后解决那些数字串的文件，查询一下就发现都被解决了！</p>
<p>后续：之后系统一直稳定，无意中又在log中发现启动gcc.sh，查询过去发现在lib64中也有2个文件，不过这2个比较好搞定，再将删除后在.Trash-0里的也删除，init.d下也生成了一个新执行文件也一并删除。 看来得养成常看日志的好习惯阿。<br />
病毒表现：<br />
网络流量暴满，疯狂地向香港的一个IP发数据，同时在top里面表现为随机的10位字母的进程，看/proc里面的信息，则为ls，cd之类常见的命令，CPU利用率也在top之首。杀死该进程后，会再随机产生一个新的进程。</p>
<p>查找步骤：<br />
一、/proc/_pid/cmdline里面都是伪造的信息，ps显示的内容也一样，基本上为下面一些常见的命令，混淆管理员眼光查询线索，核验这一个，可以尝试把who等不常见的命令禁用执行权限，但随后却会发现该命令不停地出现在ps -Af里面：<br />
gnome-terminal<br />
ls -a<br />
route -n<br />
netstat -antop<br />
ifconfig<br />
sh<br />
cd /etc<br />
bash<br />
who<br />
cat resolv.conf<br />
ps -ef<br />
cat resolv.conf</p>
<p>由于大量的流量，先用iptables封住该IP，tcp连接不上后，它会改用udp向外发送，发送不出去后会进入监听状态，端口可以见下面的lsof结果。</p>
<p>二、ps -AfH，显示为以上的命令，但是ppid（父id）为1，则为init，所以这个应该是跟某个服务相关的。</p>
<p>ps -AfH<br />
root 17796 1 0 11:54 ? 00:00:00 route -n<br />
root 18008 1 0 11:55 ? 00:00:00 netstat -antop<br />
root 18011 1 0 11:55 ? 00:00:00 ifconfig<br />
root 18014 1 0 11:55 ? 00:00:00 sh<br />
root 18015 1 0 11:55 ? 00:00:00 cd /etc<br />
root 18016 1 0 11:55 ? 00:00:00 bash<br />
root 18028 1 0 11:55 ? 00:00:00 who<br />
root 18031 1 0 11:55 ? 00:00:00 cat resolv.conf<br />
root 18033 1 0 11:55 ? 00:00:00 ps -ef</p>
<p>用pstree可以看到真实的名字：</p>
<p>|-irqbalance &#8211;pid=/var/run/irqbalance.pid<br />
|-jbguikdekd<br />
|-jbguikdekd<br />
|-jbguikdekd<br />
|-jbguikdekd<br />
|-mingetty /dev/tty2<br />
|-mingetty /dev/tty3<br />
|-mingetty /dev/tty4<br />
|-mingetty /dev/tty5<br />
|-mingetty /dev/tty6</p>
<p>lsof 也可以持到具体的信息，同时还可以看到一个到103.240.141.54的tcp连接。<br />
三、在crontab的log里面，总显示执行了一个gcc.sh，经查找，是在/etc/cron.hourly/里面：</p>
<p># cat /etc/cron.hourly/gcc.sh<br />
#!/bin/sh<br />
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin<br />
for i in `cat /proc/net/dev|grep :|awk -F: {&#8216;print $1&#8242;}`; do ifconfig $i up&amp; done<br />
cp /lib/libudev.so /lib/libudev.so.6<br />
/lib/libudev.so.6</p>
<p>从这个地方可以看到病毒本体：/lib/libudev.so，这个文件看起来应该是一个库文件，但是用file查看，这个文件则为一个可执行文件，请注意下面的两个文件，一个为executable（可执行的），另一个则为正常的共享库（shared object）：</p>
<p># file libudev.so<br />
libudev.so: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped</p>
<p>正常的库文件应该为：</p>
<p># file libutil-2.12.so<br />
libutil-2.12.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped</p>
<p>把这个文件取消可执行权限，但是病毒故障依旧。<br />
四、因为这个病毒不断自我启动，并且父进程号为1，所以应该和init有关，所以查看/etc/init.d，发现里面果然有启动项，删除之。在/etc/rc.d/rc3.d/里面，也有类似的好几个启动项，一并删除。<br />
删除后，发现仍然不能杀死，杀死后马上重建一个新的，用lsof 查看：</p>
<p># lsof -R | grep &#8220;/usr/bin&#8221;<br />
top 9512 9478 root txt REG 253,0 63856 421158 /usr/bin/top<br />
fhmlrqtqv 17161 1 root txt REG 253,0 625729 393335 /usr/bin/fhmlrqtqvz<br />
fgqnvqzzc 17226 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17229 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17232 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17233 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17234 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
# lsof -R<br />
fhmlrqtqv 17161 1 root cwd DIR 253,0 4096 2 /<br />
fhmlrqtqv 17161 1 root rtd DIR 253,0 4096 2 /<br />
fhmlrqtqv 17161 1 root txt REG 253,0 625729 393335 /usr/bin/fhmlrqtqvz<br />
fhmlrqtqv 17161 1 root 0u CHR 1,3 0t0 4023 /dev/null<br />
fhmlrqtqv 17161 1 root 1u CHR 1,3 0t0 4023 /dev/null<br />
fhmlrqtqv 17161 1 root 2u CHR 1,3 0t0 4023 /dev/null<br />
fhmlrqtqv 17161 1 root 3u IPv4 50163 0t0 UDP *:57331<br />
ynmsjtlpw 17272 1 root cwd DIR 253,0 4096 2 /<br />
ynmsjtlpw 17272 1 root rtd DIR 253,0 4096 2 /<br />
ynmsjtlpw 17272 1 root txt REG 253,0 625751 393426 /usr/bin/ynmsjtlpwp (deleted)<br />
ynmsjtlpw 17272 1 root 0u CHR 1,3 0t0 4023 /dev/null<br />
ynmsjtlpw 17272 1 root 1u CHR 1,3 0t0 4023 /dev/null<br />
ynmsjtlpw 17272 1 root 2u CHR 1,3 0t0 4023 /dev/null<br />
ynmsjtlpw 17275 1 root cwd DIR 253,0 4096 2 /<br />
ynmsjtlpw 17275 1 root rtd DIR 253,0 4096 2 /<br />
五：再查init.d，发现在runlevel 3下有两个可疑的进程，这两个进程杀死后马上再启动，非常有嫌疑：</p>
<p>/usr/sbin/modem-manager<br />
/usr/sbin/wpa_supplicant</p>
<p>但是经过仔细的追查，却发现是由NetworkManager来启动的，在/var/log/messages里面可以看到相关的记录（话说差点远程把NetworkManager给干掉了！）<br />
六、再战lsof：<br />
再次快速重复查看：# lsof -R | grep &#8220;/usr/bin&#8221;，发现主进程不变，总是产生几个辅进程，并且一直处于dedeted状态，这说明主进程会快速产生几个子进程，然后这些进程之间相互检测，一旦检测到病毒主体被删除或更改，就会再产生一个。</p>
<p>解决：<br />
１、先删除掉init系统的启动项目，这样保证init不会主动启动病毒，同时这些监控进程不去检测init中的项目是否被删除，否则又会加大点麻烦；<br />
２、再禁掉crontab里面的东西，保证不自动启动；<br />
３、执行：chmod 000 /usr/bin/xxxxxxx &amp;&amp; chattr +i /usr/bin<br />
这个命令是复合命令，先禁止执行，再锁定/usr/bin，这样保证新产生的病毒写不到里面去。<br />
４、杀掉主进程，删除病毒主体。<br />
５、检查无误后，解开/usr/bin，删除掉可能产生的其他病毒体。<br />
总结：<br />
１、/proc里面的东西是可以更改的；<br />
２、lsof还比较忠诚，不直接读取/proc里面的信息，ps看到的就不一定真实，top看到的进程还是正确的。</p>
<p>附：find -o参数就是逻辑运算的or</p>
<p>http://blog.csdn.net/zj123259785/article/details/47820073</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/3579.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
