最近开始参加学校的web渗透测试科研实训,开始系统地学习web渗透测试,接触到了很多新的工具和术语,觉得网络安全知识体系涉及特别广泛,也特别复杂。同时我也觉得网络安全很有意思,我希望可以通过记录自己的学习过程做好备忘的同时,也把自己的学习路径和探索过程分享给大家。
web渗透第一步之信息收集
很多人在刚开始学习web渗透测试时往往会忽略网站信息收集这一步,觉得这一步不重要。但是信息收集是渗透测试的第一步,也是最重要的一步,只有掌握了网站足够的信息,才能在后续的渗透测试中得心应手。在了解如何收集信息之前,我们先了解一下网站是如何工作的。
网站是怎样工作的
网站是运行在计算机上的一系列应用程序,它有操作系统,应用程序以及服务器。
常见的网站环境;LNMP(Linux,nginx,mysql,php) WAMP(Windows,Apache,mysql,php)
当你在浏览器中输入要访问的URL,DNS服务器会将域名解析成IP地址,接着IP地址访问服务器内容(服务器、数据库、应用程序),最终将内容反馈至客户端的浏览器。
数据库包括要调用的数据,并存储在Web服务器上。这台服务器有真实的IP地址,每个人都能访问、Ping通它。每次页面请求或运行程序时,Web应用程序会在服务器上执行,而不是在客户的机器上。
该怎样入侵一个网站
入侵安装在计算机上的应用程序称为Web应用渗透测试,入侵带操作系统的计算机和应用程序称为服务端攻击,入侵人称为社会工程学攻击。在我们进行Web渗透之前,不是拿到目标就开始使用Webdirscan、SQLMAP、Caidao、Cobalt Strike等工具,而是需要先获取网站的综合(指纹)信息,获取的信息越多,越容易找到背后的漏洞或注入点。
信息收集的方式有两种:主动和被动。
- 主动信息收集:通过直接访问,扫描网站,这种流量将流经网站
被动信息收集:利用第三方服务对目标网站信息进行了解,如Google搜索、Shodan搜索等
常见的搜索信息
- 域名信息(域名注册商,注册人、电话、地址)
- ip信息收集(真实域名、服务、端口、协议、cdn)
- 技术使用:(框架、操作系统、数据库、编程语言)
- 在同一台服务器上运行的其它旁站
- DNS记录
文件、C段、子域名、网站目录
下面将对如何收集以上信息逐一介绍域名信息收集
1.域名查询
域名系统(Domain Name Server)是互联网的一项服务,他将方便记忆的域名映射为ip地址。
域名解析
举一个例子,hiworld.pro作为一个域名加入和IP地址192.168.1.100相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打192.168.1.100的名字hiworld.pro来代替电话号码(IP地址)。DNS在我们直接调用网站的名字以后就会将像hiworld.pro一样便于人类使用的名字转化成像192.168.1.100一样便于机器识别的IP地址。再如51cto.com域名,edu.51cto.com和www.51cto.com是该域名对应的子域名,而edu(教育网)和www(万维网)是对应的主机名。
2.Whois查询
Whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,Whois就是一个用来查询域名是否已经被注册,以及注册域名信息的数据库(如域名所有人、域名注册商、注册商邮箱等)。
不同域名后缀的Whois信息需要到不同的Whois数据库查询,如.com的Whois数据库和.edu的不同。每个域名或IP的Whois信息由对应的管理机构保存,例如以.com结尾的域名的Whois信息由.com运营商VeriSign管理,中国国家顶级域名.cn由CNNIC(中国互联网信息中心)管理。
Whois协议基本内容是:先向服务器的TCP端口43建立一个连接,发送查询关键字并加上回车换行,然后接收服务器的查询结果。
通过Whois查询可以获得域名注册者邮箱地址等信息,一般情况下对于中小型网站域名注册者就是网站管理员,利用搜索引擎对Whois查询到的信息进行搜索,获取更多域名注册者的个人信息。
Whois查询方法:
(1)Web接口查询
常见的信息收集网站包括
- Whois站长之家:http://whois.chinaz.com/
- 微步在线:https://x.threatbook.cn/
- 阿里云中国万网:https://whois.aliyun.com/
- Whois Lookup查找目标网站所有者信息:http://whois.domaintools.com/
- Netcraft Site Report显示目标网站使用的技术:http://toolbar.netcraft.com/site_report?url=
- Robtex DNS查询显示关于目标网站的全面的DNS信息:https://www.robtex.com/
- 全球Whois查询:https://www.whois365.com/cn/
- 站长工具爱站查询:https://whois.aizhan.com/
- 爱站网ping检测\IP反查域:https://dns.aizhan.com/
- DNS服务器解析:http://tool.chinaz.com/nslookup
- 多地ping 检查dns是否存在:http://ping.chinaz.com/ping.chinaz.com
- 同ip查旁站:http://s.tool.chinaz.com/same
以 https://whois.domaintools.com 为例收集 shirong.ink 的信息:
(2) 通过Whois命令查询
kali Linux内置whois查询工具,以shirong.ink为例:
(3) Python脚本whois查询
import urllib.request
req_whois = urllib.request.urlopen('http://whois.chinaz.com/doucube.com')
print(req_whois.read().decode())
import whois
data = whois.whois("sohu.com")
print(data)
3.备案信息查询
国内提供互联网信息的网站需要进行ICP备案和公安网备案。
ICP备案查询方法包括:
- https://www.beian88.com/
- http://beian.miit.gov.cn/publish/query/indexFirst.action
- https://www.tianyancha.com/
- http://www.beianbeian.com/
比如作者网站的备案信息如下图所示,这里您是否又发现什么呢?
社工是不是发现了地点(没错是甘肃人)