shodan用法(完)
声明
学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
shodan
今天,我们把shodan完结了,因为也没几条命令了,不过今天仍然是干货满满呦!
mongodb数据库
MongoDB未授权登录数据库是一个严重的安全问题,以下是相关情况:
一、漏洞产生原因
启动Mongodb的时候未设置--auth,并且很少有人会给数据库添加上账号密码(默认空口令),这将导致恶意攻击者无需进行账号认证就可以登陆到数据服务器。
二、漏洞利用方式
环境安装(以Kali系统为例)
导入MongoDB公共GPG密钥: 如果提示错误运行sudo apt - get install gnupg之后,重新运行相关命令。
创建一个列表文件来配置下载列表和下载源。
重新加载更新源: sudo apt - get update
安装MongoDB的最新稳定版本: sudo apt - get install - y mongodb - org
启动进程: sudo systemctl start mongod,若失败(如提示Failed to start mongod.service: Unit mongod.service not found.)
首先运行特定命令,然后再次运行开始命令。
配置开机自启: sudo systemctlenable mongod
漏洞利用步骤
扫描或者通过FOFA发现端口或者服务(默认端口27017)。
使用mongo连接数据库,命令格式: mongo--host目标ip--port目标端口
查看用户、数据库信息等。
创建系统用户管理员,例如创建一个用户名为myUserAdmin,密码为Passw0rd的系统用户管理员账号:
切换到admin库:use admin。
创建用户:
db.createUser({user:myUserAdmin ,pwd:Passw0rd,roles:[{role:userAdminAnyDatabase,db:admin}]}),创建成功后会有提示信息:Successfully added user:{user:myUserAdmin,roles:[{role:userAdminAnyDatabase,db:admin}]}。
可以通过ssh直接登录系统完成利用。
shodan search --limit 10 --fields ip_str "Mongodb server information -authentication" port:27017

第一个直接就来连接成功了,成功率还是挺高的。

不过显然这个数据库已经被别人挟持了,没有任何价值。
jenkins组件
Shodan搜索基础
这是一个Shodan搜索命令。Shodan是一个网络搜索引擎,主要用于搜索网络上的设备、服务等信息。
命令参数含义
--limit 10: 这个参数表示限制搜索结果的数量为10条。这样做可以避免得到过多的搜索结果,方便查看和分析与特定条件匹配的结果。
--fields ip_str: 表示只显示搜索结果中的IP地址字段。这样能聚焦于目标的IP信息,去除其他可能的多余信息。
"X - Jenkins" OR "Set - cookie:JSESSIONID": 这是搜索的条件之一。它表示查找包含X - Jenkins或者Set - cookie:JSESSIONID信息的目标。这里X - Jenkins可能与Jenkins服务相关的特定HTTP头信息有关,JSESSIONID通常是在基于Java的Web应用(如可能使用Jenkins服务的应用)中用于跟踪用户会话的Cookie标识。
http.title:"Dashboard" : 这是另一个搜索条件,表示查找HTTP标题为Dashboard的目标。在很多系统(包括Jenkins)中,Dashboard通常是管理界面或者控制面板的标题。
shodan search --limit 10 --fields ip_str "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard"

