Fork me on GitHub

Metasploit的基本使用

参考文献:https://www.cnblogs.com/Acewipe/p/7672446.html

环境:

ubuntu

Metasploit简介:

Metasploit是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞。

msf终端:

msf终端是Metasploit的用户接口,它提供了一站式的接口,能够访问Metasploit框架中几乎每一个选项和配置

安装

1
2
3
4
5
cd /opt
sudo wget https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb
mv msfupdate.erb msfinstall
sudo chmod 755 msfinstall
./msfinstall

msf基本使用:

1
2
3
msfupdate      #更新
msfconsole #启动MSF终端
db_connect postgres:postgres@127.0.0.1/msf #使用数据库

信息收集

  • Whois 目标域名/主机名(https://whois.aliyun.com/)
    whois example.com
  • 解析目标域名/主机名的IP地址
    dig example.com +short
  • Whois IP地址
    whois 104.27.178.12
  • Google Hacking
    site:example.com (+inurl关键字admin,login等)

nmap端口扫描

1
2
3
4
5
6
7
8
9
nmap 192.168.100.2 //扫描前1000号TCP端口
nmap –sP 192.168.100.0-7//Ping扫描8个本地主机(按ARP、ICMP、TCP 80的顺序)
nmap -p 80,443 192.168.100.2//扫描80,443端口
nmap -A 192.168.100.2//描前1000号TCP端口,OS指纹,服务,然后运行一个NSE脚本
nmap –A –p- 192.168.100.2//扫描全部65535个TCP端口,OS指纹,服务,然后运行一个NSE脚本
nmap -sU 192.168.100.2// 扫描前1000号UDP端口
nmap -sU –p- 192.168.100.2//扫描所有65535个UDP端口
nmap –sU -p- -A 192.168.100.2//扫描所有65535个UDP端口,并获取服务、OS指纹,之后运行一些NSE脚本
nmap –sS -Pn- -A 192.168.100.2//隐秘的tcp扫描,不允许使用ping命令

  • TCP空闲扫描
    1
    2
    3
    4
    5
    6
    msf > use auxiliary/scanner/ip/ipidseq 
    msf auxiliary(scanner/ip/ipidseq) > show options
    set RHOSTS 192.168.1.0/24
    set THREADS 50
    run
    namp -PN -sI 192.168.1.31(空闲主机) 192.168.1.45(目标主机)

针对性扫描

  • 服务器消息块协议扫描(获得windows系统的版本号)
    1
    2
    3
    msf > use auxiliary/scanner/smb/smb_version 
    set RHOSTS 192.168.0.109
    run

还有ftp,ssh扫描方法类似,就不一一举例了。

nikto

Web服务漏洞扫描器,它可以利用-Format选项来导出特定格式的扫描结果,使扫描结果更容易阅读和分析。

1
2
apt install git
git clone https://github.com/sullo/nikto.git

  • 扫描目标并将结果导出成HTML格式
    nikto -h http://example.com -output ~/nikto.html -Format htm

渗透攻击基础

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
show exploits #查看攻击模块
show auxiliary #辅助模块及用途
show options #显示当前exp攻击信息
search #搜索相关模块
use exploit #选用所需要的漏洞利用模块
show targets #显示支持的版本
show payloads #显示当前exp可用的攻击载荷
info #显示当前所用exploit的详细信息
set payloads #设置要用的攻击载荷
set targets #设置靶机的版本
set LHOST #设置攻击机ip
set LPORT #设置攻击端口
set RHOST #设置靶机ip
set RPORT #设置靶机端口
exploit #执行渗透攻击或模块来攻击目标
exploit -j #在计划任务下进行渗透攻击
exploit -h #列出exploit命令的帮助信息。
sessions -l #列出可用的交互会话
sessions -i #选用相应的交互会话

渗透攻击过程

  • 运行msfconsole
  • 确定远程主机
  • 找到一个漏洞并使用这个漏洞
  • 配置漏洞选项
  • 入侵远程主机

如果攻击成功一般会返回一个meterpreter:(感觉和empire挺像的,就不多举例了,碰到有趣的再记录下)

1
2
3
ps #列出当前系统进程
Kill uid #消灭指定uid系统进程
screenshot #截屏

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