0x00  域名介绍

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

例如:学院域名:51cto.com
对于edu.51cto.com 以及www.51cto.com是该域名对应的子域名,而edu和www都是对应的主机头。浏览网站过程:(从DNS服务器获得指定域名对应的IP地址),也称之为DNS解析

DNS解析过程涉及到递归查询和迭代查询

递归查询---由主机和local  dns服务器完成的交互查询

迭代查询---由local dns服务器和.域的dns服务器-->.COM域的dns服务器-->sina.com域的dns服务器

0x01 whois 介绍

whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)

不同域名后缀的whois信息需要到不同的whois数据库查询。如.com的whois数据库和.edu的就不同。每个域名或IP的WHOIS信息由对应的管理机构保存,例如,以.com结尾的域名的WHOIS信息由.com域名运营商VeriSign管理,中国国家顶级域名.cn域名由CNNIC(中国互联网络信息中心)管理

WHOIS协议。其基本内容是,先向服务器的TCP端口43建立一个连接,发送查询关键字并加上回车换行,然后接收服务器的查询结果。

0x02 whois 查询

Whois查询的重要性:通过Whois查询可以获得域名注册者邮箱地址等信息。一般情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对Whois查询到的信息进行搜索,获取更多域名注册者的个人信息。

Whois查询方法:

1、Web接口查询:

https://whois.aliyun.com/、 https://www.whois365.com/cn/
http://whois.chinaz.com/ 、https://whois.aizhan.com/

2、通过Whois命令行查询。
在Kali linux下自带了Whois查询工具,通过命令 whois 域名 进行查询。

0x03 备案查询

ICP备案介绍:Internet Content Provider网络内容提供商。
《互联网信息服务管理办法》指出互联网信息服务分为经营性和非经营性两类。国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务。在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。未经国家机关单位许可备案,不得在中华人民共和国境内从事非经营性互联网信息服务。
备案好处:为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案的话,很有可能被查处以后关停。

ICP备案查询方法:

Web接口查询:
 ICP备案查询 - 站长工具 ICP备案查询_备案号查询_网站备案查询 - 天眼查

0x05 子域名介绍

顶级域名:是".com"、".net"、".org"、".cn"等等。

子域名(Subdomain Name),凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。
我国在国际互联网络信息中心正式注册并运行的顶级域名是.cn,这也是我国的一级域名。在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共6个, 包括用于科研机构的.ac;用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov;用于互联网络信息中心和运行中心的.net;用于非盈利组织的.org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。

例如:www.snnu.edu.cn

0x06 子域名的重要性

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

例如:

www.xxxxx.com 主域不存在漏洞,并且防护措施严密。

而二级域名  edu.xxxxx.com存在漏洞,并且防护措施松散。

主域上了CDN,可能子域名没上,可能找到真实IP

0x07 子域名挖掘方法

1、子域名挖掘工具 如:Maltego CE、wydomain、subDomainsBrute、dnsmaper、Layer子域名挖掘机。
2、搜索引擎挖掘 如: 在Google中输入 site:sina.com
3、第三方网站查询:http://tool.chinaz.com/subdomain、https://dnsdumpster.com/
4、证书透明度公开日志枚举:https://crt.sh/ 、http://censys.io/

5、其他途径:https://phpinfo.me/domain 、http://dns.aizhan.com

6、通过oenforall,或者网络空间引擎,fofa,zoomeye,奇安信鹰图平台等

0x08  刷洞思路

针对某个具体SRC进行挖洞,如果直接针对主域进行渗透测试很可能是很难达到挖掘的效果。此时可以搜集对应的子域名,然后批量探测某些具体漏洞,从而更加快速容易的发现一些漏洞。之后将漏洞提交对应SRC获取奖金。
针对补天刷洞思路:对应没有指定厂商的刷洞,可以根据某些具体漏洞,通过URL采集获取目标,编写探测脚本批量探测,快速高效的刷洞。
注意:无论如何,都要保持警惕,不要触及不该触及的内容,不要影响公司业务,只做漏洞探测内容,确定存在漏洞即可。适可而止。
挖洞高峰期:在互联网上曝出某些新漏洞的时候,会有大量的该漏洞提交到漏洞平台获取奖金。

