泷羽sec-星河飞雪-shodan

268 阅读24分钟

声明:

学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频

微信公众号:泷羽sec

shodan

专门搜索网络设备的搜索引擎,只要有IP地址的设备,都可以看作是网络设备。包括手机、摄像头、服务器、路由器等等。

工作原理

在服务器上部署了各种扫描器,二十四小时不停扫描,批量的对IP进行扫描,针对不同地区的IP段进行扫描。

优缺点

优点:方便,很快可以得到最新的扫描结果,获取到最新的漏洞信息。

缺点:不够实时,记录的IP地址扫描信息,可能使三个月以前的。比较浪费资源。

功能

在线查询功能;离线的客户端;可以监控一些IP地址,扫描存在的漏洞\bug等,还可以调用api接口,主要用于信息收集。

kali安装shodan

 # 克隆项目
 git clone https://github.com/achillean/shodan-python.git
 # 切换目录
 cd shodan-python
 # 运行安装脚本
 python setup.py install
 # 初始化shodan
 shodan init api_key
 # 查看帮助文档
 shodan -h

Windows安装shodan

1.安装python,官网在这

2.打开命令行工具,键入以下命令

 # 下载shodan模块
 pip install shodan
 # 初始化shodan
 shodan init api_key

参数

国家代码

国家代码参考文档

SEARCH

shodan search --limit 10 country:jp

参数说明:--limit >> 显示信息数量;country >> 指定搜索国家

shodan search --limit 10 country:jp --fields ip_str,port

参数说明:--fields >> 指定过滤内容;ip_str >> IPV4的IP信息;port >> 端口

shodan search --limit 10 --fields ip_str port 80 country:jp

参数说明:port 80 >> 指定搜索80端口的IP地址

shodan search --color --limit 10 --fields ip_str port 3389 countrt:cn city:shenzhen

参数说明:--color >> 重点内容标红;country:cn city:shenzhen >> 制定国家为中国,城市为深圳

HOST

shodan host ip

参数说明:host>>查询ip信息

返回的信息包括所在国家、组织、最后更新时间、开放端口数、可能存在的漏洞CVE、端口运行情况等。

MYIP

shodan myip>> 获取自身外部可见的ip地址

其他用法

os:"Windows 7">>指定操作系统为Windows 7

has_vuln:True>>漏洞

device:webcarm>>设备:摄像头

device:router>>设备:路由器

tp-link>>web端的设备

hostname>>指定的主机或域名>>hostname:"google"

org>>指定的组织或公司 >>org:"google"

isp>>指定的ISP供应商 >>isp:"China Telecom"

网络业务提供商(Internet Service Provider,简称ISP),互联网服务提供商,即向广大用户综合提供互联网接入业务、信息业务、和增值业务的电信运营商。

product>>指定的操作系统/软件/平台>> product:"Apache httpd"

geo>>指定的地理位置,参数为经纬度>> geo:"42.6511,-73.7549"

before/after>>指定收录时间前后的数据,格式是dd-mm-yy >>before:"11-11-15"

net>>指定的IP地址或子网>> net:"172.67.216.0/24"

version 指定的软件版本>>version:"1.6.2"


批量查找并验证漏洞CVE-2019-0708

原理

存在漏洞的远程桌面服务器,在接收到特殊数据包时会释放一个内部信道MS-T120控制结构体,但并未将指向该结构体的指针删除

内部信道:

  1. 定义:内部信道通常指的是在一个设备、系统或网络内部用于信息传输的通道。

  2. 分类

    • 逻辑信道:在设备或系统内部,用于承载不同类型信息的逻辑通道。
    • 物理信道:实际存在的物理连接,如导线、光纤等,用于在设备内部或不同设备间传输信息。

MS-T120:是Remote Desktop Protocol(RDP)中的一个内部信道名称,它用于控制RDP连接中的虚拟信道

而且在远程桌面连接结束之后还会调用MS-T120结构体内的一个函数指针

若攻击者可通过远程发送数据重新占据被释放的MS-T120,并为结构体内的函数指针赋恰当的值,即可实现远程命令执行。

影响版本

Windows 7

Windows Server 2008

Windows Server 2008 R2

Windows Server 2003

Windows XP

漏洞指纹

