渗透测试---信息收集(细!) - J01n

admin 2021年12月31日15:10:11评论60 views字数 5792阅读19分18秒阅读模式

前言
在做渗透测试的时候一般网站主站信息都比较少,我们需要在测试过程中进行信息搜集,我们可以根据路径爆破工具进行使用与测评分析工具的特点,批量访问发现的路径查找敏感路径,找到敏感数据,如:后台、其他未授权访问路径,扫描得到敏感文件的路径,从而找到敏感数据。

一、使用爆破工具进行破解:

gxfr.py、subDomainsBrute.py、wydomain.py、sublist3r.py
dirsearch:https://github.com/maurosoria/dirsearch
OneForAll:https://github.com/shmilylty/OneForAll.git
virustotal:https://www.virustotal.com
子域名自动化搜索:https://d.chinacycc.com
dnsdumpster:https://dnsdumpster.com
FeeiCN :https://github.com/FeeiCN/esd
御剑、DirBuster、intellitamper、dirmap、椰树、dirb等

OneForAll:一款功能强大的子域收集工具
安装过程:
下载更新:git clone https://github.com/shmilylty/OneForAll.git
安装依赖包:
cd /OneForALL
pip install -r requirements.txt
OneForALL源码链接:https://github.com/shmilylty/OneForAll
执行操作指令./oneforall.py --target http://xxx.cn run
渗透测试---信息收集(细!) -  J01n
扫描输出的文件存放在/OneForALL/results 目录下
生成一个表格数据文件(.csv),方便用户查看
渗透测试---信息收集(细!) -  J01n
查看xxx.csv文件(有域名,url,ip,回复包状态码,banner,isp等)
xxx.csv (超链接,右键打开查看即可)
渗透测试---信息收集(细!) -  J01n
Dirsearch:一种高级的命令行工具,旨在对web服务器中的目录和文件进行暴力破解。
(一)下载dirsearch步骤
git clone https://github.com/maurosoria/dirsearch.git //kali上输入指令下载源码安装包
cd dirsearch //切换路径
python3 dirsearch.py -u <URL> -e <EXTENSION> //-u(url地址)-e (EXTENSION指网站语言,如php、asp)
(二)附上dirsearch使用手册:
https://blog.csdn.net/yigaoyu/article/d etails/108473952
在dirsearch目录下的README.md文件也有使用方法
渗透测试---信息收集(细!) -  J01n
(三)模拟暴力破解敏感路径(靶机ip/510cms)
Dirsearch/db目录下存放暴力破解所需的字典,可以从中增添字段,加强字典。
渗透测试---信息收集(细!) -  J01n
接下来输入./dirsearch.py -u http://10.10.10.1/510cms -e php --plain-text-report=/su.txt
进行路径的暴力破解
回显的过程有访问html的状态码status,回复包的长度length,以及网站的路径
渗透测试---信息收集(细!) -  J01n
--plain-text-report=/su.txt为输出报告到指定的路径下面
渗透测试---信息收集(细!) -  J01n
默认输出报告位置如下:
/dirsearch/reports
渗透测试---信息收集(细!) -  J01n
Virustotal:病毒扫描引擎站
(一)VirusTotal 是一款可疑文件分析服务,分析可疑文件和URL以检测恶意软件的类型。通过各种知名反病毒引擎,对您所上传的文件进行检测,以判断文件是否被病毒、蠕虫、木马以及各类恶意软件感染。
特点:

免费, 独立的服务
使用多种反病毒引擎
实时自动更新病毒定义库

渗透测试---信息收集(细!) -  J01n
文件扫描功能,上传一个webshell的木马文件上去检测,检测到是backdoor-PHP文件
渗透测试---信息收集(细!) -  J01n
(二)url检测,本次检测地址为实训平台http://xxx.com/
渗透测试---信息收集(细!) -  J01n
网页信息回显
渗透测试---信息收集(细!) -  J01n
Whois域名注册查询,注册登记的信息(姓名,地址,电话,邮箱,网络ip等)
渗透测试---信息收集(细!) -  J01n
(三)VirusTotal运行DNS复制功能,通过存储用户访问URL时执行的DNS解析来构建数据库。要检索子域名的信息,只需将域名放在搜索栏中即可。

二、子域名自动化搜索:扩大渗透测试范围,找到目标站点突破口,业务边界安全

