声明:课程内容为泷羽Sec网络安全B站课程——Shodan (7),知识产权为其所有。本文目的为学习与技术分享,所有内容仅供参考。任何使用或参考本文内容所造成的法律后果与本人无关,特此声明。
一、学习目标
补充学习shodan重要命令;了解谷歌漏洞搜索;
二、内容摘要
补充学习shodan的5个命令:alert, info, scan, domain, stats;了解谷歌漏洞搜索基础语法;
三、学习内容
(一)shodan命令
1. shodan alert
Shodan Alert 命令用于监控互联网上特定设备或服务的变化。通过设置警报,用户可以指定一个或多个IP范围及端口,当这些范围内的目标出现新设备上线或已知设备状态发生改变时,Shodan 将会发送通知给用户。
1)列出所有警报
shodan alert list # 列出所有警告
2)创建一个新的警报
shodan alert create "My Server" 192.168.1.1 # 创建一个监控单个 IP 地址的警报
3)创建一个监控 IP 范围的警报
shodan alert create "My Network" 192.168.1.0/24
4)删除警报
shodan alert delete <ALERT_ID> # 使用警报ID删除警报,先可以通过 shodan alert list 命令查看<ALERT_ID>
5)查看一个具体警报的详情
shodan alert info <ALERT_ID> # <ALERT_ID>为具体警报的ID
6)触发警报测试
shodan alert trigger <ALERT_ID> # 测试警报是否正常工作
注:alert trigger功能有 API 访问限制,需要付费订阅才能完全解锁
2. shodan info
shodan info 命令用于显示与您的 Shodan 账户相关的信息,包括账户类型、剩余的查询额度、扫描额度等重要细节。这对于了解自己的账户状态和资源使用情况非常有用。
- Query credits: 账户中剩余的查询额度。每次执行搜索查询时都会消耗一定的查询额度。
- Scan credits: 账户中剩余的扫描额度。每次执行网络扫描时会消耗扫描额度。
3. shodan domain
shodan domain 命令用于查询与特定域名相关的详细信息,包括子域、IP 地址、关联的证书和其他相关信息。这对于进行域名分析、安全审计和渗透测试非常有用。
shodan domain <domain> # <domain>: 您想要查询的域名,例如 example.com。
- A 记录:
110.*.*.*: 这是一个指向百度服务器的实际 IP 地址之一;39.156.66.10: 另一个指向百度服务器的实际 IP 地址。- CNAME 记录:wwyyq.*.*.com, ihcloud2.*.*.com, dep.*.*.com, bsb.*.com, sfc.*.*.com, 1212.*.com.a.*.*..com: 这些都是与 www.*.com 关联的别名记录。它们代表了不同的子域名或服务,这些子域名或服务最终解析回相同的实际 IP 地址。
这些记录的存在表明 www.*.com 是一个高流量站点,具有多台服务器来处理请求负载均衡。同时,通过使用 CNAME 记录,它可以灵活地调整其基础设施而无需更改主要域名的 A 记录。
4. shodan scan
shodan scan 命令用于启动一个网络扫描任务,以收集有关特定 IP 地址或 IP 范围的详细信息。px 可以主动扫描目标设备或网络,并将结果存储在自己的 Shodan 账户中,以便后续分析。
1)扫描单个 IP 地址
shodan scan submit 192.168.1.1
2)扫描 IP 范围
shodan scan submit 192.168.1.0/24
3)扫描域名
shodan scan submit example.com
4)查询扫描列表
shodan scan list
5)查询扫描状态
shodan scan status <SCAN_ID> # 可以通过scan list先找到<SCAN_ID>
5. shodan stats
Shodan status命令用于获取关于特定查询的统计信息。它可以了解某个查询结果的大致分布情况,比如某个国家或地区的设备数量、使用特定操作系统的设备比例等。
1)基本用法
shodan stats [options] <query>
<query>
: 这是你想要搜索的关键词或者过滤条件。例如,如果你想查看所有运行 Apache Web 服务器的设备,你可以使用http.title:"Apache"
.
[options]
: 可以添加一些选项来定制你的请求。例如,使用--facets
参数来指定你感兴趣的统计类别。
--facets <facet1,facet2,...>
: 指定要返回哪些方面的统计数据。例如,country
可以显示不同国家的设备数量;os
可以显示不同操作系统的设备数量。多个类别之间用逗号分隔。--page <number>
: 指定返回结果的页码,默认为1。--limit <number>
: 指定每个分类的最大返回条目数,默认为10。--separator <char>
: 指定输出中使用的分隔符,默认为空格
2)示例
shodan stats --facets ssl.version country:cn has_ssl:true http
(二)谷歌漏洞搜索语法
谷歌漏洞搜索,即Google Hacking,是指利用Google搜索引擎的高级搜索语法和特殊运算符来查找网络上潜在的安全漏洞、敏感信息或有价值的资源。通过特定的搜索条件,如文件类型、URL路径、页面标题等,安全研究人员和黑客可以发现未授权访问的文件、配置错误的服务器、泄露的数据等。
1. 基本语法介绍
"inurl:admin" :查找包含 "admin" 的网页URL,可能找到管理后台入口。
“inurl:login” :查找包含 “login” 的登录页面。
"inurl:php?id=" :查找可能存在SQL注入漏洞的PHP页面。
"inurl:asp?id=” :查找可能存在 SQL注入漏洞的ASP页面。
“inurl:jsp?id=” :查找可能存在 SQL 注入漏洞的 JSP 页面。
"filetype:pdf 关键词” :查找特定关键词的PDF文件。
"filetype:doc关键词” :查找特定关键词的Word文档。
"filetype:xls关键词” :查找特定关键词的Excel 表格。
“intitle:后台管理” :查找标题中包含“后台管理” 的网页。
“intitle:登录页面”:查找标题中包含“登录页面” 的网页。
“site:gov inurl:upload”:在政府网站中查找可能存在文件上传漏洞的页面。
“site:edu inurl:forum”:在教育机构网站中查找论坛页面。
"site:com inurl:phpmyadmin" :在商业网站中查找可能存在的phpMyAdmin管理页面。
"site:org inurl:password" :在非营利组织网站中查找包含 "password" 的页面,可能找到泄露的密码信息。
"site:net inurl:backup" :在.net域名网站中查找备份文件。
"site:gov.cn intitle:敏感信息” :在政府中文域名网站中查找标题包含敏感信息的页面。
"site:company.com inurl:confidential” :在特定公司网站中查找包含 “confidential" (机密)的页面。
“site:domain.com inurl:uploads" :在特定域名网站中查找上传文件的目录。
"site:edu.cn filetype:ppt 关键词” :在教育机构中文域名网站中查找特定关键词的 PPT 文件。
"site:*.gov inurl:vulnerability" :在各种政府网站中查找包含 "vulnerability" (漏洞)的页面
四、总结与思考
(一)shodan 命令
shodan命令需要用各种参数的组合,国家地区,漏洞,版本,IP等等的一系列参数配合起来,例如结合各个服务的端口去搜索
(二)谷歌漏洞搜索语法
它是除shodan以外重要的搜索平台工具