\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00 >> 十六进制漏洞特征

  • "\x03": 此字节表示有效负载的类型。在这种情况下,它指示有效负载是* “Client Core Data” 消息*。>> Client Core Data:可以解释为客户端的核心数据
  • “\x00”:此字节表示与有效负载关联的标志。在这种情况下,它表示没有设置其他标志
  • “\x00\x0b”:这两个字节表示有效负载的长度。在这种情况下,它表示有效负载的长度为 11 字节
  • “\x06\xd0”:这两个字节表示与负载关联的通道 ID。在这种情况下,它表示有效负载适用于“rdpdr”通道,该通道用于RDP 中的驱动器重定向。>> rdpdr:通过RDPDR通道,用户可以在远程会话中访问和操作本地设备,实现设备资源的共享和利用。
  • “\x00\x00”:这两个字节表示数据包序列号。在这种情况下,它表示数据包序列号为 0
  • “\x124\x00”:这三个字节表示负载数据。在这种情况下,它是可以触发 RDP 协议中漏洞的字节序列

搜集漏洞

 # 方式一
 shodan search --limit 10 --fields ip_str,port '"/x03/x00/x00/x0b/x06/xd0/x00/x00/x124/x00"'(这里对斜线方向做了修改,是为了适应Windows命令行的搜索)
 ​
 # 方式二
 shodan search --limit 10 --fields ip_str,port "port:3389 Remote Desktop Protocol"
 ​
 #方式三
 shodan search --limit 10 --fields ip_str vuln:"CVE-2019-0708"

漏洞验证

一、将搜集到的漏洞ip编写成文件;

二、启动kali中的Metasploit,命令是msfconsole

三、在msf中搜索相关模块,命令是search cve-2019-0708

四、使用必要的模块,命令是use 序列号或者use 模块名

五、查询并配置必要的信息,查询命令是options,配置攻击IP命令是set rhost filepath,即将第一步编写的ip文件拖入到命令行中

六、检查验证漏洞,命令是check

批量下载并解压

下载

shodan download 0708 -limit 10 '"\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"'

该命令表示将符合条件的搜索结果下载到名为0708的文件中,限制结果数量为10条。该命令下载后的文件格式为压缩文件,需要进行解压。

解压

shodan parse --fields ip_str 0708

该命令表示从 Shodan 的搜索结果中提取 IP 地址,0708就是之前下载好的文件,从中提取的ip地址,就是存在CVE-2019-0708漏洞的ip地址。


VNC

VNC(Virtual Network Computing)是虚拟网络计算的缩写,它是一种远程桌面共享与控制技术,允许用户通过网络远程访问和控制另一台计算机的桌面界面

安全性

  • VNC本身提供了基本的安全保障,如访问密码设置等。
  • 在实际使用过程中,用户仍需采取额外措施以确保数据传输的安全性,如使用加密通信协议等。

技术特点

  • 跨平台性:VNC支持多种操作系统,包括WindowsmacOSLinux,使得不同平台之间的远程访问变得简单
  • 简单易用:用户只需在两台计算机上安装VNC软件即可进行远程控制。
  • 高效性:VNC技术基于图像传输,即使在网络速度较慢的情况下也能提供流畅的远程控制体验

SHODAN搜索空密码VNC

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

“Authentication disabled”>>这一术语通常表示某种形式的身份验证功能已被禁用。

port:5900>>是这一漏洞的必要条件,如果5900端口不开启,那么空密码vnc大概率不存在

扫描出的ip不一定每个都可以用,这主要是因为shodan的信息具有一定的滞后性.

MSF爆破VNC弱口令("现在收获,以后解密")

一、打开kali,通过命令msfconsole进入Metasploit

二、寻找相应模块,命令是search vnc_login

三、这个模块只有一个,所以直接use 0

四、通过options命令查看相关配置

五、需要手动配置的只有一个rhost,按需配置即可

六、配置完成之后,通过命令runexploit开始攻击

为什么说是现在收获,以后解密,我觉得可以等学了痕迹清理之后,再大闹天宫比较合适

特定IP历史解析记录查询

shodan host ip --history>>可以查询到端口的历史开放情况


shodan搜索Cisco弱口令

搜集

shodan search country:jp --limit 10 --fields ip_str,port "cisco -authorired port:23"

 cisco -authorired >> cisco:指定搜索思科设备;-authorired:排除某些特定的授权或认证相关的结果,也就是搜索弱口令的设备

得到结果可以下载并解压,获得ipv4地址,进行下一步爆破.

(http.title的内容不仅仅局限于英文,也可以是中文或其他语言,内容也是多种多样,只要敢想,就没有搜不到的)

爆破

爆破用到的工具是hydra,kali内部已经集成了.可以直接调用

