靶场战神为何会陨落?

news2024/9/22 19:45:18

我从第一个SQL注入漏洞原理学起,从sql-libas到DVWA,到pikachu再到breach系列,DC系列靶场,再到实战挖洞,发现靶场与实战的区别是极其大的。

我个人觉得在这种web环境下,难的不是怎么测一个漏洞点,而是怎么找一个漏洞点。靶场与实战最大的区别在于你不知道这个地方到底有没有漏洞,尤其是在复杂的业务数据交互下,数据包,参数,接口将极其复杂。

本文将以DC系列靶场为例子,分析靶场与实战的区别,同时分享实战思路与需要用到的一些工具插件。

(本文并不主讲靶场,因为网上已经有很多这种文章了)

DC-1

探测:nmap扫描端口,dirsearch扫目录,配合插件wappalyzer识别信息。

火狐wappalyzer插件下载地址:

https://addons.mozilla.org/en-US/firefox/addon/wappalyzer/

打点:识别出DrupalCMS,上MSF搜索利用,拿到shell。

找到flag1,根据flag1提示找到配置文件,在配置文件找到数据库账号密码,连接成功。

在数据库找出admin密码,发现有加密,根据靶场已有脚本修改数据库admin密码,成功登录web后台。

深入:进入后台后找到flag3根据提示cat
/etc/passwd。找到flag4,根据flag4提示进行find提权:find / -exec
“/bin/bash” -p \;找到最后的flag。

实战区别分析:

**探测阶段:**在拿到一个IP后除了进行基础操作nmap,dirsearch,指纹识别外,可能还要查找IP的域名,以及IP对应的公司,并根据公司名再次扩大信息搜集范围,到google,github以及资产搜索引擎上利用相关语法搜集默认密码,账号,邮箱等等信息。

并且根据关键字,及密码特征制作特定社工字典进行登录框爆破。而且实战一般情况dirsearch可能扫不出来什么东西,这时候还要到google和资产搜索引擎上查找。

靶场一般不会用到资产搜索引擎,例如fofa,鹰图,但它确实极其重要。

**打点阶段:**对于历史漏洞的利用不要只停留在指纹识别这些特征上,还要从数据包上分析。

但如果是登录框没进入后台哪有什么数据包呢?

如下:我在测某个系统时,将请求方法GET修改为POST直接爆出IIS版本,然后一个中间件nday通杀了两百多个站,而靶场一般是不会出现这种测试方法的:那就是想办法让系统报错!

实战中如果想对密码进行修改,我遇到过的:一种就是未授权调用后台修改密码接口修改,另一种就是忘记密码处的逻辑绕过,当然忘记密码这个功能可能前端并不会直接给出,需要自己通过js文件等等信息拼接口。

DC-2

探测:nmap探测IP端口服务,修改本地DNS文件访问靶场IP网站(找到crew字段),通过目录扫描找到后台登录口。

打点:通过cewl对网站定向搜集获取密码,通过CMS对应WPscan插件获取用户名,联合爆破进入后台。(jerry及tom的账号密码)

翻看后台提示后放弃wordpress历史漏洞,尝试ssh连接

jerry的ssh连接不上,tom连接成功(已得到的账号密码)

深入:直接SSH登录成功,执行命令发现rbash限制:

自然想到rbash逃逸,逃逸成功后拿到flag3

此时用su进行用户tom转换可以成功,拿到flag4后根据git字段提示,进行git提权拿到最后的flag

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

实战区别分析:

**探测阶段:**很多IP经过nmap扫描后发现只会开放80端口,且80端口为主站,渗透难度极大,且我用dirsearch等工具扫目录很少能扫出有用的目录。

在找脆弱资产时还需要结合关键字,资产搜索引擎,google语法等搜索:

例如这个站:(浙大某脆弱资产)只能通过google语法site:xxx搜索出来,因为直接访问域名为404界面,路径极其复杂无法爆破,资产搜索引擎没有记录。

**打点阶段:**登录口的爆破也极有可能遇到次数限制

此时需要尝试绕过:修改为随机IP,随机UA头,修改Referrer为127.0.0.1等等

