内网渗透之Responder演练(下)

前情提要

承接上文,本文主要介绍了以下几点:

获取ntlmv1 hash并还原出ntlm hash

NTLM hash中继攻击入门

对抗responder:工具对抗、关闭协议、蜜罐检测的优势

获取NTLMv1 hash并还原nt hash

本次实验环境情况:

kali: 172.21.128.72
win7-A: 172.21.128.100
win7-B: 172.21.128.101

使用win7降级,获取V1进行测试

上文主要是讲了NTLM V2的窃取与破解,在实际情况中,NTLMv1 hash也是存在于winserver 2003、windows
xp上,而在win7上是默认关闭的,我们可以通过修改注册表的方式,使win7支持NTLM V1认证,由于NTLM
V1认证过程的特殊性,非常容易被破解并还原出NTLM HASH,需要说明的是,NTLM降级的情况一般不常见,除非在局域网内存在低于windows
Vista版本的windows机器,这里是为了方便做实验所以手动降级。

为破解NTLMv1 hash,我们还需要做一些准备,在“欺骗阶段”,所以我们需要将challenge固定下来,得出特定challenge的NTLMv1
hash,方便后续破解,这里我们需要修改responder.conf里边的challenge值为“1122334455667788”,然后再次开启responder(注意加上
–lm参数),此时收到的NTLMv1 hash就可以直接破解并还原出NTLM HASH。

实验步骤:

首先在将win7-A降级,管理员权限执行下列命令:

reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\ /v lmcompatibilitylevel /t
REG_DWORD /d 2 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\ /v NtlmMinClientSec
/t REG_DWORD /d 536870912 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\ /v
RestrictSendingNTLMTraffic /t REG_DWORD /d 0 /f

修改responder配置文件:

开启responder,启动参数加上–
lm(如果报错可以尝试python2执行对应py脚本):

win7执行net use \\win-
test1\qq命令:

kali获取到NTLMv1
hash(如欺骗成功但是获取不到HASH,可尝试删除Responder.db再次尝试):

经查找相关资料发现,破解此格式的NTLMv1
HASH,本质上还是属于暴力破解,所以我们需要借助彩虹表来进行破解,当然自己生成彩虹表显得太过复杂,这里就不尝试重复造轮子了,我们可以通过一个在线网站(https://crack.sh/)来帮助破解,这个网站有很多收费的破解密码项目,但是破解NTLMv1
hash是免费的。

这里填入固定格式的值,然后填上你需要接收的邮箱:

一般几十秒就会收到破解成功的短信,短信内容包含破解之后的NTLM HASH值, 还原出的 NTLM hash 可用于PTH
攻击
:

为什么能破解NTLMv1 hash?

要了解破解原理,先来看加密过程(加密方式一):

  1. windows将NTLM Hash后面补5个字节0,共21字节。
  2. 将步骤1处理后的NTLM Hash分成3组7字节,每7个比特后面添加1比特0,组成3个8字节的DES密钥。
  3. 使用得到的3个密钥,分别对8字节的challenge进行3DES加密获得三组8字节密文,然后拼接共组成24字节的密文,这样就得到了NTLMv1 hash。

知道了其加密方式之后,由于challenge是固定的,所以可以建立从key到response的彩虹表,并在知道response的情况下获取key,破解跟机器的密码强度没有关系,且成功率几乎为100%。

需要说明的是,NTLMv1 hash有两种,对应两种加密方式,在上文中responder加入–
lm参数也是为了固定为加密方式一,这里简单说下加密方式二,加密方式二跟一最大的不同就是并不是完全用的server
challenge(也就是上文的1122334455667788)参与上边的运算,这就导致了生成的彩虹表不能使用,破解难度增加,responder不加–
lm参数的时候就是加密方式二,得出hash的叫 NTLMv1-SSP Hash (如下图)

responder加上–
lm参数:

responder不加–
lm参数:

NTLM HASH中继攻击入门

https://blog.csdn.net/whatday/article/details/107698383

NTLM中继攻击已经被发现十多年了,要实现NTLM中继攻击,也需要先进行LLMNR/NBNS欺骗,这样,攻击机器就可以充当了中间人,本质上还是由于NTLM认证机制所导致的,且对于最新的NTLMv2认证任然有效,但这个过程并不是没有限制,对于工作组的机器来说,两台机器的密码需要一致才能成功,对于域用户来说,被欺骗用户(发起请求的用户)需要域管理员组里边的用户才可以,NTLM中继成功后的权限为被欺骗用户的权限。

流程图如下图:

准备阶段,我们需要改变responder.conf的设置,在这个环节,responder起到的作用仅仅是欺骗,所以我们需要将配置文件的SMB
server和HTTP
server选项从On改为Off(smbrelayx会启动相应端口),随后我们使用smbrelayx.py来进行中继攻击测试,在kali中,这个脚本在/usr/share/doc/python3-impacket/examples/文件夹下,可以通过
–help查看具体用法。

在实验阶段,首先开启responder:

由于仅仅是入门,这里使用smbrelayx进行实验,其中参数-h 指定目标主机,-c
给出要执行的命令:

在win7-B的机器上执行net use \\win-test\w进行测试,此时win7-B的NTLM
hash将会被kali中继到win7-A这台机器上,中继成功后执行whoami的命令。下列三个场景分别是win7-B上的机器登录不同账户后产生的NTLM
hash被中继的结果。

场景一:win7-B为域内普通用户,可以看到被拒绝了:

场景二:WIN7-B为域控管理员,可以看到中继成功且为高权限:

场景三:将情况一的普通账户加入域管理员组中,然后再次尝试(可以看到中继成功):

如何应对?

既然responder如此危险,那么如何才能够确保内网安全呢?

抛开边界安全来说,可以从两个方面入手,一是将不必要的服务禁用,这是最保险的方式。二是内网中要有检测工具的手段,最好能够覆盖各个网段,这样才是一个比较安全的策略。

禁用不必要的服务

禁用NetBIOS服务

在《网络连接》中右击对应网卡选择属性,然后依次点击如下图所示:

禁用LLMNR

域内机器可以在域控机器上通过"设置组策略管理"关闭多播名称解析,非域内机器也可以通过本机的"设置组策略管理"关闭LLMNR。

开源工具

开源的工具不多,功能方面也比较简单,主要还是通过使用NBNS或者LLMNR协议,向多个随机主机名发起一个广播行为,如果多个回应均为同一IP地址就会产生警告。

一:Conveigh

运行效果:

二:VindicateTool

运行效果:

安全产品

对于安全产品来说,蜜罐是比较适合检测responder的产品。主要原因是要确保网络覆盖程度,而蜜罐本身的机制正好是要求覆盖于各个网段之中,发现告警后可以上报可疑机器的IP地址,以及对该IP地址的探测情况。后续可以人工研判并处理。

0719786294)]

安全产品

对于安全产品来说,蜜罐是比较适合检测responder的产品。主要原因是要确保网络覆盖程度,而蜜罐本身的机制正好是要求覆盖于各个网段之中,发现告警后可以上报可疑机器的IP地址,以及对该IP地址的探测情况。后续可以人工研判并处理。

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值