hydra [-l 用户名|–L 用户名文件路径] [-p 密码|–P 密码文件路径] [-t 线程数] [–vV 显示详细信息] [–o 输出文件路径] [–f 找到密码就停止] [–e ns 空密码和指定密码试探] [ip|-M ip列表文件路径] [指定爆破的服务]

HYDRA支持协议

Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin, Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP。

验证

可以通过FinalShell等ssh工具进行测试,思科设备的工作端口为23端口,连接时需注意指定正确的端口号.


关于HTML的一些常见标签

  1. <!DOCTYPE html>

    • 声明文档类型,告诉浏览器这是一个HTML5文档。
     <!DOCTYPE html>
     <html lang="zh-CN">
    
  2. <html>

    • 根元素,所有其他HTML元素都包含在其中。
     <html lang="zh-CN">
    
  3. <head>

    • 包含文档的元数据,如标题、字符集声明、样式表链接等。
     <head>
         <meta charset="UTF-8">
         <title>示例页面</title>
         <link rel="stylesheet" href="styles.css">
     </head>
    
  4. <meta>

    • 提供关于HTML文档的元数据,如字符集、页面描述、关键词等。
     <meta charset="UTF-8">
     <meta name="description" content="这是一个示例页面">
    
  5. <title>

    • 定义文档的标题,显示在浏览器的标签栏或标题栏中。
     <title>我叫标题</title>
    
  6. <body>

    • 包含文档的主要内容,如文本、图像、链接、表格等。
    <body>
        <h1>我是一极标题</h1>
        <p>我是段落</p>
    </body>
    
  7. <h1><h6>

    • 标题标签,<h1>表示最高级别的标题,<h6>表示最低级别的标题。
    <h1>我是一级标题</h1>
    <h2>我是二级标题</h2>
    
  8. <p>

    • 段落标签,用于定义文本段落。
    <p>我是一个段落。</p>
    
  9. <a>

    • 超链接标签,用于创建到其他网页或页面内元素的链接。
    <a href="https://www.example.com">访问示例网站</a>
    
  10. <img>

    • 图像标签,用于在网页中嵌入图像。
    <img src="image.jpg" alt="示例图像">
    
  11. <ul><ol>

    • 无序列表(<ul>)和有序列表(<ol>)标签,用于创建列表。
    <ul>
        <li>列表项1</li>
        <li>列表项2</li>
    </ul>
    
    <ol>
        <li>第一项</li>
        <li>第二项</li>
    </ol>
    
  12. <li>

    • 列表项标签,用于定义列表中的项目。
    <li>列表项</li>
    
  13. <div>

    • 块级容器标签,用于组合其他HTML元素,常用于布局和样式化。
    <div>
        <h2>我是一个区块</h2>
        <p>我是一个段落。</p>
    </div>
    
  14. <span>

    • 行内容器标签,用于组合其他HTML元素,常用于样式化。
    <p>这是一个<span style="color: red;">红色</span>的段落。</p>
    
    • 表格标签,用于创建表格。
        <tr>
            <th>标题1</th>
            <th>标题2</th>
        </tr>
        <tr>
            <td>数据1</td>
            <td>数据2</td>
        </tr>
    </table>
    
  15. <form>

    • 表单标签,用于创建用户输入表单。
    <form action="/submit" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name">
        <input type="submit" value="提交">
    </form>
    
  16. <input>

    • 输入标签,用于用户输入数据,如文本框、按钮等。
    <input type="text" name="username" placeholder="输入用户名">
    
  17. <label>

    • 标签标签,用于定义表单控件的标签。
    <label for="email">电子邮件:</label>
    <input type="email" id="email" name="email">
    
  18. <button>

    • 按钮标签,用于创建可点击的按钮。
    <button type="button">点击我</button>
    
  19. <nav>

    • 导航标签,用于定义导航链接的部分。
    <nav>
        <ul>
            <li><a href="#home">首页</a></li>
            <li><a href="#about">关于我们</a></li>
        </ul>
    </nav>
    

这些标签是HTML中最常用的部分。


shodan搜索网段

shodan search --limit 10 --fields ip_str net:1.1.1.0/24

参数讲解:net:1.1.1.0/24>>net: 是一个Shodan的搜索过滤器,用于指定一个IPv4网络范围;1.1.1.0/24 是一个CIDR表示法的IP地址范围,表示从1.1.1.0到1.1.1.255的所有IP地址。>>CIDR(Classless Inter-Domain Routing,无类别域间路由)表示法是一种用于表示IP地址及其子网掩码的方法.

