一、信息搜集的手段
(一)FOFA搜索
FOFA
搜索: https://fofa.info
FOFA
是一款网络空间测绘的搜索引擎,旨在帮助用户以搜索的方式查找公网上的互联网资产,用户可以输入关键词来匹配包含该关键词的数据。
(二)Whois域名搜集
Whois
网址:https://whois.aizhan.com
Whois
是用来查询域名的IP以及所有者等信息的传输协议。简单来说,whois
就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois
来实现对域名信息的查询。要注意的是,为了保护个人隐私,有些注册商对国际域名的whois
信息是屏蔽的。
二、网站指纹信息
(一)潮汐在线指纹识别
潮汐在线指纹识别网址:http://finger.tidesec.com
在实际渗透过程中,通过对目标网站的指纹信息可以判断目标网站使用的内容管理系统(CMS)名称等以便后续的信息搜集。
(二)EHole(棱洞)指纹识别
EHole(棱洞)指纹识别网址:https://github.com/EdgeSecurityTeam/EHoleEHole
(棱洞)指纹识别在批量识别指纹以及梳理重点资产时十分方便,EHole旨在帮助红队人员在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。
三、网站目录探测工具
(一)Dirsearch
Dirsearch下载地址:https://github.com/maurosoria/dirsearchDirsearch
是一个python开发的目录扫描工具,目的是扫描网站的敏感文件和目录从而找到突破口。运行环境:Python3.7或更高版本
我这里安装在本地conda的虚拟环境ctf3.10中:
(二)御剑后台扫描工具
御剑后台扫描工具使用图形化页面,使用起来简单上手并且附带很强大的字典,字典我们也是可以自己修改的,继续增加规则。
四、源码泄露
(一).git导致的源码泄露
Git
是一个开源的分布式版本控制系统,在执行qit init
初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git
这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。漏洞利用工具:GitHack
github项目地址:https://github.com/lijiejie/GitHack
使用方法:
python GitHack.py 网址
(二).svn导致的源码泄露
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用’导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn
隐藏文件夹被暴露于外网环境,可以利用.svn/entries
文件,
获取到服务器源码。
漏洞利用工具:svnExploit
github项目地址:https://github.com/admintony/svnExploit
这里记录一下我的本地安装地址:
【案例】polarctf|自由的文件上传系统
先申请实例。得到网址:
用文件扫描该网址的目录:
dirsearch -u http://b1451366-0eda-49b3-9a37-09193ca22d20.www.polarctf.com:8090/
发现了很多git文件:
然后用GitHack进行源码泄露:
python GitHack.py http://b1451366-0eda-49b3-9a37-09193ca22d20.www.polarctf.com:8090/.git/
就会恢复相应的源码
(三)备份文件泄露
在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某页面进行备份。当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露给服务器的安全埋下隐患。
例例如:
index.phps
index.php.swp
index.php.swo
index.php.php~
index.php.bak
index.php.txt
www.zip
其他:
robots.txt
五、Nmap工具
(一)Nmap工具简介
Nmap是一款开源免费的针对大型网络的端口扫描工具,nmap可以检测目标主机是否在线、主机端口开放情况、检测主机运行的服务类型及版本信息、检测操作系统与设备类型等信息。本文主要介绍基本使用方法。
Nmap主要功能:
(1)检测主机是否在线。例如,列出响应TCP和/或ICMP请求或打开特定端口的主机。
(2)扫描指定主机/主机列表端口开放状态,枚举目标主机上的开放端口,常用。
(3)检测主机运行服务类型及版本,检测远程设备上的网络服务以确定应用程序名称和版本号
(4)检测操作系统版本和设备类型,确定网络设备的操作系统和硬件特性。
(5)可与脚本进行脚本交互,使用Nmap脚本引擎(NSE)和Lua编程语言;
nmap官方下载路径:https://nmap.org/download.html
这里我主要是下载在Windows系统中,是一个图形化界面:
在command栏输入命令:
扫描主机:nmap url
例如扫描192.168.11.1
,发现没有开放端口(相当于发送一个ping数据包,扫描1到10000端口:
扫描网段就加一个掩码:nmap 192.168.11.0/24
扫描某一个主机的某一个端口是否开放(这里查看445端口):nmap -p445 192.168.11.0
,这里发现该端口处于关闭状态:
扫描主机使用的操作系统:nmap -O 192.168.11.0
探索某网段下存活的主机:nmap -sn 192.168.11.0/24
nmap -v 冗余模式扫描,可以得到扫描详细信息
冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。使用这个选项,你可以得到事半功倍的效果。使用-d选项可以得到更加详细的信息。