可以看到,很轻松的进到dashboard的面板,也说明确实存在漏洞。
Jenkins特性
Jenkins具有易于安装、易于配置等特点。所有配置都可以通过Jenkins提供的Web界面完成,也可以通过手动修改XML文件进行配置。Jenkins能跟踪每次构建生成哪些jar包以及使用哪个版本的jar包。此外,Jenkins还支持分布式构建,可以通过第三方插件扩展,也可以根据团队需要开发插件。
Jenkins中的任务和构建
在Jenkins中,任务(Job)是一个执行计划,是一系列操作的集合,构建是Jenkins的任务的一次运行。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。
Jenkins的应用场景
Jenkins广泛应用于软件开发领域,特别是在敏捷开发和DevOps实践中。它可以帮助团队实现自动化构建、测试和部署,从而加快软件交付的速度,提高软件质量。同时,Jenkins的插件系统使其能够与各种工具和服务集成,进一步扩大了其应用范围。
jenkins在渗透测试过程中的辅助作用
Jenkins简介
Jenkins是一个开源的持续集成和持续交付/部署(CI/CD)平台,广泛用于自动化软件的构建、测试和部署过程。它支持多种插件,可以与各种开发工具和流程集成,极大地提高了软件开发的效率和质量。
Jenkins在渗透测试中的作用
自动化测试脚本管理
Jenkins可以用来管理和执行自动化测试脚本,这对于渗透测试来说非常重要。渗透测试过程中,测试者需要编写和执行大量的测试脚本来发现系统的安全漏洞。Jenkins可以自动化这一过程,每当有新的代码提交或更新时,都可以触发Jenkins执行相应的测试脚本,从而及时发现潜在的安全问题。
构建和部署
在渗透测试中,可能需要频繁地构建和部署测试环境。Jenkins可以自动化这一过程,使得测试环境的搭建和更新变得更加高效。例如,可以配置Jenkins在每次代码提交时自动构建一个新的测试环境,并部署最新的代码,以便测试者可以立即在最新的环境中进行测试。
数据收集和分析
渗透测试过程中会产生大量的数据,包括扫描结果、漏洞信息等。Jenkins可以通过插件与其他工具集成,自动收集和分析这些数据。例如,可以使用插件将扫描结果导出到数据库或报表中,便于测试者进行进一步的分析和处理。
团队协作
Jenkins支持多用户协作,可以方便地进行任务分配和进度跟踪。在渗透测试团队中,不同成员可能负责不同的测试任务。Jenkins可以提供一个统一的平台,使得团队成员可以共享资源、协调工作,并及时了解项目的进展。
Stats
** Shodan Stats 功能介绍**
Shodan Stats 提供了搜索结果的概要信息,帮助用户快速了解搜索到的设备分布情况。
这些信息包括但不限于以下几个方面:
Top Services (Ports): 显示使用最多的服务/端口,帮助用户了解网络中最常见的服务类型。
Top Organizations (ISPs): 列出使用最多的组织/ISP,这对于市场研究和网络风险分析非常有用。
Top Operating Systems: 展示使用最多的操作系统,有助于了解不同操作系统在网络中的普及程度。
Top Products (Software Name): 列出使用最多的产品/软件名称,这对于软件开发和安全研究人员来说是非常有价值的。
使用 Shodan Stats 功能非常简单,用户只需在 Shodan 的搜索栏中输入关键词,然后点击搜索。在搜索结果页面,用户可以看到一系列的汇总数据,包括上述提到的各项统计信息。此外,Shodan 还提供了多种过滤选项,允许用户进一步细化搜索结果,例如按国家、城市、ISP、产品、版本等进行筛选。
shodan stats --facets ssl.version country:jp has_ssl:true http

