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