这里推荐一款工具可以用来伪造IP爆破:

https://github.com/ianxtianxt/burpsuiefakeip

即使没有次数限制,可能也需要根据公司名称缩写,系统名称缩写配合admin,administrator等字段及特殊字符通过工具(白鹿社工字典)自制密码进行爆破。

因为靶场拿到flag1后根据提示crewl(一个可以搜集账号的工具)就知道要爆破进入后台,实战可能还会在忘记密码处耗费时间。

且实战不会有如下靶场提醒:(无法利用wordpress历史漏洞,需另寻他法)

实战过程中ssh连接可能也不会如此顺利(靶场直接使用wp登录界面爆破出来的密码登录)

DC-3

探测:扫端口,扫目录,查指纹(joomla)

打点:使用joomscan工具进行漏洞扫描,找到版本,searchsploit找到sql注入漏洞,脱库拿到账号密码,john解密成功。

登录管理员后台成功,找到上传点直接getshell。

无法在虚拟终端反弹shell,于是返回上传点创建反弹shell的php文件,kali接受成功。

深入:利用用searchsploit工具搜索及蚁剑上传进行操作系统提权成功。

实战区别分析:

**探测阶段:**扫描目录时会找到两个登录界面,在实战中,需要将注意力放在并不对外使用的界面,它们属于脆弱资产,例如员工登录入口,管理员登录入口,像对外开放的,可以注册的那些登陆界面,虽然功能点更多,但由于经常有人访问,会经常维护,它们的安全性会更高,不容易出洞。

**打点阶段:**靶场依旧是利用ndaysql注入脱库拿到账号密码,但实战过程中找到一个sql注入后去脱库的可能性不大。在src中一般只用证明该漏洞存在即可,在渗透过程中要脱库就一定要先拿到有明确的渗透权限。

DC-4

探测:访问IP,出现登录框,以admin为账号,bp默认字典爆破成功

打点:后台直接执行命令抓包,radio参数执行命令成功,进行shell反弹

深入:翻找文件,找到账号与密码字典,hydra进行ssh爆破成功,继续翻找文件,找到charles账号密码,su切换用户,根据关键字teehee进行提权找到flag

实战区别分析:

**探测阶段:**可以看到靶场并无脚本源码,且那么就减少了很多黑盒测试点,而且靶场必定会存在漏洞这也是与实战的重大区别之一,而且很容易就爆破成功

**打点阶段:**本靶场后台功能极其简单只有一个功能点,且一看就是要测试RCE,但实战你遇到的可能是如下界面:

会有很多模块,很多功能需要测试,对这种后台打点通常会先尝试文件上传漏洞,因为上传点更容易寻找,而RCE测试点则极为复杂,通常会在例如"系统""命令"等字段的模块,但其实所有模块都可能存在RCE,因为模块本身就是前端与后台执行功能的地方,黑盒测试你无法从前端界面直接看出究竟哪个模块调用了执行命令的参数。

所以黑盒测试RCE需要将前端功能点转换为数据包,从接口,参数进行测试。

DC-5

探测:nmap扫端口,dirsearch扫目录,指纹识别

打点:在扫出来的目录中翻阅时发现存在文件包含,直接以file参数读取成功。

确定为本地包含后,找到靶机日志,将webshell写入日志,getshell成功。

深入:利用searchsploit对/bin/screen-4.5.0进行本地提权成功。

实战区别分析:

**打点阶段:**靶场文件包含的漏洞特征很明显,但实战中就并不会有这类提示,黑盒测试的思路就是多猜。而且在实战中想要利用文件包含进行getshell的难点就是找不到正确的路径和权限不够,并不会像靶场这样直接就能爆破出来,并且能直接包含。

实战更多的步骤还是在找漏洞而并不是测漏洞。

DC-6

探测:nmap扫描端口(22,80),dirsearch扫描目录,whatweb识别

打点:发现wordpress指纹,使用wpscan扫描,使用提示的命令cat
/usr/share/wordlists/rockyou.txt | grep k01 > password爆破进入后台。

