网络安全——信息收集之利器Shodan的使用

澜世 2024-11-17 13:45:47

目录

网络搜索引擎Shodan

一、Shodan的功能

搜索网络设备

漏洞扫描

开放端口分析

网络地图和报告

Shodan的工作原理

二、安装Shodan

国家代码

三、Shodan命令

(一) 基本用法

(二) search的查询内容

(三) host的查询内容

(四)host的参数

四、download和parse

五、工具的使用

(一) rdesktop的使用

Metasploit (msfconsole) 介绍

六、使用msfconsole进行漏洞验证

1. 进入msfconsole

2. 搜索漏洞

3. 选择漏洞模块

4. 查看所需参数

5. 设置目标IP并运行

七、shodan命令

八、search命令查找被黑过的网站

九、利用search命令查找弱口令设备

十、利用search命令搜索网段

用美国安全局的网段测试一下

搜索一些有waf安全狗的ip

MongoDB案例

Jenkins搜索案例

十一、shodan的图形化界面

十二、网页端资产管理功能

添加IP监控为例

十三、ALERT -H命令帮助文档

命令

十四、google搜索语法


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

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

网络搜索引擎Shodan

优缺点:不够实时、非开源、方便、快速、便宜

一、Shodan的功能

搜索网络设备

  • 通过IP地址、端口号、国家、城市、服务协议等条件搜索网络设备。

漏洞扫描

  • 搜索存在特定漏洞的设备。

开放端口分析

  • 分析设备的开放端口,识别潜在风险。

网络地图和报告

  • 提供详细可视化报告和地图,直观了解网络安全情况。

Shodan的工作原理

Shodan的工作方式主要通过以下步骤:

(1)自动扫描:Shodan不停地扫描全球网络的IP地址,对不同地图的IP段、不同功能端口进行扫描。

(2)收集信息:Shodan ,的服务信息,包括开放端口、操作系统版本、服务类型、SSL 证书等。

(3)建立数据库:将获取的信息整理成一个数据库,供用户通过关键词搜索特定类型的设备、网络漏洞和开放端口等。

功能:

在线查询功能,和离线的客户端,monitor(监控)可以监控一些IP地址,它会帮我去扫描有什么漏洞有什么bug等,然后保存一些结果给我们,api接口调用,主要就是用于信息收集的。

二、安装Shodan

  1. 克隆Shodan库:

    git clone https://github.com/achillean/shodan-python.git
  2. 切换到shodan-python文件夹:

    cd shodan-python
  3. 安装:

    python setup.py install
  4. 初始化Shodan:

    shodan init [api_key](自己的KEY)

    在Shodan 网站(Shodan Search Engine)注册并获取API Key。

     

  5. 查看使用帮助文档:shodan -h

    确保使用的是Python 3,并确认已经安装。获取Shodan API KEY:Shodan官网

    国家代码

    地区国家国家代码
    北美  
     加拿大CA
     美国US
    欧洲  
     奥地利AT
     比利时BE
     捷克共和国CZ
     丹麦DK
     芬兰FI
     法国FR
     德国DE
     爱尔兰IE
     意大利IT
     荷兰NL
     挪威NO
     波兰PL
     葡萄牙PT
     斯洛伐克SK
     西班牙ES
     瑞典SE
     瑞士CH
     英国GB
    亚太地区  
     澳大利亚AU
     日本JP
     韩国KO
     俄国RU
     中国CN

三、Shodan命令

search基本操作符

  • title::搜索网页标题中包含特定字符串的设备。

  • html::搜索HTML内容中包含特定字符串的设备。

  • has_vuln::搜索存在特定漏洞的设备。

  • hostname::指定按照主机名进行搜索。

  • ip:指定按照IP地址进行搜索。

  • --fields:过滤信息,只显示。如:--fields ip_str,port:3380:只显示打开3389端口的IP

  • ip_str::IPV4地址

  • port::指定按照端口进行搜索,如:port:3389

  • country::指定按照国家进行搜索,如:country:cn

  • city::指定按照城市进行搜索,如:city:shenzhen

  • org::指定按照组织进行搜索。

  • isp::指定按照ISP进行搜索。

  • product::指定按照特定产品进行搜索。

  • version::指定按照软件版本进行搜索。

  • geo::指定按照地理位置进行搜索。

  • before::指定在某个时间点之前的数据。

  • after::指定在某个时间点之后的数据。

  • net::指定进行子网搜索。

  • fuzzy::模糊搜索。

  • --limit 10::显示信息数量,10个

  • --coloer::深色表示(标红)

  • os::操作系统 ,如 os:windows7,显示win7

  • device:webcam ::设备:摄像头

  • device:router::设备:路由器

  • tp-link ::web端的一些设备

