其他信息收集

总结其他信息收集知识点

其他信息

我们收集的信息越全,渗透测试展开的就越顺利。

注册域名会留下一些管理员的信息,例如注册公司、注册邮箱、管理员邮箱、管理员联系手机等攻击者可以根据这些信息去推测管理员身份信息,例如通过社工库查询到管理员的常用密码,在进行进一步攻击,或者向管理员邮箱发送钓鱼邮件等。

Whois

我们可以通过查询whois得到域名、注册人姓名、注册人邮箱、域名注册时间、域名注册机构等信息,我们也可以通过邮箱反查该邮箱的其他域名,还可以由此获得ip段信息。

在线查询

命令行查询

我们也可以再kali下用whois xxx来查询相应的信息

Python

python中有一个叫做python-whois的库,我们可以用它写成一个小脚本来查询whois信息:

首先安装

pip install python-whois

然后写一个小样例

import whois
print(whois.whois('https://baidu.com'))

得到如下信息:

λ python demo.py                                                                                
{                                                                                               
  "domain_name": [                                                                              
    "BAIDU.COM",                                                                                
    "baidu.com"                                                                                 
  ],                                                                                            
  "registrar": "MarkMonitor, Inc.",                                                             
  "whois_server": "whois.markmonitor.com",                                                      
  "referral_url": null,                                                                         
  "updated_date": [                                                                             
    "2019-05-09 04:30:46",                                                                      
    "2019-05-08 20:59:33-07:00"                                                                 
  ],                                                                                            
  "creation_date": [                                                                            
    "1999-10-11 11:05:17",                                                                      
    "1999-10-11 04:05:17-07:00"                                                                 
  ],                                                                                            
  "expiration_date": [                                                                          
    "2026-10-11 11:05:17",                                                                      
    "2026-10-11 00:00:00-07:00"                                                                 
  ],                                                                                            
  "name_servers": [                                                                             
    "NS1.BAIDU.COM",                                                                            
    "NS2.BAIDU.COM",                                                                            
    "NS3.BAIDU.COM",                                                                            
    "NS4.BAIDU.COM",                                                                            
    "NS7.BAIDU.COM",                                                                            
    "ns2.baidu.com",                                                                            
    "ns1.baidu.com",                                                                            
    "ns7.baidu.com",                                                                            
    "ns4.baidu.com",                                                                            
    "ns3.baidu.com"                                                                             
  ],                                                                                            
  "status": [                                                                                   
    "clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited",                      
    "clientTransferProhibited https://icann.org/epp#clientTransferProhibited",                  
    "clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited",                      
    "serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited",                      
    "serverTransferProhibited https://icann.org/epp#serverTransferProhibited",                  
    "serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited",                      
    "clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)",                
    "clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)",            
    "clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)",                
    "serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)",                
    "serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)",            
    "serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)"                 
  ],                                                                                            
  "emails": [                                                                                   
    "abusecomplaints@markmonitor.com",                                                          
    "whoisrequest@markmonitor.com"                                                              
  ],                                                                                            
  "dnssec": "unsigned",                                                                         
  "name": null,                                                                                 
  "org": "Beijing Baidu Netcom Science Technology Co., Ltd.",                                   
  "address": null,                                                                              
  "city": null,                                                                                 
  "state": "Beijing",                                                                           
  "zipcode": null,                                                                              
  "country": "CN"                                                                               
}                                                  

备案信息查询

国内的网站按照规定,要进行备案,所以我们可以通过查询备案系统查询网站信息。

地址:

我们可以得到如下信息:

ICP备案主体信息

备案/许可证号:

京ICP证030173号

审核通过时间:

2018-12-20

主办单位名称:

北京百度网讯科技有限公司

主办单位性质:

企业

ICP备案网站信息

网站名称:

百度

网站首页网址:

网站负责人姓名:

网站域名:

网站备案/许可证号:

网站前置审批项:

IP段查询

一般我们通过收集子域名,即可获得IP段,我们也可以通过中国互联网信息中心进行查询。

指纹识别

