购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6 net session与net use利用

在渗透测试中,当控制一台Windows主机后,可以使用net session命令查看是否有其他主机连接本机的IPC连接。在建立连接后,会在被连接主机上创建一个会话,该会话关联的令牌保存在lsass进程中。当我们拥有SeImpersonatePrivilege权限时,在lsass中找到该令牌的ID并使用工具利用ImpersonateLoggedOnUser函数模拟该ID对应的令牌,即可获得该令牌对应的用户权限。可以使用工具通过该IPC通道利用SMB协议修改目标主机的用户账户和密码、获取目标主机的shell权限等。

注意,只有交互式登录才可以抓取哈希,非交互式登录只能模拟令牌获取权限。

常见攻击手法的组合场景如下:

❑net session+dcsync

❑net session+token::run

❑net use+psexec

❑net use+pspasswd+wmihacker

❑net use+shadowcopy

❑net use+diskshadow.exe

2.6.1 net session利用

1.模拟net session中的令牌进行权限提升

1)执行net session命令发现有域管理员账户的会话,如图2-79所示。

图2-79 执行net session命令发现有域管理员账户的会话

2)使用mimikatz查看当前所有进程对应的令牌(需要本地管理员权限),再找到域管理权限对应的令牌,如以下命令及图2-80所示。

图2-80 使用mimikatz查看当前所有进程对应的令牌

3)模拟的令牌对应id为7142924,然后在当前会话进行Dcsync获取域管理员哈希(仅在Server系统中可用),如图2-81所示。

图2-81 进行Dcsync获取域管理员哈希

2.模拟net session中的令牌执行单命令

1)绕过UAC的cmd提升为SYSTEM权限,可以用PsExec.exe \\127.0.0.1 -s cmd.exe命令进行操作。

2)指定令牌权限启动进程,a.bat的内容是执行单命令的内容(可以使用如whoami &hostname的拼接以执行多命令),如以下命令及图2-82所示。

注意,如果将启动进程直接换成cmd.exe、powershell.exe,会导致程序卡死。

3.模拟指定的令牌获取交互shell

1)执行incognito.exe list_tokens-u命令列出当前计算机存在的所有令牌,如图2-83所示。2)执行incognito.exe execute-c“DM\Administrator”cmd.exe命令,以用户DM\Admini-strator的令牌启动cmd.exe,如图2-84所示。

图2-82 指定令牌权限启动进程

图2-83 列出当前计算机存在的所有令牌

图2-84 以DM\Administrator的令牌启动cmd.exe

2.6.2 net use利用

1.利用已建立的IPC连接进行免密登录

如果在获取一台主机的权限后,发现它已经和其他主机建立了IPC连接,可以直接通过该IPC连接扩展权限。通过该IPC可以查看目标的磁盘文件、写入文件、smbexec等操作。

1)执行net use命令查看当前已经建立的IPC连接,如图2-85所示。

图2-85 查看当前已经建立的IPC连接

2)执行psexec.exe\\dc01.dm.org cmd.exe命令,通过已经建立的IPC连接免密登录DC01,如图2-86所示。

图2-86 使用psexec通过已经建立的IPC连接免密登录DC01

2.利用已建立的IPC连接绕过杀毒软件获取权限

在低权限下利用已经建立的IPC连接使用pspasswd.exe修改目标账户密码,配合WMIHACKER横向渗透。

首先使用pspasswd.exe通过IPC连接修改密码,执行pspasswd.exe \\dc01.dm.org test Aa12341234命令不需要旧密码,可以直接修改目标账户密码,如图2-87所示。

图2-87 使用pspasswd.exe通过IPC连接修改密码

然后使用WMIHACKER用更改后的密码连接目标即可绕过杀毒软件执行命令,WMIHA-CKER只会访问目标的135端口。执行cscript WMIHACKER_0.6.vbs/cmd dc01.dm.org dm\test Aa12341234 whoami 1命令,如图2-88所示。

图2-88 使用WMIHACKER用更改后的密码连接目标

3.利用已建立的IPC连接绕过杀毒软件获取哈希

利用已经建立的IPC连接用户,因为目标存在杀毒软件,无法获得其cmd权限。通过diskshadow.exe程序的EXEC功能执行2.txt中的命令,命令内容为执行当前目录中的批处理文件a.bat,批处理文件a.bat的内容使用ntdsutil.exe将目标的ntds.dit、system、security这三个文件保存到指定位置,再通过copy复制到本地即可。此时分为三种情况:一是IPC连接的是域控制器,可以直接导出ntds.dit,获得全域的哈希;二是连接的一台普通计算机,通过修改a.bat中的内容,导出SAM、SYSTEM即可获取单机的哈希;三是利用wscript在目标计算机中新建本地管理员账户。

1)执行copy 2.txt \\dc01.dm.org\c$\2.txt命令将包含要执行命令的txt文本复制到目标计算机。

2)执行copy a.bat \\dc01.dm.org\c$\a.bat命令将包含要执行命令的bat脚本复制到目标计算机的C:\a.bat路径下,如图2-89所示。

图2-89 通过copy将包含要执行命令的bat脚本复制到目标计算机的C:\a.bat路径下

3)在域环境中使用psexec通过已经建立的IPC连接,免密调用diskshadow.exe绕过杀毒软件执行PsExec.exe \\dc01.dm.org diskshadow.exe /s "c:\2.txt"命令,导出域的全部哈希,如图2-90所示。

图2-90 使用diskshadow.exe导出ntds.dit

4)使用psexec通过已经建立的IPC连接,绕过杀毒软件添加本地管理员,方法同上。将新增域控本地管理员的脚本复制到a.vbs脚本,脚本内容如下。

5)将diskshadow调用的2.txt内容改为EXEC“cscript.exe”“a .vbs”,如图2-91所示。

图2-91 使用diskshadow调用执行VBS添加本地管理员

6)在单机环境中,b.bat的内容是导出SAM、SYSTEM、Security,导出单机全部哈希,方法同上,如图2-92所示。

图2-92 通过免密连接获取远程主机SAM、SYSTEM、Security文件

4.利用已建立的IPC连接绕过杀毒软件执行单命令

国内杀毒软件检测PsExec横向的方法是检测是否有cmd.exe、powershell.exe、cscript.exe、wscript.exe、reg.exe等程序的调用。有两种常规的绕过方法。一是通过lolbas项目查找系统自带程序,采用白加黑的方式执行命令。如上述实验用到的diskshadow.exe,拼接比较灵活,但是在白加黑拼接的命令中不能出现powershell等命令,否则会被拦截。二是使用PsExec时,直接调用在Windows中对应命令的exe程序,而不是通过cmd调用,比如执行whoami.exe、ipconfig.exe、tasklist.exe等均可,如图2-93所示。

图2-93 直接调用在Windows中对应命令的exe程序

5.防护建议

❑域环境内限制用户权限,禁止使用域管理员账户远程连接。

❑远程管理结束后,在目标上执行net session/del断开连接。

❑远程管理结束后,在本地执行net use*/del/y断开连接。 uZmbKq3XzDtd8DO5BmM27HTsXJZ88fxRUZ98dM2029k+ISiNBkbe9U6nU1Hi6/jy

点击中间区域
呼出菜单
上一章
目录
下一章
×