0x09 CMS指纹识别

CMS(内容管理系统),又称整站系统或文章系统。用于网站内容管理。用户只需要下载对应的CMS软件包,部署搭建,就可以直接利用CMS,简单方便。但是各种CMS都具有其独特的结构命名规则和特定的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本。
常见CMS:dedecms(织梦)、Discuz、Phpcms等。

CMS识别工具:
1、在线工具   http://whatweb.bugscaner.com/look/  、 http://www.yunsee.cn/finger.html

潮汐指纹识别:TideFinger 潮汐指纹 TideFinger 潮汐指纹


2、本地工具  whatweb、
御剑web指纹识别程序(https://pan.baidu.com/share/link?shareid=437376&uk=3526832374)、
大禹CMS识别程序 https://github.com/Ms0x0/Dayu

现在有一些指纹识别的插件也还蛮好用的

0x10 CMS漏洞查询

对于查询到的CMS可以利用 https://bugs.shuimugan.com 网站查询指定CMS的漏洞。

通过cnvd漏洞库,漏洞文库,网上复现文章,进行漏洞查找与复现

0x11 敏感目录收集

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

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

5、dirsearch 扫描工具

6、7kbscan-webpathbrtue

0x12 端口介绍

如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
例如计算机中的80端口、21端口、23端口等。
在计算机中每一个端口代表一个服务。在Windows命令行中使用 netstat -anbo 显示开放端口。

 0x13 端口信息收集

对于收集目标机器端口状态可以使用工具来进行测试。工具原理:使用TCP或者UDP等协议向目标端口发送指定标志位等的数据包,等待目标返回数据包,以此来判断端口状态。
1、使用nmap 探测。 nmap -A -v -T4 目标
2、使用masscan探测。
3、使用在线网站探测 http://tool.chinaz.com/port/。
4、goby扫描,railgun扫描工具,御剑高速端口扫描工具

0x14 端口攻击

针对不同的端口具有不同的攻击方法。
例如:针对远程连接服务端口
对于扫描到的端口可以在搜索引擎中查找对应的攻击方法进行测试。

端口

端口说明

攻击方法

22

SSH远程连接

爆破、SSH隧道及内网代理转发、文件传输

23

Telnet远程连接

爆破、嗅探、弱口令

3389

rdp远程桌面

Shift后门、爆破

5900

VNC远程连接

弱口令、RCE

5632

PcAnywhere远程连接

嗅探、代码执行

0x15 端口防御

对于端口攻击来说只要端口开放并且可以连通,那么就可以利用对应的方式进行攻击测试。
防御措施:
1、关闭不必要的端口;
2、对重要业务的服务端口设置防火墙;
3、加强员工信息安全意识,经常性更换用户密码;
4、经常更新软件,打补丁(patch)。

0x16 敏感信息收集的重要性

针对某些安全做的很好的目标,直接通过技术层面是无法完成渗透测试。在这种情况下,可以利用搜索引擎搜索目标暴露在互联网上的关联信息。例如:数据库文件、SQL注入、服务器配置信息、甚至是通过Git找到站点泄露源代码、以及Redis等未授权访问、robots.txt等敏感信息。从而达到渗透测试的目的。
知己知彼,百战不殆。某些情况下,收集到的信息会对后期进行测试起到帮助重要。如果通过收集敏感信息直接获得了目标系统的数据库访问权限,那么渗透测试任务也就结束一大半了。因此在进行技术层面情况下的测试之前,应该先进行更多的信息收集。

0x17 Google hacking 语法

google hack是指使用Google等搜索引擎对某些特定的网络主机漏洞(通常是服务器上的脚本漏洞)进行搜索,以达到快速找到漏洞主机或特定主机的漏洞的目的。

Google hacking数据库:https://www.exploit-db.com/google-hacking-database/
例如:查询Access数据:filetype:mdb "standard jet" (password | username | user | pass)

关键字

含义

site

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

inurl

指定URL中是否存在某些关键字 例如:inurl:.php?id=

intext

指定网页中是否存在某些关键字 例如:intext:网站管理

filetype

指定搜索文件类型 例如:filetype:txt

intitle

指定网页标题是否存在某些关键字 例如:intitle:后台管理

link

指定网页链接 例如:link:baidu.com 指定与百度做了外链的站点

info

指定搜索网页信息  info:baidu.com

0x18 HTTP响应收集server

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

获取HTTP响应的方法:
1、利用工具 如:浏览器审计工具、Burpsuite等代理截断工具。
2、编写Python脚本  requests库  参考链接:http://www.python-requests.org/en/master/

import requests
r = requests.get('目标')
print(r.headers)

0x19 github 信息泄露

Github是一个分布式的版本控制系统,目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。众所周知,当今是大数据时代,大规模数据泄露事情一直在发生,从未停止过,但有些人不知道的是很多时候一些敏感信息的泄露其实是我们自己无意中造成的,然而一个小疏忽,往往却造成一系列连锁反应。Github上敏感信息的泄露,就是一个典型的例子,Github虽然方便开发者,但其中也埋藏着一些安全隐患。
Github之邮件配置信息泄露:site:Github.com smtp、site:Github.com smtp @qq.com
Github之数据库信息泄露:site:Github.com sa password、site:Github.com root password、
site:Github.com User ID=’sa’;Password
Github之svn信息泄露:site:Github.com svn、site:Github.com svn username

Github之综合信息泄露:site:Github.com password、site:Github.com ftp ftppassword、
site:Github.com 密码、site:Github.com 内部

0x20 .git 信息泄露

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 https://git-scm.com/
通过git init创建一个仓库。

Git信息泄露原理

通过泄露的.git文件夹下的文件,还原重建工程源代码。

解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 )

