什么是信息搜集?
信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。
信息搜集的重要性
信息搜集是渗透测试的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。
信息搜集的分类
1、主动式信息搜集(可获取到的信息较多,但易被目标发现)
2、通过直接发起与被测目标网络之间的互动来获取相关信息,如通过Nmap扫描目标系统。
3、被动式信息搜集(搜集到的信息较少,但不易被发现)
4、通过第三方服务来获取目标网络相关信息。如通过搜索引擎方式来搜集信息。
判断网站使用的脚本语言也是信息收集的一部分,通过判断使用的何种脚本语言,来扩大攻击面。我们可以通过脚本渗透来得到我们想要得到的一些信息。
1、响应包
有的时候网站的响应包会携带什么语言以及版本信息,如下这种情况。
2、Wappalyzer
这是一款火狐的插件,可以用来判断网站的一些基本信息,比如网站使用的框架、脚本语言和中间件。如下为PHP
3、根据cookie值
截取网站的数据包如下,根据传递的cookie值,比如 PHP 使用的会话ID是 PHPSESSID,JSP 使用的会话 ID 是 JSESSION。所以下面网站使用的脚本语言为Java。
4、使用Google hack语法
site:xxx.com inurl:php
site:xxx.com php
前面搜索域名,后面搜索脚本语言的后缀,例如php可以换成:aspx、asp、jsp
5.根据服务器平台来判断脚本
IIS6.0一般都是asp,小部分是aspx,也有很少一些php
IIS7.0一般都是aspx,小部分是asp
Nginx一般都是php
Apache一般都是php
6、报错一下,让网站报错,很多信息可能隐藏在报错在中。
有了中间件的信息,我们就可以查找已公布的漏洞信息。
1、响应包
有的时候网站的响应包会携带中间件的版本信息,如下这种情况。
2、Wappalyzer
这是一款火狐的插件,可以用来判断网站的一些基本信息,比如网站使用的框架、脚本语言和中间件。
3、域名后随便输入,看404报错,报错没有处理的话中间件的名字会出来
1、根据web页面语言常见搭配去判断
ASP和.NET:Microsoft SQL Server、ACCESS
PHP:MySQL、Access、MsSql、PostgreSQL
Java:MySql、Oracle、db2、SqlServer、mongodb、PostgreSql
2、根据数据库报错判断
maysql:
error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
这个已经很明显了,有mysql这个关键字
mssql:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Line1:
因为mssql是微软公司的,里面出现微软的英文名字Microsoft还有ODBC也是mssql特有的。
知道了对方的操作系统,对接下来你的渗透测试提供了思路例如:如果对方是linux操作系统那么你就可以知道对方linux操作系统的版本公开的漏洞有哪些。
如果你知道对方的操作系统你可以推测出对方建设网站可能用的是哪个编程语言编写的,你可以知道对方可能用的哪些数据库等的改变。
1、通过大小写判断网站服务器系统. ,通过修改url地址栏中的字母修改大小写,然后回车执行网站,查看是否能正常显示网页
window系统类服务器是不区分大小写的
linux系统则区分大小写
2、报错验证,通过访问一个不存在的页面,查看网页显示的内容
(1)一般情况下iis是使用的iis6.0的都是window2003系统
(2)如果是iis7.0一般都是window系列的操作系统win7或者win8
(3)如果是Apache/2的话就是linux的操作系统。
如果有些管理员设置了自定义的404错误代码,那么就只有通过前面的办法进行判断了。
4、TTL值判断操作系统
通过简单的ping命令,查看返回的TTL值来判断操作系统,不同的操作系统,它的TTL值是不相同的。默认情况下:
Linux系统的TTL值为64或255,
Windows NT/2000/XP系统的TTL值为128,
Windows 98系统的TTL值为32,
UNIX主机的TTL值为255。
这个也不是很准确,例如上图,已知是Windows系统。有可能一个值都对不上,但是可以依据自己ping出来的TTL值和上面对应看看比较相近的进行判断。
5、nmap探测操作系统
命令:nmap -O IP地址 例子:nmap -O 192.168.20.10.9
输入后的结果会有各种系统的比例,就是目标机可能是该操作系统的可能性,基本上比率最大的就是目标机的操作系统。
原文始发于微信公众号(希石安全团队):【渗透测试入门系列】信息收集(上)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论