shodan在渗透测试中的应用

场景1:想搜索美国所有的elasticsearch服务器

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。为什么要搜索他,因为他有多个漏洞,未授权访问、目录遍历、任意命令执行等,搜索wooyun镜像也可以看到有不少结果。

我们可以了解到elasticsearch的默认端口是9200,这时我们可以先在Shodan进行相应搜索,看会返回什么。在Shodan中输入“port:9200”来进行搜索,
shodan 命令
1 . port:9200

  1. 我们想要的是美国的elasticsearch服务器,可以看到左边的统计中已经对一些常用字段进行了分类统计,有国家、组织、操作系统及产品,这里已经看到了我们所需要的字段,只需要点击相应的标签,即可进行进一步的细化搜索。

点击即可细化搜索

注意观察每一次点击标签后搜索语句的变化,到这里我们可以看到已经实现了我们的目的,找到了美国的elasticsearch服务器。当搜索结果细化到一定程度时,左边的统计也会有相应的变化,现在可以看到已经变成了对城市、组织、操作系统、和elasticsearch版本的一个统计。至此我们已经学会一些基本语法:
“port:” 按照指定端口进行搜索 “product:” 对某一产品进行搜索 “country:” 指定国家,
当我们需要多个词同时搜索时,只需要在每个关键词间加空格隔开就行,当不需要某个词时,可以用”-”加上关键词来进行去除,比如不想要Amazon的elasticsearch服务器,就可以”-org:amazon”,如何知道org这个关键词的?同样是左边的统计,当我们鼠标移动到Amazon时,可以看到他相应的链接,已经给出了关键词。

场景2:搜索所有的搭建了Supervisor的服务器

Supervisor是一个用Python写的进程管理工具,可以很方便的用来启动、重启、关闭进程。我们为什么要搜索这个东西呢,当然是因为他有问题。今年9月份的时候Supervisor爆出了一个远程代码执行漏洞CVE-2017-11610,我们想要复现一下漏洞(滑稽)。按照上一个场景的经验,当我们想要通过端口来搜索Supervisor时,我们发现他并没有默认端口,所以就需要用的另一种更常用的方法。

打开后发现这个就是我们需要的Supervisor服务器,那么我们用什么来定位这类服务器呢,这里就要用到一些新的语法:
“http.title:” 根据网站title搜索

场景3:搜索一个公司相关的服务器

首先我们都知道,一般的网站有自己icon,比如百度、阿里、腾讯等,而一般公司会对其所有网站的title中都加上这个icon,来增加统一性,也方便用户识别,如下如所示:

首先要知道在Shodan结果中在哪里寻找这个标记,如下如所示,

Shodan搜索icon时会出现在箭头所示的位置。
因为这个icon只能算是对公司资产的一种标识,所以有些网站可能并没有带有icon,但是有些常用手段收集的服务器可能会漏掉这些,所以这个方法还是有一定的用途,这里拿支付宝举例。
我们尝试性的输入一些与支付宝相关的内容来进行搜索,如Alipay,支付宝,www.alipay.com等,当我们搜索到www.alipay.com时,可以看到结果内已经有携带支付宝icon的网站了

”http.favicon.hash:”

最后在列举一些比较常用的搜索语句来供大家参考,什么时候用什么样的语句,完全取决于你怎么去想。

asn 区域自治编号
port 端口
org ip所属组织机构
os 操作系统类型
http.html 网页内容
html.title 网页标题
http.server http请求返回中server的类型
http.status http请求返回响应码的状态
city 城市
country 国家
product 所使用的软件或产品

其实Shodan的关键词还有很多,经纬度、ssl信息、smb版本号、区号、返回码状态等等,只要发挥你的想象力,从结果中寻找结果,就总能得到你想要的。
以上就是我使用Shodan过程中的一点心得,分享给大家。安全的路还很长,学习的路还很远,不忘初心,方得始终。

使用搜索过滤

如果像前面单纯只使用关键字直接进行搜索,搜索结果可能不尽人意,那么此时我们就需要使用一些特定的命令对搜索结果进行过滤,常见用的过滤命令如下所示:

