网络搜索引擎Shodan(5)

ops/2024/11/2 20:32:51/

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。

感谢泷羽sec 团队的教学
视频地址:shodan(5)_哔哩哔哩_bilibili


本文主要讲解search命令的一些用法,以及如何去搜索Mongodb未授权登录的设备和使用jenkins服务设备。

1、shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24(美国国家安全局的一个网段)

你可以使用这个命令在 Shodan 中搜索 208.88.84.0/24 子网的 IP 地址

命令解释:

  • shodan search:启动 Shodan 的搜索查询。
  • --limit 10:限制结果为 10 条。
  • --fields ip_str,port:指定只显示 IP 地址和端口号。
  • net:208.88.84.0/24:定义搜索范围为指定的子网。
  • 在 Shodan 中,net 参数用于指定一个网络范围或子网进行搜索。

 

2、shodan search --limit 10 --fields ip_str,port org:nsa has_vuln:True

这个命令会返回属于 NSA 的设备中,最多 10 个存在已知漏洞的设备的 IP 地址和开放端口。

命令解释:

  • shodan search:启动 Shodan 的搜索。
  • --limit 10:限制结果为 10 条。
  • --fields ip_str,port:只显示 IP 地址和端口号。
  • org:nsa:搜索属于 NSA(国家安全局)的设备。
  • has_vuln:True:查找存在已知漏洞的设备。
  •  Shodan 中,org 参数用于指定某个组织或公司进行搜索。

 

3、 shodan search --limit 10 --fields ip_str,port hostname:google

这个命令用于在 Shodan 上搜索与 google 相关的设备。

命令解释:

  • shodan search:启动 Shodan 的搜索。
  • --limit 10:限制结果为 10 条。
  • --fields ip_str,port:只显示 IP 地址和端口号。
  • hostname:google:查找主机名中包含 google 的设备。
  • 在 Shodan 中,hostname 参数用于搜索特定主机名的设备。通过这个参数,你可以查找与某个特定域名或主机名相关的设备。

 

4、shodan search --limit 10 --fields ip_str,port country:cn http.waf:safedog

这个命令用于在 Shodan 上搜索中国(cn)的设备,具体是查找使用 Safedog WAF(安全狗) 的设备。

命令解释:

  • shodan search:启动 Shodan 的搜索。
  • --limit 10:限制结果为 10 条。
  • --fields ip_str,port:只显示 IP 地址和端口号。
  • country:cn:查找位于中国的设备。
  • http.waf:safedog:查找使用 Safedog Web 应用防火墙的设备。
  • 在 Shodan 中,http.waf 参数用于搜索特定的 Web 应用防火墙(WAF)。通过这个参数,你可以查找使用特定 WAF 保护的设备或应用。

 

 5、shodan search --limit 10 --fields ip_str,port country:cn http.html:login

这个命令用于在 Shodan 上搜索中国(cn)的设备,具体是查找包含登录页面的设备。

命令解释:

  • shodan search:启动 Shodan 的搜索。
  • --limit 10:限制结果为 10 条。
  • --fields ip_str,port:只显示 IP 地址和端口号。
  • country:cn:查找位于中国的设备。
  • http.html:login:查找包含“login”关键字的 HTML 内容,通常指示有登录页面的设备。
  • 在 Shodan 中,http.html 参数用于查找特定 HTTP 响应内容中的关键字。这可以帮助用户定位包含特定文本或结构的网页。
 6、shodan search --limit 10 --fields ip_str,port "Mongodb server information -authentication" port:27017

这个命令用于在 Shodan 上搜索运行 MongoDB 数据库的设备,特别是那些显示“Mongodb server information -authentication”信息(未授权)的设备。

命令解释:

  • shodan search:启动 Shodan 的搜索。
  • --limit 10:限制结果为 10 条。
  • --fields ip_str,port:只显示 IP 地址和端口号。
  • "Mongodb server information -authentication":搜索包含该特定字符串的 HTTP 响应,通常表示 MongoDB 的信息。
  • port:27017:指定搜索 MongoDB 默认端口(27017)。

编写python脚本批量测试

from pymongo import MongoClient
import socketdef check_mongodb(ip):try:client = MongoClient(f"mongodb://{ip}:27017", serverSelectionTimeoutMS=2000)client.admin.command('ismaster')  # 测试连接是否成功print(f"[+] '连接成功': {ip}")except Exception as e:print(f"[-] '连接失败': {ip} ({e})")with open('ips.txt', 'r') as file:ips = file.readlines()for ip in ips:ip = ip.strip()check_mongodb(ip)

使用NoSQLBooster进行验证

7、Jenkins

enkins 是一个开源的持续集成(CI)和持续交付(CD)工具,广泛用于自动化软件构建、测试和部署流程。它具有插件支持,能够与几乎任何工具和平台集成,方便从代码进行管理提交到生产部署的整个流程。

