简单的信息收集

写文时间:2020/08

域名

域名收集

域名信息(51cto.com为例,edu.51cto.com和www.51cto.com是他的子域名)

浏览网站过程:从DNS服务器获取指定域名对应的IP地址,通过IP地址访问

命令whois的原理:向服务器TCP43端口连接,发送查询关键字和回车,收到结果

Web接口:

https://whois.aliyun.com

https://www.whois365.com/cn

https://whois.chinaz.com

https://whois.aizhan.com

命令查询:whois [域名](例如whois baidu.com)

备案信息查询:

http://www.beianbeian.com

https://www.tianyancha.com

 

子域名信息

工具1:maltego CE(kali自带的需要注册登录下载)

新建一个图,从entity palette里面选择domain,输入域名(例如51cto.com)

右键,all transforms,点击箭头,最终会找到很多

对于一个主域(www),可以右键all transform->To IP Address

然后可以对这个IP地址右键all transform查询全部

类似地可以一路查下去

回归正题,右键DNS FROM DOMAIN可以查看所有的子域名

工具2:wydomain

下载:git clone https://github.com/ring04h/wydomain.git

命令修改可执行权限:chmod +x wydomain.py;chmod +x dnsburte.py

执行命令:python dnsburte.py -d [目标域名] -f dnspod.csv -o 51cto.txt

执行命令:python wydomain.py -d [目标域名] -o 51cto.txt

工具3:直接谷歌site:[域名](例如site:51cto.com)

工具4:第三方工具

网站

https://tool.chinaz.com/subdomain

https://crt.sh

https://censys.io/ipv4

https://phpinfo.me/domain

https://dns.aizhan.com

https://site.ip138.com

https://www.yougetsignal.com

https://toolbar.netcraft.com/site_report

个人比较喜欢的:Layer子域名挖掘机

子域名挖掘的意义:挖洞时,有时候主域名没漏洞,子域名有漏洞

 

Web站点信息

CMS扫描

在线工具:

http://whatweb.bugscaner.com/look/

http://www.yunsee.cn/

CMSmap:github.com/Dionach/CMSmap

Dayu:github.com/Ms0x0/Dayu

cmssprint:github.com/Lucifer1993/cmsprint

vulnx:github.com/anouarbensaad/vulnx

AngelSword:github.com/Lucifer1993/AngelSword

CMD漏洞查询:百度谷歌

 

网站目录扫描

命令行工具:

dirb [URL]

dirbuster(图形界面工具)

 

WordPress扫描

在线工具:参考CMS在线工具

命令行工具:

whatweb [URL]

wpsan -url [URL]

 

端口信息

Windows查看哪些端口开放:netstat -anbo

Linux查看哪些端口开放:netstat -pantu

命令:nmap [IP]

命令:masscan -p[端口] [IP(CIDR)]

在线:https://tool.chinaz.com/port

端口攻击方法:

SSH(22):爆破,SSH隧道,内网代理转发,文件传输

Telnet(23):爆破,嗅探,弱口令

RDP(3389):shift后门,爆破

VNC(5900):弱口令,RCE

PcAnywhere(5632):嗅探,代码执行

其他的和具体攻击方式查找百度

 

敏感信息

搜索引擎

指定搜索域名:site:baidu.com

URL中是否存在关键字:inurl:.php?id=

网页内容关键字:intext:网站管理

文件类型:filetype:txt

网页标题是否存在关键字:intitle:后台管理

 

Banner

常用命令:

nmap -sV --script=banner [IP]

nmap -Pn -p [端口] -sV --script=banner [IP]

curl -s -I [IP] | grep -e “Server:”

nc [IP] [端口]

dmitry -b [IP]

 

其他

Google Hacking:

https://www.exploit-db.com/google-hacking-database

HTTP服务器信息:

Chrome Network

Python Requests

漏洞搜索:

命令:searchsploit [漏洞相关]

Github数据泄露:

直接看代码,找漏洞

GitHack:https://github.com/lijiejie/GitHack

Github搜索:org:[公司名称]

Github工具编写思路:爬虫,解析,下载

网站备份信息等扫描工具推荐:(使用其中的Path自动生成对应字典)

https://github.com/7kbstorm/7kbscan-WebPathBrute

 

