记某地市HW|外网打点到Linux内网横向初体验

admin 2022年7月8日18:55:29评论162 views字数 4357阅读14分31秒阅读模式

申明:本公众号所有文章仅供技术交流,请自觉遵守网络安全相关法律法规,切勿利用文章内的相关技术从事非法活动,如因此产生的一切不良后果与文章作者无关

本文首发于奇安信攻防社区

原文地址:https://forum.butian.net/share/1738


0x00  前言

    前段时间参加了一次为期九天的某地市攻防演练。总共九支攻击队伍,约200家防守单位,其中公共目标约60家。演练期间全天24小时均可开展攻击,演练平台由国内某知名安全大厂提供技术支持。大概情况是:因为项目比较忙,第一天我们打了一天之后,都出差去了,后面就是利用一些零散时间来打。可能其他队伍情况也差不多,感觉大家都没怎么有时间打,团队此次获得了算不错的成绩。

    针对此次演练我不得不吐槽一下了:平台方为每只队伍都提供了一台Windows和一台Linux  vps作为反弹shell的机器,回连端口有限制,且赛方规定不得使用未经授权的IP进行攻击,否则会被扣分。所以为了不被扣分,只能使用平台方提供的vps了。vps拉垮不说,上面还什么环境都没有,第一天我和我队友搞了一下午环境(白眼)。另外要吐槽的就是提交成绩时,选择防守方是下拉框,200家单位,找都不好找,不会做搜索功能么(白眼)。

    吐槽归吐槽,最后还得感谢赛方和平台方的辛苦付出来组织这场演练,让我这个菜鸟又获得了一次成长的机会。(坏笑)


0x01  演练复盘

    总结和分享才是学习中的最大受益者。此次演练因为没怎么有时间打,思路也都是比较常规的,没有什么骚骚的奇技淫巧,总体来说也确实没多少东西可分享,但我自己还是想做一次记录,希望能抛砖引玉吧。以下是我此次演练中所用到的技术和思路分享:

一、外网打点

  1. 信息收集

    与平常做渗透不一样的是,HW中的目标很多,我们不可能手工式地去一个一个地收集资产,收集信息。尤其针对公共目标,一定要快,慢了就被别的队伍提交了。柿子要捡软的捏,所以我们需要用到一些自动化的工具或平台,帮助我们快速找到软柿子,快速打点。

    这里我使用到了两个自动化平台:

 第一个是ARL(资产侦察灯塔系统),项目地址:https://github.com/TophantTechnology/ARL。可以用来做资产收集,子域名爆破,服务弱口令爆破,以及一些常见漏洞POC探测等。

记某地市HW|外网打点到Linux内网横向初体验

  第二个是水泽—信息收集自动化工具,项目地址:https://github.com/0x727/ShuiZe_0x727。只需要输入根域名即可全方位收集相关资产,并调用Nuclei进行漏洞探测。记某地市HW|外网打点到Linux内网横向初体验

    对于这两个平台我是这样使用的:赛方一般都会发一个资产信息参考表,拿到之后,我首先会将网址链接,IP分别拷贝到一个txt文件里进行整理,对于网址链接我还会使用ctrl + H将http://,https://,www给替换为空,这样就能得到目标的一级域名。此时会产生两个个txt文件:ips.txt,domains.txt。然后手工把内网地址给去除掉。这样做的原因是在ARL中创建资产分组时是区分IP和域名的,而使用一级域名就可以进行子域名爆破,水泽中是根据根域名来收集信息的。

记某地市HW|外网打点到Linux内网横向初体验

做好上面的步骤之后,配置好相关API_key,确保key是有效的,然后在ARL中建好资产分组,添加监控任务,就可以开始跑了。

记某地市HW|外网打点到Linux内网横向初体验

水泽中只要执行: 

python3 Shuize.py --domainFile domains.txt

就可以坐等结果了。

注:ARL中默认是不会对gov.cn,edu.cn,org.cn这样的域名后缀进行资产收集的,我们只需在配置文件中进行注释就可以了:

记某地市HW|外网打点到Linux内网横向初体验

这两个平台建议安装到自己的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,通过查看选项可以看到关于设备的一些参数:

记某地市HW|外网打点到Linux内网横向初体验


    这不得拿下一波服务器?浏览器中鼠标右键检查,将type由password改为text就可以看到明文密码了。且这四台Linux密码都一样,其中一台为我们拿到的跳板机。之前费尽精力也找不到突破口的窘境,最后居然就这么轻易给破解了。。。。。。后面还发现这几台机器居然都是出网的,立马来一手wget从vps下载马子,执行上线CS的操作:

记某地市HW|外网打点到Linux内网横向初体验

    还有一台路由器,有多个IP地址,应该能通过它到其他网段去,但搞不下了。时间也晚了,第二天还要出差,队友也没时间打,于是就把工具和木马都给删掉了,最后一天躺平了。。。

     

0x02  总结

1.通过此次攻防演练,学会了使用frp搭建一级代理,使用CrossC2插件让Linux上线CobaltStrike。具体操作网上已有很多文章可以参考,我后面也会自己再实操写文章来详细说下。


2.起初本来是想让Linux上线msf,利用里面的模块来进行横向的,但在官方提供的vps上shell反弹不回来,在自己的vps上就可以,不知道是不是我的vps是ubuntu/debian系,而官方提供的是centos的原因。这我又不得不吐槽一下,还是自己的vps用着香。


3.信息收集是渗透的灵魂,贯穿渗透的整个过程。这次切实体会到团队大佬说的渗透的本质是信息收集,越细心收获就越大。


喜欢攻防,喜欢作者文章的朋友,欢迎通过微信公众号:沃克学安全,添加作者好友一起讨论哦~

转载请注明原创和出处,谢谢~


如果喜欢小编的文章,记得点赞+关注支持一下哦~,您的点赞和支持是我最大的动力

原文始发于微信公众号(沃克学安全):记某地市HW|外网打点到Linux内网横向初体验

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月8日18:55:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记某地市HW|外网打点到Linux内网横向初体验https://cn-sec.com/archives/1166759.html

发表评论

匿名网友 填写信息