CIDR表示法中的计算

  1. 网络地址:将IP地址的主机部分全部置为0即可得到网络地址。
  2. 广播地址:将IP地址的主机部分全部置为1即可得到广播地址。
  3. 可用主机数量:对于IPv4地址,可用主机数量可以通过计算2的主机位数次方再减去2(减去网络地址和广播地址)来得到。

shodan搜索组织

shodan search --limit 10 --fields ip_str country:us org:nsa

这个命令的目的是在 Shodan 上搜索位于美国(country:us)且属于美国国家安全局(org:nsa)的前10个设备

org:nsa>>用于限制搜索结果只包括属于特定组织(在这个例子中是“NSA”,即美国国家安全局)的设备


shodan搜索waf

shodan search --limit 10 --fields ip_str http.waf:safedog country:us

https://104.200.17.125

https://47.88.30.45

https://50.116.47.49

我没详细测试这个,以上三个ip是写笔记时候顺手测了测,也许能行,后续再专门搜搜找找.

waf的种类:(别瞎搞,当科普就行)

  1. 云WAF

    • 腾讯云WAF:提供基于云端的Web应用安全防护,能够实时检测并阻断各种Web攻击。
    • 阿里云盾(含WAF) :阿里云提供的综合性安全防护服务,其中包括WAF功能,能够抵御各种Web威胁。
    • 百度云WAF:基于百度云的Web应用防火墙,提供智能防护和快速响应能力。
  2. 硬件WAF

    • 绿盟WAF:绿盟科技提供的硬件WAF解决方案,具备强大的安全防护能力和灵活的部署方式。
    • 安恒WAF:安恒信息提供的硬件WAF产品,能够针对Web应用的各种漏洞进行防护。
  3. 软件WAF

    • D盾:一款知名的Web应用安全防御系统,提供实时检测、防护和应急响应功能。
    • 云锁:集成了多种安全防护功能的软件WAF,能够保护Web应用免受各种攻击。
    • 护卫神:专注于Web应用安全防护的软件WAF,提供全面的安全检测和防御能力。
  4. 其他WAF

    • 创宇盾:知道创宇提供的WAF产品,具备强大的Web应用安全防护能力和实时威胁响应能力。
    • 玄武盾:另一款知名的WAF产品,提供全面的Web应用安全防护解决方案。
    • ModSecurity:一个开源的WAF模块,可以与各种Web服务器集成,提供灵活的安全防护能力。

waf针对在url中携带payload的态度就是直接丢弃掉携带payload的请求.


shodan搜索Mongodb数据库未授权登录

shodan search --limit 10 --fields ip_str "Mongodb server information -authentication" port:27017 country:jp

"Mongodb server information -authentication">>指定Shodan搜索那些描述中包含“Mongodb server information -authentication”的条目。这通常意味着搜索那些MongoDB服务器信息表明它们没有启用身份验证,即-authentication

jp的成功率不算高,如果jp的行不通,可以试试搜索kr的,感觉kr的成功率要高于jp。


MONGODB的基本操作

  1. 增加一条数据
