!
也想出现在这里? 联系我们
创意广告

关于渗透测试与红队攻防演练那些事——打点过程

前言

本文仅仅是为了记录小白自己关于渗透测试与红队攻防演练的理解,大佬看见如有不合适的地方,欢迎批评指正。

首先有一点在鄙人看来,渗透测试和红队最大的区别就是:深度关注点

图片[1]-关于渗透测试与红队攻防演练那些事——打点过程-安全小天地

红队的本质也是渗透测试,但是打红队的时间鄙人看来需要对漏洞的理解、利用漏洞的能力等都会原原大于普通的渗透测试。

为什么会有这样的观点呢,主要是在这么多次攻防演练中,时间有限、压力不小,我们的关注点往往是能够快速拿到分数的点,例如OA、可以直接GetShell or Rce等Nday以及0day、弱口令权限、文件上传、SQL注入GetShell等,一切都是为了权限、数据。

渗透测试过程中需要关注的就非常宽泛,包括上述逻辑漏洞、SQL注入、弱口令、Nday、文件上传、任意文件读取等等,重点关注的是数量,至于漏洞可以是否可以拿到高权限、重大数据泄露等,咱们并不是一定要死磕(某一方面来说,这也是鄙人水报告的自我安慰吧)

举一个比较明显的例子吧,任意文件读取漏洞,对于渗透测试报告来说,已经可以交差;但是对于攻防演练,任意文件读取,你还得读出来有用的数据,例如CMS的配置文件,系统安装程序(例如mysql)的配置文件,然后再考虑能不能连接数据库,重点就是进一步利用,也就是需要深度挖掘,如果读不到任何有用的或者读取到了有用的,但是没办法利用(例如,读到了thinkphp的database.php)

图片[2]-关于渗透测试与红队攻防演练那些事——打点过程-安全小天地

但是人家不出网,你也没有任何其他办法,那怎么办呢,于鄙人来看,这个洞就没必要死磕,换一个再重新开始吧

前期了解

前面没用的话,说的有点多,大家可能更加关注的是怎么进行渗透测试与红队攻防演练

先来聊聊啥是红队打点,个人理解是:打点就是从0到1,是撕开口子的过程

和常规安服的渗透测试不同,安服的渗透测试限制得比较死,可能是给你个准备上线的平台要求按漏洞点挖,也可能是把后台账号密码都交给你了让你去挖点漏洞啥的。往往这个情况下,咱们目标明确就是死磕这一个地方,而且咱们可以与客户进行协商,如果长时间外围打不到数据,可以使用测试账号进入后台进行梭哈,这点在红队中,可以理解成社工钓鱼,不过这对话术与胆量都是不小的挑战,有大佬这方面有思路的,希望可以与佬进行讨论

这里讲的红队打点,是相对没那么限制,更像真正的黑客攻击行为,在鄙人打的攻防演练中,可能就给你个企业名称,要求你打进去,这时就需要更全面的信息收集,例如主站,子站,子域名,过期域名、备案号、公众号、APP、小程序、邮箱、IP,等等所有与目标有关的资产,或者进行社工钓鱼甚至在申请之后进行近源攻击等。

借用某位大佬说的一句话:渗透的本质就是信息收集

如何更高效更全面的信息收集成为了一场攻防演练中很关键的一环,毕竟不少攻防演练是重复漏洞提交是不算分或者分数递减,而蓝方单位的分值也是有上限的,我们需要在攻防演练一开始,就要尽量的做到第一个提交打进去的。

信息收集

这边以目标为一个官网(WEB)为例阐述一下鄙人的思路

图片[3]-关于渗透测试与红队攻防演练那些事——打点过程-安全小天地

初始:1个官网(需要提前浏览了解业务、上下游)

优先被动信息收集,再主动信息收集(按顺序):

  1. 查备案号:官网的同一注册者下的其他域名,备案域名等(先收集主域名)
  2. 查子域名:所有的主域名收集好后,收集其下的子域名(官网里面的友情链接、业务跳转链接、搜索引擎、资产测绘引擎记录的)
  3. 查旁站:这个主要是注意目录建站的,参考博客园
  4. 查IP:对所有的主域名+子域名,查询真实IP、历史解析记录IP(宁杀错不放过)
  5. IP反查域名:对所有的IP查询,再反查关联的域名(同一IP下的网站)

此时可能会出现新的目标资产域名,然后重复上述操作即可

  1. C段扫描:对所有的IP扫描C段或者B段(这个对于目标较大的情况下适用,购买多个服务器会优先分配同一段内的地址,鄙人看来类似于打包吧)
  2. 此时就拿到了很多新的IP,再次进行IP反查域名等操作
  3. 以此类推,将收集好的IP,全部扫端口服务
  4. ……