真实IP地址信息

判断CDN

CDN:内容分发网络

判断是否存在CDN:

ping [URL]

http://ping.chinaz.com

http://www.ip138.com

http://tools.ipip.net/cdn.php

多种方式判断IP是否唯一,如果唯一那么就不存在CDN

 

nslookup [URL]

如果非权威应答的Addresses中包含多个结果,就是存在CDN

 

CDN绕过方法

(1)内部邮件服务器,收集到内部邮箱服务器IP地址

(2)网站phpinfo.php文件中的SERVER_ADDR

(3)分站IP地址,子域名通常不会再使用CDN

(4)国外访问:https://asm.ca.com/en/ping.php

(5)查询域名解析记录:https://viewdns.info

(6)使用DOS攻击耗尽真实流量(不建议)

(7)phpinfo.php中的server_addr

(8)网站get_site_ip.com

(9)github.com/boy-hack/w8fuckcdn

(10)github.com/Tai7sy/fuckcdn

(11)新思路:拿到ICO文件的HASH值,到SHODAN全网搜索:http.favicon.hash:123456789

import mmh3 import requests response = requests.get('https://www.xiaodi8.com/img/favicon.ico') favicon = response.content.encode('base64') hash = mmh3.hash(favicon) print(str(hash))

github项目:

https://github.com/Tai7sy/fuckcdn

https://github.com/boy-hack/w8fuckcdn

验证真实IP地址:直接访问,如果正常说明是真实IP地址

另外注意一点:IP和域名虽然都可以访问某网站,但可能不是一个目录

 

在线C段查询

https://www.webscan.cc/search/

https://phpinfo.me/bing.php

 

网络空间搜索引擎

Shodan

Web端使用

注册登录后才能正常使用

搜索

webcam 网络摄像头

port:[端口] 搜索指定端口

host:[IP地址] 搜索指定IP地址(直接输入好像也可以)

命令行

命令行:pip install shodan

初始化 shodan init muJUpbAiDRziySRueb4qZOqBVEWBQApv

查询数量 shodan count [关键字]

搜索 shodan search [关键字](shodan search microsoft iis 6.0)

指定IP地址信息 shodan host [IP]

查看自己信息 shodan info

获取自己地址 shodan myip

检测蜜罐 shodan honeyscore [IP]

Python接口

Python调用shodan

初始化:api=shodan.Shodan(API_KEY)

搜索:api.search(关键字)

IP查询:api.host(IP)

 

钟馗之眼

https://www.zoomeye.org/

 

FOFA

https://fofa.so/

 

漏洞发现

Web漏洞

常见的SQL注入,XSS,文件上传,RCE等

这里不讲原理,只说发现

扫描工具有:AWVS(个人推荐),Appscan,Netsparker

发现之后的利用在后面的篇章中讲

扫描中如果需要登录:

(1)采用AWVS的录制登录方式

(2)如果有验证码,在第一步设置Cookie

AWVS使用教程有很多,比如:

https://blog.csdn.net/showgea/article/details/84633703

如果网站是CMS搭建的,AWVS扫描的意义不大,因为开源项目大都被扫描过没有问题的

系统漏洞

系统漏洞扫描工具:OpenVAS,Nessus(推荐)

 

其他

伪静态

www.xxx.com/login.html

格式如上的网站未必是静态HTML

我们在用户名密码地方输入后,发现了这样一个请求:

www.xxx.com/valiCodeImg.jsp?0.123456

于是判断出该网站采用JSP

中间件信息探测:

http://toolbar.netcraft.com/site_report

 

操作系统判断

有很多的工具,手动方式是:

Linux系统区分大小写,Windows方式不区分

比如www.xxx.com/index.html

改为www.xxx.com/index.htmL

如果能访问通,说明是Windows服务器,否则Linux

 

WAF识别

简单的可以直接手动尝试

也有工具:

https://github.com/sandrogauci/wafw00f

 

其他

Robots信息探测:wget [URL]/rebots.txt

Web应用文件获取:dirb [URL] -X .html(文件扩展名)

注意Web前端代码的注释可能包含关键信息

Web目录探测:Burpsuite

Web开发框架:HTTP头部、Cookie、前端代码

IP精确定位:www.opengps.cn