一. 其他横向工具和命令介绍
之前我们讲解了IPC,PTH,PTK,PTH,其实这些东西都是用来进行认证的
IPC:使用明文的账号密码进行认证
PTH:使用NTLM-hash值进行认证
PTK:使用AES秘钥进行认证
PTT:使用票据进行认证
认证通过之后如何实现远程上线内网其他的机器,或者说远程执行其他电脑的命令呢?
计划任务
服务
除了以上俩种方式其实还有其他的方法和工具的,接下来我就一一对齐进行介绍,并且分析原理和流量,从底层了解工具
- psexec工具
- smbexec工具
- WMI命令
- DCOM接口
- WinRM服务
二. PSEXEC介绍和使用命令
1.Psexec工具介绍
psexec 是 windows 下非常好的一款远程命令行工具。Psexec是微软提供的pstools命令中的一个,psexec的使用不需要对方主机开方3389端口,只需要对方开启admin
共享和
i
p
c
共享和ipc
共享和ipc (该共享默认开启,依赖于445端口)。
但是,假如目标主机开启了防火墙(防火墙禁止445端口连接),说白了要开启445和135端口,如果没有开启psexec也是不能使用的所以杀毒软件将其列在白名单中
以下的这个psexec是官方提供的,还有其他第三方开发的psexec工具比如之前讲的impactek中的,当然还有PS脚本等,但是原理都一样!
微软下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
2.使用方法
Psexec工具使用-Pstools下的
psexec \\ip -u administrator -p admin cmd 进⼊半交互式shell
PsExec -accepteula \\192.168.108.101 -s cmd.exe 建立交互的shell
psexec \\ip - uadministrator -p admin -w c:\ cmd 进⼊交互式shell,且c:\是⽬标机器的⼯作⽬录
psexec \\ip -u administrator -p admin whoami all 执行命令
psexec \\ip -u administrator -p admin -d c:\beacon.exe 执行文件
psexec \\ip -u administrator -p admin -h -d c:\beacon.exe UAC的⽤⼾权限执行文件
更多工具的使用用法:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec
直接运行会有弹窗,可以使用-accepteula跳过弹窗
三. PSEXEC工具运行原理
当运行psexec之后:
第一步:先用提供的账号和密码进行NTLM认证
第二步:认证成功后,连接IPC , a d m i n ,admin ,admin共享文件, 以此将 PSEXESVC上传到C:/WINDOWS目录下
查看目标电脑C盘windows目录下是否有
第三步:调用svcctl并创建PSEXESVC服务,该服务是运行PSEXESVC.EXE程序
调用服务创建命名管道
命名管道基于smb协议通信,它是用来让两个进程间进行通信的命名管道有点类似于
socket连接,是用来传输数据的
Psexec会留下大量的日志,因为涉及到创建服务和认证
四. 不同认证下的PSEXEC上线操作
- 根据前四篇对IPC$,PTH,PTK,PTT的讲解,在这里用表格的方式总结一下每种认证方式在不同用户权限下的结果!
认证方式 | 工作组(administrator) | 工作组(普管) | 工作组(普用) | 域管(administrator) | 域内普通管理员 | 域内普通用户 |
---|---|---|---|---|---|---|
IPC$ | √ | x | x | √ | √ | x |
PTH | √ | x | x | √ | √ | x |
PTK | 无 | 无 | 无 | √ | √ | x |
PTT | 无 | 无 | 无 | √ | √ | x |
注意:如果是工作组,administrator可以和任意电脑建立认证后,并且执行命令
普通管理员(有UAC)不行,除过早期的电脑比如xp 2003 之类
IPC认证,PTH,PTT,PTK之后我们进行psexec上线操作(administrator)
IPC$
- 工作组
- 域环境
PTH - 工作组
借助CS中插件完成PTH传递
前面几篇中也有相同的测试过程,这里就不赘述了
总结
版本 | 认证方式 | 环境 | 是否可上线 | 环境 | 是否可上线 |
---|---|---|---|---|---|
win 2008 | IPC$ | 工作组 | √ | 域环境 | √ |
win 2008 | PTH | 工作组 | √ | 域环境 | √ |
win 2008 | PTK | 工作组 | x | 域环境 | √ |
win 2008 | PTT | 工作组 | x | 域环境 | √ |
- 如果是工作组情况,最好用PTH认证
- 如果是域做好使用票据PTT
五. Pstools工具集介绍
Windows NT和 Windows 2000 资源工具包附带许多命令行工具,可帮助你管理Windows NT/2K 系统。 随着时间的推移,我发展了一系列类似的工具,包括一些未包含在资源工具包中的工具。 这些工具的区别在于,它们都允许你管理远程系统以及本地系统。 套件中的第一个工具是 PsList,该工具可让你查看有关进程的详细信息,并且套件在不断发展。 PsList 中的“Ps”前缀与列出命令行工具的标准 UNIX 进程名为“ps”有关,因此我已为所有工具采用此前缀,以便将它们捆绑到名为PsTools 的工具套件中。
https://learn.microsoft.com/zh-cn/sysinternals/downloads/pstools