攻防演练 | 记一次艰难的外网打点

admin 2022年7月5日22:35:34评论55 views字数 2923阅读9分44秒阅读模式

请点击上面 攻防演练 | 记一次艰难的外网打点 一键关注!

内容来源:先知社区

前言

这是某省HVV中的红队经历,这次的目标是某著名饮料企业。
这次的整个流程大概是:信息收集->SSO弱口令->源码泄露->SQL注入->密码复用->VPN进入内网,都是很基础的操作,组合拳打起来进的内网。

1.信息收集+SSO弱口令

首先子域名爆破,找到一个sso.example.com.cn(以下都用example代替),网站的title是“xxx集团单点登录系统”,登录不需要验证码,直接丢进burp开始爆破。我的习惯是先[常见用户名+常见密码]爆一下,不行的话再[常见人名+123456等密码爆一下],实在不行再考虑[常见人名+常见密码]。
很幸运,只用123456我们就得到了几十个能登录的用户名,比如litao、wangwei、zhangkai、liupeng等。
此外我们通过子域名爆破还找到了多个使用单点登录系统的网站,如网络学院、培训系统、桶装水、运输系统、销售系统等。
首先看了下上述网站有没有漏洞可以传马,网络学院可以上传用户的照片,但是会强制转换成png类型;桶装水、运输系统等都是用flash写的,看起来相当久远了,先忽略。
唯独培训系统,登进去空白一篇,只有几个侧边栏按钮可以点击。当时也觉得是个废弃的系统,也先不管。


2.人事APP

从子域名爆破的信息里找到了app.example.com.cn,在虚拟机安装其安卓版本的app之后,发现也可以用单点登录系统来登录。
登录后可以查看自己的身份信息、工资信息等,最有趣的是一个公司的通讯录,写着工号、部门、职位等。

攻防演练 | 记一次艰难的外网打点

抓了下app的包,涉及的接口及扫到的其他接口都没有漏洞,先搁置。


3.源码泄露

别的路子没打通,又回来看1中提到的培训系统。右键查看源码,去github搜了下,找到了当时开发的源代码,同时还有一些内网的地址和服务配置密码等,简单审计发现这个系统是需要一定权限才能显示更多信息。
接着从2中招可能具有权限的用户(且弱口令)来登录,最后找到一个某部门的主管登录后可以显示培训系统的内容。
攻防演练 | 记一次艰难的外网打点


4.SQL注入

从3登录的系统,简单测了下某几个接口,发现某个培训数据筛选的接口存在SQL注入。
攻防演练 | 记一次艰难的外网打点


直接丢进sqlmap一把梭。发现有这三个库:

[*] information_schema
[*] pg_catalog
[*] public


select version(): 'PostgreSQL 11.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit'


应该是个PostgreSQL,且主要的public库里有一千多张表,大约15G的数据。
简单翻了下,有面试、培训、奖金、生产等的业务信息。最有趣的是面试库,里面明文存储着密码。


5.招聘系统

于是直接访问其招聘系统apply.example.com.cn,使用注入到的密码进行登录。
基本都能登上,除了详细的个人信息外(身份证、住址、联系方式、学校学历、简历PDF),还会显示面试结果,即是否通过。
现在我们的目标是进入内网,需要找具有vpn权限的人。我们按照【岗位较高+入职时间晚+行政或IT岗】从2中通讯录筛选人员,然后与4得到的密码交叉对比,找到能登上招聘系统的人。
攻防演练 | 记一次艰难的外网打点
最终找到某高级别用户的姓名是张三丰,密码是zhang0612(不是其真实姓名、密码,仅供示意),可以登录上招聘系统,看到更详细的个人信息。


6.[重点]猜密码

目前的信息有:
姓名:张三丰
老密码:zhang0612
我们构造其公司邮箱[email protected]登录公司的VPN,未果。登录邮箱,未果。
使用招聘系统找到的身份证号可知生日为199x0612,我们查到其农历生日为0518,于是开始猜现在的密码。
猜的过程基于几个假设
(1)公司VPN或邮箱密码一般要求比较严格,需要有大小写字母和符号
(2)一个人喜欢将自己的常见密码进行变形,以满足高要求。如小写变大写,加!@#等符号,公历生日换农历等。

