声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
关于shodan的那些事儿-5
- 一、shodan5
- 如何利用shodan去搜索一个网段的?
- 网段各个参数是什么意思呢?
- 有哪些常见的数据库呢?
- 常用的shodan命令
- 实践是检验真理的唯一标准
一、shodan5
如何利用shodan去搜索一个网段的?
大家应该都知道计算机的网络分为不同的网段,有些地址是特殊的,有些是分配给个人使用,有些网段是特殊机构或者部门使用的。
常见的ip地址划分和分类
A类地址(1.0.0.0 - 126.0.0.0):
A类地址的前8位是网络部分,剩下的24位是主机部分。
默认子网掩码是255.0.0.0。
A类地址可以支持的最大主机数是2^24 - 2(因为网络地址和广播地址不能用作主机地址),大约是1600万。
通常用于大型网络或互联网主干。
B类地址(128.0.0.0 - 191.255.255.0):
B类地址的前16位是网络部分,剩下的16位是主机部分。
默认子网掩码是255.255.0.0。
B类地址可以支持的最大主机数是2^16 - 2,大约是6.5万。
通常用于中等规模的网络。
C类地址(192.0.0.0 - 223.255.255.255):
C类地址的前24位是网络部分,剩下的8位是主机部分。
默认子网掩码是255.255.255.0。
C类地址可以支持的最大主机数是2^8 - 2,即254。
通常用于小型网络。
D类地址(224.0.0.0 - 239.255.255.255):
D类地址用于多播,没有网络和主机部分的区分。
多播地址用于将数据发送给网络上的多个接收者。
E类地址(240.0.0.0 - 255.255.255.255):
E类地址是为实验和未来使用保留的。
目前没有被广泛使用。
网段各个参数是什么意思呢?
在IP地址中,/24 表示子网掩码有24位是网络部分,剩下的8位是主机部分。这通常用于CIDR(无类别域间路由)表示法中,用来指定IP地址的网络部分和主机部分。
具体来说:
208.88.84.0 是网络地址,表示这个子网的起始地址。
/24 表示子网掩码是 255.255.255.0。这是因为在二进制中,24个1后面跟着8个0,即 11111111.11111111.11111111.00000000,转换为十进制就是 255.255.255.0。
这个子网掩码告诉我们,这个子网可以容纳的主机数量是 2^(32-24) - 2 = 2^8 - 2 = 256 - 2 = 254 个主机,因为每个子网中有一个地址是网络地址(本例中为 208.88.84.0),另一个地址是广播地址(本例中为 208.88.84.255),这两个地址不能分配给主机。
搞一个美国安全局的网段测试一下
首先在谷歌中使用命令(最好连上代理,懂得都懂):
nsa ip address range
功能:搜索出来nsa相关的网段,说到底还是谷歌语法
shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24
功能:搜索net:xxxx.xxxx.xxxx.xxxx网段,0/24,是指24位主机地址,那么实际主机可以使用的为2^8次方个实际使用主机
shodan search --limit 10 --fields ip_str,port org:nsa.gov
使用这条命令,我们可能搜索不出来什么,毕竟shodan也是老美的
shodan search --limit 10 --fields ip_str,port org:nsa
那么我们可以不去搜索gov,这样子搜索的ip可能是nsa(老美国家安全局),也可能是其它nsa组织的
搜索一下其它组织,组织很多
shodan search --limit 10 --fields ip_str.port hostname:google
这里我们指定hostname字段为谷歌的
搜索一些有waf安全狗的ip
shodan search --limit 10 --fields ip_str,port country:jp http.waf:safedog
指定搜索一些小日子那么有waf(web应用防火墙为安全狗)的网站ip,当然也可能是服务器的地址
搜索一些可能是后台登录的ip
shodan search --limit 10 --fields ip_str,port country:jp http.html:login
拿到这些有什么用呢?大家都知道,后台嘛,管理系统登录是不是!!!,怎么登录呢?全凭想象力,懂得都懂。
有哪些常见的数据库呢?
关系型数据库管理系统(RDBMS)
MySQL:一个开源的关系型数据库管理系统,广泛用于网站和网络应用。
PostgreSQL:一个高度可扩展的开源对象关系型数据库系统。
Oracle Database:一个商业数据库系统,以其高性能、可靠性和安全性而闻名。
Microsoft SQL Server:微软开发的商业关系型数据库管理系统。
SQLite:一个轻量级的数据库,通常用于移动应用或需要轻量级数据库的桌面应用。
MariaDB:由MySQL的原始开发者创建的开源分支,与MySQL兼容。
非关系型数据库管理系统(NoSQL)
MongoDB:一个基于文档的数据库,使用JSON-like文档存储数据。
Cassandra:一个分布式NoSQL数据库,设计用于处理大量数据跨多个数据中心。
Redis:一个开源的键值存储,常用于缓存和消息队列。
Couchbase:结合了键值存储和文档存储的数据库。
DynamoDB:亚马逊提供的完全托管的NoSQL数据库服务。
Riak:一个分布式NoSQL键值存储数据库,提供高可用性和可扩展性。
Neo4j:一个图形数据库,用于存储和查询复杂的网络结构数据。
搜索一些小日子的数据库
大家都知道数据库,数据库主要有
shodan search --limit 10 --fields ip_str,port "Mongodb server information -authentication" port:27017 country:jp
功能:这里的Mongodb server information
就是指定数据库的服务为mongodb,-authentication
指没有启用身份验证
故命令:搜索小日子且开放端口为27017且未启用身份验证且最少10条ip信息,拿到这些信息有什么作用?可以尝试连接一下,大多数都是个人的mongodb服务
下面我们搜搜一下关于Jenkins相关的ip,-authentication
这个参数得用的好
搜索一下可能是jenkins的ip,但是有很多 nginx的测试页面,这个中间件是真的好用啊
Jenkins入门
shodan search --limit 10 --fields ip_str "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard" country:jp
shodan搜索功能是非常强大的,只要信息收集的好,啥都有可能对吧!!!
该说不说,请遵纪守法,本文章再次申明,一切都是在jp进行测试,测试过程中未违反任何道德问题,请知悉!!!
常用的shodan命令
init:初始化命令行工具,需要提供API密钥。
shodan init [API_Key]
count:返回查询结果的数量。
shodan count [search_query]
例如,查询包含"microsoft iis 6.0"的记录数:
shodan count microsoft iis 6.0
download:将搜索结果下载到一个文件中,文件中的每一行都是JSON格式存储的目标banner信息。
shodan download [filename] [search_query]
parse:解析下载的数据,提取特定字段。
shodan parse --fields [fields] --separator [separator] [filename]
例如,提取IP地址、端口和组织名称,并以CSV格式输出:
shodan parse --fields ip_str,port,org --separator , [filename]
host:查看指定IP的所有可用信息,如地理位置信息,开放端口等。
shodan host [ip]
search:在Shodan数据库中搜索并显示结果。
shodan search [search_query] --fields [fields]
例如,搜索Microsoft IIS 6.0并显示IP、端口、组织和主机名:
shodan search --fields ip_str,port,org,hostnames microsoft iis 6.0
myip:返回你的外部IP地址。
shodan myip
info:显示账户的一般信息,如查询积分和扫描积分。
shodan info
scan:使用Shodan扫描一个IP或网段。
shodan scan [ip/netblock]
stats:提供关于搜索查询的概要信息。
shodan stats [search_query] --facets [facets]