(一) 基本用法

  • 搜索

    shodan search <查询字符串> <参数>

    例如:

    shodan search --limit 10 country:jp
  • 查询特定IP

    shodan host IP地址 <参数>

    例如:

    shodan host 217.122.163.23 --history
  • 下载搜索结果

    shodan download 文件名 <查询字符串> <参数>

    例如:

    shodan download “apache” apache --limit 10
  • 解析下载结果

    shodan parse <文件> <参数> > <文件>

    例如:

    shodan parse apache.json.gz --fields ip_str,port,org > apache.txt
  • 扫描IP

    shodan scan <参数>

    例如:

    shodan scan submit 192.168.1.1
  • 查询数据条数

    shodan count <查询字符串> <参数>

    例如:

    shodan count “apache” apache
  • 判断IP是否存在密罐模块

    shodan honeyscore IP地址
  • 查看当前出口IP

    shodan myip
  • 查看搜索次数

    shodan info
  • 查询域名信息

    shodan domain 域名

    例如:

    shodan domain www.baidu.com
  • 信息统计

    shodan stats <查询字符串> <参数>

    例如:

    shodan stats --facets ssl.version country:cn has_ssl:true

(二) search的查询内容

  • 国家

    country:<国家代码>

    例如:

    shodan search apache country:jp
  • 城市

    city:<城市名称>

    例如:

    shodan search city:liaoning
  • 端口

    port:<端口号>

    例如:

    shodan search port:3389
  • 操作系统

    os:<操作系统>

    例如:

    shodan search os:windows7
  • 设备

    device:<设备>

    例如:

    shodan search device:webcam
  • 是否存在漏洞

    has_vuln:True

    例如:

    shodan search os:windows7 has_vuln:True
  • 域名

    hostname:“<域名>”

    例如:

    shodan search hostname:“xxx.com”
  • 网段

    net:<网段>

    例如:

    shodan search net:213.237.14.0/25
  • 标题|内容

    http.[title|html]:“<字符串>”

    例如:

    shodan search http.title:“你好”
  • 产品

    product:“<产品>”

    例如:

    shodan search product:“Microsoft IIS”

(三) host的查询内容

  • 用法

    shodan host <IP地址>
  • 反馈信息

    • Hostnames:域名

    • City:城市

    • Country:国家

    • Organization:组织

    • Updated:更新时间

    • Number of open ports:端口数

    • Vulnerabilities:漏洞的CVE编号

    • Ports:端口和服务

(四)host的参数

  • 查询过往信息:

    --history

四、download和parse

download:下载,保存扫描文件,JSON格式存储,默认1000条结果,可以通过修改--limit参数调整保存条数。

Shodan download 0708 --limit 10 '"/x03/x00/x00/x0b/x06/xd0/x00/x00/x124/x00"'

parse:下载,保存扫描文件,JSON格式存储,默认1000条结果,可以通过修改--limit参数调整保存条数。

shodan parse --fields ip_str,port ,[文件名].json.gz

五、工具的使用

(一) rdesktop的使用

  • 用法:

    rdesktop [选项] 主机名或IP地址
    • -u:指定用户名。

    • -p:指定密码。

    • -f:全屏模式。

    • -g:指定屏幕分辨率。

    • -a:指定连接的颜色深度。

    • -N:禁用窗口管理器装饰。

    • -T:设置窗口标题。

    • -r:指定要重定向的设备。

    Metasploit (msfconsole) 介绍

    定义

    • Metasploit是一款开源安全漏洞检测工具,附带数百个已知软件漏洞,并保持频繁更新。

    功能模块

    • msfconsole:命令行界面,用于漏洞利用。

    • msfweb:Web界面,用于漏洞利用。

    • msfupdate:用于软件更新,建议使用前先进行更新。

六、使用msfconsole进行漏洞验证

1. 进入msfconsole

bash

msfconsole

2. 搜索漏洞

bash

search 0708
  • 搜索关键词“0708”,找到相关漏洞。

3. 选择漏洞模块

bash

use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
  • 选择“exploit/windows/rdp/cve_2019_0708_bluekeep_rce”模块,这是通过搜索0708找到的模块名。

4. 查看所需参数

bash

