当前位置: 首页 > article >正文

[渗透测试]热门搜索引擎推荐— — shodan篇

[渗透测试]热门搜索引擎推荐— — shodan篇

免责声明:本文仅用于分享渗透测试工具,大家使用时,一定需要遵守相关法律法规。

  • 除了shodan,还有很多其他热门的,比如:fofa、奇安信的鹰图、钟馗之眼等,这里就不一一介绍了,感兴趣的同学可以下来自行了解~

1. 介绍

Shodan 是一个网络搜索引擎,它与一般的搜索引擎有所不同,主要侧重于搜索互联网上连接的设备、服务和网络。以下是 Shodan 的一些详细特点和用途:

  1. 设备搜索:Shodan 允许用户通过关键字、IP地址、端口号等搜索连接到互联网的设备。这包括摄像头、路由器、工控系统、服务器等各种设备。
  2. 服务搜索:用户可以搜索特定的网络服务,例如开放的FTP、SSH、HTTP等端口。通过这种方式,用户可以查看连接到这些服务的设备,了解设备所提供的服务类型。
  3. 漏洞扫描:Shodan 提供漏洞扫描服务,用户可以使用该服务检查设备和服务是否存在已知的安全漏洞。这对于进行漏洞评估和安全审计非常有用。
  4. 可视化工具:Shodan 提供交互式的地图和图形工具,使用户能够以可视化方式探索互联网上的设备分布、服务分布和漏洞情况。
  5. 历史数据: 用户可以查看设备和服务的历史数据,了解它们随时间的变化。这有助于追溯特定设备或服务的演变和安全状态。
  6. API 支持: Shodan 提供 API,允许用户通过编程方式进行搜索和获取数据。这使得用户能够自动化他们的工作流程,并集成 Shodan 数据到他们的安全工具中。
  7. 监视和提醒: 用户可以设置监视规则,以便在发现满足特定条件的设备或服务时收到提醒。这有助于及时发现网络中的变化和潜在威胁。

Shodan 主要服务于安全专业人员、网络管理员和研究人员,用于进行网络安全评估、威胁情报收集以及漏洞研究。使用 Shodan 需要合法合规,严格遵循其使用条款。

2. 使用

  1. 进入官网:https://www.shodan.io/
  2. 搜索框输入内容,并点击搜索
    在这里插入图片描述
  3. 查看搜索结果列表

左侧展示国家及IP地址等,右侧展示服务器响应内容
shodan原理:像一个“侦察兵”,不停地在全球范围内扫描、检查所有连接到互联网的设备。它通过发送特定的请求(类似访问一个网页的过程),但不同的是,它并不是查看网页内容,而是查看设备的响应。例如,当你访问一个网站时,浏览器会向网站的服务器发送请求,服务器返回网页内容。Shodan 也发送类似的请求,但它是去检查设备的“服务”是否正常,并且收集关于设备的信息(比如设备的类型、软件版本、是否有安全问题等)。

在这里插入图片描述
4. 点击左侧箭头,可直接跳转到搜索网页
在这里插入图片描述
5. 点击搜索结果,查看搜索详情,包含网站使用的技术、存在的漏洞、开放的端口等
在这里插入图片描述

shodan的搜索结果也可以进行翻页,但免费使用最多只能看两页结果,如果需要查看更多则需订阅购买:
在这里插入图片描述

3. 常用语法

官方教程地址:https://www.shodan.io/search/filters

3.1 指定国家/城市:country:CN/city:beijing

  1. 指定国家:country:“CN”
    在这里插入图片描述

  2. 指定城市:city:beijing,不区分大小写
    [图片]

3.2 限定主机名或域名:hostname:baidu.com

hostname:.edu
hostname:“baidu”
hostname:baidu.com

3.3 限定组织或机构:org:“alibaba”

org:“alibaba”

3.4 限定服务器系统版本:os:“Linux 2.6.x”

os:“Windows Server 2008 R2”
os:“Linux 2.6.x”

3.5 限定端口/网段:port:22 / net:59.56.19.0/24

  1. 限定端口:
    port:22
    port:80

  2. 限定网段:
    net:59.56.19.0/24

  3. 组合使用,探测某个网段下的端口
    port:443 net:146.190.166.0/24
    在这里插入图片描述

3.6 指定服务器使用软件:product:mysql