去.git/objects/ 文件夹下下载对应的文件

zlib解压文件,按原始的目录结构写入源代码
渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等安全漏洞。

Git实验环境搭建
将git init 目录下的内容部署到http服务器上,保留.git目录。git add  文件名、git commit -m “版本信息”

Git信息泄露利用

下载  git clone https://github.com/lijiejie/GitHack.git

使用 GitHack.py http://网址/.git/

0x21 CDN介绍

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

0x22 判断CDN存在

通过Ping判断是否存在CDN。

通过设置代理或者利用在线ping网站来使用不同地区的Ping服务器来测试目标。
http://ping.chinaz.com/

0x23 绕过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.info/  ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名

6、censys.io 等网络空间引擎查找关键字

7、APP客户端/SSRF漏洞/DOS CDN可能会成回源模式

0x24 验证真实IP

利用IP地址对Web站点进行访问,如果正常标题是真实IP地址。否则不为真。

第一章:渗透测试的本质信息收集相关推荐

  1. 菜鸟渗透日记30---python渗透测试编程之信息收集2-端口扫描

    书接上文 菜鸟渗透日记29---python渗透测试编程之信息收集1-主机发现 目录 端口概念简介 基于TCP全开的端口扫描技术 TCP全开端口扫描原理 设计一个基于TCP全开的完整端口扫描程序 基于 ...

  2. 渗透测试技术----被动信息收集(一)--nslookup、dig、DNS字典爆破、whois

    一.渗透测试流程 1.信息收集(包括被动搜集和主动搜集) 2.漏洞扫描 3.漏洞利用 4.提权 5.植入后门,清理痕迹 6.生成渗透测试报告 很多人在信息收集阶段大概会占用30%到50%的时间,由此可 ...

  3. 渗透测试如何学习? (*╹▽╹*) 信息收集 ~ 其一

    文章目录 简介 本博客学习基础 收集信息简介 收集那些信息 信息收集一(域名信息收集) 收集目标相关子域名 被动方式收集信息 方法一:Google语法 方法二:使用第三方网站接口查询 方法三:使用网络 ...

  4. 菜鸟渗透日记29---python渗透测试编程之信息收集1-主机发现

    目录 简述信息收集 主机状态扫描 基于ARP的活跃主机发现 ARP协议分析 利用ARP实现活跃主机的扫描python程序 基于ICMP的活跃主机发现 ICMP协议分析 利用ICMP实现活跃主机的扫描p ...

  5. 渗透测试前的信息收集(玄魂磐石计划课件搬运)

    1.常规信息收集之域名 备案号查询 备案号是网站是否合法注册经营的标志,可随时到国家工业和信息化部网站备案系统上查询该ICP备案的相关详细信息. 网站:www.beianbeian.com 子域名发现 ...

  6. 渗透测试-web渗透本质–信息收集

    web渗透本质–信息收集 文章目录 web渗透本质–信息收集 0x02 主动信息收集 1. 服务器和中间件信息 2. 端口信息 3. 子域名搜集 4. 域名目录遍历 5. 目标IP 0x03 被动信息 ...

  7. 基于Android设备的Kali Linux渗透测试教程第1章渗透测试

    基于Android设备的Kali Linux渗透测试教程第1章渗透测试 渗透测试(Penetration Testing)是一种通过模拟攻击者所采用的技术与方法,攻击目标系统的安全控制措施,并取得访问 ...

  8. 内网渗透(十三)之内网信息收集-收集域环境中的基本信息

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  9. 第一章 渗透测试之信息收集

    VMware安装:进入vmware官网(http://www.VMware.com/cn.html),点击左下角下载,导航栏中下载,根据操作选择合适的产品,完成下载. kali下载(www.kali. ...

最新文章

  1. 前端vue项目执行npm install 报错cd() never called()
  2. python 的下划线_
  3. python电影推荐系统的设计与实现_一种电影推荐系统的设计与实现
  4. 戏耍Transaction,多个连接的Transaction处理(非COM+)
  5. STM32L0 读取芯片温度与当前供电电压 STM32L051C8T6
  6. 8个很棒的 jQuery 倒计时插件和教程
  7. ORB-SLAM 解读(二) ORB描述子如何实现旋转不变性
  8. python win32api教程_Python win32api.GetSystemMetrics方法代码示例
  9. 03-0006 Python批量查询手机归属地
  10. MDK(keil5)的下载及安装教程
  11. 卡诺模型案例分析_KANO模型案例分析---来自58学车
  12. C语言入门-跑步问题
  13. Linux CentOS 大数据集群的基础配置(3) CHD分布式环境搭建
  14. 【ROS1】LeGO-LOAM-BOR简洁复现过程
  15. 【技美百人计划】屏幕空间实现dither等溶解效果
  16. 旅游流的概念_旅游流概念的研究的探讨.doc
  17. CTF|pwn栈溢出入门题level3解题思路及个人总结
  18. 2018哈理工院个人赛、校团队赛总结
  19. OpenCV中视频操作及人脸识别案例
  20. android仿微信充值布局,Android 高仿微信支付数字键盘功能

热门文章

  1. llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
  2. docx转doc时,防止公式被转成图片的解决办法
  3. Salesforce 能依靠Einstein在人工智能领域“突破重围”吗?...
  4. ios开发 把视频文件和图片保存到相册
  5. Android 存储文件或者创建文件夹报open failed: ENOENT (No such file or directory)
  6. 与计算机互动大学英语,【2017年整理】基于与网络和计算机的大学英语教学模式.ppt...
  7. vue遇到的生成条形码和打印问题的汇总
  8. 11.28 zed yolo ros 练习
  9. 智慧社区GIS系统开发详细设计
  10. MM 委外加工(Subconctracting)流程