那些年挖过的SRC之我是捡漏王 – 作者:绿帽子技术分享

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

*本文原创作者:zhukaiang7,本文属于FreeBuf原创奖励计划,未经许可禁止转载

前言

输出这篇文章的目的也是为了好多人在挖洞时,看到别的大佬钱拿的不要不要的时候,只能在我们自己自己电脑面前一筹莫展,这篇文章也是为了带大家打开新的思路。 

俗话说得好,“不是你套路不够深,是你的基础不够扎实。”

第一步:选择一条不拥挤的道路

现在类似于漏洞盒子,补天这种平台企业SRC的开展,同时伴随着各个公司私有SRC挨个上线,我们可以讲目光聚焦到他们身上。

基础不扎实,如SQL注入,XSS,上传,稍微大一点的厂商,一个WAF就打死了一群工具小子,这里我暂且不谈,直接放弃,来选择扫描器无法的发现漏洞。

如果想挖洞赚钱,只有2条路:

1.客户端漏洞

这样的漏洞挖掘竞争的人会比常见web漏洞和主机端口漏洞少不少。

2.子域名下漏洞

主要讲的是一些边缘业务或者是刚上线的业务。

第二步:信息收集

老生常谈的一个东西了,举个简单的例子,像一些用户比较多的软件,一旦出现漏洞,影响的用户量是相当巨大的。

比如struts漏洞,这些框架漏洞也出了很久了吧,还是有人喜欢用它。

不管你去谷歌还是bing然后采集一波该特征的URL,扔到这个批量验证工具里面,仍然存在大把的ip存在struts命令执行漏洞。

这就是信息收集的成功因素的之一,更何况,现在还有钟馗之眼,傻蛋,fofa这些平台API的开放,无时无刻不在帮我们做着信息收集的工作,让我们多了一把更锋利的武器。

以上是废话,我们不赘诉了。

再谈谈SRC,举个简单的例子,SRC他们在平台上只声明了大致方向,只要属于他们的业务漏洞都收。

那么我们如何定位呢。

我的思路:

1.他的域名对应的真实IP,对应的C段,甚至B段;

2.他的子域名;

3.其他平台(如hackerone)。

如:

https://hackerone.com/alibaba

Image

梦寐以求的目标范围,只要去国外的漏洞网站就能轻轻松松看到。惊不惊喜,意不意外?

查找子域名的文章太多太多,这里也不讲太多了。

当然也可以收集QQ群,微信讨论组,暗网的信息然后去提交威胁情报。

第三步:局部性挖掘

这里就针对目标SRC的资产做一个收集。

以补天的专属为例:

image.png

给了我们非常少的范围:

image.png

我们先whois查询一下:

image.png

然后反查:

image.png

查到该公司对应的域名。

这里可以收集顶级域名,然后通过子域名挖掘工具获取二级及三级域名。

李姐姐的神器:https://github.com/lijiejie/subDomainsBrute

高并发DNS暴力枚举,发现其他工具无法探测到的域名:

image.png效果:

image.png

或者在线版的:

https://phpinfo.me/domain/

image.png利用下面的脚本处理结果:

#coding=utf8

import re

import os

def getlist():

    filename = raw_input('filename')

    print filename

    ft = open("url.txt",'w+')

    with open(str(filename), 'r') as f: 

        lines = [line.strip() for line in f.readlines()] 

        for x in lines:

            lists=x.split('-')

            result = lists[1]

            ft.write(result+'\n')

            print result

getlist()

print 'done'

删除重复项:

image.png上面2个方法分别导出的结果如下图所示:

image.png这里就回答了好多人经常问我的,为啥子域名挖掘工具要用那么多,因为你用的越多,你收集的越全面。

大部分大公司基本都是整个C段买下来,这里因为这里的目标使用的是代理商,所以我没有跑C段,不然资产可以爆炸多,包大家挖洞挖到眼泪流下来。

第三步:处理收集到的信息

把筛选出来的ip保存到url.txt,然后使⽤nmap命令将结果输出为.gnmp⽂件:

nmap -sS -p 80,443,8080 -Pn -iL url.txt -oA [绝对路径]

我用的命令是:

nmap -sS -O -sV -iL url.txt -p 80,8080,443 -v -T4 -Pn -oA C:\Users\Administrator.DESKTOP-0MHPHKA\Desktop\result    

再使用python转化为xsl格式:

#coding:utf8

import sys

log = open("result.gnmap","r")

xls = open("output.csv","a")

xls.write("IP,port,status,protocol,service,version\n")

for line in log.readlines():

if line.startswith("#") or line.endswith("Status: Up\n"):

continue

result = line.split(" ")

#print result

host = result[0].split(" ")[1]

#print host

port_info = result[1].split("/, ")

#print port_info

port_info[0] = port_info[0].strip("Ports: ")

#print port_info[0]

for i in port_info:

j = i.split("/")

#print j

output = host + "," + j[0] + "," + j[1] + "," + j[2] + ","+ j[4] + "," + j[6] + "\n"

xls.write(output)

image.png

然后本地搭建一个php环境,写一个url跳转代码:

<?php 

$url = $_GET['url']; 

Header("Location:$url"); 

?>

抓包:

GET /url.php?url=http://1.1.1.1:80 HTTP/1.1

Host: 127.0.0.1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Connection: close

Upgrade-Insecure-Requests: 1

image.pngimage.png

burpsuite跑结果:

image.png

全文不涉及敏感信息,就不打码了。

第四步:结束语

献给所有在挖洞道路走的越来越远的兄弟们。

本文脚本已全部上传github

image.png

文章参考:

https://mp.weixin.qq.com/s/yl1LgC_DHPJtaWh92va_Vw

https://blog.csdn.net/qq_21405949/article/details/78487062

*本文原创作者:zhukaiang7,本文属于FreeBuf原创奖励计划,未经许可禁止转载

来源:freebuf.com 2019-03-25 09:00:44 by: 绿帽子技术分享

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论