product:“Apache httpd”
product:“nginx”
product:“Microsoft IIS httpd”
product:“mysql”

3.7 指定 CVE 漏洞编号:vuln:CVE-2014-0723

vuln:“CVE-2014-0723”
该功能需要花钱购买订阅

3.8 指定网页内容:http.html:“hello world”

http.html:“hello world”

在这里插入图片描述

3.9 指定网页标题:http.title:“hello”

http.title:“hello”
[图片]

3.10 指定返回响应码:http.status:200

http.status:200

3.11 指定ISP提供商:isp:“China Telecom”

isp:“China Telecom”

3.12 指定协议及其漏洞:ssl:“heartbleed”

ssl:“heartbleed”

3.13 指定 ASN自治系统号:asn:“AS4134”

ASN介绍:https://blog.browserscan.net/zh/docs/what-is-an-asn

指定自治系统号,表明指定了一个范围,例如:特定的几个市
asn:“AS4134”

3.14 多条件查询:空格隔开单条件即可

例如:查询域名为baidu.com且服务器位于上海的服务
hostname:baidu.com city:“Shanghai”
在这里插入图片描述

4. 实战

4.1 蜜罐:诱饵,触发后会暴露攻击者信息

①概念

蜜罐(Honeypot)是一种网络安全防护技术,指的是故意设置的伪装目标(比如服务器、设备、服务等),目的是吸引攻击者并监控他们的行为。蜜罐看起来像是一个正常的系统,但实际上它被专门设计为一个诱饵,用来:

  • 记录和分析攻击者的行为。
  • 收集恶意软件样本。
  • 提高网络防御的效果。

蜜罐通常不会真正存储重要的数据,而是通过伪装的漏洞或服务引诱攻击者,让他们以为自己攻陷了一个目标系统。

②工作原理

设置蜜罐并不复杂,只要在外部因特网上有一台计算机运行没有打上补丁的微软Windows或者Red Hat Linux即行,然后在计算机和因特网连接之间安置一套网络监控系统,以便悄悄记录下进出计算机的所有流量。然后只要坐下来,等待攻击者自投罗网。

  1. 伪装为真实目标:蜜罐可以模拟网站、数据库、IoT设备、企业服务器等,模仿它们的工作状态。
  2. 引诱攻击者:它可能会故意暴露一些看似“存在漏洞”的端口或服务,例如开放一个旧版本的 FTP 服务。
  3. 记录攻击行为:一旦攻击者开始对蜜罐进行攻击,系统会记录攻击者的行为,包括攻击工具、入侵路径、执行的命令等。
  4. 无害化的隔离:蜜罐和真实系统隔离,攻击者实际上无法对真实环境造成任何威胁。
③蜜罐分类
  1. 低交互蜜罐:模拟简单的服务或端口(如伪装为开放的 SSH 或 HTTP),目标是引诱扫描器或简单的自动化攻击工具。简单且易于部署,但只能收集有限的信息。
  2. 高交互蜜罐:模拟一个完整的系统(如一台真实的服务器)。攻击者可以执行更复杂的操作,甚至获得“控制权”。能收集详细的攻击过程,但部署和维护复杂。
  3. 特定应用蜜罐:针对特定的应用程序或设备,比如物联网设备、ATM机、数据库等。用于研究针对特定领域的攻击。
④危害

对于渗透测试人员或网络攻击者而言,蜜罐是一种 反制手段,如果不小心攻击了蜜罐,可能会暴露以下信息:

  1. 暴露真实身份
    蜜罐会记录攻击者的 IP 地址、地理位置等信息,可能会被网络管理员追踪或报警。
    即使使用代理或 VPN,也可能因失误泄露真实信息。
  2. 暴露攻击手法
    攻击者使用的工具、脚本、漏洞利用手法可能会被记录,安全研究人员可以利用这些数据加强防御。
  3. 浪费时间
    蜜罐不包含真正有价值的数据,对蜜罐进行攻击只会浪费时间和资源。
    攻击蜜罐后,可能会被标记为高风险来源,进一步攻击目标时会被防火墙拦截。
  4. 法律后果
    蜜罐可以作为法律证据,证明有人试图入侵网络。如果攻击者被追踪到,可能面临法律责任。