主要功能
  • 持续集成(CI):Jenkins 可以监控代码库(如 Git)中的更改并自动构建项目。这有助于在早期发现代码问题,减少代码集成的风险。
  • 持续交付(CD):可以自动将构建的应用程序部署到测试或生产环境,确保代码在通过所有测试后安全上线。
  • 自动化测试:支持单元测试、集成测试和功能测试,可以配置触发条件进行自动测试。
  • 插件支持:Jenkins 提供超过 1,500 个插件,支持与各种开发、测试和部署工具的集成,如 Git、Docker、Maven 等。
  • 任务调度:支持定时任务或事件驱动的任务调度,适用于自动化日常构建和部署工作。

搜索语句:shodan search --limit 100 --fields ip_str "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard"

这个命令用于在 Shodan 上搜索与 Jenkins 相关的设备,特别是那些显示特定 HTTP 标题和内容的设备。

命令解释:

  • shodan search:启动 Shodan 的搜索。
  • --limit 100:限制结果为 100 条。
  • --fields ip_str:只显示 IP 地址。
  • "X-Jenkins":查找包含 X-Jenkins 响应头的设备,通常指示这些设备运行 Jenkins。
  • "Set-Cookie:JSESSIONID":查找包含 JSESSIONID cookie 的设备,通常用于 Java 应用程序的会话管理。
  • http.title:"Dashboard":查找 HTTP 响应中包含“Dashboard”作为标题的设备,这通常与 Jenkins 的仪表板相关。

 

使用python脚本测试

import requests# 设置请求的 Headers
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'
}def check_jenkins(ip):url = f'http://{ip}:8080/'try:# 访问 Jenkins 主页面response = requests.get(url, headers=headers, timeout=5)if "Dashboard [Jenkins]" in response.text:print(f"[+] '检测到 Jenkins' {ip}")# 检查是否存在未授权访问script_url = f"{url}script"script_response = requests.get(script_url, headers=headers, timeout=5)if script_response.status_code == 200:print(f"[!] '存在潜在的未经授权的访问' {script_url}")else:print(f"[-] '不存在未经授权的访问' {script_url}")else:print(f"[-] '未发现Jenkins' {ip}")except requests.RequestException as e:print(f"[!] '访问错误' {ip}: {e}")# 读取 IP 列表并检测
with open("ips.txt", "r") as file:ips = file.readlines()for ip in ips:ip = ip.strip()check_jenkins(ip)


http://www.ppmy.cn/ops/130511.html

相关文章

[自用,更新自day5]瑞吉外卖代码及笔记

文章目录 day1数据库环境搭建配置WebMvcConfig返回结果类登录/退出登录 day2完善登录功能新增员工分页查询员工信息启用/禁用员工信息编辑员工信息 day3公共字段自动填充新增分类分类信息分页查询删除分类修改分类 day4文件上传下载新增菜品菜品信息分页查询修改菜品 day5新增套…

jmeter结合ansible分布式压测--准备工作

主要思路:用ansible去修改施压执行机的配置,执行用jmeter分布式方式。准备1个host文件s-host-suzhou20.txt 部署csv,jmter环境,jmx 到所有环境上 1、修改每台施压机的bin文件中的jmeter.properties #server.rmi.ssl.disablefa…

Kaggle入门指南(Kaggle竞赛)

文章目录 Kaggle 入门指南1. Kaggle 的功能概述1.1 竞赛1.2 数据集1.3 学习与教程1.4 社区 2. 注册与设置2.1 创建账户2.2 完善个人资料 3. 探索数据集3.1 查找数据集3.2 下载数据集示例代码:加载数据集 3.3 数据预处理示例代码:数据预处理 4. 参与竞赛4…

智慧园区:机遇、发展与数字化转型

智慧园区的构建是一个系统性工程,它遵循着三个主要阶段的发展路径,以确保园区能够实现高效、智能和可持续的运营。以下是智慧园区构建的三个关键阶段: 第一阶段:全面在线化 智慧园区构建的第一步是实现全面在线化。这一阶段的核…

超好用的视频剪辑软件分享:10款剪辑软件推荐

视频剪辑软件哪个比较好用?无论是短视频创作者、专业剪辑师,还是影视后期制作团队,选择一款合适的视频剪辑软件至关重要。今天,我将为大家分享几款超好用的视频剪辑软件,并介绍视频剪辑的六大核心流程。 1.影忆 特点&a…

再学FreeRTOS---(任务的挂起与恢复)

目录 一.FreeRTOS任务挂起与恢复的API函数 二.任务挂起和恢复的基本操作 1.任务挂起: 2.任务恢复: 三.任务挂起与恢复的实现步骤 任务挂起的实现 任务恢复的实现 在实时操作系统FreeRTOS中,任务的挂起与恢复是一项重要的控制功能。任务挂起相当于暂停任务的执…

如何使用python完成数据统计分析及预测?

在当今数据驱动的时代,数据分析和预测已成为各行各业的重要组成部分。 Python作为一种强大的编程语言,因其简洁的语法和丰富的库而广泛应用于数据科学领域。 本文将深入探讨如何使用Python进行数据统计分析和数据预测,并提供相关的代码示例。 第一部分:数据统计分析 1.…

vscode摸鱼学习插件开发

不知道大家在摸鱼的时候,会不会想要学习? 或者有没有考公人,下班要学习的? 上班时间摸鱼,下班时间不够学习? 为此,我决定开发一个vscode插件,来刷粉笔题 粉笔插件名称:…