(一)谷歌语法:通过特定站点范围查询子域名如姓名 site:xxx.cn
渗透测试---信息收集(细!) -  J01n
(二)使用Sublist3r工具枚举域名
Sublist3r是一个python工具,旨在使用OSINT枚举网站的子域。它可以帮助渗透测试人员和Bug猎手收集和收集其目标域的子域。
安装过程如下:
使用GitHub下载相应的子域名发现工具
kali下安装:
git clone https://github.com/aboul3la/Sublist3r.git
安装模块 // cd /Sbulist3r
sudo pip install -r requirements.txt
枚举目标子域名
python sublist3r.py -d 目标
存放域名字典的路径/Sublist3r/subbrute/
渗透测试---信息收集(细!) -  J01n
./sublist3r.py -d xxx.cn
渗透测试---信息收集(细!) -  J01n
./sublist3r.py -d xxx.cn -p 80,443 -o su.txt指定80,443端口搜集域名并输出文档到su.txt文本下
渗透测试---信息收集(细!) -  J01n
(三)利用Google提出的证书透明度(Certificate Transparency)查询公开的子域,一般查询结果包括域、签发者、有效期和签名等
crtsh:https://crt.sh/?q=xxx.cn
渗透测试---信息收集(细!) -  J01n
Censys: https://censys.io/certificates?q=xxx.cn
渗透测试---信息收集(细!) -  J01n
(四)用安全类搜索引擎搜索域名
渗透测试---信息收集(细!) -  J01n
(五)Dnsdumpster:一个免费的域研究工具,可以找到给定域名的大量潜在子域名
从攻击者的角度寻找可见主机是安全评估过程的重要组成部分。
附上子域名挖掘大全指南:https://xz.aliyun.com/t/3478
渗透测试---信息收集(细!) -  J01n
域名映射图
渗透测试---信息收集(细!) -  J01n
(六)子域名挖掘机:L ayer子域名挖掘机是一款域名查询工具,可提供网站子域名查询服务
渗透测试---信息收集(细!) -  J01n
(七)FeeiCN
优势

1.支持泛解析域名
2.基于RSC(响应相似度对比)技术对泛解析域名进行枚举(受网络质量、网站带宽等影响,速度会比较慢)
3.基于aioHTTP获取一个不存在子域名的响应内容,并将其和字典子域名响应进行相似度比对。 超过阈值则说明是同个页面,否则则为可用子域名,并对最终子域名再次进行响应相似度对比。
更快的速度
4.基于AsyncIO异步协程技术对域名进行枚举(受网络和DNS服务器影响会导致扫描速度小幅波动,基本在250秒以内)
5.基于AsyncIO+aioDNS将比传统多进程/多线程/gevent模式快50%以上。 通过扫描qq.com,共170083条规则,找到1913个域名,耗时163秒左右,平均1000+条/秒。
6.更全的字典
7.融合各类字典,去重后共170083条子域名字典

安装过程
安装
pip install esd
升级
pip install esd --upgrade
扫描单个域名
esd -d xxx.com
详细参数手册请访问:https://github.com/FeeiCN/ESD/blob/master/README.md

三、对路径进行批量访问查找敏感路径:

后台路径与返回含有重要的敏感信息的文件,比如数据库文件、代码的备份文件或svn、git版本控制文件等,首先了解敏感的信息文件的后缀,如.mdb .zip .rar .txt .git .svn等,然后构造url+后缀名的访问请求,即可查找和验证敏感文件是否存在

(一)简易枚举敏感路径脚本,通过url+后缀名来访问网站,从得到的状态码判断路径是否存在。

from typing import TextIO
import requests
url = 'http://www.xxx.cn/'
with open("web.txt","r") as web:
    webs=web.readlines()
for web in webs:
    web=web.strip()
    u = url+web
    r = requests.get(u)
    # print("url为:"+u)
    print("url为:"+u+' '+"状态为:%d"%r.status_code)
w=open('write.txt','w+')
for web in webs:
     web = web.strip()
     u = url + web
     r = requests.get(u)
     w.write("url为:"+u+' '+"状态为:%d"%r.status_code+"\n")

