Anonymous 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 在渗透测试中,尤其是内网渗透,通常需要在内网打开一个匿名访问的文件共享来配合漏洞利用。 所以我们需要一个通用的方法,不仅简单易用,而且可以在命令行下运行。 0x01 简介 本文将介绍以下内容: 使用场景 通过界面以匿名访问方式打开文件共享服务器。 通过命令行以匿名访问方式打开文件共享服务器。 开放源代码 0x02 利用场景 打开支持匿名访问的文件共享后,其他用户可以直接访问文件服务器的共享文件,无需输入用户名和密码。 通常有以下两种用法: 作为数据传输的通道。 配合开发,作为有效载荷的下载地址。 文件共享服务器需要建立在不同的操作系统上。 对于Linux系统,可以使用Samba服务来构建匿名文件共享服务器。 以下是Kali系统下的使用方法: 修改文件/etc/samba/smb.conf,如下所示: [全球] 映射到guest=test1 服务器角色=独立服务器 用户共享允许来宾=是 idmap配置*:后端=tdb smb端口=445 [中小企业] 评论=桑巴 path=/tmp/ 游客ok=是 只读=否 可浏览=是 开放服务: 服务smbd启动 服务nmbd启动 对于Windows系统,需要考虑域环境和工作组环境。要支持匿名访问,您需要打开访客用户,并允许访客用户访问文件共享服务器的内容。 0x03 通过界面开启可匿名访问的文件共享服务器 具体方法如下: 1.启用Guest用户 运行gpedit.msc打开组策略。 位置:计算机配置-windows设置-安全设置-本地策略-安全选项 选择策略帐户:来宾帐户状态,并将其设置为启用。 2.将Everyone权限应用于匿名用户 位置:计算机配置-windows设置-安全设置-本地策略-安全选项 选择策略网络访问:让所有人权限应用于匿名用户,并将其设置为已启用。 3.指定匿名共享文件的位置 位置:计算机配置-windows设置-安全设置-本地策略-安全选项 选择策略网络访问:可以匿名访问的共享,设置名称,可以在这里填写smb。 4.将Guest用户从策略“拒绝从网络访问这台计算机”中移除 位置:计算机配置-windows设置-安全设置-本地策略-用户权限分配 选择策略拒绝从网络访问此计算机以删除用户Guest。 5.设置文件共享 选择要共享的文件夹,并设置高级共享,共享名称为smb、共享权限组或用户名为Everyone。 至此,可以匿名访问的文件共享服务器已经成功启动,访问的地址为///smb。 0x04 通过命令行开启可匿名访问的文件共享服务器 与具体方法相对应的命令如下: 1.启用Guest用户 网络用户来宾/活动:是 2.将Everyone权限应用于匿名用户 REG ADD ' HKLM \系统\当前控制集\控制\ Lsa '/v EveryoneIncludesAnonymous/t REG _ DWORD/d 1/f 3.指定匿名共享文件的位置 REG ADD ' HKLM \系统\当前控制集\服务\ LanManServer \参数'/v NullSessionShares/t REG _ MULTI _ SZ/d SMB/f 4.将Guest用户从策略“拒绝从网络访问这台计算机”中移除 导出组策略: secedit /export /cfg gp.inf /quiet 修改文件gp.inf,将SeDenyNetworkLogonRight=Guest更改为SeDenyNetworkLogonRight=,然后保存。 重新导入组策略: secedit/configure/db gp . sdb/CFG gp . INF/quiet 强制组策略刷新并立即生效(否则重启后生效): gpupdate/force 5.设置文件共享 icac ls C:\ share \/T/grant every one:r 净份额份额=c:\share /grant:所有人,满 至此,可以匿名访问的文件共享服务器已经成功启动,访问的地址为///smb。 0x05 开源代码 的完整Powershell代码已在以下地址开源: https://github.com/3gstudent/Invoke-BuildAnonymousSMBServer 代码在以下操作系统中测试成功: Windows 7 Windows 8 Windows 10 Windows Server 2012 Windows Server 2012 R2版 Windows Server 2016 支持域环境和工作组环境的Windows操作系统 需要本地管理员权限才能执行。 打开可以匿名访问的文件共享服务器: invoke-BuildAnonymousSMBServer-Path c:\ share-Mode Enable 关闭可以匿名访问的文件共享服务器: invoke-buildanonymousmbserver-Path c:\ share-模式禁用 注: 关闭可匿名访问的文件共享服务器会执行以下操作: 关闭指定目录的共享权限。 禁用来宾用户 禁止任何人权限应用于匿名用户 删除组策略中指定的匿名共享文件位置。 将来宾用户添加到策略“拒绝从网络访问此计算机” 导出组策略时,如果策略“拒绝从网络访问此计算机”中的内容为空,则此选项将不可用。当我们需要添加这个策略时,我们需要手动添加一行内容SeDenyNetworkLogonRight=Guest。 在代码实现上,我采用了以下方法: set sedenyingteractivationright=guest 用…替换 SeDenyNetworkLogonRight=Guest sedenyinteactivelogonright=Guest Powershell示例代码对应于: (Get-Content a . txt)-replace ' sedenyninteractivelogonright=Guest ',' SeDenyNetworkLogonRight=Guest ` r ` nsedenyinteactivelogonright=Guest ' | Set-Content ' a . txt ' 0x06 小结 本文实现了命令行下匿名访问共享的开启和关闭,开源代码,可用于测试CVE-2021-1675和CVE-2021-34527。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子