扫到服务后建议进行分类,例如web类,数据库类,其他服务等

看个人爱好,鄙人的顺序主要是WEB、历史洞、然后就是其他资产

搜集工具

被动信息搜集:

  1. 爱站网、站长之家
  2. 企业查询网站(爱企查、企查查)
  3. 证书:crt.sh
  4. 网络搜索引擎(censys、zoomeye、fofa、shodaw、hunter等)
  5. 威胁情报平台(ViusTotal、微步、VenusEye等)
  6. 谷歌语法(主要是使用site、filetype、intext等搜索子域名、泄露的文件、邮箱等)
  7. 在线指纹识别(云悉等)
  8. 找源码或者托管信息(GitHub、gitlab、码云、网盘等,有机会捡到一些key、账号密码等漏)

主动信息搜集:

  1. 子域名(oneforall、subfinder、ksubdomain 等)
  2. 目录扫描(dirsearch、urlfinder、御剑 等)
  3. C&B段端口(御剑、fscan、Nnmap、hping3 等)
  4. 指纹识别工具(whatweb、finger、Ehole等)
  5. 浏览器插件(findsomething、wappalyzer 等,可以做点指纹识别,识别文件目录路径)
  6. 翻js找接口漏洞(jsfinder 等)
  7. Fuzz隐藏参数(arjun 等)
  8. 信息收集综合工具,可能还带有漏扫功能(nuclei、ARL灯塔、水泽、reNgine等)
  9. 各种组合用起来也挺顺手的工具,例如Eeyes棱眼(拿到大量域名后,获取其真实IP并整理成C段);Ehole棱洞(重点系统指纹识别,OA、VPN、weblogic…拿到大量IP的时候用),可以和棱眼结合使用。
  10. 漏扫,部分漏扫也带信息收集功能(AWVS、goby、xray、poc-bomber 等)

测试流程

判断网站的类型

编程语言可以测试index.{php,asp,aspx,jsp,do,action}也可以在返回头信息看到

确定网站类型来梳理渗透思路,不同的网站类型,测试手法会有细微的区别,这里主要是避免多余的测试,造成太大的动静。

了解公司业务及web服务的功能

这一部分说的比较全,在渗透测试过程中,基本都要有所考虑,红队打点过程通常鄙人也会全部尝试,然后才可能会有下一步吧(主要鄙人菜)

了解公司业务也就是寻找可能的漏洞点:

  • 是否有搜索框能否注入或XSS
  • 是否有留言框能否XSS打cookie
  • 有登录尝试登录框是否有sql注入或XSS
  • 是否有验证码 验证码能否被识别 验证码能否被无视
  • 注册是否有sql漏洞
  • 是否能注册管理权限的账号
  • 验证手机的情况下 是否能无限轰炸 是否能任意更改 验证码是否有时间验证 验证码是否相同 是否能爆破验证码
  • 登录是否能越权 未授权访问 SQL注册测试
  • 个人信息是否有存储型XSS
  • 个人信息能否CSRF 有验证机制能否绕过
  • 个人信息是否存在越权 改变uid等敏感参数检测是否越权 平行越权 垂直越权
  • 头像上传是否能getshell 直接getshell 解析漏洞 上传漏洞 是否能上传txt
  • 修改密码能否CSRF 有验证机制能否绕过
  • 找回密码是手机号码验证 是否能无限轰炸 是否能任意更改 验证码是否有时间验证 验证码是否相同 是否能爆破验证码
  • 是否有购买商品功能 任意修改支付金额 任意修改商品数量 收货地址存储型XSS
  • 配置检查
  • API接口安全
  • 逻辑错误漏洞

Nday测试

各种OA Nday的测试、shiro框架测试、fastjson反序列化等是鄙人攻防演练最喜欢的点,其他的主要还是看信息搜集吧

未授权接口测试

这里主要是对webpack、vue等站点进行js查询接口,寻找未授权,这个也是很实用的

0day梭哈

佬如果手握大量0day进场,那就不用那么麻烦,大佬们可以直接搞到大量资产的指纹后直接找对应的源码现场审给洞出来。

图片[4]-关于渗透测试与红队攻防演练那些事——打点过程-安全小天地

总结

鄙人手艺不精,撰写这篇文章,写的也比较啰嗦,可能没有什么太多有用的技巧,大佬有什么独特见解,还请批评指正,谢谢

欢迎各位大佬如果有更好的信息收集顺序、更好的思路和工具,欢迎私信交流学习共同进步。


「渗透云记」公众号里主要记录我每天的所思所想,我会坚持更新质量不错的文章,感兴趣的小伙伴可以扫描下方二维码,谢谢支持! 安全小天地 - 公众号 - 渗透云记
© 版权声明
THE END
喜欢就支持一下吧
点赞7851 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容