【HACK】第二阶段 web安全篇1——信息收集

信息收集

0x01域名信息收集

1.域名介绍

域名(Domain name)是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输是标识计算机的电子方位。

  • 浏览网站的过程:
    个人电脑(浏览器)——> DNS服务器——>个人电脑(获得ip)——> 访问目标网站

2.Whois介绍

whois用来查询域名的IP以及所有者等信息的传输协议。
不同域名后缀的whois信息需要到不同的whois数据库查询。
whois协议:向服务器TCP端口43建立一个连接,发送查询关键字并加上回车换行,然后接受服务器的查询结果。

3.Whois查询

查询IP,注册者的邮箱、电话、传真等信息

  • Web接口查询(站长之家)
  • 命令行下查询
    whois 51cto.com

4.备案信息查询

ICP备案:Internet Content Provider网络内容提供商

《互联网信息服务管理办法》支出互联网信息服务分为经营性和非经营性两类。国家对经营性互联网服务实行许可制度;对非经营性互联网服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务。在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。未经国家机关单位许可备案,不得在中华人民共和国境内从事非经营性互联网信息服务。

ICP备案查询方法:

  • web接口查询:
    http://www.beianbeian.com
    http://www.tianyancha.com

0x02 子域名信息收集

1.子域名介绍

顶级域名:.com、cn、org、net
子域名,凡顶级域名前加前缀的都是该顶级域名的子域名。

2. 挖掘子域名重要性

子域名是某个主域的二级域名或者多级域名。
在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域名。

3.子域名挖掘方法

  • . 子域名挖掘工具:Maltego CE、wydomain、subDomainsBrute、dnsmaper、Layer子域名挖掘机
  1. wydomain可以在github上下载,根据使用指南进行安装配置,将wydomain.py和dnsburte.py增加执行权限后,利用python2运行。
  2. Maltego CE注册有点麻烦,我试了一下,没有连接到服务器,以后专门学习的时候在详说吧。
  • 搜索引擎挖掘:site:sina.com
  • 第三方网站:站长之家、crt.sh、censys.io、http://phpinfo.me/domain、http://dns.aiazhan.com

4. 刷洞思路

  • 针对某个具体SRC进行挖洞,可以收集对应子域名,批量探测。
  • 针对补天:对应没有指定厂商的刷洞,可以根据某些具体漏洞,通过URL采集获取目标,编写探测脚本,批量探测,高效刷洞。
  • 挖洞高峰期:报出新漏洞时

0x03 CMS信息收集

1.CMS指纹识别

CMS(内容管理系统),又称整站系统或文章系统。用于网站内容管理。用户只需要下载对应的CMS软件包,部署搭建,就可以直接利用CMS,简单方便。
常见CMS:dedecms(织梦)、Discuz、Phpcms等
CMS识别工具:

  1. 在线工具:
    http://whatweb.bugscaner.com/look
    http://www.yunsee.cn/finger.html
  2. 本地工具
    御剑web指纹识别程序
    大禹CMS识别程序

2.针对CMS漏洞查询

https://bug.shuimugan.com(乌云漏洞库的,不能用了)

3.敏感信息探测

针对目录Web目录结构和敏感隐藏文件探测是非常重要的。
在探测过程中很有可能会探测出后台页面、上传页面、数据库文件、甚至是网站源代码文件压缩包等。

探测工具:
1.御剑后台扫描工具
2.WWWScan命令行工具
3.dirb命令行工具
4.dirbuster命令行工具

4.wordPress探测

WordPress中文网:https://cn.wordpress.org
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当做一个内容管理系统来使用。

Kali Linux:wpscan --url https://cn.wordpress.org

0x04 端口信息

1.端口介绍

每个端口对应一个服务
范围0——65535

2.端口信息收集

1.nmap工具
2.masscan工具
3.在线网站探测(不能扫描本地,不留痕迹,可以扫描远程服务器)

3.端口攻击

针对不同的端口具有不同的攻击方法

端口端口说明攻击方法
22SSH爆破、SSH隧道及内网代理转发、文件传输
23Telnet远程连接爆破、嗅探、弱口令
3389RDP远程桌面shift后门、爆破
5900VNC远程连接弱口令、RCE
5632PcAnywhere远程连接嗅探、代码执行

4.防御措施

1、关闭不必要的端口
2、对重要业务的服务端口设置防火墙
3、加强员工的信息安全意识,经常性更换用户密码
4、经常更新软件、打补丁

