目录
信息收集
一. 域名信息搜集
1.域名介绍
域名,由于IP不方便记忆,且不能显示地址组织的名称和性质等缺点,人们设计出了域名,用于对计算机的定位标识(有时也指地理位置)。IP地址和域名是一一对应的。
例子: baidu.com为百度的域名 ,www.baidu.com和mail.baidu.com是该域名的子域名。
2.whois 介绍
whois是用来查询一个域名是否已经被注册,及其详细信息。
3.whois作用
对于渗透测试人员来说,通过whois查询可以获取域名注册人、公司、电话、邮箱进行反查。或者根据获取的信息在搜索引擎进行更多信息搜索。因为有些企业的域名注册者就是网站管理员。
4.whois查询方式
- 方式三:kali自带whios查询工具
二.子域名信息搜集
1.子域名介绍
-
子域名,是顶级域名(一级域名或父域名)的下一级,域名整体包括两个“.”或包括一个“.”和一个“/”。
-
顶级域名:
顶级域名(一级域名或父域名)是".com"、".net"、".org"、".cn"等等。 -
多级域名:
凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名
2.子域名搜集的作用
子域名是某个主域的二级域名或者多级域名。目前很多主域防御措施周全,而二级域名防护措施可能相对薄弱些,所以可以通过拿下子域名,然后再进一步拿下主域。
2.子域名搜集方法
- 方法一:搜索引擎挖掘
eg:在Google中输入 site:baidu.com
- 方法二:子域名挖掘工具
eg:layer子域名挖掘机,subDomainBrute ,wydomain等其他工具
- 第三方网站查询: lhttps://phpinfo.me/old/domain/.
三.web站点信息搜集
1.CMS指纹识别
CMS意为"内容管理系统",一种位于WEB 前端和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员使用内容管理系统来提交、修改、审批、发布内容。
常见的CMS:phpcms、dedecms、discuz等等
CMS识别方法:
- 方法一:在线工具 http://whatweb.bugscaner.com/look/.;在线工具www.yunsee.cn.
- 方法二:本地工具:kali自带的whatweb 、大禹CMS 识别工具等(https://github.com/Ms0x0/Dayu)
2.网站敏感目录和文件
对于渗透人员来说,目标WEB站点的目录结构和敏感文件的探测是很关键的,可能会发现后台目录、上传目录、phpinfo、安装页面、数据库文件、robots.txt文件、网站源代码文件等等。
-
目录扫描方法:
-
方法一:dirsearch、御剑 、 dirbuster等等
四.端口信息搜集
1.端口介绍
"端口"可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部端口,不可见。例如80、21、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。通俗讲,如果把IP比作一栋房屋,端口就是这间房子的门和窗。
一个IP地址拥有的端口号在理论值范围是从0到65535。而每一个端口代表一个服务。在windows中,使用netstat -anbo 查看开放端口。
2.端口信息搜集方法
- 方法一:使用nmap 搜集,nmap -A -v -4T 目标。
- 方法二:使用在线网站探测:http://tool.chinaz.com/port/.
- 方法三:masscan,扫描的比较快,但是准确率较低。
3.常见端口攻击
-
ftp: 端口:20(数据端口);21(控制端口);
攻击方式:爆破:ftp的爆破工具,owasp的Bruter或者msf中ftp爆破模块; -
ssh:端口 :22
攻击方式 爆破:弱口令 漏洞:28退格漏洞、OpenSSL漏洞 -
telnet: 端口:23
攻击方式 爆破:弱口令 嗅探:此种情况一般发生在局域网; -
windows远程连接: 端口:3389
攻击方式:爆破:3389端口爆破工具较多 -
Shift粘滞键后门:5次shift后门
漏洞攻击:利用ms12-020攻击3389端口,导致服务器关机; -
IIS服务:端口 80/81/443
攻击方式:PUT写文件:利用IIS漏洞,put方法直接将文件放置到服务器上
解析漏洞 -
Apache/Tomcat/Nginx/Axis2 默认端口:80/8080
攻击方式:爆破:弱口令(爆破manager后台)
HTTP慢速攻击:可以把服务器打死,对一些大型的网站有影响;
解析漏洞 -
MYSQL数据库:默认端口 3306
攻击方式:爆破:弱口令
身份认证漏洞:CVE-2012-2122
拒绝服务攻击:利用sql语句是服务器进行死循环打死服务器
Phpmyadmin万能密码绕过:用户名:‘localhost’@’@”密码任意 -
MSSQL数据库 默认端口:1433,1434
攻击方式:爆破:弱口令/使用系统用户 -
redis数据库 默认端口:6379
攻击方式:爆破:弱口令
未授权访问+配合ssh key提权
五.敏感信息搜集
1.敏感信息搜集的必要性
目前很多企业的安全性做的非常好,有时候通过技术面无法完成渗透测试,此时可以通过在互联网上搜索目标站点的敏感信息。数据库文件,服务器配置信息,泄露源代码等等信息,来完成渗透测试。
2.搜索的基本方式
方法一: Google hacking语法
-
intitle:搜索网页标题中包含特定信息的网页。
eg:intitle: 后台,网页标题中带有‘后台’的网页都会被搜索出来。 -
inurl:搜索包含有特定内容的URL。
eg:inurl:admin,可以用来查找网站后台。 -
intext: 搜索网页正文内容中的指定内容
eg:intext:登陆。可以搜索含有‘登陆’的页面 -
Filetype: 搜索指定类型的文件。
eg:操作系统 filetype:txt,找到关于操作系统的txt文档。 -
Site:找到与指定网站有联系的URL。
eg:Site:kugou.com。和kugou有关的URL都会被显示。
进阶篇:
- 查找后台地址:site:域名
inurl:login|admin|manage|member - 查找文本内容:site:域名 intext:管理|后台|登陆|用户名
- 查找可注入点:site:域名 inurl:aspx|jsp|php|asp
- 查找上传漏洞:site:域名 inurl:file|load|editor|Files
- 查看脚本类型:site:域名 filetype:asp/aspx/php/jsp
- 网络设备关键词:intext:WEB Management Interface for H3C SecPath Series
- 存在的数据库:site:域名 filetype:mdb|asp|#
google hacking数据库:https://www.exploit-db.com/google-hacking-database.
方法二: github信息泄露
- Github之邮件配置信息泄露:
site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
- Github之数据库信息泄露
site:Github.com sa password
site:Github.com root password
- Github之svn信息泄露
site:Github.com svn
site:Github.com svn username
site:Github.com svn password
- Github之数据库备份文件
site:Github.com inurl:sql
- Github之综合信息泄露
site:Github.com password
site:Github.com ftp ftppassword
site:Github.com 密码
site:Github.com 内部
六.真实IP地址搜集
1.CDN介绍
在渗透测试过程中,很多网站有CDN。CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。CDN采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。只有用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。
故在渗透测试过程中,要想知道网站服务器的真实IP,得绕过CDN查找出网站的真实ip地址。
2.判断CDN是否存在
方法:通过Ping判断是否存在CDN。利用在线ping网站,不同地方的 ping 服务,查看对应 IP 地址是否唯一,不唯一有可能是使用了CDN.
3.绕过CDN查询真实IP地址
- 方法一:收集内部邮箱服务器IP地址
通过注册,邮件头中的邮件服务器域名IP,ping该域名,就可以获得目标的真实IP。 - 方法二:国外代理网站访问
https://www.netcraft.com .该域名的IP历史记录。 - 方法三:分站IP地址