一:什么是SMB协议:
SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口
内网渗透中smb服务(139,445端口)的利用方式
二:SMB的利用方式
(1)通过NTLM认证进行SMB攻击
LM和NTLM都是windows中对密码进行hash加密的两种不同的方式。只不过个人系统在windows vista后,服务器在windows server2003之后都采用ntlm hash的方式。使用mimikatz抓取到ntlm hash.
漏洞利用思路:(1)首先需要生成一个.scf的恶意文件(SCF文件是“WINDOWS资源管理器命令”文件,它也是一种可执行文件);
(2)上传恶意文件让受害者试图访问我们的共享文件,这时responder会作出反应:其提供给我NTLM哈希并且访问资源responder就受到受害者的hash
首先制作一个.scf的恶意文件,这个ip地址是我们攻击机的ip
这个ip地址是我们本机攻击机的ip(tun0)
然后使用responder来监听连接的内网网卡
然后再上传点上传我们的恶意.scf文件。
responder监听的网卡就会捕获到账户和hash
使用hashcat进行解析
然后就可以解密等到账号密码
(2)SMB会话共享加爆破
扫描端口发现存在139和445端口
使用smb枚举列出共享的文件: smbclient -L \\xx.xx.xx.xx
进行访问共享的文件夹smbclient \\\\xx.xx.xx.xx\\writer2_project
连接失败
这里需要介绍rpcclient:用于检查空会话,是执行客户端MS-RPC功能的工具。
参考文章:https://cloud.tencent.com/developer/article/1514901
https://bitvijays.github.io/LFF-IPS-P3-Exploitation.html
打开一个空会话,列出用户名kyle
知道用户名,然后进行爆破ssh密码
找到密码marcoantonio,进行ssh的连接
(3)SMB进行横向移动
使用SMB进行横向移动的时候,无需建立ipc连接
1>smb进行明文连接
2>smb哈希传递