问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
记某地市HW|外网打点到Linux内网横向初体验
渗透测试
记一个菜鸟首次从外网成功打点到Linux内网横向的体验
### 申明:本文仅供技术交流,请自觉遵守网络安全相关法律法规,切勿利用文章内的相关技术从事非法活动,如因此产生的一切不良后果与文章作者无关 **0x00 前言** 前段时间参加了一次为期九天的某地市攻防演练。总共九支攻击队伍,约200家防守单位,其中公共目标约60家。演练期间全天24小时均可开展攻击,演练平台由国内某知名安全大厂提供技术支持。大概情况是:因为项目比较忙,第一天我们打了一天之后,都出差去了,后面就是利用一些零散时间来打。可能其他队伍情况也差不多,感觉大家都没怎么有时间打,团队此次获得了算不错的成绩。 针对此次演练我不得不吐槽一下了:平台方为每只队伍都提供了一台Windows和一台Linux vps作为反弹shell的机器,回连端口有限制,且赛方规定不得使用未经授权的IP进行攻击,否则会被扣分。所以为了不被扣分,只能使用平台方提供的vps了。vps拉垮不说,上面还什么环境都没有,第一天我和我队友搞了一下午环境(白眼)。另外要吐槽的就是提交成绩时,选择防守方是下拉框,200家单位,找都不好找,不会做搜索功能么(白眼)。 吐槽归吐槽,最后还得感谢赛方和平台方的辛苦付出来组织这场演练,让我这个菜鸟又获得了一次成长的机会。(坏笑) **0x01 演练复盘** 总结和分享才是学习中的最大受益者。此次演练因为没怎么有时间打,思路也都是比较常规的,没有什么骚骚的奇技淫巧,总体来说也确实没多少东西可分享,但我自己还是想做一次记录,希望能抛砖引玉吧。以下是我此次演练中所用到的技术和思路分享: **一、外网打点** 1. **信息收集** 与平常做渗透不一样的是,HW中的目标很多,我们不可能手工式地去一个一个地收集资产,收集信息。尤其针对公共目标,一定要快,慢了就被别的队伍提交了。柿子要捡软的捏,所以我们需要用到一些自动化的工具或平台,帮助我们快速找到软柿子,快速打点。 这里我使用到了两个自动化平台: 第一个是ARL(资产侦察灯塔系统),项目地址: <https://github.com/TophantTechnology/ARL> 可以用来做资产收集,子域名爆破,服务弱口令爆破,以及一些常见漏洞POC探测等。 ![arl.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-fcfbec6cc377c8dc7e743e5072db02c56f91457f.png) 第二个是水泽—信息收集自动化工具,项目地址: [https://github.com/0x727/ShuiZe\_0x727](https://github.com/0x727/ShuiZe_0x727) 只需要输入根域名即可全方位收集相关资产,并调用Nuclei进行漏洞探测。 ![shuize.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-5b7564eb9da1c21a13b4c389b400cf10ec782deb.png) 对于这两个平台我是这样使用的:赛方一般都会发一个资产信息参考表,拿到之后,我首先会将网址链接,IP分别拷贝到一个txt文件里进行整理,对于网址链接我还会使用ctrl + H将http://,<a>https://,www给替换为空,这样就能得到目标的一级域名。此时会产生两个txt文件:ips.txt,domains.txt。然后手工把内网地址给去除掉。这样做的原因是在ARL中创建资产分组时是区分IP和域名的,而使用一级域名就可以进行子域名爆破,水泽中是根据根域名来收集信息的</a>。 ![arl_新建资产.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-037b8d9239e9147629fbc4570d799f5d7de8a32a.png) 做好上面的步骤之后,配置好相关API\_key,确保key是有效的,然后在ARL中建好资产分组,添加监控任务,就可以开始跑了。 ![arl_监控.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-62dd6053d1a74ad42aaaccdb895fa27569f80c18.png) 水泽中只要执行: ```php python3 Shuize.py --domainFile domains.txt ``` 就可以坐等结果了。 注:ARL中默认是不会对gov.cn,edu.cn,org.cn这样的域名后缀进行资产收集的,我们只需在配置文件中进行注释就可以了: ![arl_config.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-19b7d2d313833b316207631c502b226be88c74fd.png) 这两个平台建议安装到自己的vps上,且使用docker安装,相关操作以及更详细用法请参照项目地址。 水泽记得检查更新Nuclei的引擎和模板。 作为一个有点经验的脚本小子,这样去使用这两个平台就可以了,专业红队要么就是有自己内部更好的工具,要么就会对这些优秀项目进行二次开发,二次改造。(辛酸) **2.漏洞发现** 使用灯塔和水泽进行自动化信息收集时,也会对漏洞进行探测,灯塔中有一些内置的POC,会对常见服务弱口令进行爆破;水泽联动的Nuclei也是一款不错的漏洞探测工具,官方项目地址:<https://github.com/projectdiscovery/nuclei> 在前期的信息收集中,ARL可以帮助我们找到一些登录地址,探测有无shiro,服务弱口令等。对于登录地址可以试试有没有弱口令(毕竟弱口令是HW中的一大洞!队友这次就是手工找到一个H3C的弱口令),哪套CMS,有无相关CMS漏洞?Shiro可尝试爆破密匙(我从没爆破成功过,呵呵),服务弱口令一般不会有(然而这次ARL直接探测到一个高端口的SSH弱口令,不知道是不是运维为了方便管理私自开的......) 若水泽联动Nuclei探测到一些漏洞,那就直接poc/exp去打(一般不会有这么好的运气,有直接可以让你利用的漏洞) 倘若前期通过自动化工具未发现弱口令或漏洞,那此时或许就该手工了。还是得找好打点的目标,政务系统一般都会上政务云,难打;银行、金融难打;医院、学校等可以试试。 针对特定目标的渗透,就是那些常规手法了(扫目录,上扫描器,爆破......)。自动化没打到点,那就要对收集到的信息进行整合,自己再通过手工、使用针对性的的脚本去进行信息收集,自动化虽好,但收集到的信息深度可能不如针对性脚本,不如人脑的整合。我平常用的漏扫脚本/工具(awvs,xray,goby这些就不说了): vulmap:<https://github.com/zhzyker/vulmap> poc-bomber:<https://github.com/tr0uble-mAker/POC-bomber> 其他还有针对JAVA组件、框架的利用工具:shiro,fastjson,spring,log4j2,weblogic,jboss...... 更多工具,请参考这个项目:<https://github.com/guchangan1/All-Defense-Tool>。 **3.漏洞利用** 这次队友是通过H3C的弱口令登进去后配置VPN,就直接进内网了,后面又在内网发现了一个锐捷网关的RCE漏洞,编号为cnvd-2021-09650。 我是通过ARL探测到一个高端口(1w以上)的SSH弱口令打点进去,后使用cve-2021-4034提权脚本获取到服务器root权限的shell。 最后我只想说,这次打点全靠弱口令,弱口令yyds! **二、Linux 内网横向** **1.内网信息收集** 获取到的是一台Linux服务器,之前打靶场和实战碰到的内网都是在Windows服务器下的。这次也是一边学一边打了。相比于Windows下的内网横向,Linux并没有诸如经典的哈希传递攻击手法。Linux内网横向的思路就是那么几点:(1)通过history查看历史命令,看能否发现敏感信息;(2)翻文件,查找数据库等配置文件,有无敏感信息泄漏;(3)探测内网服务器上开放的服务有无弱口令、未授权访问、web服务有无漏洞等。 内网扫描这里推荐使用fscan,项目地址:<https://github.com/shadow1ng/fscan>。 但很遗憾,初步信息收集翻文件并未找到有价值的信息;通过fscan对内网整个网段进行扫描,也只发现了几台机器,并没有爆出有服务弱口令、漏洞等,只是发现开放了一些web服务。 由于自己对Linux并不熟,更喜欢图形化,且后面几天要出差,于是为了方便后续进行团队作战,我使用了CrossC2插件将获取到的Linux服务器上线CS4.4,CrossC2项目地址:<https://github.com/gloxec/CrossC2>。 (注:此处我只是将Linux上线了,能执行shell命令,但插件的内置功能使用时似乎有点问题,这个后面再做探究) **2.搭建socks隧道** 后面队友使用frp搭建了socks5隧道,成功进入内网,还发现了两个web服务的弱口令,两个未授权访问,一个redis弱口令(可以反弹shell,但权限很低),但仍没找到可以横向到其他服务器的突破口。 **3.横向移动** 本来是打算放弃这个目标了的,但周末自己花了一天时间打其他目标,操作一天都没找到入口点,一个shell没有,就找到弱口令(我承认我很菜)。在演练结束的前一天晚上,想到还没有录屏,且第一次遇到Linux横向也想再研究一下,于是申请了加班,想着先把视频给录了,然后再去仔细翻翻文件,看看历史命令找找突破口。 录屏时,我把之前的操作都来了一遍,在我按照队友给我的报告文档一个个录屏的时候,当我录到一个数据采集设备的web管理端时候,多点开了几个模块看了下,就惊喜的发现这上面居然还有类似设备统计管理的功能,按照上面的统计网络设备有一台路由器,主机有四台Linux,通过查看选项可以看到关于设备的一些参数: ![image.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-22e69b8892372160e559451f26c3766d2fb80fdd.png) 这不得拿下一波服务器?浏览器中鼠标右键检查,将type由password改为text就可以看到明文密码了。且这四台Linux密码都一样,其中一台为我们拿到的跳板机。之前费尽精力也找不到突破口的窘境,最后居然就这么轻易给破解了。。。。。。后面还发现这几台机器居然都是出网的,立马来一手wget从vps下载马子,执行上线CS的操作: ![20220701212605.png](https://shs3.b.qianxin.com/attack_forum/2022/07/attach-9e5c12c3fabe204c59496db6eabdffa68fcfac29.png) 还有一台路由器,有多个IP地址,应该能通过它到其他网段去,但搞不下了。时间也晚了,第二天还要出差,队友也没时间打,于是就把工具和木马都给删掉了,最后一天躺平了。。。 **0x02 总结** 1.通过此次攻防演练,学会了使用frp搭建一级代理,使用CrossC2插件让Linux上线CobaltStrike。具体操作网上已有很多文章可以参考,我后面也会自己再实操写文章来详细说下。 2.起初本来是想让Linux上线msf,利用里面的模块来进行横向的,但在官方提供的vps上shell反弹不回来,在自己的vps上就可以,不知道是不是我的vps是ubuntu/debian系,而官方提供的是centos的原因。这我又不得不吐槽一下,还是自己的vps用着香。 3.信息收集是渗透的灵魂,贯穿渗透的整个过程。这次切实体会到团队大佬说的渗透的本质是信息收集,越细心收获就越大。 喜欢攻防,喜欢作者文章的朋友,欢迎通过微信公众号:沃克学安全,添加作者好友一起讨论哦~ 转载请注明原创和出处,谢谢~
发表于 2022-07-08 09:35:03
阅读 ( 14079 )
分类:
渗透测试
7 推荐
收藏
0 条评论
请先
登录
后评论
walker1995
2 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!