渗透测试--01信息搜集

  信息搜集是渗透目标的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。

0x01 搜索引擎

Google、Bing、ZoomEye(钟馗之眼)、Shodan(撒旦)

  • Google hacking

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    intext: 把网页中的正文内容中的某个字符做为搜索条件;
    allintext:使用方法和intext类似;
    intitle: 搜索网页标题中是否有我们所要找的字符;
    cache: 搜索GOOGLE里关于某些内容的缓存,有时候往往能找到一些好东西.
    define: 搜索某个词的定义;
    filetype: 搜索制定类型的文件;
    info: 查找指定站点的一些基本信息;
    inurl: 搜索我们指定的字符是否存在于URL中.常用于查找通用漏洞、注入点、管理员登录的URL;
    allinurl:也同INURL类似,可指定多个字符;
    LINKURL: 例如搜索:INURL:HDU.EDU.CN可以返回所有和HDU.EDU.CN做了链接的URL;
    site: 搜索指定域名,用于搜集二级域名;
    一些连接符
    + 把GOOGLE可能忽略的字列如查询范围
    – 把某个字忽略
    ~ 同意词
    . 单一的通配符
    * 通配符,可代表多个字母
    “” 精确查询
  • Google域名
      不同地区的 Google 搜索的不同,这种搜索引擎为了向大众提供方便根据不同的地域进行不同的优化。我们可以使用不同地区进行搜索,可能获取一些特别的信息。例如:
      www.google.com.tw
      www.google.com.hk
      www.google.com.jp
    常见国际域名缩写

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    国际域名缩写 国家或地区 Countries and Regions
    CN 中国 China
    HK 香港特别行政区 Hongkong
    MO 澳门 Macao
    TW 台湾省 Taiwan
    KP 朝鲜 North Korea
    KR 韩国 Korea
    JP 日本 Japan
    RU 俄罗斯 Russia
    SG 新加坡 Singapore
    FR 法国 France
    CA 加拿大 Canada
    AU 澳大利亚 Australia
    US 美国 United States of America

0x02 whois查点

  whois信息包含了域名注册者的姓名、邮箱、电话、地址、DNS服务器等信息,对我们渗透目标以后后序的社工都很有用。

0x03 目标IP

  现在大部分网站都采用了CDN加速,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定,为用户提供更流畅的服务。可是对于我们渗透测试人员来说,对判断目标IP带来阻碍。绕过CDN获取真实IP:

  • 判断:在不同地区ping网址
    http://ping.chinaz.com/
    http://ping.aizhan.com/
    http://tools.fastweb.com.cn/Index/Ping
    kaili下:dnsenum
    eg:dnsenum -o /root/baidu.com -t 30 –threads 30 baidu.com
  • 查找真实ip
    1、二级域名法
      一般网站不会所有的二级域名放CDN,可以使用谷歌语法site:xxxx.com查找二级域名,或者在线http://i.links.cn/subdomain/查找。
      确定没有使用CDN得二级域名之后,本地将目标域名绑定到同IP(修改hosts文件),如果目标网站还能访问说明目标网站与二级域名在同一服务器上;如果不在统一服务器也可能在同C段,扫描C段所有开放80端口IP。
    2、nslookup
      大部分CDN提供商只针对国内市场,而国外的市场几乎不做CDN,所以有机会解析到真实IP。所以可以使用国外的VPS ping目标网址,或者使用nslookup http://xxx.com 国外DNS,例如:nslookup www.baidu.com 8.8.8.8,国外DNS最好找一些冷门的提供商。
      或者查询域名的NS记录,在域名记录中的MX记录,TXT记录等很有可能指向的是真实ip或同C段服务器。
    3、ping
      很多厂商只是把www.xxx.com做了CDN,我们可以使用ping http://www.xxx.com,或者使用国外多节点ping在线工具,例如[just-ping](http://www.just-ping.com)
    4、查看历史记录
      查找域名历史解析记录,域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址http://toolbar.netcraft.com/site_report
    5、利用网站漏洞
    XSS盲打、命令执行反弹shell、SSRF等
    6、其他
    RSS订阅:通过RSS订阅的方式,可以查找到订阅的消息中真实IP
    订阅邮件:打开发来的邮件源码,可以看到服务器的真实IP,有时候会在同一网段,扫扫C段。
    phpinfo:这个是最直接的,使用目录扫描,关键在于你的字典是否强大。

0x04 指纹识别

  • whatweb
  • Wappalyzer、Shodan、IP Whois & Flags Chrome & Websites Rating


  • nmap
  • TCP/IP属性:TTL、Window Size、DF
      TTL:生存时间。指定数据报被路由器丢弃之前允许通过的网段数量。TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。数据包在传送的时候至少会经过一个以上的路由器,当数据包经过一个路由器的时候,TTL就会自动减1,如果减到0了还是没有传送到目的主机,那么这个数据包就会自动丢失,这时路由器会发送一个ICMP报文给最初的发送者。
    ping直接查看TTL


      可以看到TTL为54,路由追踪发现经过10跳到达目的,很有可能是Liunx系统,虽然这种方法可能存在偏差。
    telent
    使用telent进行连接,使用Snort进行监听,查看三个属性,在siphon指纹数据库文件osprints.conf进行对比
    1
    2
    3
    4
    5
    WINDOWS NT/2000 TTL:128
    WINDOWS 95/98 TTL:32
    UNIX TTL:255
    LINUX TTL:64
    WIN7 TTL:64