需要修改本地dns文件才能访问靶场。

在后台发现使用activity monitor,使用searchsploit搜索,利用脚本getshell.

深入:在后台文件找到graham账号密码,于是进行ssh登陆成功,再次找到免密码执行的sh脚本,利用脚本完成提权。

实战区别分析:

**打点阶段:**本靶场发现RCE有两种方式,一是nday探测二是手测,漏洞点出现在输入IP的字段,也算是RCE的高发点,在实战过程中像交换机路由器后台也通常会有类似功能点,可以进行RCE测试。

DC-7

探测:nmap探测端口,发现端口80与22(估计又要ssh爆破),扫描出目录:/user/login

打点:访问IP看到如下提示

到github上搜索左下角名称:Dc7User拿到账号密码,于是进行ssh连接成功

翻找文件,找到一个邮箱,根据邮箱内容找到脚本文件(属于root主),发现可执行drush命令,通过drush命令进行web界面密码修改,并成功登录。

基于Drupal 8特性,安装好插件后上传webshell连接成功。

深入:,将反弹shell的命令添加到先前的脚本中,因为先前找出来的脚本属主为root进行权限提升。

实战区别分析:

**打点阶段:**打点阶段用到的github信息搜集极其重要,在实战中通过账号密码直接登录ssh或者数据库或者web后台也是存在较大可能的。

在github上也经常能发现公司代码、账号密码、个人信息或客户key等敏感信息。

常用github搜索语法:

in:name admin 仓库标题搜索含有关键字admin

in:readme test Readme文件搜索含有关键字

user:admin 用户名搜索

language:java admin 在java语言的代码中搜索关键字

github信息搜集工具:https://github.com/FeeiCN/GSIL

本靶场的后台功能点还是很多的,但通过drush命令进入后台感觉还是属于靶场的味道。在实际挖洞过程中,如果账号密码无法爆破,更多可能是分析js文件(从js文件中找更多js再从js中提取接口),找隐藏接口,也就是前端页面并未显示有注册修改密码等功能,但可以从js中找到接口,实现登录后台的目的!

这里分享一个很适合找敏感接口信息的bp插件HAE:https://github.com/gh0stkey/HaE

DC-8

探测:nmap扫描端口(22,80),whatweb指纹识别

打点:访问靶场IP点击左方,出现参数。

加单引号后报错,用sqlmap拿到数据john解密拿到账号密码,进入后台。

此处插入webshell配合msf直接getshell成功。

深入:执行find / -perm -u=s -type f 2>/dev/null,根据exam4完成提权.

实战区别分析:

**打点阶段:**靶场依旧是利用的靶场思路sql注入拿到账号密码,再进入后台.但不要觉得sql注入实战很容易挖到(看你挖什么资产了),一般出sql注入就是一个高危.而且靶场sql注入还是一个前台的sql注入,这种get传参的前台sql注入已经是很多年前的了,实战中基本不要想遇到,但也要去测试.

靶场中的getshell方式实战中我没遇到过,这种插入方式感觉更像XSS漏洞测试处.

DC-9

探测:nmap探测端口,发现端口80与22(filtered状态)

打点:通过dirsearch扫出search.php,manage.php目录,进入后直接找到sql注入点。

sqlmap脱库MD5解密拿到账号密码登录manage.php后台。

根据File does not exist提示进行文件包含利用?file=…/…/…/…/

FUZZ系统文件找到/etc/knockd.conf,泄露7469 8475
9842端口。通过nc敲开端口,根据/etc/passwd读取账号密码进行ssh爆破。

登录爆破出的账号翻文件搜集字典,再次进行ssh爆破出新账号。

深入:登录新账号,先执行sudo
-l,找到python脚本,分析利用脚本完成提权。

实战区别分析:

**打点阶段:**靶场sql注入点较为经典,处于搜索框。且虽然存在sql注入,但如果只添加单引号并不会出现报错,还需要进一步探测才能发现!

这里推荐一款常用工具:

https://github.com/synacktiv/HopLa

BP辅助payload插件,可以一键插入常用payload,不用额外再找字典等等。

