Metasploit简介
这是维基百科对它的介绍:https://zh.wikipedia.org/wiki/Metasploit#Metasploit_Framework
主要的几个模板
然后它的基础命令这篇文章很全:msf命令
- 辅助模块(Auxiliary)
该模块不会直接在测试者和目标主机之间建立访问,他们只负责执行扫描、嗅探、指纹识别等相关功能以辅助渗透测试
- 渗透攻击模块(exploit)
漏洞利用是指由渗透测试者利用一个系统、应用或者服务中的安全漏洞进行的攻击行为。流行的渗透攻击技术包括缓冲区溢出、Web应用程序攻击,以及利用配置错误等,其中包含攻击者或测试人员针对系统中的漏洞而设计的各种POC验证程序,用于破坏系统安全性的攻击代码,每个漏洞都有相应的攻击代码。
- 攻击载荷模块(Payloads)
攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行特定代码,在Metasploit框架中可以自由地选择、传送和植入。攻击载荷也可能是简单地在目标操作系统上执行些命令,如添加用户账号等。
- 后期渗透模块(Post)
该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、实施跳板攻击等。扫描并分析主机。
- 编码工具模块(Encoders)
该模块在渗透测试中负责免杀,以防止被杀毒软件、防火墙、IDS及类似的安全软件检测出来。
- 渗透攻击步骤
使用MSF渗透测试时,可以综合使用以上模块,对目标系统进行侦察并发动攻击,大致的步骤如下所示。
- 扫描目标机系统,寻找可用漏洞。
- 选择并配置一个漏洞利用模块。
- 选择并配置一个攻击载荷模块。
- 选择一个编码技术,用来绕过杀毒软件的查杀。
- 然后进行渗透攻击。
Metasploit信息收集
域名信息收集
1.寻找m1kael.cn的域名服务器
msf>whois m1kael.cn
执行nslookup,挖掘m1kael.cn的更多信息
kali:~# nslookup
> set type = mx
> m1kael.cn
端口信息收集
具体参考这篇文章:https://cloud.tencent.com/developer/article/1411549
端口扫描工具
msf>search portscan //查看Metasploit框架提供的端口扫描工具
SSH服务器扫描
msf>use auxiliary/scanner/ssh/ssh_version
然后我们来对Metasploitable2靶机进行msf渗透
FTP服务扫描
FTP是一种复杂且缺乏安全性的应用层协议。FTP服务器经常是进入一个目标网络最便捷的途径。在渗透测试过程中,你总是应当对目标系统上运行的FTP服务器进行扫描、识别和查点。
msf> use auxiliary/scanner/ftp/ftp_version //识别FTP服务器
msf> use auxiliary/scanner/ftp/anonymous //检查FTP服务器是否允许匿名登陆
环境搭建
靶机地址:https://sourceforge.net/projects/metasploitable/
账号/密码:msfadmin/msfadmin
在 Metasploit中同样可以使用Nmap扫描
nmap -sP 192.168.205.0/24
nmap -A 192.168.205.134 -p 1-65535
发现开启了很多服务,可以去试试弱密码爆破了
去看了一下Metasploitable2渗透的文章
发现漏洞确实挺多的
- 弱口令漏洞(如 vnc、mysql、PostgreSQL 等)
- Samba MS-RPC Shell 命令注入漏洞
- Vsftpd 源码包后门漏洞
- UnreallRCd 后门漏洞
- Linux NFS 共享目录配置漏洞
- Java RMI SERVER 命令执行漏洞
- Tomcat 管理台默认口令漏洞
- root 用户弱口令漏洞(SSH 爆破)
- Distcc 后门漏洞
- Samba sysmlink 默认配置目录遍历漏洞
- PHP CGI 参数注入执行漏洞
- Druby 远程代码执行漏洞
- Ingreslock 后门漏洞
- Rlogin 后门漏洞
我们这就挑几个就行
Samba MS-RPC Shell 命令注入漏洞
漏洞产生原因:传递通过 MS-RPC 提供的未过滤的用户输入在调用定义的外部脚本时调用 /bin/sh,在 smb.conf中,导致允许远程命令执行。
使用 search usermap 来搜索攻击模块
得到shell
发现还是rot权限
Vsftpd 源码包后门漏洞
漏洞产生原因:在特定版本的 vsftpd 服务器程序中,被人恶意植入代码,当用户名以 “:)” 为结尾,服务器就会在 6200端口监听,并且能够执行任意恶意代码。
用search vsftp 搜索可用攻击模块
UnreallRCd 后门漏洞
漏洞产生原因:在 2009 年 11 月到 2010 年 6 月间分布于某些镜面站点的 UNreallRCd,在DEBUG3_DOLOG_SYSTEM 宏中包含外部引入的恶意代码,远程攻击者就能够执行任意代码。使用 search unreal来搜索攻击模块
用search unreal 搜索漏洞模块
后渗透阶段
auxiliary/scanner/discovery/arp_sweep #基于arp协议发现内网存活主机,这不能通过代理使用
auxiliary/scanner/portscan/ack #基于tcp的ack回复进行端口扫描,默认扫描1-10000端口
auxiliary/scanner/portscan/tcp #基于tcp进行端口扫描,默认扫描1-10000端口
auxiliary/scanner/discovery/udp_sweep #基于udp协议发现内网存活主机
auxiliary/scanner/discovery/udp_probe #基于udp协议发现内网存活主机
auxiliary/scanner/netbios/nbname #基于netbios协议发现内网存活主机
auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title #探测内网http服务的标题
auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口
use auxiliary/scanner/mssql/mssql_schemadump #发现内网SQLServer服务,基于默认的1433端口
use auxiliary/scanner/oracle/oracle_hashdump #发现内网oracle服务,基于默认的1521端口
auxiliary/scanner/mysql/mysql_version #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname #探测内网主机的netbios名字
声明:本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担! 本网站采用BY-NC-SA协议进行授权!转载请注明文章来源! 图片失效请留言通知博主及时更改!