0x05 WAF检测

  • WafW00f
  • nmap
    nmap www.baidu.com –script=http-waf-detect
    或者–script=firewalk –traceroute、–script=http-waf-fingerprint

0x06 端口扫描

老生常谈的端口扫描,以及常用方法大家也都明白。

nmap

0x07 DNS查询

  DNS(域名系统)可以在侦查过程中提供有价值的数据,DNS的基本功能是将域名转换为IP地址。

1
2
3
4
5
6
7
DNS记录:
AAAA记录 IPv6 地址记录,记录一个域名对应的IPv6地址
CNAME记录 别名记录,记录一个主机的别名
MX记录 电子邮件交换记录,记录一个邮件域名对应的IP地址
NS记录 域名服务器记录 ,记录该域名由哪台域名服务器解析
PTR记录 反向记录,也即从IP地址到域名的一条记录
TXT记录 记录域名的相关文本信息

  • host
    host -t ns www.baidu.com
  • nslookup
    Nslookup命令以两种方式运行:非交互式和交互式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
> nslookup
默认服务器: UnKnown
Address: 192.168.43.1
> ?
命令: (标识符以大写表示,[] 表示可选)
set OPTION - 设置选项
domain=NAME - 将默认域名设置为 NAME
srchlist=N1[/N2/.../N6] - 将域设置为 N1,并将搜索列表设置为 N1、N2 等
root=NAME - 将根服务器设置为 NAME
retry=X - 将重试次数设置为 X
timeout=X - 将初始超时间隔设置为 X 秒
type=X - 设置查询类型(如 A、AAAA、A+AAAA、ANY、CNAME、MX、
NS、PTR、SOA 和 SRV)
ls [opt] DOMAIN [> FILE] - 列出 DOMAIN 中的地址(可选: 输出到文件 FILE)
-a - 列出规范名称和别名
-d - 列出所有记录
-t TYPE - 列出给定 RFC 记录类型(例如 A、CNAME、MX、NS 和 PTR 等)
的记录
exit - 退出程序

根据DNS查询,我们可以查找到DNS服务器、邮件服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
> nslookup
默认服务器: UnKnown
Address: 192.168.43.1
> set type=mx
> baidu.com
服务器: UnKnown
Address: 192.168.43.1
非权威应答:
baidu.com MX preference = 20, mail exchanger = mx1.baidu.com
baidu.com MX preference = 10, mail exchanger = mx.n.shifen.com
baidu.com MX preference = 20, mail exchanger = jpmx.baidu.com
baidu.com MX preference = 20, mail exchanger = mx50.baidu.com
baidu.com nameserver = ns7.baidu.com
baidu.com nameserver = ns3.baidu.com
baidu.com nameserver = ns2.baidu.com
baidu.com nameserver = ns4.baidu.com
baidu.com nameserver = dns.baidu.com
jpmx.baidu.com internet address = 61.208.132.13
dns.baidu.com internet address = 202.108.22.220
ns2.baidu.com internet address = 61.135.165.235
ns3.baidu.com internet address = 220.181.37.10
ns4.baidu.com internet address = 220.181.38.10
ns7.baidu.com internet address = 180.76.76.92
> exit

邮件在发送的过程:

1.发件人服务器需要先解析“收件人的域名”的MX主机
2.然后解析MX主机对应的IP
3.服务器通过连接对方的MX主机的25(邮件SMTP端口)发送邮件
4.用户通过客户端工具如OUTLOOK foxmail软件连接收件人邮件服务器进行接收邮件

0x08 子域名查询

1、fierse工具:fierce -dns www.baidu.com
2、在线查询:http://i.links.cn/subdomain/
3、谷歌语法:site: baidu.com/
4、subDomainsBrute:https://github.com/lijiejie/subDomainsBrute
5、DNS域传送漏洞

1
2
3
4
> nslookup 输入nslookup命令进入交互式shell
> server DNS服务器 Server 命令参数设定查询将要使用的DNS服务器
> ls 域名 Ls命令列出某个域中的所有域名
> exit Exit命令退出程序

0x09 源码泄露、敏感目录

  • 源码泄露
    1、.git源码泄露
    2、.DS_Store文件泄漏
    3、SVN文件泄露
    4、代码托管平台
    5、网站备份压缩文件

    1
    2
    3
    4
    5
    6
    7
    8
    .rar
    .zip
    .7z
    .tar.gz
    .bak
    .swp
    .txt
    .html
  • 敏感目录
    1、nikto

    2、dirb

    3、御剑目录扫描

0x10 旁注 C段

  旁注的意思就是从同台服务器上的其他网站入手,提权,然后把服务器拿下,就自然那个网站也就拿下了。C段嗅探,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务。
在线查询:
http://www.webscan.cc/
http://dns.aizhan.com/
安全盒子C段旁注工具

0x11 社工

QQ、QQ空间、微信朋友圈、微博、支付宝
Maltego:社工神器
社工库:
http://s.70sec.com/
社交网站:
http://twitter.com
http://facebook.com
求职网站:
http://linkedin.com
http://plaxo.com