qidao123.com ToB IT社区-企服评测·应用市场

 找回密码
 立即注册

A16.WEB主机-CVE毛病提权与体系用户暗码破解

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
WEB主机-CVE毛病提权与体系用户暗码破解

利用CVE-2018-8120毛病举行提权

在Windows体系中,搭建的PHP网站,根本上都是以管理员身份运行的,得到Webshell以后就有了管理员权限,不必要提权。这是由于在Windows体系中,将第三方的Web服务软件设置成可以或许以平凡用户运行的步调不但比力繁琐,而且没有权势巨子的、确凿的说法。而利用Windows自带的IIS搭建ASP、Asp.net的网站时,默认就是以一个低权限的用户身份在运行,如许有了Webshell以后还必要提拔权限,才华实行进一步的安全测试。这也是本实行选择ASP网站的缘故原由。
2018年5月8日,微软告示了CVE-2018-8120毛病,毛病成因是Win32k.Sys组件的Ntusersetimeinfoex()体系服务函数内部未验证内查对象中的空指针对象,平凡应用步伐可利用这个空指针毛病以内核权限实行恣意代码
从前微软的毛病编号以“MS+年份”开头,如MS17-010。从MS17-023之后,微软放弃了这种编号,利用了CVE编号。微软公司针对体系安全毛病提供的修补步伐大概办理方案,一样平常会按月发布在微软安全相应中央(http://msrc.microsoft.com/update-guide),比方:http://msrc.microsoft.com/update-guide/vulnerability/CVE-2018-8120,通过点击“安全更新步伐”中相应产物的“Security Update”链接可以下载到修复这个安全毛病的补丁更新。对于没有补丁更新的情况,可以在临时办理方案、常见题目解答或缓解中找到应对方案。
CVE-2018-8120对应的补丁编号是KB4103712。我们必要先利用下令查察WEB机是否修复了这个毛病:通过Webshell管理工具的假造终端实行下令:systeminfo,如下图可见是没有安装任何修补步伐的。由此判断WEB机是可以利用此毛病举行权限提拔的。别的,还得知了这台电脑的盘算机名为Web,而且是参加了域,域名是sun.com。
CVE-2018-8120毛病利用步伐GitHub项目地点:https://github.com/unamer/CVE-2018-8120
利用恣意Webshell管理工具上传CVE-2018-8120毛病利用步伐CVE-2018-8120.exe,举行权限提拔测试。先在假造终端中利用下令:CVE-2018-8120.exe "whoami",查察权限品级。查察到的品级为nt authority\system,即体系权限,也就是说,利用该毛病利用步伐实行的下令都是以System的身份实行的。
那么假如目的体系上打了一部分补丁的情况下应该怎样处理处罚?这种情况可以借助一些主动化的工具,如WES-NG( Windows Exploit Suggester - Next Generation),来检测体系上是否有缺失的补丁。别的,尚有别的一些具有雷同功能的工具,Windows体系版本、内置的服务步伐都许多,有的工具的毛病信息已经几年没有更新了,有的固然在更新但检测效果也不是很抱负,包罗WES-NG在内,如今都有检测不精确的情况。
添加管理员用户

利用下令:CVE-2018-8120.exe "net user gg p@ssw0rd /add"添加名为gg,暗码为p@ssw0rd的用户。
然后再利用下令CVE-2018-8120.exe "net localgroup administrators gg /add",将gg用户参加到Administrators用户组。
步调概述:利用恣意Webshell管理工具毗连并上传CVE-2018-8120毛病利用步伐,注意上传利用步伐时,要选对版本,这里应该上传X64版本的利用步伐,假如上传了错误的版本就无法正常利用。上传后用其假造终端功能实行用户添加和归属管理员组下令,以得到管理员权限用户。
开启RDP功能

利用以下下令开启远程功能,让攻击机的“远程桌面毗连”毗连WEB机,到达获取其图形化控制的目的。
利用恣意Webshell管理工具创建一个bat文件,写入以下两句下令:
  1. reg add "hklm\system\currentcontrolset\control\terminal server" /v fdenytsconnections /t reg_dword /d 0 /f
复制代码
  1. netsh advfirewall firewall add rule name="remote desktop" protocol=tcp dir=in localport=3389 action=allow
复制代码
以上第一句下令是通过操纵注册表的方式来开启RDP功能,第二句是设置防火墙允许3389端口通过。在Shell中无法直接利用毛病利用步伐实行以上下令,由于引号的缘故原由,而且无法利用转义实行。只能将以上两句下令生存为3389.bat文件后,利用假造终端实行下令:CVE-2018-8120.exe "3389.bat",通过毛病利用提权步伐利用System身份运行bat文件实现开启RDP功能。
实行完成会有回显提示乐成,利用攻击机的“远程桌面毗连”举行毗连,输入干系账号与暗码举行毗连。
  1. 注意:上一节通过查看systeminfo命令的信息,得知这台电脑是加了域的,因此使用登录需要输入本地计算机名或域名。由于添加的gg用户只是本地用户,不是域用户,所以登录时用户名应该输入gg。如果无法登录,则使用用户名web\gg进行登录。
复制代码
拿到RDP权限后,就可以更方便对WEB机举行攻击操纵,比方增长一个影子用户,投放木马,维持权限等。
Windows体系用户暗码破解

添加了另一个管理员用户之后,可以通过以下本事得到本机管理员Administrator和别的用户的暗码。
Mimikatz在线抓取用户暗码

Mimikatz 是一款功能强盛的轻量级调试神器,通过它可以提拔历程权限注入历程读取历程内存,mimikatz可以从内存中提取明文暗码、哈希、PIN 码和 kerberos 单子。mimikatz 还可以实行哈希转达、票证转达或构建黄金单子。因此这款工具成为为内网渗出中的一个利器。作者不绝在更新这个项目,迩来一次的更新时间是2022年9月19日,项目地点:https://github.com/gentilkiwi/mimikatz/。
在未打补丁的Windows 2008上,假如用户登录以后盘算机没有重启,就能抓到内存中生存的明文暗码。但在Windows Server 2012及以上的体系就无法直接在内存中提取明文暗码了,必要通过修改注册表的方式来抓取明文暗码,而且在2014年5月左右发布了KB2871997补丁,修复了在内存中抓取明文暗码的毛病。修复之后只能拿到暗码的HASH。本实行的呆板没有打这个补丁,以是可以抓到。
在攻击机运行“远程桌面毗连”,利用添加的管理员用户gg毗连WEB机,将Mimikatz整个文件夹传输到WEB机恣意目次中。右键“以管理员身份运行”运行cmd.exe,在cmd里切换到Mimikatz.exe所在的目次;大概找到Mimikatz.exe,右键“以管理员身份运行”,进入mimikatz的界面。
起首认识一下Mimikatz支持的下令。输入“::”可以查察到mimikatz支持的模块名,输入“模块名::”可以查察到某个模块支持的子下令。
然后依次实行以下下令,获取体系中的用户凭据。
  1. mimikatz # log
复制代码
  1. mimikatz # privilege::debug
复制代码
  1. mimikatz # sekurlsa::logonpasswords
复制代码
mimikatz # log的意思为开启日记纪录,之后输入的任何指令与回显效果都会以TXT文本文档生存在Mimikatz.exe的同级目次中;
Privilege::debug的功能是哀求调试权限,大部分的mimikatz功能都必要有调试权限才华正常运行;
sekurlsa::logonpasswords,SEKURLSA模块与受掩护的内存交互。该模块从lsass(Local Security Authority Subsystem Service)历程的内存中提取暗码、密钥、PIN码、票证。
由于内容较多,只截取关键部分图片。如下图,是leo用户的信息。
Windows加密过的暗码口令,我们称之为hash(中文:哈希),Windows的体系暗码hash默认情况下一样平常由两部分构成:第一部分是LM-hash,第二部分是NTLM-hash,是对同一个暗码的两种差别的加密方式。由于LM Hash加密方案中存在一些安全缺点,微软厥后引入了NTLM协议代替LM Hash。
将抓取的有效用户信息统计成一个表,方便查阅。
表 1
用户名
暗码
SID
NTLM
Administrator
Abc1234
S-1-5-21-4130613548-2113950923-398814044-500
aa3afe73b6e0c2d87b3a428bf696ae71
leo
1234Abc
S-1-5-21-3142012437-1197691209-3386785366-1104
4c205bd291cf5ad109fdd9f4f6eb8f70
从抓取的信息中发现,除了当地管理员以外,尚有一个用户leo,是域用户。由于leo用户在WEB机启动后登录过,以是可以拿到明文暗码,而用户Administrator(当地管理员)重启后,没有登录过,就只能拿到NTLM值。不外这里由于Administrator用户的暗码不敷复杂,以是利用Administrator用户的NTLM值,可以通过在线解密网站解出暗码。
注意,假如没有抓取到leo域用户的暗码,大概是leo用户在WEB机重启后没有登录过,请在WEB机在利用leo用户登录一次然后再举行抓取。
题目:Mimikatz为什么可以或许从体系中抓出暗码来?
Lsass.exe(Local Security Authority Subsystem Service)是一个Windows体系中的安全机制历程,它用于当地安全和登录计谋。在它的历程空间中,储存着盘算机的域、当地用户名和暗码等告急信息。
通常我们在登录体系时输入暗码之后,暗码便会储存在lsass历程的内存中。假如获取了当地体系权限,用户便可以访问LSASS历程内存,从而可以导出内部数据(password),用于横向移动和权限提拔。mimikatz正是通过“privilege::debug”获取了调试权限,访问lsass.exe历程,获取到了明文暗码(未安装补丁前)。也由于是储存在内存中的,以是重启电脑就抓取不到明文暗码了。
离线破解Windows用户暗码

以上的抓取暗码的方式必要通过攻击机远程毗连到WEB机,且还要上传Mimikatz到WEB机中,如许动静未免较大,假如WEB机有杀毒软件的话还大概会引起杀毒软件报警。以是我们还可以利用别的一种方法——利用注册表下令导出Sam与System文件,在攻击机当地抓取HASH。
导出注册表方式抓HASH

利用恣意Webshell管理工具实行以下下令,将sam与system导出来,注意假如没权限还必要利用CVE-2018-8120毛病利用步伐以System身份实行下令。
  1. CVE-2018-8120.exe "reg save hklm\sam sam.hive"
复制代码
  1. CVE-2018-8120.exe "reg save hklm\system system.hive"
复制代码
实行以上的两行下令后,将在实行下令时的目次天生sam.hive和system.hive两个文件,然后将这两个文件下载到攻击机当地Mimikatz.exe同级目次内。
在攻击机中运行Mimikatz.exe,利用下令:lsadump::sam /sam:sam.hive /system:system.hive,即可将WEB机用户的HASH抓取出来,但是无法抓取域leo用户的HASH。
将抓取的Administrator用户HASH值aa3afe73b6e0c2d87b3a428bf696ae71纪录一下,在搜刮引擎中搜刮干系破解网站,即可将明文暗码解密出来。
彩虹表破解HASH

假如抓到了HASH值,但通过在线网站没有查到明文暗码的时间,可以在当地利用彩虹表举行破解。
Rainbowcrack是一款跨平台破解哈希算法暗码工具,告急可以破解MD5、NTLM等多种暗码。它并非针对某种哈希算法的毛病举行攻击,而是雷同暴力破解,对于任何哈希算法都有效。彩虹表相当于是一个数目巨大、预先盘算好的HASH值的聚集,一样平常暗码越复杂所必要的彩虹表就越大,如今根据Rainbowcrack官网列出的彩虹表,NTLM范例肯定条件的HASH彩虹表最小是65GB,最大是690GB。
Rainbowcrack官网地点:http://project-rainbowcrack.com/。下载并利用Rainbowcrack官网最新版本1.8,解压在攻击机恣意目次中,Rainbowcrack有可视化操纵版本Rcrack_Gui.exe,运行Rcrack_Gui.exe,在菜单栏中依次点击“File”→“Add Hashes…”可以添加一个或多个HASH值,一活动一条,我们将NTLM值32ed87bdb5fdc5e9cba88547376818d4填写进去,点击“OK”按钮完成添加。
接下来,利用CMD进入Rainbowcrack根目次,用Rtgen天生NTLM这类HASH的彩虹表,其格式如下:
  1. Rtgen.exe 哈希类型 字符范围 最小位数 最大位数 表索引 链长度 链数量 索引块
复制代码
哈希范例有常见的HTLM、MD5、SHA1、SHA256、LM等,我们如今涉及到的是HTLM。
字符范围填写对应字符集名称。下表是彩虹表中全部的字符集名称与对应包罗内容。
字符集名称
包罗内容
Numeric
0123456789
Alpha
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Alpha-Numeric
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Loweralpha
abcdefghijklmnopqrstuvwxyz
Loweralpha-Numeric
abcdefghijklmnopqrstuvwxyz0123456789
Mixalpha
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
Mixalpha-Numeric
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789
Ascii-32-95
!"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`
abcdefghijklmnopqrstuvwxyz{|}~
Ascii-32-65-123-4
!"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`{|}~
Alpha-Numeric-Symbol32-Space
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|:;”‘,.?/
由于我们已经知道了该明文暗码实际上只是数字,以是我们选择最简朴的Numeric字符集即可。但是在实际实行中大概就必要选择比力复杂的字符集了。
最小位数与最大位数的选择会决定彩虹表天生的内容的多少。在实行中,我们拿到Windows服务器是可以查察服务器暗码计谋中暗码最短位数的,具体步调是“远程桌面毗连”毗连到WEB机中,点击“开始菜单”→“管理工具”→“当地安全计谋”,在弹出的“当地安全计谋”窗口中,睁开“账户计谋”后,选中“暗码计谋”,就可以看到WEB机中的暗码要求。如下图可见,暗码长度最小值为7个字符,拿到这个点后就可以将天生彩虹表的最小位数设置为7,为克制浪费过多时间将最大位数也设置为7。但是在这里我们知道123456是6位数,为了便于实行的明确以是我们设置最小、最大位数都为6即可。
表索引我们设置为0;链长度是指单文件暗码串长度,最小为16,我们也设置为16;链数目是指数目越大暗码就越多,颠末多次测试设置为68500是可以快速天生彩虹表且占用硬盘空间最低的有效数值;索引块是彩虹表的标识,我们设置为0,比方有许多单文件,靠这个标识来判断是否属于同一个彩虹表。由于本实行的实际情况,必要天生的彩虹表比力大,占用体系资源较多,以是这个步调就拿123456这种简朴暗码作为彩虹表这项技能的相识。
还可以根据官方文档:http://project-rainbowcrack.com/generate.htm,确定终极下令所必要的参数。
末了联合每一项获取的信息,拼集出我们必要利用到的下令是:
  1. rtgen.exe ntlm numeric 6 6 0 16 68500 0
复制代码
利用CMD在Rainbowcrack根目次实行以上下令后,就会在根目次中天生一个以.rt末了的文件,内里就是天生的彩虹表。
创建完彩虹表后,还必要对其举行排序,注意不要停止排序,否则彩虹表大概会被破坏,注意下令后有一点:
  1. Rtsort.exe .
复制代码
末了打开Rcrack_Gui.exe,点击菜单栏中的“Rainbow Table”→“Search Rainbow Tables…”选用刚刚创建的彩虹表,然后就会快速破解匹配出暗码。
题目:为什么从导出的SAM文件可以将用户的暗码HASH抓取出来?
这必要相识NTLM当地认证过程。用户的暗码存储在当地盘算机的SAM文件里,其路径为%SystemRoot%\system32\config\SAM。当用户在 Windows 当地登录时,输入暗码后,用户输入的暗码将为被转化为 NTLM Hash,然后与SAM中的NTLM Hash举行比力。当用户注销、重启、锁屏后,操纵体系会调用winlogon.exe历程表现登录界面(用户名和暗码的输入框)。当winlogon.exe历程吸取到用户输入的暗码后,会将暗码交给lsass历程。lsass.exe 是一个体系历程,用于微软Windows体系的安全机制。它用于当地安全和登录计谋,lsass.exe历程将明文暗码加密成 NTLM Hash,对SAM数据库比力认证。
在学习中,必要明确工具可以或许实现其功能的内部原理,而不但仅是停顿在工具的利用上。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录

QQ|手机版|qidao123.com IT社区;IT企服评测▪应用市场 ( 浙ICP备20004199|浙ICP备20004199号 )|网站地图

GMT+8, 2026-5-21 23:00 , Processed in 0.068399 second(s), 32 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表