初步认知
什么是信息搜集?答:信息搜集分为主动信息搜集和被动信息搜集
主动信息搜集是与标主机进行点接交互,从币拿到我们的目标信息,而被动信息搜集恰恰与主动信息搜集相反,不与目标主机进行直按交互,通过搜索引擎或者社交等方式间接的获取目标主机的信息。当我们拿到一个标进行渗透测试的时候,我们关注目标主机的whois信息,子域名,目标IP,旁站C段查询,邮箱搜集,CMS类型,敏感目录,端口信息,服务器与中问件信息,其他(防火墙)
分类解析
Whois信息()
- 有的域名会有隐私保护
- whios信息可以获取关键注册人的信息,包括注册公司、注册邮箱、管理员箱、管理员联系手机等对后期社工很有用。同时该工具还可以查询同一注册人注册的具他的域名,域名对应的NS记录、MX录,自动识别国内常见的托管商(万网、新网等)。常用的工貝有: chinaz kali下的wns命令。
- 备案号查询:
http://www.beianbeian.com
子域名
1.搜索引擎
2.子域名挖掘机 Layer
3.https://phpinfo.me/domain/
(phpinfo包含)
4.subDomainsBrute
5.穷举爆破
目标IP
- - 没加CDN的网站只需要: ping ww.chabug.org就行了
- - 加了CDN:
- 绕过CDN:
https://www.cnblogs.com/qiudabai/p/9763739.html
https://www.cnblogs.com/xiaozi/p/12963549.html
https://blog.csdn.net/aq_36119192/article/details/89151336
旁站C段
旁站是和目标网站在同一合服务器上的其它的网站,如果从目标站本身找不到好的入手点,这时如果想快速拿下目标的话。一般都会先找个目标站点所在服务器上其他的比较好搞的站下手,然后再想办法跨到真正目标的站点目录中。C段是和目标机器IP处在同一个C段的其它机器通过目标C段的其他任一台机器,想办法跨到我们的目标机上。
邮箱
首先确定目标的邮件服务器所在的真实位置,看看邮件服务器自身有没有什么错误配置。比如:有没有禁用VREY或者EXPN命令导致用户信息泄。然后从whois中获取域名的注册人、管理员邮箱,利用搜索引擎或者社工库查看有木有泄露的密码,然后尝试泄露的密码进行登录,最后从目标站点上搜集邮箱。倒如网站上的联系我们,我们发发邮件钓鱼什么的。
theharester
CMS类型
敏感文件
.git .svn .DB .store源代码泄露
扫描 御剑 dirbrute
端口信息
扫描全端口一股使用Nmap,masscan进行扫描探测
自写脚本https://www.chabug.org/tools/510.html
不同端口对应服务
服务器与中问件信息
操作系统
可以通过大小写的敏感性来判断操作系统
不同的操作系统的默认TTL值(TTL(Time To Live,生存时间)是IP协议包中的一个值,当我们使用Ping命令进行网络连通测试或者是测试网速的时候,本地计算机会向目的主机发送数据包,但是有的数据包会因为一些特殊的原因不能正常传送到目的主机,如果没有设置TTL值的话,数据包会一直在网络上面传送,浪费网络资源。)是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:
1、WINDOWS NT/2000 TTL:128
2、WINDOWS 95/98 TTL:32
3、UNIX TTL:255
4、LINUX TTL:64
5、WIN7 TTL:64
数据包在传送的时候至少会经过一个以上的路由器,当数据包经过一个路由器的时候,TTL就会自动减1,如果减到7了还是没有传送到目的主机,那么这个数据包就会自动丢失,这时路由器会发送一个ICMP报文给最初的发送者。从而判断经过的路由数。
### 服务端
JAVA平台
- EJB:是一个相对重要一些的软件,它将一个特殊业务功能的逻辑组合到应用程序中
- POJO:(简单传统Java对象)
- Java Servlet
- Java Web容器
- 身份验证-JAAS、ACEGI
- 表示层-SiteMesh、Tapestry
- 数据库对象映射-Hibernate
- 日志-log4j2
-
客户端功能
- JavaScript
- 文档对象模型(DOM):可以通过其API查询和操纵的HTML文档的抽象表示形式
- JSON(对象表示法)
- 同源策略
- 模糊数据:有时候,通过客户端传送的数据被加密或进行了某种形式的迷糊处理,变得晦涩难懂
- HTML表单长度限制
- 绕过JS
### web
核心防御机制
- 身份验证
- cookie:expires用于设定cookie的有效时间;domain用于指定cookie的有效领域;Httponly如果存在,则将仅仅在HTTPS请求中提交cookie
- 会话管理
- 证书
### 访问控制
HTTP方法:GET方法/POST方法
**状态码**
```
1xx-提供信息;
2xx-请求被成功提交;
3xx-客户端被重定向到其他资源(302暂时重定向、301永久重定向)
4xx-请求包含某种错误(400提交了一个无效1请求,eg:在URL中插擦入了一个空格符、401与403不管是否通过验证,禁止任何人访问、404请求资源不存在)
5xx-服务器执行请求时遭遇到错误
### 编码方案
1.URL编码
2.Unicode编码
3. HTML编码
4.Base64编码
5.十六进制编码
### 其他(防火墙)
Waf防火墙: https://github.com/Ekultek/WhatWaf
历史漏洞信息:https://bugs.shuimugan.com/
源代码:个别网站他的图片上传到了后台目录下,在引用的时候就可能会暴露自己的后台
BurpSuite: Spider爬虫模块 Scanner扫描模块(主动式)Target模块(被动式)
**扫描器**
1. 御剑 Wwwscan W9scan awvs...
2. 坏处:主动式日志文件庞大,对主机影响较大
### 其他方式
- 解决 DEDECMS历史难题--找后合目录
- https://xz.aliyun.com/t/2064
- Google搜
- 在 robots中如果没有禁止搜索引擎录后台的话、可以用这种法
- ondraw.chabug.org intitle后台管理登录 sltewww.chabug.org intext登录
- 更多语法https://zhuanlan.zhihu.com/p/22161675
### Robots.txt
robots. txt(统一小写)是一种存放于网站根目录下的ASC编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站的哪些搜索内容是不因被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以 Robots. txta的文件名应统一为小写 obots.t应放置于网站的根目录下
SSL查询:https://censys.io/
## 攻击流程:
客户端确认-服务器没有采用确认检查
数据库交互-SQL注入
文件上传与下载-路径历遍漏洞,存储型XSS
显示用户提交的数据-CSRF
动态重定向-重定向,消息头注入攻击
社交网络功能-用户名枚举,XSS
登录-用户名枚举,暴力破解,弱口令
多阶段登录-登录缺陷
会话状态-可推测出令牌,令牌处理不安全
访问控制-水平,垂直提权
用户伪装功能-提权
使用明文通讯-会话劫持,收集证书与其他敏感信息
外部链接-Referer消息头中查询字符串参数泄露
外部系统接口-处理会话与/或访问控制的快捷方式
错误消息-信息泄露
电子邮件交互-电子邮件注入,命令注入
本地代码组件或交互-缓冲期溢出
使用第三方应用程序组件-已知漏洞
以确定WEB服务器软件-常见的配置薄弱环节,已知软件程序缺陷