对于sql注入的黑盒测试不要局限思路,你觉得可能带入数据库的参数都需要测试,尤其是在排序例如desc等不能被预编译的字段。

打点处的文件包含漏洞算是一种实战思路:也就是?file=…/…/…/etc/passwd或者?path=…/…/…/etc/passwd这类payload可以在挖洞过程随机添加,不一定要对应着功能点才去测试,只要存在file,download等敏感字段都可以添加尝试,因为这可能是隐藏功能点。

靶场可能更多的功能是练习单个的知识点,实战少遇到的知识点,比如一个新手可能挖半年漏洞都无法getshell一次,更别提后渗透等等了。但在打靶的同时也要关注对nday,1day漏洞的黑盒分析,并进行总结。

例如下对权限绕过的一个分析总结:

1:大小写替换绕过

/api/home/admin–/api/home/ADMIN

2:通配符替换字符:

/api/user/6—403

/api/user/*—200

3:路径穿越:

/api/home/user—403

/api/MYPATH/…/home/user—200

/api/home/…;/…;/…;/…;/home/user—200

除此外还要关注最近的系统或者框架0day例如SQL注入,RCE等等它们的注入参数是哪个,目录特征怎样?这样在实战过程中靶场战神才不至于陨落。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是场外个股期权?带大家一篇文章了解!

今天带你了解什么是场外个股期权?带大家一篇文章了解!场外个股期权是指不在正式的交易所内,而是在场外市场通过双方直接协商的方式进行交易的个股期权。这种期权允许买卖双方根据自身的需求和风险偏好定制期权的条款,如行权价格、…

没有35类可以做特许经营加盟不!

前几天有个老客户找到普推知产商标老杨,没有35类可以做特许经营加盟不,在35类有个小类叫做“特许经营的商业管理”,但是35类这个主要指的为他人提供的,所以就是没有35类广告,照样就可以做特许经营加盟。 比如已经有43…

云计算的成本:您需要了解的 AWS 定价信息

AWS 定价方案、免费套餐优惠以及通过预先预留容量来降低总体成本的选项。 欢迎来到雲闪世界。越来越多的企业开始转向云基础设施而非本地数据中心,云领域的竞争空前激烈。主要参与者甚至不惜削减成本并提供令人难以置信的折扣,以在云市场中占据一席之地。…

BUUCTF—[网鼎杯 2020 朱雀组]phpweb

题解 打开题目是这样子的。 啥也不管抓个包看看,从它返回的信息判断出func后面的是要调用的函数,p后面的是要执行的内容。 那我们直接执行个系统命令看看,可以看到返回了hack,估计是做了过滤。 funcsystem&pls 直接读取源码…

C#编程语言及.NET 平台快速入门指南

Office Word 不显示 Citavi 插件,如何修复?_citavi安装后word无加载项-CSDN博客 https://blog.csdn.net/Viviane_2022/article/details/128946061?spm1001.2100.3001.7377&utm_mediumdistribute.pc_feed_blog_category.none-task-blog-classify_ta…

2024下半年小红书短剧营销怎么玩?

短剧赛道不断升温,各行业品牌相继入局,「韩束」借短剧推爆新品,实现社媒平台的流量断层第一;「茶百道」在剧中植入产品和门店位置,品牌曝光量过亿…… 同时,小红书在6月上海微短剧大会上宣布大力拓展微短剧…

基于Tomcat的JavaWeb(ASP)项目构建(图解)

目录 配置IDEA的TOMCAT环境 环境设置 导入API(可选) 创建项目 构建项目 ​编辑 运行项目 项目结果 ​编辑 查看配置基础项目 配置IDEA的TOMCAT环境 环境设置 导入API(可选) 创建项目 构建项目 运行项目 项目结果 查看配置基础项目 了解Web Application: Exploded与…

值得入手的蓝牙耳机品牌推荐?四款值得入手的开放式耳机推荐

如果说推荐入手什么蓝牙耳机的话,我会推荐入手开放式耳机,因为在蓝牙耳机里,开放式的耳机类型其实也很有特点。它拥有更宽广的音场,因为其开放式的耳机设计,所以声音传播更接近自然环境,听音乐也能享受到身…

eclipse 导入或者打开项目总是弹出Marketplace Solutions available

如图所示: 解决方案: 打开项目的.projec文件夹,注释掉org.zeroturnaround.eclipse.jrebelNature即可

腾讯云 Nginx 服务器 SSL 证书安装部署(Linux)

看起来大家庭关注这个,刚发了一个《Nginx 服务器 SSL 证书安装部署(Windows)》,点击量还挺高,那就再发一个linux下的过程吧。希望能对大家有所帮助。 照例,先放官方废话: 说明 1、本文档以证…

如何量化员工的幸福感?XSENS动捕技术为零售业员工健康提供保障

零售业员工在搬运与摆放货物时经常面临关节负载过大所导致的肌肉骨骼类疾病的困扰。通过使用Xsens动作捕捉技术COLRUYT集团成功解决了工人在日常工作过程中所面临的人体工程学挑战。这彻底改变了零售业的职业健康和安全问题,并进一步提高了员工在工作中的幸福感。 挑…

深入理解 Babel - 微内核架构与 ECMAScript 标准化|得物技术

随着浏览器版本的持续更新,浏览器对JavaScript的支持越来越强大,Babel的重要性显得较低了。但Babel的设计思路、背后依赖的ECMAScript标准化思想仍然值得借鉴。 本文涉及的Babel版本主要是V7.16及以下,截至发文时,Babel最新发布的…

[数据集][目标检测]轮胎检测数据集VOC+YOLO格式4629张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4629 标注数量(xml文件个数):4629 标注数量(txt文件个数):4629 标注…

CDO的核心价值与角色深化

随着数字化浪潮席卷各行各业,首席数据官(CDO)这一角色日益显得重要,成为企业战略规划的核心。 他们的主要任务是深入挖掘数据潜能,通过精确的数据洞察为企业的成长和运营优化提供坚实的数据支持和策略指导。 首席数据…

C语言操作符详解2(含结构体、整型提升、算术转换)

文章目录 一、逗号表达式二、下标访问操作符[]、函数调用操作符()1.下标访问操作符[]2.函数调用操作符 三、结构成员访问操作符1.结构体2.结构的声明3.结构体变量的定义和初始化(1)结构体变量的定义(2)结构体变量的初始化 4.结构成…

数据结构(三)——双向链表,循环链表,内核链表,栈和队列

双链表 产生原因:单链表只有一个指向后继的指针,如果要访问某节点的前驱结点,只能从头遍历,也就是访问后继节点的时间复杂度为1,访问前驱结点的时间复杂度为n。 而引入双链表使得在插入、删除的…

C语言代码练习

今日练习: 34、通过指向结构体变量的指针变量变量输出结构体变量中的信息。 35、建立一个简单链表,它由3个学生数据的结点组成,要求输出各结点中的数据。36、从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入一…

【电机控制】永磁同步电机FOC控制—电流环PI参数整定

0. 前言 在了解电流环PI参数整定之前我们需要有以下几点基础知识: 1、了解什么是传递函数、传递函数的零点和极点。 2、了解极点对系统稳定性的影响。 有基础的小伙伴可以跳着看。 1. 传递函数与零点极点 1.1 传递函数 系统传递函数G(s)的定义是:在指零…

Pytorch – YOLOv9自定义资料训练

本篇将讲解目前最新推出的YOLOv9搭配Roboflow进行自定义资料标注训练流程,透过Colab上进行实作说明,使大家能够容易的了解YOLOv9的使用。 ►YOLO框架下载与导入 ►Roboflow的资料收集与标注 进入Roboflow官网,点选右上Sign up注册自己的帐号…

网站设计公司设计费用

网站设计公司的设计费用往往是一个让人头疼的问题。设计费用的高低涉及到多个因素,包括公司规模、项目复杂性、设计师经验等。本文将深入探讨网站设计公司的设计费用,并提供一些建议,帮助您在有限预算下实现最佳性价比。 1. 项目规模与复杂性…