这里说的指纹是指网站CMS指纹,计算机操作系统识别,WEB容器识别,在渗透测试过程中,如果我们识别出了相应的容器或者CMS,我们就可以利用其相关的漏洞进行测试查询,一般应用程序中会包含其独特的指纹特征,例如wordpressrobots.txt中会包含wp-admin,而在index.php中也会包含generator=wordpress=xxx这些特征,因此我们可以根据不同的特点进行识别。

在线指纹识别

插件

  1. wappalyzer插件

工具

  1. 御剑Web指纹识别

  2. WhatWeb

  3. WebRobo

  4. 椰树

  5. 轻量WEB指纹识别

服务器类型(Linux/Windows)

我们知道了服务器的系统版本后,就可以利用相应的漏洞来进行测试,最简单的方法是通过ping获得TTL值进行判断,默认情况下Windows的TTL值为128,Linux为64,我们也可以通过nmap的-O或者-A参数都可以对系统类型进行识别。

网站容器(Apache/Nginx/Tomcat/IIS)

在知道网站容器信息后,我们可以利用相应版本的漏洞进行测试。

返回包

我们可以查看相应包中的包头进行判断,例如我们访问freebuf,我们可以看到返回包如下:

HTTP/1.1 200 OK
Cache-Control: max-age=0, must-revalidate
Content-Encoding: gzip
Content-Length: 18328
Content-Type: application/javascript
Date: Fri, 01 Nov 2019 05:03:49 GMT
Etag: 5f70765bf4cd1ebc8ad3f764c4281698
Server: apache
Strict-Transport-Security: max-age=172800

我们可以看出它使用了Apache容器

Whatweb

whatweb 是kali中网站指纹识别的工具,使用Ruby语言开发。whatweb可识别web技术,包括内容管理系统(CMS)、博客平台、统计/分析包、JavaScript库,Web服务器和嵌入式设备等。它有超过900个插件,每个插件都能识别不同的东西。Whatweb还可以识别版本号,电子邮件地址、账户ID、Web框架模块,SQL错误等。

whatweb xxx

脚本类型(php/jsp/asp/aspx)

我们得到脚本类型后,可以针对相应的脚本进行渗透测试

  1. Google hack :site:xx.com filetype:php

  2. Wappalyzer插件

数据库类型(Mysql/Oracle/Access/SqlServer)

  1. 通过端口判断

    • Access 全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名: .mdb 一般是asp的网页文件用access数据库

    • SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf

    • MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面。默认端口是3306

    • Oracle又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521

网站敏感目录/文件

后台目录

我们找到后台以后可以进行弱口令探测,万能密码探测,或者是测试是否有暴力破解,越权访问等漏洞。

备份文件/安装包

可能会存放有数据库连接账号口令,以及网站源码,我们就可以进行进一步攻击或代码审计之后进行攻击。

上传目录

我们可以通过尝试上传一句话木马能进行漏洞测试。

Mysql管理接口

如果我们找到类似phpadmin这种的管理界面,我们就可以进行弱口令、爆破、万能密码等进行测试,如果测试成功,就可以进行脱裤。

安装页面

如果网站管理员没有删除或配置不当安装页面,我们可以进行二次安装的尝试。

PHPINFO

通过phpinfo我们可以获得网站的配置信息,例如:

作用

System

获取具体版本,尝试提权

extension_dir

php扩展的路径

http_x_real_ip

获取真实ip

_SERVER["DOCUMENT_ROOT"]

Web根目录

_FILES["file"]

phpinfo-lfi getshell

allow_url_include

文件包含

asp_tags

上传.haccess/user.ini绕过

imagick

远程执行

libxml

XXE

memcache

未授权访问

redis

未授权访问/getshell

Gopher

反弹shell

fastcgi

任意代码执行

编辑器

FCK、KE等编辑器的历史漏洞

IIS短文件

短文件名漏洞

robots

我们可以查看到搜索引擎搜索不到的部分

常用工具

  1. 御剑

  2. AWVS

  3. Burpsuite

  4. 搜索引擎(Google、Github)

  5. wwwscan

  6. Wfuzz

  7. DirBuster

  8. 社交平台(QQ群等)

  9. 历史漏洞库

目标域名邮箱

得到用户后我们就可以进行进一步弱口令,暴力破解测试。

  1. 网站页面、留言板、作者

  2. Google hack

  3. QQ群收集相关人员信息

  4. 字典爆破,通过暴力破解获取存在的用户名字典

Waf探测