对于shodan而言,它会识别出对应网址是否是蜜罐,并打上标识:
在这里插入图片描述

4.2 shodan入侵摄像头

  1. 输入内容,点击搜索,点击搜索结果查看详情
    [图片]

  2. 结果中会展示该网站所用技术、开放端口、存在的漏洞等
    [图片]

  3. 点击跳转视频监控后台
    [图片]

  4. 尝试使用弱口令爆破。主流的视频大都存在弱口令漏洞,这个JWAS的默认密码为: 无密码 || 111111 || 666666 || 888888
    在这里插入图片描述

  5. 我这里直接无密码点击登录进入了后台,因为我没安装flash插件,所以看不到内容,但已经进入了监控管理后台

因此大家需要注意,拿到互联网设备时,一定要记得修改默认初始密码,否则很容易被爆破

在这里插入图片描述

下载flash插件后,刷新页面:

在这里插入图片描述

参考文章:
https://blog.csdn.net/2302_82189125/article/details/135906275
https://get-shell.com/forum-post/6493.html
https://www.shodan.io/search/filters
https://blog.browserscan.net/zh/docs/what-is-an-asn

相关文章:

[渗透测试]热门搜索引擎推荐— — shodan篇

[渗透测试]热门搜索引擎推荐— — shodan篇 免责声明:本文仅用于分享渗透测试工具,大家使用时,一定需要遵守相关法律法规。 除了shodan,还有很多其他热门的,比如:fofa、奇安信的鹰图、钟馗之眼等&#xff0…...

基于物联网技术的智能寻车引导系统方案:工作原理、核心功能及系统架构

本文专为IT技术员、软件开发工程师及智能停车领域专业人士打造,旨在深入剖析智能寻车引导系统的构建与优化过程。如需获取详细解决方案可前往文章最下方获取,如有项目需求及技术合作可私信作者。 智能寻车引导系统是一种集智能化、自动化于一体的停车管理…...

【React】合成事件语法

React 合成事件是 React 为了处理浏览器之间的事件差异而提供的一种跨浏览器的事件系统。它封装了原生的 DOM 事件,提供了一致的事件处理机制。 合成事件与原生事件的区别: 合成事件是 React 自己实现的,封装了原生事件。合成事件依然可以通…...

Redis02 - 持久化

Redis持久化 文章目录 Redis持久化一:持久化简介1:Redis为什么要进行持久化2:Redis持久化的方式 二:RDB持久化介绍1:手动触发RDB2:自动触发RDB3:redis.conf中进行RDB的配置4:RDB优缺…...

初始JavaEE篇 —— Spring Web MVC入门(上)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 RequestMappingg 注解介绍 Postman的介绍与使用 PostMapping 与 GetMapping 注解 构造并接收请求 接收简单参数 接收对象…...

c++计算机教程

目的 做出-*/%计算机 要求 做出可以计算-*/%的计算机 实现 完整代码 #include<bits/stdc.h> int main() {std::cout<<"加 减- 乘* 除/ 取余% \没有了|(因为可以算三位)"<<"\n"<<"提示:每打完一个符号或打完一个数,\…...

Leetcode—487. 最大连续1的个数 II【中等】Plus

2025每日刷题&#xff08;210&#xff09; Leetcode—487. 最大连续1的个数 II 实现代码 class Solution { public:int findMaxConsecutiveOnes(vector<int>& nums) {int zeros 0;int ans 0;for(int l 0, r 0; r < nums.size(); r) {if(nums[r] 0) {zeros;…...

【MySQL】窗口函数详解(概念+练习+实战)

文章目录 前言1. SQL窗口函数 1.1 窗口函数概念1.2 窗口函数语法1.3 常见窗口函数 1.3.1 聚合窗口函数1.3.2 专用窗口函数 1.4 窗口函数性能比较 2. LeetCode 例题 2.1 LeetCode SQL 178&#xff1a;分数排名2.2 LeetCode SQL 184&#xff1a;最高工资2.3 LeetCode SQL 185&am…...

c语言对应汇编写法(以中微单片机举例)

芯片手册资料 1. 赋值语句 C语言&#xff1a; a 5; b a; 汇编&#xff1a; ; 立即数赋值 LDIA 05H ; ACC 5 LD R01,A ; R01 ACC&#xff08;a5&#xff09;; 寄存器间赋值 LD A,R01 ; ACC R01&#xff08;读取a的值&#xff09; LD R02,A ; R02 ACC&…...