(二)御剑后台扫描器,同理可得通过写入的域名+路径配置文件,最后判断状态码是否为200,是则回显,否则不回显。
渗透测试---信息收集(细!) -  J01n
(三)intellitamper软件路径枚举
渗透测试---信息收集(细!) -  J01n
(四)获取敏感文件
网站源码备份文件存放在根目录下,以至于用户可以访问
渗透测试---信息收集(细!) -  J01n
源码备份存在着敏感数据库备份文件(.sql)以及敏感路径和配置文件信息等
攻击者可以通过代码审计等方法对网站进一步的渗透
渗透测试---信息收集(细!) -  J01n
数据库备份文件泄露(导致管理员账号密码泄露,将其放到md5解密即可)
admin/adminlwphp
渗透测试---信息收集(细!) -  J01n
渗透测试---信息收集(细!) -  J01n
访问后台路径10.10.10.1/510cms/admin,敏感路径泄露,用户可以实现路径穿越
渗透测试---信息收集(细!) -  J01n
源码泄露文章参考:
https://blog.csdn.net/qq_52116331/article/d etails/109911851

四、对敏感路径进行爬虫获取敏感数据:

对网站进行爬虫获取敏感数据,可以通过python脚本进行贪婪匹配获取数据,也可以通过参数的匹配来匹配数据。
(一)爬取oa系统后台日数据
某后台网站的个人系统日志模块,记录用户名,ip地址,登录时间,登出时间。
渗透测试---信息收集(细!) -  J01n
对网站进行暴力破解,得知账号密码为phpoa/12345678

from selenium import webdriver
import re
from bs4 import BeautifulSoup
import requests
heade={
    'Accept':'text/html,application/xhtml+x ml,application/x ml;q=0.9,image/webp,*/*;q=0.8',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0',
    'Cookie':'csa=19; my_expand_3=2%2C1%2C0%2C; my_expand_all_3=; PO_auth=MQlkMjM4N2YwYjMyZjIzM2RjYzg5OWZmNGE0ODU0OWE4NA%3D%3D'
}
postdata={
    'username':'phpoa',
    'password':'12345678'
}
for i in range(1,20):
    posturl=("http://10.10.10.1/oa/admin.php?ac=log&fileurl=member&page=%d"%i)
    res=requests.post(url=posturl,data=postdata,headers=heade)
    text=res.text
    pattern=re.compile('<li class="name">(.*?)</li>.*?<td class="name">(.*?)</td>.*?<td>(.*?)</td>.*?<td>(.*?)</td>',re.S)
    flag=re.findall(pattern,text)
    print("  用户名    "+"ip地址        "+"登录时间                    "+"登出时间")
    print(flag)

渗透测试---信息收集(细!) -  J01n
(二)爬取cms后台留言板信息
Cms管理后台留言板时间,QQ,Email邮箱,IP信息。
渗透测试---信息收集(细!) -  J01n
对网站进行暴力破解,得知账号密码为admin/123456

from selenium import webdriver
import re
from bs4 import BeautifulSoup
import requests
heade={
    'Accept':'text/html,application/xhtml+x ml,application/x ml;q=0.9,image/webp,*/*;q=0.8',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0',
    'Cookie':'username=admin; userid=1; PO_auth=MQkyODExZmI4ZjQ5MTllOGMxMmMyMjc4NDlkMzNmMjFlMg%3D%3D; PHPSESSID=5d26475d72a9c879b007642b29764cf2'
}
postdata={
    'username':'admin',
    'password':'123456'
}
posturl=("http://10.10.10.1/cms/admin/message.php")
res=requests.post(url=posturl,data=postdata,headers=heade)
text=res.text
pattern=re.compile('.*?<font style="color:#009900">(.*?)</font>.*?</font>(.*?)</td>.*?',re.S)
flag=re.findall(pattern,text)
for i in range(0,3):
    print(flag[i])

渗透测试---信息收集(细!) -  J01n
(三)利用搜索引擎爬取敏感信息(姓名 site:xxx.cn)爬取网站有姓名字样的网页
渗透测试---信息收集(细!) -  J01n
总结
由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到。敏感信息泄露虽然一直被评为危害比较低的漏洞,但这些敏感信息往往给攻击者实施进一步的攻击提供很大的帮助,甚至“离谱”的敏感信息泄露也会直接造成严重的损失。因此,在web应用的开发上,除了要进行安全的代码编写,也需要注意对敏感信息的合理处理。

BY:先知论坛

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月31日15:10:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试---信息收集(细!) - J01nhttp://cn-sec.com/archives/710574.html

发表评论

匿名网友 填写信息