0x05 敏感信息收集

1.Google Hack语法

关键字含义
site指定搜索域名,例如:site:baidu.com
inurl指定URL中是否存在某些关键字,例如:inurl:php?id=
intext指定网页中是否存在某些关键字,例如:intext:网站管理
filetype指定搜索文件类型,例如:filetype:txt
intitle指定网页标题是否存在某些关键字,例如:intitle:后台管理
link指定网页链接,例如:link:baidu.com指定与百度做了个外链的站点
info指定搜索网页信息,例如:info:baidu.com

googe hacking数据库:
https://www.exploit-db.com/google-hacking-database

2.HTTP响应收集Server信息

通过HTTP或HTTPS与目标站点进行通信中,目标响应的报文中Server头和X-Powered-By头会暴露目标服务器和使用的编程语言信息,通过这些信息可以有针对性的利用漏洞。

获取HTTP响应的方法:

  1. 利用工具。如:浏览器审计工具、Burpsuite等代理截断工具
  2. 编写python脚本 requests库 参考链接

3.github信息泄露

  1. Github之邮件配置信息泄露:
    site:github.com smtp
    site:github.com smtp@qq.com
  2. Github之数据库信息泄露:
    site:github.com sa password
    site:github.com root password
    site:github.com User ID=‘sa’;Password
  3. Github之svn信息泄露:
    site:github.com svn
    site:github.com svn username
  4. Github之综合信息泄露
    site:github.com password
    site:github.com ftp ftppassword
    site:github.com 密码
    site:github.com 内部

0x06 CDN

1. CDN介绍

CDN的全称是Content Delivery Network,即内容分发网络

根据用户所在地区来确定访问的缓存服务器,只有在需要交互时才请求真实服务器。否则访问本地区的告诉缓存器即可。

2. 判断CDN存在

通过ping判断是否存在CDN

3. 绕过CDN

如果目标没有使用CDN,我们可以直接利用Ping获得IP地址,或者利用在线网站:http://www.ip138.com

如果目标是用CDN,需要绕过CDN来获取真实IP地址

  1. 内部邮箱源,收集到内部邮箱服务器IP地址
  2. 网站phpinfo文件 phpinfo.php
  3. 分站ip地址,查询子域名 CDN很贵,很有可能分站就不再使用CDN
  4. 国外访问 https://asm.ca.com/en/ping.php
  5. 查询域名解析记录 https://viewdns.php

4. 验证IP地址真实性

利用IP地址对WEB站点进行访问,如果正常表名是真实IP地址。否则不为真。
有logo,有内容

0x07 shodan搜索引擎

1. 信息收集

服务器系统
数据库系统
中间件系统
应用程序系统
边界设备
系统管理员的信息

2. 信息收集方式

  • 主动信息收集:与目标进行交互,在交互过程中对信息进行收集,如nmap等
  • 被动信息收集:通过第三方引擎与目标交互,或不与目标交互查询具体数据库。如google hacking,shodan

3. shodan搜索引擎

shodan搜索引擎可直接进入互联网的背后通道,一刻不停地寻找着所有和互联网关联的服务器、摄像头、打印机、路由器等等
www.shodan.io

4. shodan命令行搜索

  • 安装:easy install shodan
  • 初始化:shodan init [key]
  • 启动与查找具体服务数量:shodan count Apache
  • shodan search microsoft iis 6.0

5.shodan获取指定ip地址信息

shodan host ip

6. shodan获取账号信息(vip)

shodan info

7.shodan获取自身外部IP地址

shodan myip

8. shodan检测是否有蜜罐

shodan honeyscore ip

9. shodan与python结合

  1. python-shodan 连接API Key
import shodan
SHODAN_API_KEY = "****"
api = shodan.Shodan(SHODAN_API_KEY)
  1. Python-shodan search方法
result = api.search('apche')
print(result['total'])
# total参考:https://developer.shodan.io/api
  1. Python-shodan IP查询
result = shodan.host('target_ip')
print(result['country_name'])
  1. Python-shodan 基本查询脚本
import shodan
import sys

API_KEY = "Your api key"

if len(sys.argv) == 1:
	print('Usage: %s <search_query>' % sys.argv[0])
	sys.exit(1)

try:
	api = shodan.Shodan(API_KEY)

	query = ' '.join(sys.argv[1:])
	result = api.search(query)

	for service in result['matches']:
		print(service['ip_str'])

except Exception as e:
	print('Error: %s' % e)
	sys.exit(1)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值