现在网站为了加强自身安全,通常都会安装各类防火墙。这些防火墙往往会拦截各种扫描请求,使得测试人员无法正确判断网站相关信息,所以对Waf的探测识别至关重要。

手工

手工提交恶意数据

Nmap

  1. nmap -p80,443 --script=http-waf-detect ip

  2. nmap -p80,443 --script=http-waf-fingerprint ip

wafw00f

wafw00f是一款标识和指纹web应用防火墙(waf)产品。

我们可以通过-l参数查看其支持多少种waf

wafw00f -l

$ wafw00f -l

                 ______
                /      \
               (  Woof! )
                \______/                      )
                ,,                           ) (_
           .-. -    _______                 ( |__|
          ()``; |==|_______)                .)|__|
          / ('        /|\                  (  |__|
      (  /  )        / | \                  . |__|
       \(_)_))      /  |  \                   |__|

    WAFW00F - Web Application Firewall Detection Tool

Can test for these WAFs:

aeSecure (aeSecure)
Airlock (Phion/Ergon)
Alert Logic (Alert Logic)
AliYunDun (Alibaba Cloud Computing)
Anquanbao (Anquanbao)
AnYu (AnYu Technologies)
Approach (Approach)
Armor Defense (Armor)
ASP.NET Generic Protection (Microsoft)
Astra Web Protection (Czar Securities)
AWS Elastic Load Balancer (Amazon)
Yunjiasu (Baidu Cloud Computing)
Barikode (Ethic Ninja)
Barracuda Application Firewall (Barracuda Networks)
Bekchy (Faydata Technologies Inc.)
BinarySec (BinarySec)
BitNinja (BitNinja)
BlockDoS (BlockDoS)
Bluedon (Bluedon IST)
CacheWall (Varnish)
CdnNS Application Gateway (CdnNs/WdidcNet)
WP Cerber Security (Cerber Tech)
ChinaCache CDN Load Balancer (ChinaCache)
Chuang Yu Shield (Yunaq)
ACE XML Gateway (Cisco)
Cloudbric (Penta Security)
Cloudflare (Cloudflare Inc.)
Cloudfront (Amazon)
Comodo cWatch (Comodo CyberSecurity)
CrawlProtect (Jean-Denis Brun)
DenyALL (Rohde & Schwarz CyberSecurity)
Distil (Distil Networks)
DOSarrest (DOSarrest Internet Security)
DotDefender (Applicure Technologies)
DynamicWeb Injection Check (DynamicWeb)
Edgecast (Verizon Digital Media)
Expression Engine (EllisLab)
BIG-IP Access Policy Manager (F5 Networks)
BIG-IP Application Security Manager (F5 Networks)
BIG-IP Local Traffic Manager (F5 Networks)
FirePass (F5 Networks)
Trafficshield (F5 Networks)
FortiWeb (Fortinet)
GoDaddy Website Protection (GoDaddy)
Greywizard (Grey Wizard)
HyperGuard (Art of Defense)
DataPower (IBM)
Imunify360 (CloudLinux)
Incapsula (Imperva Inc.)
Instart DX (Instart Logic)
ISA Server (Microsoft)
Janusec Application Gateway (Janusec)
Jiasule (Jiasule)
KS-WAF (KnownSec)
Kona Site Defender (Akamai)
LiteSpeed Firewall (LiteSpeed Technologies)
Malcare (Inactiv)
Mission Control Application Shield (Mission Control)
ModSecurity (SpiderLabs)
NAXSI (NBS Systems)
Nemesida (PentestIt)
NetContinuum (Barracuda Networks)
NetScaler AppFirewall (Citrix Systems)
NevisProxy (AdNovum)
Newdefend (NewDefend)
NexusGuard Firewall (NexusGuard)
NinjaFirewall (NinTechNet)
NSFocus (NSFocus Global Inc.)
OnMessage Shield (BlackBaud)
Open-Resty Lua Nginx WAF
Palo Alto Next Gen Firewall (Palo Alto Networks)
PerimeterX (PerimeterX)
pkSecurity Intrusion Detection System
PowerCDN (PowerCDN)
Profense (ArmorLogic)
AppWall (Radware)
Reblaze (Reblaze)
RSFirewall (RSJoomla!)
ASP.NET RequestValidationMode (Microsoft)
Sabre Firewall (Sabre)
Safe3 Web Firewall (Safe3)
Safedog (SafeDog)
Safeline (Chaitin Tech.)
SecuPress WordPress Security (SecuPress)
Secure Entry (United Security Providers)
eEye SecureIIS (BeyondTrust)
SecureSphere (Imperva Inc.)
SEnginx (Neusoft)
Shield Security (One Dollar Plugin)
SiteGround (SiteGround)
SiteGuard (Sakura Inc.)
Sitelock (TrueShield)
SonicWall (Dell)
UTM Web Protection (Sophos)
Squarespace (Squarespace)
StackPath (StackPath)
Sucuri CloudProxy (Sucuri Inc.)
Tencent Cloud Firewall (Tencent Technologies)
Teros (Citrix Systems)
TransIP Web Firewall (TransIP)
URLMaster SecurityCheck (iFinity/DotNetNuke)
URLScan (Microsoft)
Varnish (OWASP)
VirusDie (VirusDie LLC)
Wallarm (Wallarm Inc.)
WatchGuard (WatchGuard Technologies)
WebARX (WebARX Security Solutions)
WebKnight (AQTRONIX)
WebSEAL (IBM)
WebTotem (WebTotem)
West263 Content Delivery Network
Wordfence (Feedjit)
WTS-WAF (WTS)
360WangZhanBao (360 Technologies)
XLabs Security WAF (XLabs)
Xuanwudun
Yundun (Yundun)
Yunsuo (Yunsuo)
Zenedge (Zenedge)
ZScaler (Accenture)