hostname:搜索指定的主机或域名,例如 hostname:"google"
port:搜索指定的端口或服务,例如 port:"21"
country:搜索指定的国家,例如 country:"CN"
city:搜索指定的城市,例如 city:"Hefei"
org:搜索指定的组织或公司,例如 org:"google"
isp:搜索指定的ISP供应商,例如isp:"China Telecom"
product:搜索指定的操作系统/软件/平台,例如product:"Apache httpd"
version:搜索指定的软件版本,例如 version:"1.6.2"
geo:搜索指定的地理位置,参数为经纬度,例如 geo:"31.8639, 117.2808"
before/after:搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:"11-11-15"
net:搜索指定的IP地址或子网,例如net:"210.45.240.0/24"
```
搜索实例

查找位于合肥的 Apache 服务器:

apache city:"Hefei"
查找位于国内的 Nginx 服务器:

nginx country:"CN"
查找 GWS(Google Web Server) 服务器:

“Server: gws”
hostname:"google"
查找指定网段的华为设备:

huawei net:"61.191.146.0/24"
net: 使用IP/CIDR标记法(eg:127.0.0.1/24)来设定IP地址范围,从而查询所有设备是否匹配正确,是否有存在漏洞的主机或者服务器,是否可以从外部访问等

原文地址:https://www.cnblogs.com/arsense/p/8427516.html

时间: 2024-08-09 20:01:14

shodan在渗透测试中的应用的相关文章

详述MySQL服务在渗透测试中的利用

本文作者:i春秋签约作家--Binghe 致力于书写ichunqiu社区历史上最长篇最细致最真实的技术复现文章. 文章目录: MySQL之UDF提权 MySQL之MOF提权 MySQL之常规写启动项提权 导出木马到启动项提权 反弹端口提权 MySQL提权综合姿势 part1 mysql之UDF提权 首先什么是UDF? UDF为`User Defined Function`-用户自定义函数,也就是支持用户自定义函数的功能.看这个名字应该就理解了一半了. MySQL是最流行的开放源码SQL数据库管理

渗透测试中的域名伪装

今天在<网络渗透测试--保护网络安全的技术.工具.过程>一书中看到了一个关于对恶意链接进行域名伪装的方法,以前从不知道的一个方法,特此记录下来: 我们通常使用的都是以下这种格式的域名: www.example.com 浏览器在将域名发往dns服务器之前,会先对域名进行第一步处理,这里就涉及到一个隐含的知识:“@”符号 如果在浏览器地址栏中输入一个包含“@”符号的域名,浏览器在发送该域名之前,会自动忽略“@”符号之前的所有内容. 这个应该不算是一个漏洞,大多数浏览器都会包含这种默认的方式.如果我

渗透测试中如何提取Windows系统帐户密码

『面向对象』本篇博文主要面向信息安全渗透测试初级人员以及信息安全攻防技术爱好者,大牛请珍惜生命.自行绕道. 『主要内容』主要介绍在后渗透测试阶段如何利用工具来获取Windows操作系统账号密码. ---------------------------------------菜鸟起飞系列------------------------------------------------ 渗透测试任务:获取Windows系统帐户密码 攻击测试目标:Windows server2003 2008 2012

使用Kali Linux在渗透测试中信息收集

域名注册信息 当你知道目标的域名,你首先要做的就是通过Whoist数据库查询域名的注册信息,Whois数据库是提供域名的注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括DNS服务器的信息. 关于Whois的介绍请访问:https://www.ietf.org/rfc/rfc3912.txt‍ 默认情况下,Kali已经安装了Whois.你只需要输入要查询的域名即可: #whois baidu.com (部分) 我们可以获取关于百度的DNS服务器信息,域名注册基本信息.这些信息在以后

web渗透测试中WAF绕过讲解(二)基于HTTP协议绕过

0x01 前言 在讲本课的内容之前我们先来了解互联网中的HTTP是什么?        超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基.Ted Nelson组织协

移动APP安全在渗透测试中的应用

http://netsecurity.51cto.com/art/201403/433726_all.htm 以往安全爱好者研究的往往是app的本地安全,比如远控.应用破解.信息窃取等等,大多人还没有关注到app服务端的安全问题,于是在这块的安全漏洞非常多. 移动app大多通过web api服务的方式跟服务端交互,这种模式把移动安全跟web安全绑在一起.移动app以web服务的方式跟服务端交互,服务器端也是一个展示信息的网站,常见的web漏洞在这也存在,比如说SQL注入.文件上传.中间件/ser

渗透测试中遭遇杀毒软件

最近测试一个项目,提权时遇到了杀毒软件,N多工具都被杀掉了,虽然最后都成功提权了,但是还是或多或少的给我们提权造成了不少的麻烦,尤其是提权成功后使用cain嗅探,cain被秒杀,别提多郁闷了.这里就我提权过程中遇到的两款杀毒软件来进行一下总结,总结一下如何在提权成功后关掉这两款杀毒软件. 1.免密码关掉趋势杀毒软件 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCor

sqlmap在渗透测试中使用方法

前言: 本篇文章只学习sqlmap如何使用请不要对互联网上站点进行攻击测试.环境所用系统为:centos6.6,sqlmap版本为0.9,靶机环境为预先搭建好存在漏洞的站点.实验环境模拟发现测试站点有注入漏洞,使用sqlmap工具进行注入尝试最后脱裤的操作. 实验演示: 测试站点 点击其中分类发现修改id可以直接进行对应页面跳转,由于在域名后添加 "and 1=2"进行测试,结果如下: 我们发现由于程序没有进行相关过滤,当条件为假时,可以控制SQL命令的返回结果,此时可证明发现的SQL

渗透测试中常见的端口

端口合计详情 21 ftp  22 SSH  23 Telnet  80 web  80-89 web  161 SNMP  389 LDAP  443 SSL心脏滴血以及一些web漏洞测试  445 SMB  512,513,514 Rexec  873 Rsync未授权  1025,111 NFS  1433 MSSQL  1521 Oracle:(iSqlPlus Port:5560,7778)  2082/2083 cpanel主机管理系统登陆 (国外用较多)   2222 DA虚拟主机