show options
  • 查看漏洞利用所需的参数配置。

5. 设置目标IP并运行

bash

set rhosts file:[拖进文件]
  • 将包含目标IP的文件拖入命令行,设置目标主机。

  • 带星号的表示利用不成功。

七、shodan命令

  • COUNT:统计信息

    shodan count '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'

  • HONEYSCORE:检测是否有蜜罐

    1.通过命令检测(不一定成功)

    2.使用shodanweb页面的honeyscore功能:https://honeyscore.shodan.io/进行扫描

  • HISTORY:查询端口开放历史

    shodan host [ip] --history

  • SERCH找VNC漏洞

    VNC:VNC(Virtual Network Console)是虚拟网络控制台的缩写。它 是一款远程控制工具软件。VNC支持多种操作系统,包括 Windows 、 macOS 和Linux。

    查找VNC空密码连接:

shodan search --limit 10 --fields ip_str country:jp "authentication disabled" port:5900

“Authentication disabled” :表示某种身份验证功能已被禁用。

port:5900 :VNC的默认端口

八、search命令查找被黑过的网站

shodan search --limit 10 --fields ip_str,port http.title:hacked by

title:标题

可以搜些title关键字的网站,比如管理员、后台、MySQL等等这种关键字眼。

可以精确位置:

shodan search --limit 10 --fields ip_str,port http.title:hacked by country:jp city:dongjing

九、利用search命令查找弱口令设备

shodan search --limit 10 --fields ip_str,port "cisco -authored port:23"

-authored:含有弱口令

弱口令:Username:admin/cisco Password:cisco

十、利用search命令搜索网段

用美国安全局的网段测试一下

1.首先,用谷歌搜素出nsa相关网段

nsa ip address range

2.搜索到后利用shodan进行搜索

shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24

  • net:208.88.84.0/24:这是一个搜索过滤器,指定了要搜索的IP地址范围。208.88.84.0/24表示搜索的IP地址范围是从208.88.84.0到208.88.84.255(/24表示这是一个C类网络,即24位网络前缀)。这个范围内的所有IP地址都会被考虑在内。

3.搜索相关的组织

shodan search --limit 10 --fields ip_str,port org:nsa.gov

使用这条命令,我们可能什么也搜索不出来,毕竟shodan就是老美他们的

搜索一些有waf安全狗的ip

shodan search --limit 10 --fields ip_str,port country:jp http.waf:safedog

MongoDB案例

shodan search --limit 10 --fields ip_str,port "Mongodb server information -authentication" port:27017 country:jp > jpmongodb.txt

Jenkins搜索案例

shodan search --limit 10 --fields ip_str,port "X-Jenkins" OR "Set-Cookie:JSESSIONID" http.title:"Dashboard" > jenkins.txt

Jenkins的作用

一、自动化构建与部署 能自动从代码仓库获取代码并进行编译、打包等构建操。

可以把构建好的成果自动部署到不同环境中。

二、自动化测试 自动运行各种测试,如单元测试、集成测试等。 三、任务管理 可设置定时任务,按特定时间自动执行工作。 能管理任务间的依赖美系。 蓝控任务状态,失败时通知相关人员。 四、可扩展定制 有很多插件可满足不同露求,也能自行开发播件。 自动测试,自动上线 ,自动回滚。

在渗透测试过程中的辅助作用 自动化测试:Jenkins 可以用于自动化渗透测试过程中的一些任务,如漏洞扫描、安全测试等通过编写 Jonkins任务,可以定期对目标系统进行安全测试,提高测试效率和覆盖范围。 持续集成与持续部署(CI/0D);在一些企业中,Jenkins被用于 CI/CD 流程中。渗透测试人员可以利用Jenkins 的 CI/CD 流程,在开发和部署过程中进行安全测及时发现和修复安全问题。

漏洞管理:jenkins 可以与漏洞管理工具集成,帮助企业管理和跟踪安全漏洞。渗透测试人员可以利用Jenkins的漏洞管理功能,了解目标系统中存在的安全漏洞,并制定相应的攻击策略。

总之,Jenkins 在渗透测试中既可能是攻击目标,也可以作为辅助工具。渗透测试人员需要了解 Jenkins 的安全风险和漏洞,以及如何利用 Jenkins 来提高渗透测试的效率和效果。同时,企业也需要加强 Jenkins 的安全配置和管理以防止被攻击者利用。

十一、shodan的图形化界面

shodan图形化也可以去扫描存在的各种漏洞以及信息

