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

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 能显示每一跳的路由节点,以帮助定位网络问题和查看数据包路径。

http://www.mrgr.cn/news/63779.html

相关文章:

  • 2024 Rust现代实用教程 流程控制与函数
  • mongodb指定引擎并设置内存使用大小
  • 酒店管理系统|基于java和小程序的酒店管理小程序系统设计与实现(源码+数据库+文档)
  • LEADTOOLS 版本 23 现已发布,引入了 Excel API等众多新功能!
  • css, 文字超出用省略号,包含单行文本省略号,多行文本省略号
  • 深入解析C/C++中的__attribute__((packed)):内存对齐与紧打包技术
  • 在 Vue 3 中实现流畅的 Swiper 滑动效果
  • HJ36 字符串加密
  • c++仿函数--通俗易懂
  • 【p2p、分布式,区块链笔记 Torrent】WebTorrent 的lt_donthave插件
  • LeetCode总结-链表
  • 使用TensorFlow进行图像分类
  • 某小型CMS漏洞复现审计
  • Ceisum无人机巡检视频投放
  • NET Core的AOP实施方法1 DispatchProxy
  • 【Linux】基础指令
  • ERROR: Failed cleaning build dir for numpy Failed > to build numpy ERROR
  • 一键切换暗黑模式,这些代码片段你不可错过
  • 直流电机在液压泵领域的应用
  • ubuntu运行gazebo导致内存越来越少
  • Android 同花顺面经
  • 面试题分享1
  • 【染色时间】
  • markdown/Latex分子,分母,除号,怎么编辑
  • 如何实现千万级数据表的快速分页查询
  • 题目:0的个数