前端组件标准化专家Prompt指令的最佳实践

前端组件标准化专家Prompt 提示词可作为项目自定义提示词使用&#xff0c;本次提示词偏向前端开发的使用&#xff0c;如有需要可适当修改关键词和示例 推荐使用 Cursor 中作为自定义指令使用Cline 插件中作为自定义指令使用在力所能及的范围内使用最好的模型&#xff0c;可以…...

开发板目录 /usr/lib/fonts/ 中的字体文件 msyh.ttc 的介绍【微软雅黑(Microsoft YaHei)】

本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145433648 的延伸扩展。 本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145433648 的延伸扩展。 问&#xff1a;运行 ls /usr/lib/fonts/ 发现有一个名叫 msyh.ttc 的字体文件&#xff0c;能介绍…...

18爬虫:关于playwright相关内容的学习

1.如何在python中安装playwright 打开pycharm&#xff0c;进入终端&#xff0c;输入如下的2个命令行代码即可自动完成playwright的安装 pip install playwright ——》在python中安装playwright第三方模块 playwright install ——》安装playwright所需的工具插件和所支持的…...

docker Error response from daemon: Get “https://registry-1.docker.io/v2/ 的问题处理

docker Error response from daemon: Get "https://registry-1.docker.io/v2/ 的问题处理 最近pull 数据 发现 docker 有如下错误 文章目录 docker Error response from daemon: Get "https://registry-1.docker.io/v2/ 的问题处理报错问题检查网络连接解决方案&…...

拉取本地的 Docker 镜像的三种方法

方法 1&#xff1a;通过 docker save 和 docker load 导出和导入镜像 在本地服务器上导出镜像&#xff1a; 使用 docker save 将镜像保存为一个 .tar 文件&#xff1a; docker save -o mysql-5.7.tar mysql:5.7 将镜像文件传输到其他服务器&#xff1a; 你可以通过 scp 或其他…...

【Linux系统】线程:线程的优点 / 缺点 / 超线程技术 / 异常 / 用途

1、线程的优点 创建和删除线程代价较小 创建一个新线程的代价要比创建一个新进程小得多&#xff0c;删除代价也小。这种说法主要基于以下几个方面&#xff1a; &#xff08;1&#xff09;资源共享 内存空间&#xff1a;每个进程都有自己独立的内存空间&#xff0c;包括代码段…...

老榕树的Java专题:Redis 从入门到实践

一、引言 在当今的软件开发领域&#xff0c;数据的高效存储和快速访问是至关重要的。Redis&#xff08;Remote Dictionary Server&#xff09;作为一个开源的、基于内存的数据结构存储系统&#xff0c;因其高性能、丰富的数据类型和广泛的应用场景&#xff0c;成为了众多开发者…...

123,【7】 buuctf web [极客大挑战 2019]Secret File

进入靶场 太熟悉了&#xff0c;有种回家的感觉 查看源代码&#xff0c;发现一个紫色文件 点下看看 点secret 信息被隐藏了 要么源代码&#xff0c;要么抓包 源代码没有&#xff0c;抓包 自己点击时只能看到1和3处的文件&#xff0c;点击1后直接跳转3&#xff0c;根本不出…...

微服务知识——微服务拆分规范

文章目录 一、微服务拆分规范1、高内聚、低耦合2、服务拆分正交性原则3、服务拆分层级最多三层4、服务粒度适中、演进式拆分5、避免环形依赖、双向依赖6、通用化接口设计&#xff0c;减少定制化设计7、接口设计需要严格保证兼容性8、将串行调用改为并行调用&#xff0c;或者异步…...

docker数据持久化的意义

Docker 数据持久化是指在 Docker 容器中保存的数据不会因为容器的停止、删除或重启而丢失。Docker 容器本身是临时性的&#xff0c;默认情况下&#xff0c;容器内的文件系统是临时的&#xff0c;容器停止或删除后&#xff0c;其中的数据也会随之丢失。为了确保重要数据&#xf…...

双目标定与生成深度图

