信息收集
一、子域名
1. layer子域名挖掘机
2. oneforall工具
安装步骤:
apt-get update
apt-get install python3-pip
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help
执行语句:
python3 oneforall.py --target bihuo.cn run
3. phpinfo在线网站
https://phpinfo.me/domain
4. securityTrails平台
https://securitytrails.com/
这个网站是国外的,因此使用比较卡
5. subDomainsBrute工具
安装步骤:
pip3 install dnspython==2.2.1 async_timeout
执行语句:
python3 subDomainsBrute.py --full bihuo.cn
执行特别慢,出不来结果,网络还卡死了
6. 微步在线平台
https://x.threatbook.com/
只能看1k+条,多的需要充钱
二、端口
1. namp的windows版本
点开安装包程序,傻瓜式安装,全点下一步就行,但是运行需要注意,必须在nmap.exe程序的目录下,打开命令行,用法与linux版本的一样,主要在linux版本下讲用法
2. Zenmap图形化工具
安装windows版的nmap的时候,会自动安装Zenmap图形化工具,这个软件bug比较多,容易卡死,认识下就行
3. wireshark抓包工具
讲linux版本的nmap之前,先说个抓包的工具wireshark,burpsurte是抓http协议的抓包工具,wireshark是抓所有协议的抓包工具,kali中自带wireshark,直接打开即可使用
默认打开的是kali像外界发送的所有包信息
1. 如果只想看kali和java审计虚拟机的两个之间的包需要输入以下命令
ip.addr==192.168.11.131 && ip.addr==192.168.11.191
192.168.11.131为kali的ip
192.168.11.191为java审计主机的ip
这里有两个ip.addr赋值
一个是source,源ip
另一个是destination,目的ip
2. 如果只想看某个协议的包,著需要输入协议
比如: arp
只查看某个端口.比如80端口的包的信息,右键,选择Follow,选择TCP Stream即可,同样81端口的也是这样进行操作
4. nmap的linux版本
kali自带nmap,不需要安装,直接使用就行,Nmap默认扫描只扫描1000个最可能开放的端口
nmap 端口扫描工具
TCP的三次握手:
源 ---> SYN ---> 目标
源 <--- SYN+ACK <---目标
源 ---> ACK ---> 目标
端口的三个状态:
开放(open)
关闭(closed)
过滤(过滤指开启了防火墙)(filtered)
扫描方式:
半开式 -sS 进行不完整的三次握手
全连接 -sT 进行完整的三次握手
nmap扫描原理:
当使用半开式扫描时 根据响应包的不同判断目标端口的开放情况:
当目标开放时 此时nmap 向目标发送SYN 包 目标返回 SYN+ACK nmap 在返回RST
当目标端口关闭时 此时nmap 向目标发送SYN 包 目标返回RST +ACK
当目标端口被过滤 nmap 发送两个SYN包 无响应
当使用全连接扫描时 根据响应包的不同判断目标端口的开放情况:
当目标开放时 此时nmap 向目标发送SYN 包 目标返回 SYN+ACK nmap 在返回ACK 紧接着返回RST+ACK 完整的三次握手
当目标端口关闭时 此时nmap 向目标发送SYN 包 目标返回RST +ACK
当目标端口被过滤 nmap 发送两个SYN包 无响应
当使用-sU 时
当目标开放时 或者被过滤 无响应包
当端口被关闭时 返回 xxx unreachable
-sV 扫描目标端口具体服务
-O 扫描操作系统版本
-p 扫描指定端口 -p- 相当于 -p 1-65535 全端口扫描
-sP ping扫描 当目标位于同一网段 发送arp包 当目标位于非同一网段 发送icmp包
-Pn/-P0 非ping扫描 默认认为所有主机均在线
-A -sV + -O + --script + --traceroute 往往与-T 4 联合使用
-sN 发送标志为None的请求包
-sF 发送FIN标志位的请求包
-sA 扫描 发送标志位为ACK的请求包
-iL 读取扫描列表中的ip值
--exclude 不扫描某端口
nmap 192.168.11.0/24 --exclude 192.168.11.131
-S 伪造源ip
nmap -p 1-65535 -T4 -A -v -Pn -e eth0 --source-port 80 -S 192.168.11.66 eth0 192.168.11.191
--source-port 伪造源端口
-e 指定使用的接口
5. masscan
如何快速端口扫描,或者给你一个网段 如何判断端口 资产收集
MASSCAN 牺牲精度 换取效率的扫描工具
masscan 粗略扫描 根据扫描结果 使用nmap 精确扫描
masscan -p 1-65535 192.168.11.1/24 --rate=300000
三、robots.txt
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
尝试查看robots.txt文件 看是否有敏感的路径泄露
四、目录
1. 目录遍历漏洞
2. 御剑目录扫描工具
3. 7kbscan目录扫描工具
4. dirb目录扫描工具
5. dirbuster目录扫描工具
五、公司相关资产
1. 天眼查
https://www.tianyancha.com/
2. 企查查
https://www.qcc.com/
六、CMS指纹识别系统
CMS就是一些框架,有织梦(dedecms)CMS,帝国CMS,WordPress等等
知道了框架是什么,就可以根据框架的相关漏洞,来测试网站
1. 云悉
面试必答,主要网站,以后公司会给账号
http://www.yunsee.cn/finger.html
2. BugScaner在线网站
http://whatweb.bugscaner.com/look/
3. Detector 在线网站
https://cmsdetect.com/
4. builtwith在线网站
https://builtwith.com/
5. TideFinger工具
6. wappalyzer谷歌插件
7. whatruns谷歌插件
8. wpscan(针对WordPress框架)
WordPress 是一种使用 PHP语言和 MySQL数据库开发的开 源、免费的 Blog(博客,网志)引擎,用户可以在支持 PHP 和 MySQL 数据库的服务器上建立自己的 Blog
WordPress也爆发过很多安全漏洞,WordPress的专用扫描器wpsacn,WordPress wpscan集合了WordPress的基本上的所有漏洞的检测以及漏洞利用
wpscan --url https://pkdryfruitsupplier.com/ --proxy=http://192.168.11.191:7890
wpscan --url=https://pkdryfruitsupplier.com/ --proxy=http://192.168.11.191:7890 -e ap --api-token=eUb4FBDhMvh9FH6IKKHnSHhrwVAJMeipIEk0hxyihBU
测出https://pkdryfruitsupplier.com/ 这个网站的一个注册网站
https://pkdryfruitsupplier.com/wp-login.php?action=register
并根据注册的网站,利用一次性邮箱,注册了账号,并登录进去,那么我们测试的东西就比只给这个网站的测试内容多了
七、CDN
1. CDN介绍
cdn ===> content distribution network 内容分发网络
CDN就是内容分发网络,是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
假如说www.bihuo.cn的服务器在天津,北京和海南的用户去访问www.bihuo.cn,这时候,北京离天津近,可能访问速度就快,比如说看直播,北京这边可能都放完了,海南那边还在加载.
为了解决这样的问题,就引入了CDN,它是在cloud云上将用户访问的内容进行缓存分发,可以理解为在信号最好的时候备份放在云上,比如广州有一个,成都也有一个,海南离广州最近,他就不会访问天津的,而是去访问广州的
用户不会因为所处地的限制而感觉到明显的差异
CND 一般视频网站比较多
而且用的是UDP传输
进行不完整的三次握手
为什么不用TCP,因为TCP有丢包重发进制
如果说我看个视频,卡住了,TCP连接不上,那么它会一致丢包重发一致连接,视频就卡住了
但是用UDP,它就跳过了,之前丢失的数据相对没那么重要
一般游戏网站用的大都是C++,比CDN复杂多,为了保证游戏的流畅性
CDN可以用来做云waf,防止ddos攻击
ddos分布式拒绝服务攻击,原理就是用大量的虚假ip去访问一个服务器,让原本想访问这个网站的普通用户们无法去正常访问,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。
ddos攻击也可以理解,一个隧道只能有来回四个车道,但是现在给塞了一百个车,这样就卡死了
那么我们的CDN可以防止ddos攻击,本来www.bihuo.cn只在天津有一个服务器,但是现在多个CDN,多个服务器了,有效防止的办法就是烧钱,买大量的服务器,或者扩展服务器的配置
2. CDN特征
CDN核心: 各个地方的用户会被分发到相对最优的服务器来处理
意味着有多个ip访问这个最优的服务器
那么我们可以采用 多ping技术 ,来迅速判断CDN
多ping技术的在线网站 https://ping.chinaz.com/
3. CDN绕过
真实的ip只有一个,但是大量的CDN,使原本的网站有了大量的对应的ip
就比如说本来www.bihuo.cn在天津,我们在天津访问到的ip是真实的ip,但是在海南可能访问到的www.bihuo.cn可能是另一个ip,其他地方可能是其它ip
并且CDN可以做waf,如果我们可以绕过CDN直接去访问真实的服务器,那么就可以绕过许多waf了
(1) 内部邮箱源,收集到内部邮箱服务器IP地址(只是有可能存在)
(2) 网站phpinfo文件 phpinfo.php
这种方法,也只限制有phpinfo的网站
nginx反向代理,隐藏真实的ip
(3) 分站IP地址
查询子域名 CDN很贵,很有可能分站就不再使用CDN。
枚举子域名,查看子域名是否CDN加固
找出子域名
加上多ping判断CDN
也只是可能性判断
没找到
(4) 国外访问 https://asm.ca.com/en/ping.php
这个网站挂了,了解下原理就行
原理:
很早之前的网络时期
只有国内的CDN进行内容分发
国外的ip想访问网站的时候,无法判断离哪个CDN近,因此会返回真实的ip
通过多ping技术,也可以看到某些国外的ip访问www.bihuo.cn网站,也会给出真实的ip
(5) 查看历史ip
在一个网站刚开始注册的时候,那时候刚起步,不可能马上就考虑CDN,都是先考虑开发,有一点的资产后,才会弄CDN,那么我们可以通过查看以前的历史的ip,越早越好,大概率的就有可能是真实的ip
(a) 微步在线,这个需要充钱
(b) securityTrails平台
(6) 使用ddos
使用ddos把站打瘫痪:
原理:国内的cdn往往对拦截的ddos流量,是计费的.如果说你发送过的包的流量大于服务器所购买的服务的容量,此时cdn的运营商就停止提供服务,并且把所有的流量转发到真实的ip.
八、C段或旁站
C段ip
子网掩码 255.255.255.0
192.168.1.1-254
1.1.1.1
1.1.1.2
旁站: 同服务器下的不同的网站
比如说www.sqli.com 和 www.upload.com 都在java审计虚拟机上
我们配置的靶场,当在www.sqli.com无法写入一句话的时候,我们找到www.upload.com上传一句话木马
C段或旁站网站: https://c.webscan.cc/
九、搜索引擎
1. Zoomeye搜索引擎
https://www.zoomeye.org/
语法:
空格 代表或运算
+ 代表与运算
- 代表非运算
() 代表优先运算
2. fofa搜索引擎
https://fofa.info/
语法:
&& 与运算
|| 或运算
3. 360空间测绘
https://quake.360.net/