渗透测试之信息收集
信息收集总结
whois信息收集
国外的who.is:
https://who.is/
站长之家:
http://whois.chinaz.com/
爱站:
https://whois.aizhan.com/
微步:
https://x.threatbook.cn/
这些网站都可以收集whois信息,而且还很全面,我们关注:注册商、注册人、邮件、DNS解析服务器、注册人联系电话。
企业备案信息查询
天眼查:
https://www.tianyancha.com/
ICP备案查询网:
http://www.beianbeian.com/
国家企业信用信息公示系统:
http://www.gsxt.gov.cn/index.html
注意:
-
国外的服务器一般来说是查不到的,因为他们不需要备案。国内的基本上都可以查到。
-
如果在站长之家上隐藏了信息,可在who.is上再次查看。
子域名查询
1. Google语法
2. 有许多第三方服务聚合了大量的DNS数据集,并通过它们来检索给定域名的子域名。
(1) VirusTotal:https://www.virustotal.com/#/home/search
(2) DNSdumpster:
https://dnsdumpster.com/
3. 基于SSL证书查询
查找一个域名证书的最简单方法是使用搜索引擎来收集计算机的CT日志,并让任何搜索引擎搜索它们。前两种比较常用。
(1)https://crt.sh/
(2)https://censys.io/
(3) https://developers.facebook.com/tools/ct/
(4) https://google.com/transparencyreport/https/ct/
4. 在线子域名搜集(不推荐)
(1)https://phpinfo.me/domain/
(2)http://i.links.cn/subdomain/
5. 爆破枚举
(1) layer 子域名挖掘机
(2) subDomainsBrute
(3) K8
(4) orangescan
(5) DNSRecon
重点推荐:layer 和 subDomainsBrute 工具
IP段的收集
一般IP的话,我们在收集子域名的时候,就大概知道目标网站的IP段了。 也可以通过whois命令获取。 注意:需要绕过CDN获取真实IP
(1)通过让服务器给你发邮件(看邮箱头 ip) 找真实ip(最可靠)。
(2)通过 zmpap 全网爆破查询真实ip(可靠)。
(3)通过查询域名历史ip,http://toolbar.netcraft.com(借鉴)。
(4)通过国外冷门的DNS的查询:nslookup xxx.com国外冷门DNS地址(借鉴)。
开放端口探测
Nmap端口扫描:
nmap -T4 -sT -p -sV ip
网站架构探测
网站操作系统探测
常见操作系统漏洞
常见操作系统:
Windows、 Linux、Unix和Netware 等
但是我们常见的操作系统是Windows和Linux
- Windows操作系统
环境部署:
Windows+IIS+ASP,可以支持的语言有ASP、html、.net2.0/3.5/4.0、CGI、伪静态。
(1)Windows 2003
2015年后微软不再提供支持服务。
windows server 2003主要用IIS6 部署环境,他分为web版、标准版、和企业版。
(2)Windows 2008
它相比Windows server 2003在Web工具、虚拟化技术、安全性等方面强于Windows Server 2003。
- Linux操作系统
环境部署:
Linux+Apache+PHP,可以支持语言有PHP5、html、CGI、伪静态;如果你对Linux系统不是很熟悉,可以使用wdcp对网站、服务器和在线文件进行管理。
(1)CentOS 5.6
(2)CentOS 6.4
Linux服务器操作系统有很多,CentOS是其中之一,它是基于Red Hat Enterprise Linux的源代码编译而成,它更适用于一些对服务器稳定性要求比较高的企业。
主流数据库
常用数据库:
- SQL Server
SQL Server是由微软公司开发的关系型数据库管理系统。SQL Server 提供了众多功能,如对XML和Internet标准的丰富支持,通过Web对数据轻松安全的访问,具有灵活的、安全的、和基于Web的应用程序管理等,及容易操作的操作界面。
- Mysql
MySQL是目前最受欢迎开源的SQL数据库管理系统,对于个人或中小型企业来说,MySQL的功能已经够用了, 而且MySQL又是免费开源软件,
- Access
美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。
- Oracle
Oracle在数据库领域一直处于领先地位,由于有先进技术的不断更新,目前Oracle产品覆盖甚广,成为了世界上使用最广泛的关系数据系统之一。
- Sybase
Sybase美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。
- DB2
DB2是美国IBM公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性。
- informix
Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。
- PostgreSQL
PostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统.
Web容器
- Apache
- Nginx
- IIS
- Tomcat
- weblogic
- jboss
参考资料
常见漏洞利用方法 1
常见漏洞利用方法 2
Web服务端语言
- PHP
- JAVA
- Python
- .NET
- JSP
- ASP
- ASPX
- Node.js
参考资料
CMS
Web后端(开发)框架
- ThinkPHP(php框架)
常见利用方式
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
- Struts2(java框架)
struts2 漏洞总结
Struts2是一个以MVC为基础的框架。
Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构。
-
Django(python框架)
-
Rails(Ruby框架)
Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。
Web前端框架
- jQuery
- Bootstrap
- HTML5
- Vue.js
- Angular
- React
- Highcharts
Web前端语言
- Javascript
是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
- less
Less是一门css预处理语言,他扩展了css语言,增加了变量、Mixin、函数等特性,使css更容易维护和扩展。他不是一个直接使用的语言,而是一个生成css的语言。Less可以运行在Node或浏览器端。
参考资料
等等
敏感文件、敏感目录探测
-
Git
-
hg/Mercurial
-
svn/Subversion
-
bzr/Bazaar
-
Cvs
-
WEB-INF 泄露
-
备份文件泄露、配置文件泄露
常用的工具:
(1)御剑:万能工具、需要收集更新字典
(2)网站爬虫:AWVS、Burp suite等工具
(3)搜索引擎:Google、Github等
(4)wwwscan:
(5)BBscan:python脚本
https://github.com/lijiejie/BBScan
(6)GSIL:python脚本
https://github.com/FeeiCN/GSIL
目标域名邮箱收集
一定要养成收集站点邮箱账号收集的习惯(因为好多官方后台都是用内部邮箱账号登录的,指不定哪天你就得到一个进后台的机会)。
- 通过说明文档以及网站页面收集,或者网站发表者以及留言板信息处收集账号
- 通过 teemo,metago,burp suit,awvs,netspker 或者 google 语法收集
- 搜索相关 QQ 群收集相关企业员工的社交账号
用途:可用来进行爆破或者弱口令登录以及撞裤攻击。
WAF探测
探测方法:
工具:
(1)sqlmap
sqlmap -u ip --identify-waf
(2)Nmap
nmap -p80,443 --script=http-waf-detect ip
nmap -p80,443 --script=http-waf-fingerprint ip
(3)wafw00f
wafw00f -a 域名
旁站、C段
旁站: 和目标网站在同一台服务器的其他网站。
C段:和目标服务器ip处在同一个C段的其它服务器。
查询方法:
(1)利用Bing.com
http://cn.bing.com/search?q=ip:111.111.111.111
(2)站长之家:
http://s.tool.chinaz.com/same
(3)Google语法
site:125.125.125.*
(4)利用Nmap
namp -p 80,8080 -open ip/24
(5)K8、御剑、北极熊扫描器等
(6)在线网站探测
https://www.webscan.cc/