命令行界面以其灵活性著称,而图形用户界面则以其直观和易于理解的特点受到青睐。两者各有所长,适合不同用户的需求和偏好。对于还不太熟悉命令行界面的新手,可以选择去官网用图形化界面搜索信息。

如果要配合上搜索国家的话,搜索时记得用+号连接,若用and连接,则会搜索失败

左侧也可以挑选进行搜索

十二、网页端资产管理功能

添加IP监控为例

还可以添加自己的邮箱

十三、ALERT -H命令帮助文档

SHODAN -H

  • alert 管理您账户的网络警报

  • convert 将给定的输入数据文件转换成…

  • count 返回搜索结果的数量

  • data Shodan 的批量数据访问

  • domain 查看域名的所有可用信息

  • download 下载搜索结果并将其保存在…

  • honeyscore 检查 IP 是否是蜜罐

  • host 查看 IP 地址的所有可用信息

  • info 显示关于您账户的一般信息

  • init 初始化 Shodan 命令行工具

  • myip 打印您的外部 IP 地址

  • org 管理您的组织对 Shodan 的访问

  • parse 从压缩的 JSON 文件中提取信息

  • radar 实时地图显示 Shodan 找到的一些结果

  • scan 使用 Shodan 扫描 IP/网段

  • m 实时流数据

  • trends 搜索 Shodan 历史数据库

  • version 打印此工具的版本号

  • clear 清除所有警报

  • create 创建一个网络警报以监控外部网络

  • disable 禁用警报的触发器

  • domain 基于域名创建网络警报

  • download 下载所有监控网络/ IP 的信息

  • enable 启用警报的触发器

  • export 导出监控网络/…的配置

  • import 导入监控网络/…的配置

  • info 显示特定警报的信息

  • list 列出所有活跃的警报

  • remove 移除指定的警报

  • stats 显示关于监控的网络/…的摘要信息

  • triggers 列出可用的通知触发器

命令

shodan info:查看剩余的扫描次数,因为学术会员每个月的扫描次数是有限的

shodan domain:查看域名的信息

-D,——details查找域结果中任何ip的主机信息  -S,——save将信息保存到以域命名的文件中  (如果文件存在则追加)。  -H,——history在结果中包含历史DNS数据  -T,——type TEXT只返回指定类型的DNS记录  -h,——help显示此消息并退出。

由于shodan是一个非实时的扫描工具,它会在扫描的时候把记录保存,所以查到的信息可以是几个星期前的,想要实时扫描可以用到另外一个命令:scan

shodan scan submit ip地址:实时查询信息

stats:统计命令

shodan stats --facets ssl.version country:jp has_ssl:true http

十四、google搜索语法

inurl:admin:查找包含admin的网页url,可能找到管理后台入口

inurl:login:查找包含login的网页

inurl:php?id=: 查找可能存在sql注入漏洞的php页面

inurl:asp?id=:查找可能存在sql注入漏洞的asp页面

inurl:jsp?id=:查找可能存在sql注入漏洞的jsp页面

filetype:pdf :查找特点扩展名pdf文件

filetype:doc:查找特点扩展名word文件

filetype:xls :查找特点扩展名excel文件

intitle:后台管理查找标题中包含后台管理的页面

intitle:登陆页面 查找标题中包含登陆页面的页面

site:gov inurl:upload:在gov网站中查找可能存在文件上传漏洞的页面

site:edu inurl:forum:在教育机构网站中查找论坛页面

site:.com inurl:phpmyadmin:在商业网站中查找可能存在的phpmyadmin管理页面

site:.org inurl:password :在非盈利组织网站中查找包含password的页面,可能找到泄密信息

site:.net inurl:backup:在.net域名网站中查找备份文件

site:.gov intitle:敏感信息在政府中文域名中查找标题包含敏感信息的页面

site:company.com inurl:confidential:在特定公司网站中查找包含confidential(机密)的页面

site:domain.com inurl:uploads:在特定域名中查找上传文件的目录

site:edu.cn filetype:ppt :关键字在教育机构中文域名网站中查找特定关键字的ppt文件

site:*.gov inurl:virnerability:在各种政府网站中查找包含virnerability(漏洞)的页面

...全文
483 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

30,342

社区成员

发帖
与我相关
我的任务
社区描述
就等你来冒个泡~
社区管理员
  • 灌水乐园
  • 社区助手
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

版主:

社区助手

 

试试用AI创作助手写篇文章吧