SMB relay

0x00 SMB服务

先来了解一下什么是 SMB 服务,SMB(Server Message Block)是一个协议名称,用它可以共享计算机之间的文件、打印机、串口等,通过 SMB 也可以远程访问服务器端的文件、打印机等共享资源。

SMB协议可以为局域网用户提供相关的功能和机制,来保证传输的可靠性。局域网中90%的数据包以及95%的字节是通过SMB协议进行传输,这是为了解决网络的稳定性和数据流在共享带宽时的公平性、拥塞控制及效率等问题。
————来源百度百科

总之 SMB 服务可以为局域网用户提供相关功能和机制,来保证传输可靠性。

一路走来 SMB 有三代,从 SMBv1 到 SMBv2 再到现在的 SMBv3 ,实际上越来越安全了。 (CVE-2020-0796针对的是SMB3.1.1)

0x01 NTLM hash

然后简单介绍一下 NTLM hash,我们知道 Windows 下的密码被加密保存在 SAM (Security Accout Manager)文件中,域控在 NTDS.dit,不可进行修改或是移动;NTLM hash 就是里面保存用户密码的 hash

生成方法分为三步:

1.将明文口令转为十六进制
2.转换成 Unicode 格式
3.进行 MD4 加密

得到了最后的32为十六进制数字串

0x001 LM hash 和 NTLM hash

可以看作 NTLM hash 是 LM hash 的升级,但是他们是两种不同的加密方式,LM hash 的安全性较差,易被破解,现在很少在使用了,故关于 LM hash 在此不多赘述。

0x002 NTLMv1 hash 和 NTLMv2 hash

NTLM hash 分为 NTLMv1 NTLMv2 NTLM session v2 三种,从 Windows Vista 和 Server 2008 开始,系统是默认禁用 NTLMv1 的,而是用的是 NTLMv2,NTLMv1 相对 NTLMv2 更脆弱,因为服务端的挑战码是 8 位的,而 NTLMv2 协议的挑战码是 16 位的,稍后会讲到。

0x003 NTLM hash 和 Net-NTLM hash

Net-NTLM hash 即指的是网络环境下 NTLM 认证的 hash,故也分为 Net-NTLMv1 hash, Net-NTLMv2 hash

0x004 Net-NTLM(v2) 认证流程

1.客户端向服务器发送登录请求,密码在客户端被 hash 一次
2.客户端向服务器发送 username
3.服务器返回一个 16 字节的挑战码(Challenge),并将已存储的用户密码 hash 加密这个 Challenge,生成 Challenge1
4.客户端将第一步 hash 的密码与 Challenge 再进行 hash 一次,生成 response 即 Challenge2
5.客户端将 response 发送给服务器
6.服务器比较 Challenge1 和 response,相同则认证成功

0x02 SMB中继攻击(SMB relay attack)原理

了解了 Net-NTLM 认证流程,再来分析 SMB 中继攻击原理就明了多了,攻击者充当了一个第三人,截获流量,重放流量

0x03 漏洞环境

kali          192.168.37.134        攻击机
win7 192.168.37.128 受害机器
win2008 192.168.37.131 第三方机器

1. smbrelay.py

大概流程就是:首先我们使用impacket工具包中的smbrelay.py,-h 指定受害机器,然后再第三方机器上net use 我们的kali机器ip ,net use的账户密码 得是可以登录win7的密码,就可以执行我们的木马

其中win10好像不得行

可以看到win2008上线了

可以看到能执行我们的CS马,然后脚本会删除这个木马。

2 MultiRelayx.py拿下shell

因为下班了这儿就重新记录下IP

win2008         192.168.127.149
win2012(DC)    192.168.127.148
kali 192.168.127.128

  

先用responder工具包里面的RunFinger.py脚本进行扫描(nmap皆可)来查看域内机器SMB签名的开放情况

如果MultiRelay脚本运行出错的话,就安装一下下面这个库

apt-get install python-crypto

现在 SMB 已经由 MultiRelay.py 脚本来进行中继,我们需要修改一下 Responder.conf 脚 本,不让其对 hash 进行抓取

在域控上随意net use 一下都可以

成功拿到shell.

