信息收集(2):Banner识别、敏感目录
Banner识别
识别一个网站的Banner信息(服务器对外显示的一些基础信息)对整个渗透测试过程具有十分重要的作用。我们往往可以通过网站网站的Banner信息,可以得到很多方向与思路,如尝试相关历史漏洞,或根据当前系统的特性,进行尝试。
-
操作系统
- ping判断,Windows TTL一般为128,Linux则为64。TTL大于100一般为Windows,几十的一般为Linux
- nmap -O
- Windows大小写不敏感,Linux大小写区分
-
网站服务 \ 容器类型
- F12查看响应头Server字段
- 浏览器插件 Wappalyzer
-
脚本类型
通过插件也可以查到脚本类型
-
数据库类型
-
CMS识别 CMS:网站内容管理
常见的CMS:dedecms(织梦)、Discuz、phpcms等
-
在线识别工具
-
Onlinetools
-
Wappalyzer除了作为一个浏览器插件,还具有一个Python库python-Wappalyzer
。
敏感目录
- Github泄露
部分开发人员将网站上传至开源网站的时候,忘记删除敏感信息。此类信息可以在Github上搜索公司的特定信息,查看是否有程序员将这些信息上传到github上
- .git泄露
Git是一个主流的分布式版本控制系统,开发人员在开发过程中,经常会遗忘.git
文件夹,导致获取到开发人员提交过的所有源码,导致可以重建还原工程源文件,进而可能导致服务器被攻击沦陷。
(1)常规git泄漏
不需要额外操作,通过现成工具或者自行编写的代码即可获得泄漏的源码
工具:https://github.com/denny0223/scrabble
使用方法:scrabble <url>
还可以使用更为强大的GitHacker对其进行还原:https://github.com/WangYihang/GitHacker
GitHacker推荐我们使用Docker的方式运行
1 | 打印出帮助信息 |
常见的用法:
1 | 简单使用 |
- 使用
docker run
命令启动一个 Docker 容器,并在容器中运行GitHacker
工具。 - 使用
-v
选项将主机的./results
目录挂载到容器中的/tmp/githacker/results
目录,以便将工具输出的结果保存到主机中。 - 使用
wangyihang/githacker
参数指定要使用的 Docker 镜像,该镜像包含了GitHacker
工具的运行环境。 - 使用
--output-folder /tmp/githacker/results
选项指定了工具输出结果的本地保存路径为/tmp/githacker/results
目录。 - 使用
--url http://127.0.0.1/.git/
选项指定了要扫描的目标网站的 URL,该 URL 暴露了.git
文件夹。
(2)git回滚
在有些时候,我们需要的敏感文件可能在修改中被删除或者覆盖了,这时候我们可以通过git的回滚功能git reset
恢复到以前的版本。
我们利用上面scrabble
工具获取到源码后,在通过git reset --hard HEAD^
跳回到上一版本,或者使用类似的命令跳到其他版本(具体操作可以看我之前写的GIt操作),然后就可以获取到我们想要的敏感文件。
除此之外,还有git log -stat
查看每次提交修改文件,git diff HEAD commit -id
比较当前版本与想查看的版本之间的变化。
(3)git分支
Git允许多条分支同时开发,而不影响开发主线,往往的,我们需要的敏感文件也可能藏身与不同分支中,因此我们需要切换到不同的分支找到我们需要的文件。
当我们还原git项目后,我们使用检查git reflog
,查看本地仓库中最近使用的引用的历史记录。通过类似的手段,发现其他分支。
GitHacker还提供了暴力猜解分支和标签名称的功能:
1 | docker run -v $(pwd)/results:/tmp/githacker/results wangyihang/githacker --brute --output-folder /tmp/githacker/results --url http://127.0.0.1/.git/ |
- 网站备份文件
7kbstorm/7kbscan-WebPathBrute: 7kbscan-WebPathBrute Web路径暴力探测工具 (github.com)
- 目录扫描工具
dirsearch是一个强大的开源的目录扫描工具:
https://github.com/maurosoria/dirsearch
敏感备份文件
- gedit备份文件
gedit在编辑保存后,会在当前目录生成一个后缀为~
的文件,文件内容就是刚刚编辑的内容。
- vim备份文件
vim在用户编辑文件时,但意外退出时,会在当前目录下生成一个备份文件:.文件名.swp
,该文件用于备份缓冲区中的内容,即意外退出时的文件内容。
在当前目录下创建一个同名文件,使用vim -r 文件名
即可还原备份文件。
注:vim在第一次意外退出时生成的备份文件为swp
,第二次为swo
,第三次为swn
,以此类推。