问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
记一次C/S架构客户端配置文件泄露导致的内网沦陷
渗透测试
记一次C/S架构客户端配置文件泄露导致的内网沦陷
0x00 前言 ======= 起因:单位给了一个客户端系统的项目还给了账号,让我帮忙看看。  结果:客户端->Web->内网->域控->办公网。 注:由于目标单位所用的web系统以及服务器都是比较老的机子,所以可能没有很高的技术含量,不足之处还望批评指正。 0x01 餐前小菜 ========= (1)DLL劫持 -------- 由于是客户端的渗透,正好之前一直想研究一下DLL劫持,于是尝试了一下。 (2)分析启动时调用的dll -------------- 首先利用**火绒剑**监控分析一下客户端启动时调用的dll。  这里可以**动作过滤**一下,更快找到dll。  可以看到启动时调用了很多dll,我们选一个wldp.dll看看是不是存在dll劫持。  (3)验证是否存在本地调用dll的可能 ------------------- 我们验证是否存在dll劫持的方式就是找到wldp.dll,拷贝一份放到该客户端启动的文件夹下,在监控一下系统的启动,是不是直接读了客户端启动文件夹下的wldp.dll。  可以看到调用的是启动文件夹下的wldp.dll。 那么我们就可以在启动文件夹下方一个恶意的wldp.dll文件,在客户端启动时进行无意识的恶意操作。 (4)生成恶意dll ---------- 利用github上的工具: [strivexjun/AheadLib-x86-x64: hijack dll Source Code Generator. support x86/x64 (github.com)](https://github.com/strivexjun/AheadLib-x86-x64) 将dll转换成cpp 再编辑ThreadProc函数执行我们想要实现的恶意操作(我这里弹个窗)  之后再重新将cpp编译成dll放入客户端启动文件夹。 成功。  0x02 回归正题 ========= (1)配置文件泄露 --------- 上面的DLL劫持只是蛮研究一下,现在回归文章正题。 首先先看看这个XX信息管理系统文件夹中有什么配置文件 注意到**config.ini**文件  文件内容中出现userName及加密过的userpwd,userpwd无法直接解密,只能先记下来,看看后面能不能用到。 再往下翻,注意到一个**log4net.config**文件 文件中泄露了远程数据库连接的信息,远程数据库IP、端口、用户名、密码。  看到用户名,目测不是dba权限,先连接一下看看。  可以看到真不是dba权限。。 MSSQL不是dba权限,不会打。。先放着翻下数据库。 翻了下数据库,数据库中存放着是登录此客户端的用户信息,包括用户名、md5加密过后的密码啥的。猜测客户端登陆时是与此数据库进行验证的。  (2)C/S架构渗透 ---------- 接下来开始对客户端渗透 对于C/S架构而言,客户端不仅仅是https协议,还可能存在tcp、udp协议。 C/S架构渗透测试我们需要准备的工具如下: > **burp** > **proxifier** > **wireshark或者火绒剑(强烈推荐这个)** proxifier是用来做代理抓客户端的https包 wireshark或者火绒剑是用来抓tcp或者udp的包 我这里用proxifier代理进行了抓包,登录包括登陆后的功能都没有抓到任何https请求包,所以这部分我就略过了。 ### ①火绒剑监控进程 启动火绒剑监控客户端进程 登陆后的客户端出现了几个查询还有业务相关的文件导入导出的功能,我们点击一下查询。 返回来看看火绒剑中监控到客户端进程对外发起的网络请求有哪些。  发现一共对外两个IP发起了网络请求,**其中一个是刚刚数据库的连接地址,验证了我对登陆客户端验证的猜想,另一个地址请求的端口为1433也是个MSSQL数据库,**尝试一下拿刚刚那个数据库的用户名和密码能否连接。 连接成功且为**DBA**权限。  但是无法利用**xp\_cmdshell**  **xp\_dirtree**还是能执行的,可以翻翻有没有东西  查了一下这个数据库的ip,发现是云上的,顺道翻了一下数据库中的内容,发现和上一台数据库机子的表是一样的,但是这台云上的数据库数据量比之前那台大很多,这里猜测客户端请求逻辑应该是这样的。  ### ②转变思路 两个数据库ip连上了没有啥作用,那就看看这两个ip下是否还有**开放其他的端口。** 我对**数据库1**和**数据库2**的ip进行了全端口扫描,数据库1扫出来了10余个端口,不少端口下有着web系统。数据库2没有扫出其他的端口。  接下来的渗透就和正常的Web系统渗透一致了,指纹识别,历史漏洞,弱口令、注入等等。。。 在其中一个端口下,我发现了**IIS-PUT上传漏洞**并拿到了Webshell(这个这么久远的漏洞竟然还会存在,我也是没想到的。)  IIS-PUT漏洞的详情可以看这篇文章 \[\[WEB安全\]IIS-PUT漏洞 - 肖洋肖恩、 - 博客园 (cnblogs.com)\](<https://www.cnblogs.com/-mo-/p/11295400.html#0x04-iis-put%E6%BC%8F%E6%B4%9E%E6%BC%94%E7%A4%BA%E5%AE%9E%E6%88%98>) 我蛮提下,如果使用MOVE无法将PUT创建的**shell.txt**文件改名成**shell.asp**的话,可以利用下IIS解析漏洞,将**shell.txt**改名为**shell.asp;.jpg**试试。 #### **踩坑:** 不知道是不是我ASP马的问题,webshell可以连接且可以下载查看系统文件但是无法执行命令,会显示拒绝访问。  #### 解决方式: 替换上冰蝎马,在冰蝎中可以执行命令。 ```php whoami ```  ```php ipconfig ```  ```php systeminfo ```  系统为Win2003竟然是域控机子,我很诧异为什么域控机子会拿来开web系统 既然是域控机子那就想办法提权了,想着CS上线脏土豆无脑梭了。 #### 踩坑: 发现打了454个补丁,脏土豆无法梭哈  CS用脏土豆能够弹回来一个SYSTEM的Beacon,但是whoami执行完,仍然是**nt authority\\network service**权限。 MSF也尝试过仍没有提权成功。  #### 解决方式: 既然是Win2003肯定是能提权的,如果不能一键梭哈,直接去找历史提权漏洞,只要补丁没打,就能成功提权。 这里我找到一个**Microsoft Windows RPCSS服务隔离本地权限提升漏洞** 具体文章如下: [(68条消息) 【内网提权】windows2003本地PR提权详解*剑客 getshell的博客-CSDN博客*win2003提权](https://blog.csdn.net/weixin_45588247/article/details/107603186) 利用以下cmd命令可以查询系统打了这个提权漏洞的补丁没有,如果没打就可以利用此漏洞提权。 ```php systeminfo > C:\\Windows\\Temp\\temp.txt&(for %i in (KB3057191 KB2840221 KB3000061 KB2850851 KB2711167 KB2360937 KB2478960 KB2507938 KB2566454 KB2646524 KB2645640 KB2641653 KB944653 KB952004 KB971657 KB2620712 KB2393802 KB942831 KB2503665 KB2592799 KB956572 KB977165 KB2621440) do @type C:\\Windows\\Temp\\temp.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f /q /a C:\\Windows\\Temp\\temp.txt ```  KB952004 Not Installed!未进行补丁,可以利用MS09-012漏洞其进行提权 上传pr.exe到目录下执行命令 ```php pr.exe "whoami" ```  成功。 接下来用pr.exe执行下我的CS马就行。 ```php pr.exe "shell.exe" ```  可以看到SYSTEM的beacon弹回来了。 可以看到域用户还是有蛮多的。  后面直接猕猴桃抓密码做代理登陆域控了。  ### ③继续深入 刚刚拿下域控的过程有点索然无味,看看还有没有其他有价值的东西,翻了一下web目录,看到了数据库的配置文件。  翻到内网的一台MSSQL机子,蚁剑连接。   system权限,出网,CS上线。  ```php ipconfig ```  ```php systeminfo ```  2012机子抓不到明文密码,看到机子上开了3389,于是用frp做下代理尝试下用刚刚**域控Win2008机子上抓到的明文密码**进行远程3389登陆。 **administrator成功登陆**  现在我们梳理一下我们手中有的资产  ### ④永恒之蓝扫描 对3段和11段分别进行了永恒之蓝的扫描 发现3段和11段扫出来的结果是一样的 比如 192.168.3.55存在永恒之蓝 则 192.168.11.55也存在永恒之蓝 可以看出这两个段上的机子都是同一台机子。  于是对3段下存在永恒之蓝的机子进行了攻击 将CS的beacon转到公网MSF中,利用MSF的MS17\_010Exploit进行攻击,但无一例外,不管正向反向payload全都失败。。。。 只能想着利用Fscan看看内网有没有其他有价值的东西了。 ### ⑤Fscan扫描 在3段和11段分别用fscan进行扫描。 没扫出什么东西,只有两个比较值得关注的点 一个phpstudy后门RCE 一个防火墙 可以看看没有弱口令 #### phpstudy backdoor RCE 参考这篇文章写入webshell [https://blog.csdn.net/weixin\_43268670/article/details/107098135](https://blog.csdn.net/weixin_43268670/article/details/107098135)  #### 防火墙  系统默认的管理员用户默认密码改了 但是尝试了下刚刚从域控机上抓的**管理员明文密码**,成功登陆防火墙。  在防火墙的SSL VPN配置中看到了内网存在192.168.1.1/24的C段  ### ⑥对1段进行横向 在刚刚内网数据库服务器3上对1段进行扫描。 发现有好几个打印机系统,确定1段是**办公网段**。  两个MSSQL弱口令  打印机系统弱口令  海康威视未授权RCE  接着利用fscan扫出的可能存在永恒之蓝的主机进行攻击尝试。 打了5台,只有一台打成功了。  后续开了3389连上去了(图找不到了,就不放了) 0x03 总结 ======= 本次内网打的还算顺利,只是对对面的网络架构感到疑惑,没想到打的Web系统就是域控,此外从防火墙上翻到了办公网段也是意外惊喜。 由于远程登陆到域控机器和内网数据库服务器3上时发现上面运行着业务,所以本次渗透算是比较谨慎。 还有在获得这些机子的过程中也通过抓取谷歌浏览器的密码,获得了不少内网其他系统的密码,但篇幅受限没写出来。 **另外一点感想就是,在内网渗透过程中,一定要收集所获得的密码,利用手中的密码去尝试登陆内网中其他的业务系统,有时候会有意外惊喜的。** 最后做下拿下的资产梳理(部分不重要的就不写了):  ### 不足之处: 本次内网渗透没有用到哈希传递。。。很重要的一点是我一传递我CS的beacon就会直接down掉,摸不着头脑。 还有不管是1段还是3段扫描永恒之蓝时,扫出来了很多台,但是利用MSF进行攻击时,不管正向反向,只打出来了一台,有点离谱。 此外,本次打的域环境和我心目中的域环境渗透还是有所差距的,看其他大佬的文章都是各种姿势技巧。。希望下次能打一个真正的域环境。
发表于 2022-09-23 09:20:10
阅读 ( 9850 )
分类:
渗透测试
7 推荐
收藏
3 条评论
Alivin
2022-09-30 15:34
其实那台域控拿下以后,读密码/或者NTDS.dit获取域控hash,然后看下域内机器,直接就可以登录域成员了。这要是hw,你得少拿好多分啊
请先
登录
后评论
letert
2022-10-03 17:26
请问下提权这里,内网主机是没有防火墙吗,pr.exe做了免杀,如果直接提权的话行为免杀过不了吧。或者大佬有骚思路?😏
请先
登录
后评论
tx1ee
2022-10-06 11:42
师傅好细节
请先
登录
后评论
请先
登录
后评论
LiAoRJ
3 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!