概念
Impacket是用于处理网络协议的python类的集合
Impacket专注于对数据包的简单编程访问,以及对协议实现本身的某些协议以从头开始构建,也可以从原始数据中解析。而面向对象的API使处理协议的更深层次结构变的简单
枚举
GetUserSPNs -dc-ip <dc IP地址> 域管理员用户:密码
支持域外的计算机进行查询,但是需要提供管理账户凭证
远程连接
psexec
psexec 用户:密码@ip
连接条件
- 目标主机开启445端口
- 目标主机开启IPC的任意可写共享
smbexec
一个类似psexec的使用RemComSvc技术的工具,通过文件共享在远程系统中创建服务,将要执行的命令通过服务写在bat文件中来执行,然后将执行结果写在文件中来获取执行命令的结果,最后删除bat文件、输出文件、服务
特征
-
创建和删除服务会产生大量日志,溯源时可通过日志反推攻击流程
-
windows defender会对工具进行查杀,查杀后会导致报错
-
正常运行脚本,创建的服务名叫BTBTO,固定不变 服务文件名是要执行的命令:
%COMPEC /Q /c echo cd ^> \\127.0.0.1\C$\__output 2^>^&1 > %TEMP%\execute.bat & del %TEMP%\execute.bat命令效果:
- 将命令写入
C:\windows\temp\execute.bat - 执行
C:\windows\temp\execute.bat - 删除
C:\windows\temp\execute.bat - 从
C:\__output文件中获取命令执行结果 - 删除
C:\__output
- 将命令写入
连接条件
- 目标主机开启445端口
- 目标主机开启IPC的任意可写共享
- 可以使用除ipc$外的其他所有共享
- 脚本默认C$共享,-share可指定其他共享
smbexec 用户:密码@ip地址 -codec gbk
smbexec 用户@ip地址 -hashes :哈希 -codec gbk
wmiexec
连接原理
通过wmi实现命令执行
特征
特征不大,规避AV方面做得最好
连接条件
- 目标主机开启135(用来执行命令)和445(用来读取回显)端口
- 开启admin$共享
wmiexec 用户:密码@ip地址 -codec gbk
vmiexec 用户@ip地址 -hashes :哈希 -codec gbk
dcomexec
连接原理
使用dcom作为底层进行连接
命令
dcomexec.py teamssix.com/administrator:1qaz@WSX@192.168.7.7
连接原理
通过dcom在目标主机上执行命令并返回结果
命令执行
atexec.py
通过计划任务服务(task schaduler)在目标主机上执行命令,并返回执行命令的输出结果
连接
atexec 用户:密码@ip地址 whoami -codec gbk
atexec 用户@ip地址 -hashes :哈希 -codec gbk