当前位置:网站首页>web漏洞之需要准备的工作
web漏洞之需要准备的工作
2022-07-31 00:00:00 【Miracle_ze】
一、信息收集
1.信息收集与社工溯源
1.收集到信息如果是收集到应用版本,可以根据版本漏洞入侵。
2.社工库来溯源信息。
补充:
1、robots.txt 可以查看网站不让访问的子网站,有的网站不让你看报错403存在不让你看
2、通过ping的TTL,为之前52判断为linux操作系统,为之前128为windows操作系统。系统找寻漏洞
3、通过对网站字母进行大小写修改。大写为相应服务器主机为Linux(区分大小写),大小写无影响为Windows。
2.信息收集总览
1.DNS
Domain Name system 域名系统:提供域名与IP地址之间映射,大型企业网站运转核心。
收集原因:
1.确定企业网站运行规模
2.可以从DNS中收集子域名、IP等。
3.控制网站解析
2.子域名【主要方式】
子域名:mail.XXX.com
可以通过字典来找有哪些子域名,就匹配mail这种内容
子站的安全系数没有主站小
收集原因:
1.确定企业网站运行数量,从而进行下一步(安全评估)准备
2.获得不同子域名所映射的IP,从而获得不同C段
3.寻找更大的安全脆弱点和面
3.C段【目前退出历史舞台】
什么是C段:
在IP地址的4段号码中,前3段号码为网络号码,剩下的1段号码为本地计算机的号码
如:192.168.1.5/24
1.这个ip绑定一个网站,但是这个网站没有漏洞。如果两个网站还可以从旁站入手,可是一个并且没有漏洞很 难处理。于是把192.168.1.0-192.168.1.254全部进行扫描,对于存在的计算机服务器尝试黑掉。
2.ARP欺骗:当黑掉后如果将其黑掉显示黑页,当人访问其实访问是你如果你就可以获取信息。
收集原因:
1.确定C段存活主机数量
2.确定C段中主机的端口,服务,操作系统等
4.邮箱
收集原因:
1.通过分析邮箱格式和后缀,可以得知邮箱命名规律和邮箱服务器
2.为爆破登录表单收集数据,可形成字典
3.发送钓鱼邮件,执行高级APT控制
5.指纹
web指纹
获取运行的脚本语言,开发框架,CMS,寻找脆弱点(漏洞)
如:.action 一般可以确定为Struts2
如:Powered by **
中间件指纹 apache nginx tomcat jboss
1.获取中间件使用的产品和版本
2.中间件就是网站搭建用的apache、nginx、tomacat与jboss等等。
3.通过产品和版本查询是否有漏洞存在,如:struts2反序列化,iis文件解析
系统指纹
获取操作系统使用的产品和版本 可以在以后渗透中提供渗透基准。
如:大小写,shell部署方式
6.社工库
寻找指定目标的已经泄露的数据
如:邮箱,获取到企业内部人员已经泄露的密码,可以在撞库,爆破中使用 如:姓名,手机号,找回密码,重置信息
7.钓鱼攻击
1.邮件、链接、办公文件
2.构造鱼叉攻击和水坑攻击
鱼叉攻击: 计算机病毒术语,通常是指利用木马程序作为电子邮件的附件,发送到目标电脑上,诱导受害者去打开附件来感染木马。
水坑攻击:在受害者必经之路设置了一个“水坑(陷阱)”。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
鱼叉主动攻击,水坑被动攻击
3.绕过边界防御设备
4.从内部瓦解防御网络,直接反弹shell
3.DNS介绍
在DNS能外带数据时注入时很快
要求:
1.熟悉DNS基本原理
2.掌握DNS记录查询方法
3.掌握域名信息查询方法
4.了解CDN
1.Domain Name system 域名系统
将域名和IP地址相互映射的一个分布式数据库
协议:TCP/UDP
端口:53
域名长度:每一级域名长度的限制是63个字符,域名总长度则不能超过253个 字符
2.DNS基本原理
1、主机向本地域名服务器的查询一般都是采用递归查询。
所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
3、本地域名服务器向根域名服务器的查询的迭代查询。
迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。
3.DNS的A记录【希望记忆】
A (Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的webserver上。同时也可以设置域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DN S,当你输入域名的时候给你引导向设置在DN S的A记录所对应的服务器
简单来说:A记录指定域名对应的IP地址
查询方法:
Windows:nslookup www.xiangoupeng.com
Linux:Dig www.xianoupeng.com [+short] [@server][+trace]
Windows
Linux
4.DNS的NS记录【希望记忆】
NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
查询方法:dig –t NS www.163.com
-t 用来指定查询的种类
5.DNS的TXT记录
TXT记录,一般指某个主机名或域名的说明。
查询方法:dig –t TXT www.163.com
6.DNS的MX记录【希望记忆】
MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器
用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器
查询方法:dig –t MX 163.com
7.DNS的CNAME记录【希望记忆】
CNAME记录可以将注册的不同域名都转到一个域名记录上,由这个域名 记录统一解析管理
好处在于要更新全部域名时,更改这一个就可以一起修改更新了。
查询方法:dig –t CNAME 163.com
8.域名信息查询
Whois查询域名的IP以及所有者等信息的传输协议【现如今成功率太小了】
3.子域名收集
要求
1.了解收集子域名的原因
2.熟练掌握子域名收集方法
1、子域名收集原因
1、子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现的几率。
2、有些隐藏的、被忽略的子域上运行的应用程序可能帮助我们发现重大漏洞。
3、在同一个组织的不同域或应用程序中往往存在相同的漏洞
子域名收集网站:FOFA
2、子域名收集方法
1、爆破
原理:通过字典匹配枚举存在的域名
layer4.2 有175万条字典;Layer子域名挖掘机是一款域名查询工具,可提供网站子域名查询服务。
Kali:
1.subDomainsBrute https://github.com/lijiejie/sub Domains Brute
2. dnsmap
Windows:
1.fuzzDomain 子域名挖掘机
2、搜索引擎
原理:通过搜索引擎获取已经爬取的子域名
语法:Site:163.cn
工具:
1.theharvester【针对国外网站】
Theharvester 利用google, bing, pgp, linkedin, google-profiles, jigsaw,twitter, 公开 信息收集
可以获取子域名,邮箱,主机,员工姓名,开放端口,banner
常用语法:theharvester –d xianoupeng.com –b all
2.aquatone
不只通过简单的子域爆破,同时还会利用各种开放的互联网服务和资源,来协助其完成子域枚举任务,增加子域名爆破的成功率
aquatone分为三个阶段:发现,扫描,收集
aquatone-discover 发现
通过获取google、shodan、censys、爆破等多种方式获取目标存在的域名
常用语法:aquatone-discover –d xianoupeng.com –t 1
aquatone-scan 扫描
经过发现阶段获取到域名,然后扫描域名主机存活和开放端口
常用语法:aquatone-scan –d xianoupeng.com –p ‘port’-t ‘threads’
quatone-gather 收集
经过扫描以后发现存活的域名和端口,aquatone-gather 将自动访问存活的 域名并截图
常用语法:aquatone-gather -d xianoupeng.com
3、在线网站
子域名收集网站:FOFA
www.virustotal.com
dnsdumpster.com
tool.chinaz.com
FOFA 与layer4.2挖掘机联用最好
3、C段扫描
1.了解C段扫描原因
2.熟练掌握C段扫描方法
1、C段扫描原因
1、收集C段内部属于目标的IP地址
2、内部服务只限IP访问,没有映射域名
3、更多的探测主机目标资产
2、C段扫描方法
扫描工具:
Nmap
Masscan
1、Nmap
快速扫描大型网络
可以获得主机运行的端口,服务,系统指纹
提供上百个扩展脚本
nmap参数
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans 【需要管理员权限】
-sU: UDP Scan 【不准确】
-sN/sF/sX: TCP Null, FIN, and Xmas scans 【扫描容易被发现】
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info 【服务与版本】
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan 【简单扫描】
-sn: Ping Scan - disable port scan 【检测主机存活】
ORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports 【默认1000】
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
OS DETECTION:
-O: Enable OS detection 【检测出系统】
IMING AND PERFORMANCE:
Options which take <time> are in seconds, or append 'ms' (milliseconds),
's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T<0-5>: Set timing template (higher is faster) 【越高越快,快了不准确。一般3-4】
除了绕过防火墙与扫描buff,使用这个命令就很全了
nmap -sS -T4 -p1-2000 -Pn -sV -O IP地址 【加了-O -sV 扫描慢因为这两个工作量大】
map-扫描C段主机存活
Nmap –sn –PE -n 192.168.1.1/24 –oX out.xml
-sn 不扫描端口
-PE ICMP 扫描
-n 不进行dns解析
Nmap-定向端口扫描
当ip很快,网段也许就是慢点
Nmap –sS -Pn –p 3389 ip
-sS 半开放扫描
-Pn 不进行主机存活探测
Nmap-全端口扫描
Nmap –sS -Pn –p 1-65535 -n ip
扫描方式:半开放扫描
Nmap-服务扫描
Nmap –sS -sV –p 1-65535 -n ip
扫描方式:半开放扫描
显示出端口开放的服务
2、Masscan
Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网, 每秒传输1000万个数据包 扫遍 ipv4
允许任意地址范围和端口范围
Masscan-安装
sudo apt-get install git gcc make libpcap-dev(安装必备环境,kali已经 默认安装完成)
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make(编译)
Masscan-使用
masscan –p 80 ip/24 --rate 10000 -oL output.txt
-p 设置端口
--rate 发包速率
-oL 输出位置
了绕过扫描特定ip,可以添加 --excludefile
Masscan –p 80 ip --excludefile special.txt
自定多种格式输出
-oX 输出xml
-oJ 输出json格式
-oL 输出简单列表
Masscan-注意问题
扫描选项中必须添加端口 –p、–ports 1-65535
目标主机是IP地址,不是域名
3、Masscan和Nmap工具结合
一般情况下,可以先使用masscan对目标IP(通常是一个网段)进行全端口 扫描,然后再使用nmap对存活主机的开放端口进行扫描,找出对应端口 服务存在的漏洞
使用masscan对目标IP进行扫描的原因就是因为其速度快于nmap。
4、web目录扫描
了解目录扫描原因
熟练掌握目录扫描方法
1、目录扫描原因
寻找到网站后台管理
寻找未授权界面
寻找网站更多隐藏信息
2、目录扫描方法
robots.txt
搜索引擎
爆破
1、robots.txt
Robots协议 (Robots Exclusion Protocol) “网络爬虫排除标准”,网站 通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。同时也记录网站所具有基本的目录
2、搜索引擎
搜索引擎会爬取网站下目录,并且不需要触碰网站任何防御设备
语法:site:xianoupeng.com
3、爆破
通过字典匹配网站是否返回相应正确状态码,然后列出存在的目录
爆破可能会触发网站防火墙拦截规则,造成IP封禁
爆破—工具
1.dirb
2.dirbuster
3. 御剑
爆破—DIRB
DIRB是一个Web内容扫描程序
通过字典查找WEB服务器的响应
DIRB只能扫描网站目录不能扫描漏洞
方法:dirb https://www.xianoupeng.con /XXX/wordlist.txt
参数:
-a 设置User-Agent,(Default is: “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”)
-X XXX 在每个词后增加XXX后缀,比如“.html”、“.php”
-z number 延迟多少毫秒后,再发包。比如间隔1秒发包,-z 1000
-b 不扫描…/或者./
-c 设置Cookie
-E 设置证书文件
-o outfile_file 保存扫描文件
爆破—dirbuster
DirBuster多线程Java应用程序
1、主要扫描服务器上的目录和文件名
2、扫描方式分为基于字典和纯爆破
3、OWASP 下开源项目
5、指纹识别
掌握系统指纹、中间件指纹、web程序指纹、防火墙指纹识别方法
熟悉目前厂商使用的开发框架和开发组合
了解目前市面所具备的WAF特征
1、系统指纹识别
方式一
通过TCP/IP数据包发到目标主机,由于每个操作系统类型对于处理TCP/IP数据 包都不相同,所以可以通过之间的差别判定操作系统类型。
识别方法
nmap –sS –Pn –O ip
nmap 识别操作系统指纹必须使用端口,所以不允许添加-sn参数
方式二 端口服务识别
每个操作系统都有特有的服务和端口,
如:
windows 桌面连接使用的3389 RDP协议
445端口 windows 的smb协议开启端口
iis 80端口
识别方法 :nmap -sS -sV ip
2、中间件指纹识别
方法
通过http返回消息中提取server字段
通过端口服务探测中间件
通过构造错误界面返回信息查看中间件
方法一、通过http返回消息中提取server字段
方法二、通过端口服务探测中间件
常用端口:Tomcat、Jboss 8080,weblogic 7001
方法三、通过构造错误界面返回信息查看中间件
主要构造不存在的路径和畸形数据
3、Web程序指纹识别
识别目标
1、开发语言
2、开发框架
3、第三方组件
4、CMS程序
5、数据库
1、开发语言
后缀名识别 .asp 、.php、.jsp
如果无法通过后缀名识别,可以通过抓包查看与后台交互点,如:登录,查询
http返回消息头 x-Powered-By
cookie:PHP
SESSIONID -> php, JSP
SESSIONID -> jspASP
SESSIONIDAASTCACQ -> asp
2、开发框架
php的thinkphp框架识别方法特定ico图标
Action后缀 90%几率struts2或者webwork
do后缀 50%几率几率struts2
form后缀 spring mvc
url路径 /action/xxx 70%60%几率spring mvc
Vm后缀 90%几率VelocityViewServlet
jsf后缀 99%几率Java Server Faces
3、第三方组件
一般包括流量统计、文件编辑器、模板引擎
识别方法:一般目录扫描
FCKeditor
CKEditor
编辑器
4、CMS程序
特定文件夹:dede/、admin/admin_Login.aspx
Powered by ***
网站favicon图标
5、数据库
常规判断,asp->sql server ,php->mysql,jsp-oracle
网站错误信息
端口服务,1443 -> sql server,3306 -> mysql, oracle—>1521
6、在线探测
浏览器插件 wappalyzer:可以探测内容管理系统,平台,开发语言,框架甚至更多
云悉 https://www.yunsee.cn/:在线自动探测目标网站的数据库,开发语言,操作系统,web容器,CMS,开 发框架
6、防火墙指纹识别
识别方法
sqlmap –u “domain” --identify-waf
边栏推荐
猜你喜欢
2D转换模块&&媒体查询
360核心安全大脑3.0正式发布,构建政企用户的“能力中枢平台”
.NET Cross-Platform Application Development Hands-on Tutorial | Build a Kanban-style Todo App with Uno Platform
joiplay模拟器如何使用
transition transition && animation animation
写了多年业务代码,我发现了这11个门道,只有内行才知道
Apache Doris series: In-depth understanding of real-time analytical database Apache Doris
封装、获取系统用户信息、角色及权限控制
uniapp folding box secondary loop
Reverse linked list - in-place inversion method
随机推荐
46.<list链表的举列>
joiplay模拟器rtp如何安装
在微服务中使用事件溯源的六大原因 - Herath
"Wei cup" school more than 2022 cattle summer camp 4 Nancy (polocy) pelosi article variance law of Arts
What are the efficient open source artifacts of VSCode
45.【list链表的应用】
实验8(vlan实验)
MPI简谈
WebServer流程讲解(注册模块)
递增三元组
In MySQL, the stored procedure cannot realize the problem of migrating and copying the data in the table
How to solve types joiplay simulator does not support this game
"NIO Cup" 2022 Nioke Summer Multi-School Training Camp 4 DHKLN
mysql 中手动设置事务提交
MPI简谈
How to ensure the consistency of database and cache data?
45. [Application of list linked list]
机器学习1一回归模型(二)
二叉查找树的定义,查找,插入,删除
ZZULIOJ:1119: sequence order