构造出以下密码:
zhang0612! zhang0612@ zhang0612# Zhang!0612 Zhang@0612 Zhang#0612 zhang0518! zhang0518@ zhang0518# Zhang!0518 Zhang@0518 Zhang#0518 等等。
最终使用[email protected]和Zhang0518!登上了公司的邮箱,但没有登上VPN。
攻防演练 | 记一次艰难的外网打点


7.VPN密码

简单看了看邮箱(未看敏感商业信息),发现了IT发的几封很有趣的邮件。
攻防演练 | 记一次艰难的外网打点
攻防演练 | 记一次艰难的外网打点
大致就是VPN密码默认aaaa1111,账号是工号。为了配合HVV,登录后需要改成强密码。
IT,听我说谢谢你。
我们这位大哥有没有改成强密码呢?好巧,没登录过所以还是aaaa1111。


8.使用VPN进入内网

用上面的工号和默认密码登录后,看到IT很贴心地为我们开放了所有网段的权限且部分标明了用途。
攻防演练 | 记一次艰难的外网打点
首先要找一台机器当做跳板,因为VPN比较慢而且经常异地登录的话很可疑。扫了下常见的漏洞,发现有一台是redis可以直接写公钥,写完登进去发现不出网但是ping是通的。我这边搭icmp隧道从来没成功过,于是果断换目标。
又找到一台redis是服务公网环境的,可以出网,于是用这台当做后续攻击的跳板。
借助这台跳板机发现内网各段没有任何的隔离,而且存在ZeroLogon和永恒之蓝等漏洞,脚本小子工具启动,点一点就把分数刷满了。


总结

当时算是第一次参加HVV实战,还没有掌握一些可以直接RCE的漏洞利用方式,而是被迫用了这样的“组合拳”来进内网,虽然过程很有趣但效率还是很低。

给防御人员提一点小小的建议:

  • 弱口令一定要改完

  • 不用的旧网站都关掉

  • 密码不要明文存储

  • 数据库做好分离

  • 邮箱和VPN等重要资产设定2FA

  • VPN尽量不开放给非必要人员

  • 陈年高危漏洞修一修

攻防演练 | 记一次艰难的外网打点

「天億网络安全」 知识星球 一个网络安全学习的星球!星球主要分享、整理、原创编辑等网络安全相关学习资料,一个真实有料的网络安全学习平台,大家共同学习、共同进步!

知识星球定价:199元/年,(服务时间为一年,自加入日期顺延一年)。

如何加入:扫描下方二维码,扫码付费即可加入。

加入知识星球的同学,请加我微信,拉您进VIP交流群!

攻防演练 | 记一次艰难的外网打点

朋友都在看

▶️3保1评 | 分保、等保、关保、密评联系与区别

▶️等保2.0丨2021 必须了解的40个问题

▶️等保2.0 三级 拓扑图+设备套餐+详解

▶️等保2.0 二级 拓扑图+设备套餐+详解

▶️等保2.0 测评  二级系统和三级系统多长时间测评一次?

▶️等保2.0系列安全计算环境之数据完整性、保密性测评

▶️等保医疗|全国二级、三乙、三甲医院信息系统安全防护设备汇总

▶️国务院:不符合网络安全要求的政务信息系统未来将不给经费

▶️等级保护、风险评估和安全测评三者的区别

▶️分保、等保、关保、密码应用对比详解

▶️汇总 | 2020年发布的最重要网络安全标准(下载)

▶️2022版 | 全国网络安全常用标准(下载)

欢迎扫描关注【天億网络安全】公众号,及时了解更多网络安全知识

原文始发于微信公众号(天億网络安全):攻防演练 | 记一次艰难的外网打点

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月5日22:35:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻防演练 | 记一次艰难的外网打点http://cn-sec.com/archives/1158331.html

发表评论

匿名网友 填写信息