DCSync 是一种在 AD 域渗透中常用的凭据窃取技术。默认情况下,域内的不同域控制器(DC)会每隔 一段时间进行一次数据同步。当一个域控制器从另一个域控制器同步数据时,发起请求的域控制器会通过目录复制协议(MS-DRSR)来复制目标域控制器中的用户密码信息。
DCSync 正是利用了这一机制,通过“模拟”一个域控制器向真实域控制器发送同步请求,从而获取用户凭据数据。由于这种攻击利用了 Windows RPC 协议,无需登录域控制器或在域控制器上执行文件操作
typedef struct {
UUID uuidDsaObjDest;
UUID uuidInvocIdSrc;
[ref] DSNAME* pNC;
USN_VECTOR usnvecFrom;
[unique] UPTODATE_VECTOR_V1_EXT* pUpToDateVecDest;
ULONG ulFlags;
ULONG cMaxObjects;
ULONG cMaxBytes;
ULONG ulExtendedOp;
ULARGE_INTEGER liFsmoInfo;
[unique] PARTIAL_ATTR_VECTOR_V1_EXT* pPartialAttrSet;
[unique] PARTIAL_ATTR_VECTOR_V1_EXT* pPartialAttrSetEx;
SCHEMA_PREFIX_TABLE PrefixTableDest;
} DRS_MSG_GETCHGREQ_V8;
pNC: NC root of the replica to replicate or the FSMO role object for an extended operation. 可以用来指定对应的账户,但是mimikatz设置的pNC 为{0}为空,并且设置了最大的最大的返回对象数量(就是dump了)。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
DCSync 正是利用了这一机制,通过“模拟”一个域控制器向真实域控制器发送同步请求,从而获取用户凭据数据。由于这种攻击利用了 Windows RPC 协议,无需登录域控制器或在域控制器上执行文件操作
typedef struct {
UUID uuidDsaObjDest;
UUID uuidInvocIdSrc;
[ref] DSNAME* pNC;
USN_VECTOR usnvecFrom;
[unique] UPTODATE_VECTOR_V1_EXT* pUpToDateVecDest;
ULONG ulFlags;
ULONG cMaxObjects;
ULONG cMaxBytes;
ULONG ulExtendedOp;
ULARGE_INTEGER liFsmoInfo;
[unique] PARTIAL_ATTR_VECTOR_V1_EXT* pPartialAttrSet;
[unique] PARTIAL_ATTR_VECTOR_V1_EXT* pPartialAttrSetEx;
SCHEMA_PREFIX_TABLE PrefixTableDest;
} DRS_MSG_GETCHGREQ_V8;
pNC: NC root of the replica to replicate or the FSMO role object for an extended operation. 可以用来指定对应的账户,但是mimikatz设置的pNC 为{0}为空,并且设置了最大的最大的返回对象数量(就是dump了)。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
RPC ETW
通过ETW记录RCP请求记录
logman create trace "DRSMonitor" -p "Microsoft-Windows-RPC" -o C:\DRSMonitor.etl -ets
logman stop "DRSMonitor" -ets
发起dcshync的的guid是e3514235-4b06-11d1-ab04-00c04fc2dcd2
直接进行过滤抓包,只能记录到哪台域控机器在dump,但是无法记录到谁发起的请求。这里可以结合一下域里面高权限用户,谁进行了身份进行综合判断
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
通过ETW记录RCP请求记录
logman create trace "DRSMonitor" -p "Microsoft-Windows-RPC" -o C:\DRSMonitor.etl -ets
logman stop "DRSMonitor" -ets
发起dcshync的的guid是e3514235-4b06-11d1-ab04-00c04fc2dcd2
直接进行过滤抓包,只能记录到哪台域控机器在dump,但是无法记录到谁发起的请求。这里可以结合一下域里面高权限用户,谁进行了身份进行综合判断
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
网络流量监控
进行网络流量监控,我们可以监控DRSUAPI的流量,找到DsGetNCChanges请求,并且获取到哪个ip发起了dcsync请求,如果是非域控机器发起的请求,一般算认为可疑。
也可以通过MessageAnalyzer进行监控同样也是可以。
这个方案理论上不错,但是实际落地IT一般都不会接受,因为域控的流量巨大,进行监控会损失性能,而且需要额外安装一些安全软件或者流量监控软件。
最后就是windows日志了,默认会记录此行为,不需要额外安装软件,性能上也不会有太大的影响。但是dcsync操作windows域本身机制也有(日志id是4662,每次对 Active Directory 对象执行操作时都会生成此事件),也就是意味着不仅仅攻击者的行为会产生这个日志,正常的行为也会产生此类日志。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
进行网络流量监控,我们可以监控DRSUAPI的流量,找到DsGetNCChanges请求,并且获取到哪个ip发起了dcsync请求,如果是非域控机器发起的请求,一般算认为可疑。
也可以通过MessageAnalyzer进行监控同样也是可以。
这个方案理论上不错,但是实际落地IT一般都不会接受,因为域控的流量巨大,进行监控会损失性能,而且需要额外安装一些安全软件或者流量监控软件。
最后就是windows日志了,默认会记录此行为,不需要额外安装软件,性能上也不会有太大的影响。但是dcsync操作windows域本身机制也有(日志id是4662,每次对 Active Directory 对象执行操作时都会生成此事件),也就是意味着不仅仅攻击者的行为会产生这个日志,正常的行为也会产生此类日志。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
通过mimikatz dumphash,会产生两条4662日志,并且分别带1131f6aa-9c07-11d1-f79f-00c04fc2dcd2(DS-复制-获取-更改)、1131f6ad-9c07-11d1-f79f-00c04fc2dcd2(DS-复制-获取-更改-全部)两个属性。
其实从上面的dump hash过程中,我们发现登录和dump hash动作基本都是一起的,先登录再dump,可以根据这个特征再进行筛选。
即使这样总觉得还是不够准确优雅,所以还需要另辟蹊径,笔者找到一个在实验环境表现不错的第二个新方法,等实践不错后再分享出来。
至于impacket的secretdump.py dcsync,检测起来就比较简单,短时间内触发几十条4662日志就为可疑了
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
其实从上面的dump hash过程中,我们发现登录和dump hash动作基本都是一起的,先登录再dump,可以根据这个特征再进行筛选。
即使这样总觉得还是不够准确优雅,所以还需要另辟蹊径,笔者找到一个在实验环境表现不错的第二个新方法,等实践不错后再分享出来。
至于impacket的secretdump.py dcsync,检测起来就比较简单,短时间内触发几十条4662日志就为可疑了
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
PowerShell Empire 的优势:
-与 PowerShell 的强大集成使其能够使用在内存中执行的 Powershell 脚本自动执行后开发活动,从而更难检测到。
-专为攻击的后利用阶段而设计,并具有用于权限提升、横向移动和数据泄露的内置工具
-具有模块化架构,允许您扩展框架以满足您的需求。
Kali Linux 上通过运行以下命令执行此操作:
sudo apt update && sudo apt upgrade
sudo apt install powershell-empire
运行命令:sudo powershell-empire server 启动 PowerShell Empire Server。
在新的终端窗口中,运行sudo powershell-empire client 以使用 Empire Client 连接到服务器。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
-与 PowerShell 的强大集成使其能够使用在内存中执行的 Powershell 脚本自动执行后开发活动,从而更难检测到。
-专为攻击的后利用阶段而设计,并具有用于权限提升、横向移动和数据泄露的内置工具
-具有模块化架构,允许您扩展框架以满足您的需求。
Kali Linux 上通过运行以下命令执行此操作:
sudo apt update && sudo apt upgrade
sudo apt install powershell-empire
运行命令:sudo powershell-empire server 启动 PowerShell Empire Server。
在新的终端窗口中,运行sudo powershell-empire client 以使用 Empire Client 连接到服务器。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
收集数据
使用SharpHound数据收集器收集您正在攻击的 Windows Active Directory 环境的数据集。ShapHound可以从 GitHub 下载。使用命令SharpHound.exe -c DcOnly将域数据保存在.zip文件中。
下载并将数据导入 Bloodhound
将你收集到的数据集导入Bloodhound。首先,使用Meterpreter命令下载数据文件download <filename>.zip。
然后在本地机器上的 Bloodhound GUI 中,单击菜单中的上传数据按钮并选择您的 ZIP 文件。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用SharpHound数据收集器收集您正在攻击的 Windows Active Directory 环境的数据集。ShapHound可以从 GitHub 下载。使用命令SharpHound.exe -c DcOnly将域数据保存在.zip文件中。
下载并将数据导入 Bloodhound
将你收集到的数据集导入Bloodhound。首先,使用Meterpreter命令下载数据文件download <filename>.zip。
然后在本地机器上的 Bloodhound GUI 中,单击菜单中的上传数据按钮并选择您的 ZIP 文件。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用以下命令禁用受限管理模式:
reg add HKLM\System\CurrentControlSet\Control\Lsa /t REG_DWORD /v DisableRestrictedAdmin /d 0x0 /f
一旦执行,xFreeRDP 将提供的 NTLM 哈希启动与指定的机器的 RDP 连接。如果成功,这将在单独的窗口中返回一个您可以与之交互的图形会话。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
reg add HKLM\System\CurrentControlSet\Control\Lsa /t REG_DWORD /v DisableRestrictedAdmin /d 0x0 /f
一旦执行,xFreeRDP 将提供的 NTLM 哈希启动与指定的机器的 RDP 连接。如果成功,这将在单独的窗口中返回一个您可以与之交互的图形会话。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
LLMNR 中毒反应
Responder 默认安装在 Kali Linux 上。但是,在使用 Responder 执行 LLMNR 中毒攻击之前,您需要满足以下要求:
1.您需要与目标机器位于同一网络上。
2.您需要具备嗅探网络数据包的能力。
现在可以运行以下命令来启动 Responder:
sudo responder -I eth0 -v
此命令将启动 Responder 监听您的eth0网络接口(-I)并以详细模式(-v)提供更多输出。
现在必须等待 DNS 无法解析的事件发生。当用户尝试通过 SMB、SQL、FTP、SMTP 等连接到计算机,但使用本地 DNS 服务器无法解析的名称或使用 IP 地址时。这将触发计算机发送 LLMNR 请求以查找它尝试访问的计算机或资源。Responder 将捕获此 LLMNR 请求并显示 NTLM 哈希供您使用。
以 StationX-admin 用户身份从 Workstation1 访问测试机器的 C: 驱动器。Workstation1 将向 Active Directory DNS 服务器发出 DNS 请求,以找出测试机器的位置。但是,这台机器不存在。因此,DNS 请求将失败。现在,Worksation1 将发出 LLMNR 请求作为后备。响应者可以捕获此 LLMNR 请求并窃取用户的 NTLM 哈希.
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Responder 默认安装在 Kali Linux 上。但是,在使用 Responder 执行 LLMNR 中毒攻击之前,您需要满足以下要求:
1.您需要与目标机器位于同一网络上。
2.您需要具备嗅探网络数据包的能力。
现在可以运行以下命令来启动 Responder:
sudo responder -I eth0 -v
此命令将启动 Responder 监听您的eth0网络接口(-I)并以详细模式(-v)提供更多输出。
现在必须等待 DNS 无法解析的事件发生。当用户尝试通过 SMB、SQL、FTP、SMTP 等连接到计算机,但使用本地 DNS 服务器无法解析的名称或使用 IP 地址时。这将触发计算机发送 LLMNR 请求以查找它尝试访问的计算机或资源。Responder 将捕获此 LLMNR 请求并显示 NTLM 哈希供您使用。
以 StationX-admin 用户身份从 Workstation1 访问测试机器的 C: 驱动器。Workstation1 将向 Active Directory DNS 服务器发出 DNS 请求,以找出测试机器的位置。但是,这台机器不存在。因此,DNS 请求将失败。现在,Worksation1 将发出 LLMNR 请求作为后备。响应者可以捕获此 LLMNR 请求并窃取用户的 NTLM 哈希.
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
Hydra 破解密码
暴力破解 SSH,(“安全 Shell”或“安全套接字 Shell”的缩写)是一种网络协议,用于通过不安全的网络安全地访问网络服务。它包括一套实现它的实用程序,例如:
ssh-keygen: 用于为 SSH 创建新的身份验证密钥对;
SCP(安全复制协议): 用于在网络上的主机之间复制文件;
SFTP(安全文件传输协议): 用于发送和接收文件。它是 FTP(文件传输协议)的 SSH 安全版本,它已取代 FTP 和 FTPS(FTP 安全)成为通过互联网共享文件的首选机制。
默认情况下,SSH 服务器会监听标准传输控制协议 (TCP)端口 22上的连接。应用程序可能会监听其他端口上的 SSH 连接。
SSH 可安全地管理远程系统和应用程序,例如通过网络登录另一台计算机、执行命令以及将文件从一台计算机移动到另一台计算机。SSH 的一项高级功能是创建安全隧道以远程运行其他应用程序协议.
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
暴力破解 SSH,(“安全 Shell”或“安全套接字 Shell”的缩写)是一种网络协议,用于通过不安全的网络安全地访问网络服务。它包括一套实现它的实用程序,例如:
ssh-keygen: 用于为 SSH 创建新的身份验证密钥对;
SCP(安全复制协议): 用于在网络上的主机之间复制文件;
SFTP(安全文件传输协议): 用于发送和接收文件。它是 FTP(文件传输协议)的 SSH 安全版本,它已取代 FTP 和 FTPS(FTP 安全)成为通过互联网共享文件的首选机制。
默认情况下,SSH 服务器会监听标准传输控制协议 (TCP)端口 22上的连接。应用程序可能会监听其他端口上的 SSH 连接。
SSH 可安全地管理远程系统和应用程序,例如通过网络登录另一台计算机、执行命令以及将文件从一台计算机移动到另一台计算机。SSH 的一项高级功能是创建安全隧道以远程运行其他应用程序协议.
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
利用 HTTP 数据进行盲 SQL 注入
使用 Burp Suite 拦截流量:
打开已配置为捕获 HTTP 流量的 Burp Suite。然后导航到“代理”选项卡,并在 HTTP 历史记录中找到查询提交。
向中继器发送请求:
在请求面板中,右键单击查询提交并选择“发送到中继器”。
从 Burp Suite 复制原始数据:
切换到 Repeater 选项卡,从面板复制原始请求数据。
SQLMap加载HTTP请求文件:
返回终端并运行命令sqlmap -r request。该-r标志告诉 SQLMap 解析并使用来自指定文件的原始 HTTP 请求。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用 Burp Suite 拦截流量:
打开已配置为捕获 HTTP 流量的 Burp Suite。然后导航到“代理”选项卡,并在 HTTP 历史记录中找到查询提交。
向中继器发送请求:
在请求面板中,右键单击查询提交并选择“发送到中继器”。
从 Burp Suite 复制原始数据:
切换到 Repeater 选项卡,从面板复制原始请求数据。
SQLMap加载HTTP请求文件:
返回终端并运行命令sqlmap -r request。该-r标志告诉 SQLMap 解析并使用来自指定文件的原始 HTTP 请求。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
SQLMap URL 命令
使用-u和--cookie=信息执行 SQLMap。查看结果信息,其中包括参数、有效负载和输出文件的位置。
打开会话文件,现在我们将转到终端并导航到输出文件位置。首先,我们将使用它来查看要处理的文件。使用sqlitebrowser打开session.sqlite文件。
数据库浏览器,在 sqlitebrowser 中,检查数据库结构并浏览数据选项卡。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke
使用-u和--cookie=信息执行 SQLMap。查看结果信息,其中包括参数、有效负载和输出文件的位置。
打开会话文件,现在我们将转到终端并导航到输出文件位置。首先,我们将使用它来查看要处理的文件。使用sqlitebrowser打开session.sqlite文件。
数据库浏览器,在 sqlitebrowser 中,检查数据库结构并浏览数据选项卡。
接 /网站渗透 /黑客编程技术
/软件渗透 /提取数据
/网站权限 /网站入侵破解
有需求的找我 @MoA_Ke