db.collection.insertOne(  
        { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)
  1. 增加多条数据
db.collection.insertMany([
        { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } }, 
        { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
        { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
    ])
  1. 删除单条数据
db.collection.deleteOne(
   <filter>,   // 过滤条件
   {
      writeConcern: <document>,
      collation: <document>,
      hint: <document|string>        // Available starting in MongoDB 4.4
   }
)
  1. 删除多条数据
db.collection.deleteMany(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如,inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。
  1. 查询所有:
db.collection.find()
  1. 下面的实例返回inventory集合中status等于"D"的所有文档:
db.inventory.find( { status: "D" } )
  1. 下面的案例返回inventory集合中status等于"A""D"的所有文档。
db.inventory.find( { status: { $in: [ "A", "D" ] } } )
  1. 下面的案例返回inventory集合中status等于"A" 并且qty小于($lt)30的所有文档:
db.inventory.find( { status: "A", qty: { $lt: 30 } } )
  1. 下面的案例返回inventory集合中status等于"A" 或者qty小于($lt)30的所有文档。
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )

更多用法详见查询文档 | MongoDB-CN-Manual

shodan搜索Jenkins框架

shodan search --limit 10 --fields ip_str,port country:jp "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard" has_vuln:True

  • "X-Jenkins" OR "Set-cookie:JSESSIONID":这是搜索查询的关键字部分,使用了逻辑“或”(OR)操作符。它告诉Shodan搜索那些HTTP响应头中包含“X-Jenkins”或“Set-cookie:JSESSIONID”的条目。这两个关键字通常与Jenkins服务器(一种流行的持续集成和持续部署服务器)和Java Web应用程序(使用JSESSIONID作为会话标识符)相关联。
  • http.title:"Dashboard":这个选项进一步限制了搜索范围,只查找HTTP响应标题中包含“Dashboard”的设备。这通常意味着这些设备有一个名为“Dashboard”的网页或界面。

这个可以搜搜jp的,成功率还算是高吧

JENKINS框架

Jenkins是一种持续集成的工具,功能包括:持续的软件版本发布、测试项目、监控外部调用执行的工作。

部署方式

3.1 jenkins触发式构建用于开发环境部署,开发人员push代码或者合并代码到gitlab项目的master分支,jenkins就部署代码到对应服务器。

3.2 jenkins参数化构建用于测试环境预上线环境部署,开发push代码或者合并代码到gitlab项目的master分支之后,并不会部署代码,而是需要登录到jenkins的web界面,点击构建按钮,传入对应的参数(比如参数需要构建的tag,需要部署的分支)然后才会部署。

3.3 jenkins定时构建用于APP自动打包,定时构建是在参数化构建的基础上添加的,开发人员可以登录jenkins手动传入tag进行打包,如果不手动打包,那么jenkins就每天凌晨从gitlab拉取最新的APP代码打包。

辅助作用

  1. 自动化测试:Jenkins可以用于自动化渗透测试过程中的一些任务,通过编写任务,可以定期对目标系统进行安全测试,提高测试效率和覆盖范围

任务:漏洞扫描、安全测试等

  1. 持续集成与持续部署:渗透测试人员可以将Jenkins用于CI/CD流程,在开发和部署过程中进行安全测试,及时发现和修复安全问题。

CI/CD的基本概念

  • 持续集成(CI) :开发人员将代码频繁地集成到共享代码仓库中,并自动进行构建、编译和测试。这有助于发现和解决代码冲突、问题和错误。
  • 持续部署(CD) :经过测试和验证的代码自动部署到生产环境中,以实现快速且可靠的软件交付。
  1. 漏洞管理:Jenkins可以与漏洞管理工具集成,帮助企业管理和跟踪安全漏洞。渗透测试人员可以利用Jenkins的漏洞管理功能,了解目标系统中存在的安全漏洞,并指定响应的攻击策略

shodan网页端

搜索指定漏洞

CVE-2019-0708为例,漏洞指纹:\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00

总计

等价于命令行参数count

从上到下依次是,出现漏洞最多的国家、出现漏洞最多的端口号以及出现漏洞最多的组织

依次是出现漏洞最多的产品、出现漏洞最多的操作系统

这是右侧的显示情况,左侧依次就是存在漏洞的IP地址、组织、国家地区;中间是漏洞的名称;右侧就是输入的特征码

搜索指定设备

以路由器router为例

右侧内容从上到下依次是:

SNMP:
Uptime: 82759
Description: DEFAULT
Service: 3
Versions:
1
3
Name: Maxio
Contact: Router
Engine Boots: 0
Engineid Data: 80001f888044deb60966262267
Enterprise: 8072
Objectid: 1.3.6.1.4.1.56117
Engine Time: 0:00:00
Location: AP
  • Uptime: 82759

    • 这表示设备自上次启动以来已经运行了82759秒。换算成小时、分钟和秒,大约是22小时59分钟19秒。
  • Description: DEFAULT

    • 设备的描述是“DEFAULT”,这意味着没有为设备提供特定的描述信息,或者它被重置为了默认描述。
  • Service: 3

    • 这通常指的是SNMP服务提供的服务类型或级别。具体数字“3”的含义可能依赖于特定的实现或文档,但通常与SNMPv2c或SNMPv3的安全级别有关。
  • Versions: 1, 3

    • 这表明该设备支持SNMP版本1和版本3。SNMPv1是较老的版本,而SNMPv3提供了更强的安全性。
  • Name: Maxio

    • 这是设备的名称,被命名为“Maxio”。
  • Contact: Router

    • 这表示如果有关该设备的问题,应该联系“Router”。这可能是一个占位符或实际的管理员联系信息。
  • Engine Boots: 0

    • SNMP引擎的启动次数为0。这通常用于SNMPv3中的上下文引擎ID的生成,表示自配置以来SNMP引擎没有重启过。
  • Engineid Data: 80001f888044deb60966262267

    • 这是SNMP引擎ID的十六进制表示,用于SNMPv3中的消息认证和加密。每个SNMP引擎(或设备)都有一个唯一的引擎ID。
  • Enterprise: 8072

    • 这是企业的私有MIB(Management Information Base,管理信息库)编号。MIB是SNMP中用于定义设备可以报告哪些信息的数据库。8072是一个私有的企业编号,表示该设备或MIB是由一个特定的企业定义的。
  • Objectid: 1.3.6.1.4.1.56117

    • 这是对象标识符(OID),用于唯一标识SNMP MIB中的一个对象或一组对象。这个特定的OID与上述的企业编号相关,表示它属于那个企业的自定义MIB。
  • Engine Time: 0:00:00

    • 这可能表示SNMP引擎自上次启动以来的内部时间或特定于SNMPv3的时间戳信息。在这里,它显示为0小时0分钟0秒。
  • Location: AP

    • 这表示设备的物理位置是“AP”,是指亚太地区或其他含义。

资产监控

设置监控

在常规信息下的输入栏里填写要监控的目标,下面的通知是设置邮件通知服务。

需要注意的是,能够监控多少个IP,是能够在这个截图页面的右半部分显示出来的,在设置监控时可以留意一下。

添加邮件地址

如果你不想用默认的shodan邮箱(也许是这个邮箱也用不了),可以通过Settings,进入到这个设置界面,默认的通知服务就是邮件,点击ADD,添加需要的邮件地址即可

通过命令行参数设置监控

  1. 添加监控>>使用Shodan Monitor功能,可以监控特定IP地址或设备>>shodan monitor add <ip_address>
  2. 管理监控>>查看当前监控列表:shodan monitor list;删除某个监控>>shodan monitor delete <monitor_id>

shodan其余参数

SHODAN ALERT

Shodan的alert功能允许用户设置针对特定搜索条件的警报,当Shodan检测到符合这些条件的新设备或网络活动时,会向用户发送通知。

1. 创建ALERT

要创建一个新的alert,你需要使用shodan alert create命令,并指定搜索条件和接收警报的电子邮件地址。例如,如果你想监控所有运行特定服务的设备,你可以使用以下命令:

shodan alert create "service:ssh" your_email@example.com

这条命令会创建一个alert,当Shodan检测到任何运行SSH服务的设备时,都会向your_email@example.com发送通知。

2. 查看ALERT列表

要查看你当前设置的所有alert,你可以使用shodan alert list命令。这将列出所有alert的ID、搜索条件、创建时间和状态。

shodan alert list

3. 删除ALERT

如果你不再需要某个alert,你可以使用shodan alert delete命令并指定要删除的alert的ID来删除它。例如:这条命令会删除ID为123456的alert。

shodan alert delete 123456

4. 接收ALERT通知

当Shodan检测到符合你设置的alert条件的新设备或网络活动时,它会通过电子邮件向你发送通知。通知中通常包含设备的IP地址、端口、操作系统和服务等信息。

5. 使用过滤器创建更具体的ALERT

Shodan支持多种过滤器,你可以使用它们来创建更具体的alert。例如,如果你想监控特定IP地址范围内的设备,你可以使用net过滤器:

shodan alert create "net:192.168.1.0/24" your_email@example.com

这条命令会创建一个alert,当Shodan检测到192.168.1.0/24网段内的任何新设备时,都会向你发送通知

SHODAN DOMAIN

查看特定域名的相关信息

shodan domain hostname

查询域名信息,但因为shodan本身的非实时性,这个参数用起来可能不是很舒服。

SHODAN SCAN

使用scan参数进行时效性更强的扫描,尽可能减少因shodan非实时性扫描带来的误报

shodan scan submit ip

提交对特定IP地址的扫描请求

shodan scan list

监视提交的扫描请求的状态,从列表条目中,用户可以获取扫描ID及其状态。当扫描状态为“DONE”时,表示扫描已完成。

通过设备状态以及设备版本计数

shodan stats --facets ssl.version has_ssl:true

  • shodan stats:这是用于获取统计信息。
  • --facets:这个参数后面跟的是想要统计的具体方面(facet),即你希望获取哪些特定信息的统计结果。
  • ssl.version:这表示你想要统计的是 SSL/TLS 协议的版本信息。SSL(安全套接层)和 TLS(传输层安全协议)是用于在互联网通信中提供安全性的加密协议。
  • has_ssl:true:这是另一个过滤条件,表示只对那些启用了 SSL/TLS 的设备感兴趣