SMB relay的更多相关文章

  1. 渗透杂记-2013-07-13 关于SMB版本的扫描

    smb2的溢出,其实在metasploit里面有两个扫描器可以用,效果都差不多,只是一个判断的更加详细,一个只是粗略的判断. Welcome to the Metasploit Web Console ...

  2. metasploit--exploit模块信息

    Name                                             Disclosure Date  Rank    Description ----           ...

  3. Metasploit辅助模块

    msf > show auxiliary Auxiliary ========= Name                                                  Di ...

  4. [转载] MySQL 注入攻击与防御

    MySQL 注入攻击与防御 2017-04-21 16:19:3454921次阅读0     作者:rootclay 预估稿费:500RMB 投稿方式:发送邮件至linwei#360.cn,或登陆网页 ...

  5. Kali linux 2016.2(Rolling)中的Exploits模块详解

    简单来将,这个Exploits模块,就是针对不同的已知漏洞的利用程序. root@kali:~# msfconsole Unable to handle kernel NULL pointer der ...

  6. HW弹药库之红队作战手册

    红方人员实战手册 声明 Author : By klion Date : 2020.2.15 寄语 : 愿 2020 后面的每一天都能一切安好 分享初衷 一来, 旨在为 "攻击" ...

  7. ATT&CK 实战 - 红日安全 vulnstack (二) 环境部署(劝退水文)

    靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ 靶场简述 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博 ...

  8. Lateral Movement

    简介 这次去宁夏护网,发现我有的朋友连最基本的横向渗透有些都不晓得,他们问我 我也表达不清楚...,就想着写篇文章总结下吧 (慢慢更..) 可以发我邮箱讨论:muxue@protonmail.com ...

  9. smb.conf - Samba组件的配置文件

    总览 SYNOPSIS smb.conf是Samba组件的配置文件,包含Samba程序运行时的配置信息.smb.conf被设计成可由swat (8)程序来配置和管理.本文件包含了关于smb.conf的 ...

随机推荐

  1. 前端知识(二)08-Vue.js的路由-谷粒学院

    目录 一.锚点的概念 二.路由的作用 三.路由实例 1.复制js资源 2.创建 路由.html 3.引入js 4.编写html 5.编写js 一.锚点的概念 案例:百度百科 特点:单页Web应用,预先 ...

  2. MySQL增删改操作

    增删改操作 增加 看语法 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); #指定字段来插入数据,插入 ...

  3. MongoDB数据库的基本使用!

    MongoDB数据库的基本使用! 1 进入mongoose数据库 在控制台中输入 mongo; 2 查看所有的数据库 show dbs; 3 查看当前数据库的名称 db; 4 查看数据库中的所有的表 ...

  4. Linux系统中的Page cache和Buffer cache

    Linux系统中的Page cache和Buffer cache Linux中有两个很容易混淆的概念,pagecache和buffercache,首先简单将一些Linux系统下内存的分布,使用free ...

  5. 调度 GMP

    小结: 1. 当M从P的本地运行队列获取G时, 如果发现本地队列为空会尝试从其他P盗取一半的G过来,这个机制叫做Work Stealing, 2. Q M一定需要p吗? A 不一定.M正在执行原生代码 ...

  6. libuv事件循环中的三种句柄

    1.说明 本文会简单介绍 libuv 的事件循环,旨在入门级别的使用,而不做深入探究,简单来说就是,会大概用就行,先用熟练了,再去探究原理和源码 下图为官网的 libuv 的不同部分及其涉及的子系统的 ...

  7. P2573 [SCOI2012]滑雪 题解

    下午花了三个小时肝这道题,心态差点爆炸! 下面是分析: 1 题目要求: 2 求最小生成树 3 但是 4 - a是从1号点开始的 --> 如果以后的某个点比一号高,则不可能到达 5 - a只能从高 ...

  8. POSTGIS

    https://blog.csdn.net/qq_35732147/article/details/85256640 官方文档:http://www.postgis.net/docs/ST_Buffe ...

  9. kafka auto.offset.reset参数解析

    kafka auto.offset.reset参数解析 1.latest和earliest区别 2.创建topic 3.生产数据和接收生产数据 4.测试代码 auto.offset.reset关乎ka ...

  10. UML——构件图

    宏观导图: 细节探究: 一.What 构件:是一个应用很广的名词,在建筑工程.机械工程.软件工程中等都有该概念.其实,说道底表达的都是一个意思.就像是标准化生产出来的零部件一样,具有可替换性.同质性, ...