HW演习前的自我信息排查
信息收集概述
信息收集一般都是渗透测试前期用来收集,为了测试目标网站,不得不进行各种信息收集。信息收集要根据不同目标进行不同方向收集,工具部分会在下节课程进行讲解,根据个人渗透测试经验总结文章。本文只是抛砖引玉,希望可以给大家一个好的思路。如果文章中有环境搭建部分,靶场后续会在公众号中发布。视频在关注公众号以后,回复我要视频,管理员会在最快时间进行回复。
+
信息收集
1、robots.txt
robots.txt
,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。robots.txt
基本上每个网站都用,而且放到了网站的根目录下,任何人都可以直接输入路径打开并查看里面的内容,如http://127.0.0.1/robots.txt ,该文件用于告诉搜索引擎,哪些页面可以去抓取,哪些页面不要抓取。admin
页面而在robots.txt
里面做了限制规则。但是这个robots.txt
页面未对用户访问进行限制,可任意访问,导致可通过该文件了解网站的结构,比如admin目录、user目录等等。robots.txt
的屏蔽搜索引擎访问的功能,又不泄露后台地址和隐私目录呢?admin
,还是有可以被人猜到,但如果你再把admin
改为adminzvdl
呢?2、网站备份压缩文件
.rar、zip、.7z、.tar.gz、.bak、.txt、.swp
等等,以及和网站信息有关的文件名www.rar、web.rar
等等漏洞利用工具:御剑
3、Git导致文件泄露
web
项目的开发采用前后端完全分离的架构:前端全部使用静态文件,和后端代码完全分离,隶属两个不同的项目。表态文件使用 git 来进行同步发布到服务器,然后使用nginx
指向到指定目录,以达到被公网访问的目的。git init
初始化代码库的时候,会在当前目录下面产生一个.git
的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git
这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,还原重建工程源代码。
脚本的工作原理:
解析.git/index文件,找到工程中所有的:( 文件名,文件sha1 )
去.git/objects/ 文件夹下下载对应的文件
zlib解压文件,按原始的目录结构写入源代码
GitHack.py http://www.hoolai.com/.git/
执行结果:
4、DS_store导致文件泄露
phpstudy
搭建PHP
环境,把.DS_store
文件上传到相关目录。然后利用工具进行相关检测
.DS_Store
。首先访问test.php
文件,查看环境是否成功。环境搭建成功
我们利用工具进行测试,运行完如上图,运行完以后我们可以到工具目录进行查看。
.DS_Store
文件泄漏利用脚本,它解析.DS_Store
文件并递归地下载文件到本地。5、SVN导致文件泄露
Subversion
,简称SVN
,是一个开放源代码的版本控制系统,相对于的RCS、CVS
,采用了分支管理系统,它的设计目标就是取代CVS
。互联网上越来越多的控制服务从CVS
转移到Subversion。SVN漏洞在实际渗透测试过程中,利用到也比较多,由于一些开发管理员疏忽造成,原理类似DS_Store漏洞。我们这里不再进行搭建环境,给大家推荐工具,利用方法如下:
利用
下载地址:https://pan.baidu.com/s/1jGA98jG
深入探索:
https://github.com/admintony/svnExploit/
我们采用大佬的exp(python3环境)
6、WEB-INF/web.xml泄露
WEB-INF
是Java
的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。6.1、环境搭建
另外一种方法就是直接下载webgoat然后执行文件中webgoat.bat文件即可。
下载地址:http://sourceforge.net/projects/owasp/files/WebGoat/WebGoat5.2/
6.2、访问页面
http://localhost/,
进入此页面,证明我们tomcat已经启动,我们查看一下web.xml目录在哪里,你可以练习此靶场,靶场在后续会进行讲解。这里我们只讲解此web.xml信息泄露漏洞。如果让用户设置权限不严格,造成一些目录列出,结果是非常严重,我们通过访问web.xml文件,可以查看一些敏感信息,如下图6.3、扫描
利用工具扫描,我们得知此目录下面有一些敏感文件,我们尝试去访问
6.4、验证结果
首先是一些tomcat登录信息,我们尝试去访问一些其它文件,通过不断尝试目录,有发现了一个sql文件和xml文件。
7、hg源码泄漏
Mercurial 是一种轻量级分布式版本控制系统,使用 hg init的时候会生成.hg。
漏洞利用工具:dvcs-ripper
github项目地址:https://github.com/kost/dvcs-ripper
用法示例:
rip-hg.pl -v -u http://www.example.com/.hg/
8、CVS泄露
CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。主要是针对 CVS/Root以及CVS/Entries目录,直接就可以看到泄露的信息。
http://url/CVS/Root 返回根信息
http://url/CVS/Entries 返回所有文件的结构
漏洞利用工具:dvcs-ripper
github项目地址:https://github.com/kost/dvcs-ripper.git
运行示例:
rip-cvs.pl -v -u http://www.example.com/CVS/
9、Bazaar/bzr泄露
bzr也是个版本控制工具, 虽然不是很热门, 但它也是多平台支持, 并且有不错的图形界面。
运行示例:
rip-bzr.pl -v -u http://www.example.com/.bzr/
10、SWP 文件泄露
swp即swap文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp。
漏洞利用:直接访问.swp文件,下载回来后删掉末尾的.swp,获得源码文件。
11、Zoomeye搜索引擎使用
ZoomEye
支持公网设备指纹检索和 Web 指纹检索11、1、搜索规则
Shift //: 显示快捷帮助
Esc: 隐藏快捷帮助
Shift h: 回到首页
Shift s: 高级搜索
s: 聚焦搜索框
11.2、搜索技巧
ZoomEye
使用 Xmap
和 Wmap
:两个能获取 Web 服务 和公网设备指纹的强大的爬虫引擎定期全网扫描,抓取和索引公网设备指纹。11.3、实战搜索
我们今天主要讲下如何使用他的语法规则去高级搜索,搜索有用信息。
主机设备搜索组件名称
例1:搜索使用iis6.0主机:app:"Microsoft-IIS" ver"6.0"
,可以看到0.6秒搜索到41,781,210左右的使用iis6.0的主机。
端口
port:3389
port:3389
IP 地址
ip:121.42.173.26
Web应用搜索
site:taobao.com
12、bing搜索引擎使用
filetype:pdf
inanchor:、inbody:、intitle: 这些关键字将返回元数据中包含指定搜索条件(如定位标记、正文或标题等)的网页。为每个搜索条件指定一个关键字,您也可以根据需要使用多个关键字。 若要查找定位标记中包含msn、且正文中包含seo和sem的网页,请键入
url:sec-redclub.com
13、Fofa搜索
14、站长工具
14.1、站长工具Whois
14.2、站长工具tool
可以看到有些加密/解密功能,例如MD5、url、js、base64加解密等等
15、whois查询网站及服务器信息
Kali
已经安装了Whois
。你只需要输入要查询的域名即可:16、Dig使用
下载地址 https://www.isc.org/downloads/
Dig常用选项
-c 选项,可以设置协议类型(class),包括IN(默认)、CH和HS。
-f 选项,dig支持从一个文件里读取内容进行批量查询,这个非常体贴和方便。文件的内容要求一行为一个查询请求。来个实际例子吧:
-4 和-6 两个选项,用于设置仅适用哪一种作为查询包传输协议,分别对应着IPv4和IPv6。
-t 选项,用来设置查询类型,默认情况下是A,也可以设置MX等类型,来一个例子:
跟踪dig全过程
dig非常著名的一个查询选项就是+trace
,当使用这个查询选项后,dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来
17、Nslookup用法
nslookup
是站长较为常用的工具之一,它甚至比同类工具dig的使用人数更多,原因是它的运行环境是windows,并且不需要我们再另外安装什么东西。dig是在linux
环境里运行的命令,不过也可以在windows环境里使用,只是需要安装dig windows版本的程序。Nslookup
命令以两种方式运行:非交互式和交互式。nslookup
以非交互式方式运行,就是指运行后自行结束。而交互式,是指开始运行后,会要求使用者进一步输入数据和命令。类型
A 地址记录
AAAA 地址记录
AFSDB Andrew文件系统数据库服务器记录
ATMA ATM地址记录
CNAME 别名记录
HINFO 硬件配置记录,包括CPU、操作系统信息
ISDN 域名对应的ISDN号码
MB 存放指定邮箱的服务器
MG 邮件组记录
MINFO 邮件组和邮箱的信息记录
MR 改名的邮箱记录
MX 邮件服务器记录
NS 名字服务器记录
PTR 反向记录
RP 负责人记录
RT 路由穿透记录
SRV TCP服务器信息记录
TXT 域名对应的文本信息
X25 域名对应的X.25地址记录
例如
1.设置类型为ns
18、fierce工具
fierce
工具,可以进行域名列表查询:fierce -dns domainName
19、theHarvester的使用
theHarvester
是一个社会工程学工具,它通过搜索引擎、PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息。-d 服务器域名 -l 限制显示数目 -b 调用搜索引擎(baidu,google,bing,bingapi,pgp,linkedin,googleplus,jigsaw,all) -f 结果保存为HTML和XML文件 -h 使用傻蛋数据库查询发现主机信息
实例1
theHarvester -d sec-redclub.com -l 100 -b baidu
20、DNS枚举工具DNSenum
DNSenum
是一款非常强大的域名信息收集工具。它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行axfr请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。--threads [number]:设置用户同时运行多个进程数。
-r:允许用户启用递归查询。
-d:允许用户设置WHOIS请求之间时间延迟数(单位为秒)。
-o:允许用户指定输出位置。
-w:允许用户启用WHOIS请求。
21、subDomainsbrute二级域名收集
Python subDomainsbrute.py sec-redclub.com
22、layer子域名检测工具
23、Nmap
Nmap
是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。功能
主机发现
端口扫描
版本侦测
OS侦测
部署方式
Kail集成环境
单独安装(使用yum、apt-get工具直接安装)
PentestBox环境
Windows版等等
24、DirBuster
DirBuster是一款路径及网页暴力破解的工具,可以破解出一直没有访问过或者管理员后台的界面路径。Java运行环境+DirBuster程序包
双击运行
DirBuster.jar
在URL中输入目标URL或者主机IP地址
25、github信息收集
26、网盘信息收集
https://www.lingfengyun.com/
http://magnet.chongbuluo.com/
27、Google Hacking
参考链接:
https://cloud.tencent.com/developer/article/1482443
https://www.cnblogs.com/suendanny/p/9505102.html
https://www.landui.com/help/show-8660.html
https://blog.csdn.net/weixin_40224560/article/details/93189255
关注公众号:HACK之道