基于C#联合Halcon实现双目标定整体效果 一&#xff0c;标定 1&#xff0c;标定前准备工作 &#xff08;获取描述文件与获取相机参数&#xff09; 针对标准标定板可以直接调用官方提供描述文件&#xff0c;也可以自己生成描述文件后用PS文件打印 2&#xff0c;相机标定 &…...

【SQL】count(1)、count() 与 count(列名) 的区别

在 SQL 中&#xff0c;COUNT 函数用于计算查询结果集中的行数。COUNT(1)、COUNT(*) 和 COUNT(列名) 都可以用来统计行数&#xff0c;但它们在实现细节和使用场景上有一些区别。以下是详细的解释&#xff1a; 1. COUNT(1) 定义: COUNT(1) 计算查询结果集中的行数。 实现: 在执…...

使用bucardo实现postgresql数据库双主同步

使用bucardo实现postgresql数据库双主同步 方案优缺点 优点 pg数据库只支持单向数据复制&#xff0c;双机部署一般只能使用主&#xff08;读写&#xff09;备&#xff08;只读&#xff09;模式。而使用bucardo能实现pg数据库双机的双主模式&#xff0c;支持同时双写&#xf…...

在 Navicat 17 中扩展 PostgreSQL 数据类型 | 创建自定义域

定义域 以适当的格式存储数据可以确保数据完整性&#xff0c;防止错误&#xff0c;优化性能&#xff0c;并通过实施验证规则和支持高效数据管理来维护系统间的一致性。基于这些原因&#xff0c;顶级关系数据库&#xff08;如PostgreSQL&#xff09;提供了多种数据类型。此外&a…...

【Apache Paimon】-- 15 -- 利用 paimon-flink-action 同步 postgresql 表数据

利用 Paimon Schema Evolution 核心特性同步变更的 postgresql 表结构和数据 1、背景信息 在Paimon 诞生以前,若 mysql/pg 等数据源的表结构发生变化时,我们有几种处理方式 (1)人工消息通知,然后手动同步到数据仓库中(2)使用 flink 消费 DDL binlog ,然后自动更新 Hi…...

获取 ARM Cortex - M 系列处理器中 PRIMASK 寄存器的值

第一种实现&#xff08;纯汇编形式&#xff09; __ASM uint32_t __get_PRIMASK(void) {mrs r0, primaskbx lr }代码分析 __ASM 关键字&#xff1a;这通常是特定编译器&#xff08;如 ARM GCC 等&#xff09;用于嵌入汇编代码的指示符。它告诉编译器下面的代码是汇编代码。mrs …...

Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】

&#x1f380;&#x1f380;Shell语法入门篇 系列篇 &#x1f380;&#x1f380; LinuxDocer 容器化部署之 Shell 语法入门篇 【准备阶段】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell变量】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell数组与函数】LinuxDocer 容…...

如何处理网络连接错误导致的fetch失败?

处理由于网络连接错误导致的 fetch 失败通常涉及捕获网络错误并提供适当的用户反馈。以下是如何在 Vue 3 中实现这一点的步骤和示例。 一、更新 useFetch 函数 在 useFetch 函数中,需要捕获网络错误,并设置相应的错误信息。网络错误通常会抛出一个 TypeError,可以根据这个…...

PHP PDO 教程

PHP PDO 教程 概述 PHP PDO&#xff08;PHP Data Objects&#xff09;扩展为PHP提供了数据访问抽象层。PDO可以让你使用相同的接口访问多种数据库系统&#xff0c;这大大简化了数据库操作。本文将详细介绍PHP PDO的基本用法、优势以及在实际开发中的应用。 ##PDO 简介 PDO是…...

离线统信系统的python第三方库批量安装流程

一、关于UOS本机 操作系统&#xff1a;UOS&#xff08;基于Debian的Linux发行版&#xff09; CPU&#xff1a;海光x86 二、具体步骤 1、在联网的电脑上用控制台的pip命令批量下载指定版本的第三方库 方法A cd <目标位置的绝对路径> pip download -d . --platform many…...

IDEA+DeepSeek让Java开发起飞

1.获取DeepSeek秘钥 登录DeepSeek官网 : https://www.deepseek.com/ 进入API开放平台&#xff0c;第一次需要注册一个账号 进去之后需要创建一个API KEY&#xff0c;然后把APIkey记录保存下来 接着我们获取DeepSeek的API对话接口地址&#xff0c;点击左边的&#xff1a;接口…...