使用方法

 wafw00f https://example.org

旁站/C段

旁站是指和目标处在同一台服务器上的其他网站,如果目标测试起来比较吃力,我们则可以从旁站下手;C段是指和目标处在同一网站的其他机器。

在线查询

  1. Bing: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:nmap -p 80,8080 --open ip/24

  5. K8工具

  6. 御剑

  7. 北极熊扫描器

真实IP查询

渗透测试过程中,目标服务器的IP对我们来说至关重要,那么我们应该如何收集呢?首先我们要判断目标是否存在CDN(内容分发网络),也就是一组在不同运营商之间的对接节点上的高速缓存服务器,将用户经常访问的静态数据资源缓存到节点服务器上,当用户再次请求时,会直接分发到离用户近的节点服务器上响应给客户,大大提高了网站的响应速度,因此我们可以通过多地Ping的方法来判断网站是否开启了CDN。

通过相应IP就可以判断是否开启了CDN,如果响应IP不同,那么则开启了CDN。

不存在CDN

如果不存在cdn,我们可以通过如下方法获得网站真实ip

ping

我们可以通过ping命令来获得网站真实ip

ping xxx.com

在线查询

ip138

存在CDN

内部邮箱源

一般邮件系统都搭建在内部,不经过CDN解析,通过网站用户注册或RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,通过ping命令获取它的真实ip即可。(只针对目标自主的邮件服务器)

网站测试文件

如同上文说过的,在网站的phpinfo等文件中,寻找真实ip。

分站域名

一般主站访问量比较大因此会挂CDN,而分站可能没有加CDN,我们可以通过获取分站IP,若主站与分站在同一个ip段,我们可以进行C段探测获得真实IP。

国外访问

一般国内的CDN只对国内用户的访问加速,我们可以通过代理或第三方网站来获取真实IP。

国外在线代理

历史解析记录

目标有可能在一开始是没有使用CDN的,因此我们通过查询它的历史ip记录获取其真实IP。

netcraft

APP请求

如果目标存在自己的App,我们可以利用Fiddler或Burp suite抓取App

的请求,在其中寻找目标的真实IP。

社会工程学

社会工程学(Social Engineering,又被翻译为:社交工程学)在上世纪60年代左右作为正式的学科出现,广义社会工程学的定义是:建立理论并通过利用自然的、社会的和制度上的途径来逐步地解决各种复杂的社会问题,经过多年的应用发展,社会工程学逐渐产生出了分支学科,如公安社会工程学(简称公安社工学)和网络社会工程学。

常用搜索引擎

参考

  1. 《WEB 安全攻防 渗透测试实战指南》

  2. 《PHP WEB 安全开发实战》

Last updated