命令理解
用户想要使用Shodan的stats命令来获取关于中国境内启用了SSL的HTTP服务器的统计信息,特别是关于SSL版本的分组统计。
命令解析
shodan stats: 这是Shodan CLI工具的一个命令,用于获取统计信息。
--facets ssl.version: 这指定了要分组统计的字段是SSL版本。
country:jp: 这限制了搜索结果仅包括jp的服务器。
has_ssl:true: 这确保只统计启用了SSL的服务器。
http: 这进一步限制了搜索结果仅包括HTTP协议的服务器。
为了扩大搜索范围,需要学习多种参数的组合,国家地区,城市,漏洞,版本,ip ,端口配合起来过滤出更精准的信息:
1. Echo (7) - 回声协议,用于网络中的诊断和调试。
2. Chargen (19) - 字符发生器协议,主要用于测试和诊断。
3. FTP (20-21) - 文件传输协议,用于文件在网络上的传输。
4. SSH/SCP (22) - 安全外壳协议,用于安全的远程登录和传输文件。 [加密 (Encrypted)]
5. Telnet (23) - 远程终端协议,用于远程登录,不安全的明文传输。
6. SMTP (25) - 简单邮件传输协议,用于发送电子邮件。
7. WINS复制 (42) - Windows Internet 名称服务,用于Windows网络中的名称解析。
8. WHOIS (43) - 查询域名注册信息的协议。
9. TACACS (49) - 终端访问控制器访问控制系统,用于网络设备的身份验证。
10. DNS (53) - 域名系统,将域名转换为IP地址。
11. DHCP/BOOTP (67-68) - 动态主机配置协议和引导协议,为设备分配IP地址。
12. TFTP (69) - 简单文件传输协议,基于UDP,常用于设备启动。
13. Gopher (70) - 一种较早的互联网文档搜索和检索协议。
14. Finger (79) - 用户信息查询协议,显示用户的信息。
15. HTTP (80) - 超文本传输协议,用于浏览网页。
16. Kerberos (88) - 一种网络认证协议,提供安全的身份验证。 [加密 (Encrypted)]
17. MS Exchange (102) - Microsoft Exchange邮件服务使用的端口。
18. POP3 (110) - 邮局协议版本3,用于接收电子邮件。
19. Ident (113) - 用于标识连接的用户身份。
20. NNTP (119) - 网络新闻传输协议,用于Usenet新闻组。
21. NTP (123) - 网络时间协议,同步网络时间。
22. Microsoft RPC (135) - Microsoft的远程过程调用协议。
23. NetBIOS (137-139) - 网络基本输入输出系统,用于局域网通信。
24. IMAP4 (143) - 互联网邮件访问协议,用于邮件接收和管理。
25. SNMP (161) - 简单网络管理协议,用于网络设备管理。
26. XDMCP (177) - X显示管理控制协议,用于远程显示。
27. BGP (179) - 边界网关协议,用于互联网路由。
28. AppleTalk (201) - Apple的网络协议栈,用于设备通信。
29. BGMP (264) - 边界组播网关协议,用于组播路由。
30. TSP (318) - 传输层安全协议,用于网络安全通信。
31. HP Openview (381-383) - HP网络管理工具使用的端口。
32. LDAP (389) - 轻量目录访问协议,用于访问目录服务。
33. Direct Connect (411-412) - 点对点文件共享协议。 [点对点 (Peer to Peer)]
34. HTTPS (443) - HTTP的安全版本,使用SSL/TLS加密。 [加密 (Encrypted)]
35. SMTP over SSL (465) - 安全的SMTP端口。 [加密 (Encrypted)]
36. Microsoft DS (445) - Microsoft目录服务,用于文件共享。
37. ISAKMP (500) - Internet安全关联和密钥管理协议。 [加密 (Encrypted)]
38. MyDoom (1090) - MyDoom病毒常用的端口。 [恶意 (Malicious)]
39. Kazaa (1214) - 点对点文件共享应用Kazaa使用的端口。 [点对点 (Peer to Peer)]
40. Microsoft SQL (1433-1434) - Microsoft SQL数据库服务。
41. MS Media Server (1755) - 用于Microsoft媒体流服务。 [流媒体 (Streaming)]
42. RADIUS (1812-1813) - 远程身份验证拨入用户服务,用于身份验证和授权。 [加密 (Encrypted)]
43. MSN (1863) - Windows Live Messenger使用的端口。 [聊天 (Chat)]
44. cPanel (2078-2083) - 网站管理工具cPanel使用的端口。
45. Xbox Live (3074) - Xbox Live服务的游戏端口。 [游戏 (Gaming)]
46. HTTP Proxy (3128) - HTTP代理服务器常用的端口。
47. MySQL (3306) - MySQL数据库服务的默认端口。
48. Terminal Server (3389) - 远程桌面服务端口。
49. iTunes (3689) - Apple iTunes共享服务。 [流媒体 (Streaming)]
50. World of Warcraft (3724) - 魔兽世界游戏使用的端口。 [游戏 (Gaming)]
51. Google Desktop (4664) - Google桌面搜索。
52. UPnP (5000) - 通用即插即用协议,用于设备发现。
53. SIP (5060) - 会话初始协议,用于VoIP。 [聊天 (Chat)]
54. AIM/ICQ (5190) - AOL即时通讯和ICQ服务。 [聊天 (Chat)]
55. XMPP/Jabber (5222-5223) - 即时通讯协议。 [聊天 (Chat)]
56. PostgreSQL (5432) - PostgreSQL数据库服务。
57. VNC Server (5800-5900) - 虚拟网络计算,用于远程控制。
58. Battle.net (6112) - 游戏平台Battle.net使用的端口。 [游戏 (Gaming)]
59. IRC (6665-6669) - 互联网中继聊天协议。 [聊天 (Chat)]
60. BitTorrent (6881-6999) - 点对点文件传输协议。 [点对点 (Peer to Peer)]
61. Windows Live (6891-6901) - Windows Live Messenger使用的端口。 [聊天 (Chat)]
62. Quicktime (6970) - Apple Quicktime视频流端口。 [流媒体 (Streaming)]
63. TeamSpeak (8767) - 语音聊天软件TeamSpeak使用的端口。 [聊天 (Chat)]
64. Call of Duty (28960) - 游戏《使命召唤》使用的端口。 [游戏 (Gaming)]
65. Back Orifice (31337) - 恶意软件Back Orifice使用的端口。 [恶意 (Malicious)]
66. traceroute (33434+) - 一种网络诊断工具,用于追踪数据包从源到目的地经过的路由。通常从端口 **33434** 开始,然后逐步增加端口号。通过发送带有递增TTL(生存时间)值的数据包,traceroute 能显示每一跳的路由节点,以帮助定位网络问题和查看数据包路径。相关文章:
shodan用法(完)
声明 学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 shodan 今天,我们把shoda…...
【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台
今天我们来借助若依来快速的搭建一个基于springboot的Java管理后台,后台网页使用vue3和 Element Plus来快速搭建。这里我们可以借助若依自动生成Java和vue3代码,这就是若依的强大之处,即便你不会Java和vue开发,只要跟着石头哥也可…...
转子侧串级调速系统和双馈调速系统
转子侧串级调速系统和双馈调速系统是两种不同的电机调速技术,它们在基本原理、效率以及应用场景等方面存在区别。以下是详细的对比分析: 基本原理 转子侧串级调速系统:通过在绕线式异步电动机的转子回路中串入一个可调节的附加电势࿰…...
AI学习指南自然语言处理篇-Transformer模型的实践
AI学习指南自然语言处理篇 - Transformer模型的实践 目录 引言Transformer模型概述 自注意力机制编码器-解码器结构 环境准备Transformer模型的实现 编码器实现解码器实现Transformer模型整体实现 Transformer在NLP任务中的应用 文本分类机器翻译 总结与展望 引言 在过去的数…...
【LVGL速成】LVGL修改标签文本(GUI Guider生成的字库问题)
目录 前置篇章: 一.问题背景 二.失败方案 三.成功方案 1.Gui guider的源码结构 2.手动生成字体 3.Keil中配置相关文件 编辑 4.修改文字 四.字体样式函数说明 前置篇章: 【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)_lvgl…...
C语言项目实践-贪吃蛇
⽬录: 1. 游戏背景 2. 游戏效果演⽰ 3. 实现的⽬标 4. 实现的定位 5. 技术要点 6. 贪吃蛇游戏设计与分析 7. 贪吃蛇游戏数据结构设计 8. 相关Win32API介绍 9. 参考代码 正文开始 1. 游戏背景 贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块…...
在kanzi 3.9.8里使用API创建自定义材质
1. kanzi studio设置 1.1 创建一个纹理贴图,起名Render Target Texture 1.2 创建一个Image节点,使用该贴图 2. 代码设置 2.1 创建一个自定义节点类 class mynode2d : public Node2D { public: virtual void renderOverride(Renderer3D& renderer…...
IDEA中通义灵码的使用技巧
大家好,我是 V 哥。在日常写代码的过程中,通过 AI 工具辅助开发已是当下程序员惯用的方式,V 哥在使用了众多的 AI 工具后,多数情况下,选择通义灵码来辅助开发,尤其是解释代码和生成单元测试功能甚是好用&am…...
JS中let var 和const区别
在JavaScript中,let、var 和 const 都是用来声明变量的关键字,但它们之间有几个关键的区别: 作用域(Scope): var 声明的变量拥有函数作用域(function scope),这意味着如果 var 变量在…...
ansible详细介绍和具体步骤
Ansible简介 1.1 Ansible的基本概念 Ansible是一款开源的自动化工具,旨在简化IT操作的复杂性。它由Michael DeHaan创建,并于2012年发布,随后在2015年被Red Hat收购。Ansible的核心理念是“简单即美”,它通过使用YAML(…...
利用LangChain与LLM打造个性化私有文档搜索系统
我们知道LLM(大语言模型)的底模是基于已经过期的公开数据训练出来的,对于新的知识或者私有化的数据LLM一般无法作答,此时LLM会出现“幻觉”。针对“幻觉”问题,一般的解决方案是采用RAG做检索增强。 但是我们不可能把…...
linux中的软、硬链接
目录 引言 简单介绍 如何理解软硬链接 链接的应用 环路问题 引言 在Linux操作系统的广阔天地中,文件管理是其核心功能之一。而软链接和硬链接作为Linux文件系统中的两种特殊链接方式,它们为用户提供了灵活的文件访问途径和高效的磁盘空间利用手段。…...
Ubuntu 系统、Docker配置、Docker的常用软件配置(下)
前言 书接上文,现在操作系统已经有了,作为程序的载体Docker也安装配置好了,接下来我们需要让Docker发挥它的法力了。 Docker常用软件的安装 1.Redis 缓存安装 1.1 下载 docker pull redis:7.4.1 #可改为自己需要的版本 1.2 创建本地目录存储…...
jdk,openjdk,oraclejdk
Java是开发语言,不是软件。JDK是软件,使用OpenJDK是免费的,一直免费。而且OpenJDK正儿巴经的Java社区推出来的JDK。 Oracle JDK主要是面向付费能力强的企业用户,收费已经好多年了,不是一两年的事,JDK8是JDK…...
Docker Hub 镜像加速器
零、参考资料 https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6Daemon proxy configuration | Docker Docs 一、解决方案 1、问题现象 Error response from daemon: Get "https://index.docker.io/v1/search?qcarlasim%2Fcarla&n25": dia…...
DevOps赋能:优化业务价值流的实战策略与路径(上)
上篇:价值流引领与可视化体系构建 一、前言 在快速迭代的软件项目和产品开发生态中,我们始终围绕两个核心目标:一是确保每一项工作都能为客户创造实际价值,这是产品团队的核心使命;二是确保这些有价值的工作能够高效…...
int的取值范围
原码(True form):原码是一种计算机中对数字的二进制表示方法,数码序列中最高位为符号位,符号位为0表示正数,符号位为1表示负数;其余有效值部分用二进制的绝对值表示。 反码…...
图文检索(16):IDC: Boost Text-to-Image Retrieval via Indirect and Direct Connections
IDC: Boost Text-to-Image Retrieval via Indirect and Direct Connections 摘要3 方法3.1 直接连接3.2 间接连接3.3 DLB 正则化 结论 发布时间(2024 LREC-COLING) 标题:IDC:通过间接和直接连接增强文本到图像的检索 摘要 本文&…...
企业数字化转型:重识、深思、重启新征程-亿发
在当下这个日新月异的时代,企业数字化转型已然成为众多企业竞相追逐的发展方向,可真正能将其领悟透彻并有效落地实施的企业,却并非比比皆是。此刻,亿发软件针对企业数字化转型展开一次更为深入的重识、全面的深思,进而…...
仓颉刷题录-字符串数字转换(一)
文章目录 背景题目:交换后字典序最小的字符串个人感受 这是双子专栏: Cangjie仓颉程序设计-个人总结 本专栏还在持续更新: 仓颉编程cangjie刷题录 背景 报名了一个仓颉的比赛,感觉条件要求挺低的,就想上。哈哈哈。但…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...
一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...
如何通过git命令查看项目连接的仓库地址?
要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...
