Metasploit笔记
攻击流程
外围信息搜集
通过DNS和IP地址挖掘目标网络信息
命令 | 功能 | 使用示例 |
---|---|---|
whois | 域名注册信息查询 | whois testfire.net |
nslookup | 域名查询 | nslookup > set type=A > testfire.net |
dig | 域名查询 |
IP2Location 地理位置查询
netcraft 网站提供的信息查询服务
http://searchdns.netcraft.com/
IP2Domain反查域名
http://www.ip-adress.com/reverse_ip/
通过搜索引擎进行信息搜集
[Google Hacking Database (GHDB) - Google Dorks, OSINT, Recon (exploit-db.com)](Google Hacking Database (GHDB) - Google Dorks, OSINT, Recon (exploit-db.com) )
一些自动化的工具能够帮助你更方便地利用 Google 及其他搜索引擎进行信息搜集, 比如 SiteDigger 和 Search Diggity。
SiteDigger 可以从 http://www.mcafee.com/us/downloads/free-tools/sitedigger.aspx 免费下载使用, 它集成了 FSDB ( Foundstone Signature DataBase, 由 Foundstone 公司维护的搜索字串库) dstone Signature DataBase, 由 Foundstone 公司维护的搜索字串库) 和 GHDB 的自动搜索功能
Search Diggity 可以在 http://www.stachliu.com免费下载, 使用它不仅能够对 GHDB 等搜索字符串进行自动探测。
探索网站的目录结构
- 扩展名为 inc 的文件: 可能会包含网站的配置信息, 如数据库用户名 / 口令等。
- 扩展名为 bak 的文件 : 通常是一些文本编辑器在编辑源代码后留下的备份文件, 可以让你知道与其对应的程序脚本文件中的大致内容。
- 扩展名为 txt 或 sql 的文件: 一般包含网站运行的 SQL 脚本, 可能会透露类似数据库结构等信息。
#使用 dir scanner 辅助模块来搜索 testfire 网站目录msf auxiliary(dir一scanner} > use auxiliary/scanner/http/dir_scannermsf auxiliary(dir_scanner) > set THREADS 50THREADS => 50msf auxiliary(dir_scanner) > set RHOSTS www.testfire.netRHOSTS => www.testfire.netmsf auxiliary(dir_scanner) > exploit[*] Detecting error code[*] Using code '404' as not found for 65.61.137.117[*] Found http://65.61.137.117:80/Admin/ 403 (65.61.137.117)[*] Scanned 1 of 1 hosts (100% complete)[*] Auxiliary module execution completed
主机探测与端口扫描
- ICMP Ping命令
- Metasploit 的主机发现模块
arp_sweep | 使用ARP请求枚举本地局域网络中所有的活跃主机。 |
---|---|
udp_sweep | 通过发送UDP数据包探查指定主机是否活跃,并发现主机上的UDP服务 |
使用Nmap进行主机探测
- Nmap ( Network mapper) 是目前最流行的网络扫描工具, 它不仅能够准确地探测单台主机的详细情况, 而且能够高效率地对大范围的 IP 地址段进行扫描。 使用 Nmap 能够得知目标网络上有哪些主机是存活的, 哪些服务是开放的, 甚至知道网络中使用了何种类型的主机探测与端口扫描 83防火墙设备等。
- 操作系统辨识
nmap -O 选项让 Nmap 对目标的操作系统进行识别。
-sV 参数对其服务的版本进行辨识, 一些特定版本的服务通常只会运行在特定的操作系统上, 有助于你更加准确地得到操作系统的类型。
-A 命令可以获取更详细的服务和操作系统信息 - 端口扫描与服务类型探测
目前常见的端口扫描技术一般有如下几类 : TCP Connect, TCP SYN、 TCPACK、 TCP FIN。
Nmap端口扫描功能
- open: 一个应用程序正在此端口上进行监听, 以接收来自 TCP、 UDP 或 SCTP 协议的数据。 这是在渗透测试中最关注的一类端口, 开放端口往往能够为我们提供一条能够进入系统的攻击路径
- closed: 关闭的端口指的是主机已响应, 但没有应用程序监听的端口。 这些信息并非毫无价值, 扫描出关闭端口至少说明主机是活跃的
- filtered:,指 Nmap 不能确认端口是否开放, 但根据响应数据猜测该端口可能被防火墙等设备过滤。
- unfiltered: 仅在使用 ACK 扫描时, Nmap 无法确定端口是否开放, 会归为此类。 可以使用其他类型的扫描( 如 Window 扫描、 SYN 扫描、 FIN 扫描) 进一步确认端口的信息。
Nmap扫描类型参数说明:
参数 | 说明 |
---|---|
-sT | TCP connect 扫描,类似Metasploit中的tcp扫描模块。 |
-sS | TCP SYN扫描,类似Metasploit中的syn扫描模块 |
(常用)-sF/-sX/-sN | 这些扫描通过发送一些特殊的标志位以避开设备或软件的监测。 |
-sP | 通过发送ICMP echo请求探测主机是否存活,原理同ping. |
-sU | 探测目标主机开放了那些UDP端口。 |
(常用-较慢)-sA | TCP ACK扫描,类似Metasploit中的ack扫描模块。 |
-Pm | 在扫描之前, 不发送 ICMP echo 请求测试目标是否活跃。 |
-O | 启用对于 TCP/IP 协议栈的指纹特征扫描以获取远程主机的操作系统类型等信息。 |
-F | 快速扫描模式, 只扫描在 nmap-services 中列出的端口。 |
l <端口范围> | 可以使用这个参数指定希望扫描的端口, 也可以使用一段端口范围(例如 1 1023)。 在 IP 协议扫描中( 使用-sO 参数) , 该参数的意义是指定想要扫描的协议号 ( 0 255)。 |
-sV | 获取更加详细的服务版本等信息 |
服务扫描与查点
Telnet服务扫描
msf > use auxiliary/scanner/telnet/telnet—versionmsf auxiliary(telnet_version) > set RHOSTS 10.10.10.0/24RHOSTS => 10.10.10.0/24msf auxiliary(telnet一version) > set THREADS 100THREADS => 100msf auxiliary(telnet一version) > run
SSH服务扫描
msf > use auxiliary/scanner/ssh/ssh_versionmsf auxiliary(ssh_version) > set RHOSTS 10.10.10.0/24RHOSTS => 10.10.10.0/24msf auxiliary(ssh_version) > set THREADS 100THREADS => 100msf auxiliary(ssh一version) > run
Oracle数据库服务查点
各种网络数据库的网络服务端口是漏洞频发的“ 重灾区”
msf > use auxiliary/scanner/oracle/tnslsnr_versionmsf auxiliary(tnslsnr一version) > set RHOSTS 10.10.10.0/24RHOSTS => 10.10.10.0/24msf auxiliary(tnslsnr一version) > set THREADS 50THREADS => 50msf auxiliary(tnslsnr一version) > run
开放代理探测与利用
msf auxiliary(ssh_login) > use auxiliary/scanner/http/open_proxy
msf auxiliary(open_proxy) > set SITE www.google.com
SITE => www.google.com
msf auxiliary(open_proxy) > set RHOSTS 24.25.24.1-24.25.26.254
RHOSTS => 24.25.24.1-24.25.26.254
msf auxiliary(open_proxy) > set MULTIPORTS true
MULTIPORTS => true
msf auxiliary(open_proxy) > set VERIFY CONNECT true
VERIFY_CONNECT => true
msf auxiliary(open_proxy) > set THREADS 100
THREADS => 100
msf auxiliary(open_proxy) > run
口令猜测与嗅探
SSH服务口令猜测
msf auxiliary(ssh_version) > use auxiliary/scanner/ssh/ssh_login
msf auxiliary(ssh_login) > set RHOSTS 10.10.10.254
RHOSTS => 10.10.10.254
auxiliary(ssh_login) > set USERNAME root
USERNAME => root
msf auxiliary(ssh_login) > set PASS_FILE /root/words.txt
PASS FILE => /root/words.txt
msf auxiliary(ssh_login) > set THREADS 50
THREADS => 50
msf auxiliary(ssh_login) > run
psnuffle 口令嗅探
msf > use auxiliary/sniffer/psnuffle
msf auxiliary(psnuffle) > run
网 络 漏 洞 扫 描
openvas
nmap -P0 --script=smb-check-vulns 10.10.10.130
推荐一个零声学院免费教程,个人觉得老师讲得不错,分享给大家,有兴趣可以去看看:[Linux,Nginx,DPDK等技术内容,点击立即学习.