一、kali视频学习
(一)、漏洞分析之数据库评估(一)
WEB层与数据库连接的漏洞连接在安全测试中并不少见,OWASP中的SQL注入漏洞便是因此产生。下面对kali Linux对数据库评估工具的分类进行介绍。
1.BBQSql(半自动)
BBQSql是一个Python编写的盲注工具,当检测可疑的注入漏洞时会很有用,允许客户自定义参数。
2.DBPwAudit(数据库用户名密码枚举工具)
3.HexorBase(开源)图形化的密码破解与连接工具
4.Jsql Injection
Jsql是一款轻量级安全测试工具,可以检测SQL注入漏洞。它跨平台(windows,linux,Mac OSX,Solaris)/开源且免费。将存在注入漏洞的URL贴进来就可以进行相应的漏洞利用;图形化界面比较亲民,但使用效果有待改善。
5.MDBTools
包括MDB-Exprot,以及MDB-Dump, mdb-parsecsv,mdb-sql,mdb-tables等子工具,具体环境具体使用。
6.Oracle Scanner
Oscanner是一个用java开发的Oracle评估工具,它是基于插件的结果,当前由两个插件可以做:
7.SIDGusser
同样是针对Oracle的SID进行暴力枚举工具,SID为Oracle实例名,Oracle连接字符串,通过实例名+用户+密码连接。
8.SqIDICT 用户名枚举工具,通过Wine运行
(二)kali漏洞分析之数据库评估二
1.tnscmd10g
允许向Oracle注入命令
2.Sqlsus
Sqlsus是一个开源的MYSQL注入和接管工具,Sqlsus使用perl编写,基于命令行界面,可以获取数据库结构,注入自己的SQL语句,从服务区下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等等。最好用的两点就是注射获取数据速度非常快,可自动搜索可写目录。
可以看到Sqlsus中只有四个参数命令,要注入语句,首先-g生成一个文件,进行编辑,在文件中标红的框内插入想要测试的语句,写入地址。
启动并测试命令:sqlsus test.conf
获取数据库数据
查看全部数据库名字:sqlsus> get databases
设定数据库: sqlsus> set databases
获取表: sqlsus> get tables
3.Sqlninja(sql注入的神器)
Sqlninja是一款perl编写的,侧重于获得一个shell。Sqlninja是专门针对Microsoft SQLServer的sql注入工具。可找到远程SQL服务器的版本和特征;对管理员口令“sa”进行强力攻击;一旦找到口令就将特权提升到“sa”权限;如果原始的xp_cmdshell被禁用后,就创建一个定制的xp_cmdshell;不需要FTP连接;为了找到目标网络的防火墙所允许的端口,可以实施针对目标SQL服务器的TCP/UDP端口扫描;逃避技术,使注入代码“模糊”不清,并且混淆/绕过基于强命的IPS和应用层防火墙;采用“盲目执行”攻击模式,可以用于发布命令并执行诊断;如果得到权限为sa,可以结合msf进一步对目标主机进行渗透。
4.Sqlmap
SQLMAP是一个开源的渗透测试工具,是用Python编写。主要用于自动化的侦测和实施SQL注入攻击以及渗透数据库服务器。配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同的数据库指纹信息,还可以从数据库中提取数据,有很强大的抓取数据的能力。
(三)kali漏洞分析之Web应用代理
1.Burp Suite
是用于攻击web应用程序集成平台。通过默认端口8080上运行,使用这个代理,可以截获客户端到web应用程序的数据包。
打开后发现有很多标签页:
Proxy代理模块作为BurpSuite的核心功能,拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。首先建立代理监听(Proxy–> Options功能下),可以看到默认值127.0.0.1,端口8080(可以点击Edit进行修改,或者添加新的监听端口)。然后打开浏览器,点击Preferences->Privacy->Advanced->Network->Settings,设置HTTP代理和端口。
这时我们访问一个地址,比如百度,发现并不能马上打开一个界面,此时Burp Suite多了一个get请求:
点击forward,这时百度页面打开:
当利用百度查询信息时,发现Burp Suite多了几个get请求,如果将其撤回,那么页面出错:
2.OwaspZAP
攻击代理,是一款查找网页的应用程序漏洞综合渗透测试工具。包含拦截代理,被动处理,暴力破解,端口扫描,以及蜘蛛搜索等功能。页面中的中文标签比较亲民:
3.paros
paros proxy,这是一个对Web应用程序的漏洞进行评估的代理程序,基于Java的Web代理程序,可评估Web应用程序的漏洞。它支持动态的编辑/查看 HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个Web通信记录程序,Web圈套程序(spider),hash计算器,还有一个可以测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。该工具检查漏洞形式包括:SQL注入、跨站脚本攻击、目录遍历等。
4.vega扫描漏洞及代理
这是一个开源的web应用程序安全测试平台,vega能够帮助你验证SQL注入、跨站脚本(XSS)、敏感信息泄露和其他一些安全漏洞。vega使用java编写,有GUI,可以在Linux、OS X和windows下运行。vega类似于paros proxy、 Fiddler、skipfish and ZAproxy
5. WebScarab
这是一款代理软件,包括HTTP代理,网络爬行、网络蜘蛛,会话ID分析,自动脚本借口,模糊测试工具,WEB格式的编码/解码,WEB服务描述语言和SOAP解析器等功能模块。WebScarab基于GNU协议,使用Java编写,是WebGoat中所使用的工具之一。
端口监听:
(四)kali漏洞分析之BurpSuite
Burp Suite是一个Web应用程序集成攻击平台,它包含了一系列burp工具,这些工具之间有大虽接口可以互相通信,这样设计的目的是为了促进和提高整个攻击的效率。平台中所有工具共享同一 robust 框架,以便统一处理HTTP请求,持久性,认证,上游代理,日志记录,报帑和可扩展性。Burp Suite 允许攻击者结合手工和自动技术去枚举、分析、攻击Web应用程序。这些不冋的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。
-
Proxy提供一个直观、友好的用户界面,它的代理服务器包含非常详细的拦截规则,井
能准确分析HTTP消息的结构与内容 -
Spide爬行蜘蛛工具可以用来抓取目标网站,以显示网站的内容,基本结构和其他功能
当浏览Web应用时,spider会从HTML响应内容中主动生成一份URL列表,然后尝试连接URL。首先点击Target–> Site Map标签,然后右键域名,选择“Add To Scope”:
- Repeater 可手动重新发送单个HTTP请求
- Intruder 是burp套件的优势,提供一组特别有用的功能。它可以自动实施各种定制攻击,包括资源枚举、数据提収、模糊测试等常见漏洞等。在各种有效的扫描工具中,它能
够以最细化、最简单的方式访问它生产的请求与响应,允许组合利用个人智能与该工具的控
制优点。 - Sequencer 对会话令牌,会话标识符或其他出于安全原因需要随机产生的键值的可预测
性进行分析。 - Decoder 转化成规范的形式编码数据,或转化成各种形式编码和散列的原始数据。它能
够智能识別多种编码格式,使用启发式技术。 - Comparer 执行比较数据之间的任何两个项目(一个可视化的“差
异”)。在攻击一个Web应用程序的情况下,这一要求通常会出现当你想快速识别两个应用
程序的响应之间的差异(例如,入侵者攻击的过程中收到的两种反应之间之间,或登录失败
的反应使用有效的和无效的用户名)之间,或两个应用程序诘求(例如,确定不同的行为引
起不同的请求参数)
(五)kali漏洞分析之Fuzz工具
1.Bed.pl
Bed是一个纯文本协议的Fuzz工具,能够检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。
可以针对不同的协议使用不同的插件
-s 针对FTP协议,FTP参数
-t 目标IP地址
-p 目标端口
-o timeout
发送一连串畸形数据包,尝试使程序报错,进行判断。
2.Fuzz_ipv6
THC出品的针对IPV6协议的模糊测试工具
3.0hrwurm(RTP fuzzer)(不常用)
4.PowerFuzzer
5.Wfuzz
针对WEB应用的模糊测试工具,可以进行web应用暴力猜解,也支持对网站目录、登录信息、应用资源文件等的暴力猜解,还可以进行get及post参数的猜解,sql注入、xss漏洞的测试等。所有功能依赖于字典。
登录get请求,登录页面口令猜解,忽略404页面
使用参数如:
wfuzz -c -z file,users.txt -z file,pass.txt -hc 404 http://www.site.com/log.asp?user=FUZZ&pass=FUZZ
页面数目猜解
wfuzz -c -z range,1-10 --hc=BBB http://www.site.com/FUZZ{something}
与BurpSuite相比更轻量
6.SFuzz:Simple-Fuzzer
7.XSSer
针对XSS漏洞的挖掘
xsser --gtk 图形化界面
对一个页面或点进行xss测试,判断是否有XSS的漏洞
二、教材学习总结
1.Web应用程序安全攻防
1.1 web应用体系结构及其安全威胁
- web应用体系结构
“瘦”客户端:浏览器,完成数据显示与展示内容的渲染功能;
“胖”服务器:web服务器软件、web应用程序、后端数据库。
通过经典三层架构:表示层、业务逻辑层和数据层来组织和构建。
传输协议HTTP/HTTPS:
1)超文本传输协议HTTP无状态、ASCII码明文传输、运行于众所周知的TCP80端口。特点:简单、流行、易受攻击。
2)加密传输的HTTPS协议,使用ssl/tls隧道技术,采用多种认证协议实现对用户身份的人认证与控制。
web应用安全威胁:
1)针对浏览器和终端用户的web浏览安全威胁:以浏览器渗透攻击为核心的网页木马、网站钓鱼。
2)针对传输网络的网络协议安全威胁:针对HTTP明文传输的敏感信息监听、假冒身份攻击、拒绝服务攻击等。
3)系统层安全威胁:远程渗透攻击和本地渗透攻击温威胁。
4)web服务器软件安全威胁:利用漏洞实施渗透攻击、获取敏感信息。
5)web数据安全威胁:窃取、篡改、输入不良信息。
1.2 Web应用程序安全攻防技术概述
信息收集内容包括:
服务器域名
ip地址和虚拟ip地址
web服务器端口与其他开放服务
web站点类型和版本
web应用程序类型和版本
web服务器和web应用程序中存在的安全漏洞信息
方式包括:
手工审查web应用程序结构与源代码
自动下载与镜像web站点页面:lynx、wget、teleportpro、offline explorer等web站点镜像软件。
使用google hacking技术审查与探测web应用程序
web应用程序安全评估与漏洞探测:浏览器插件、免费工具集、商业web应用安全评估系统和漏洞扫描器。
1.3 SQL注入
本节讲了什么是SQL注入、种类以及原理(课本举了两个例子进行说明):
利用web应用程序的输入验证不完善漏洞,使得web应用程序执行由攻击者所注入的恶意指令和代码,造成敏感信息泄露、权限提升或对系统的未授权访问等危害后果。
SQL注入攻击步骤:
发现SQL注入点
判断后台数据库类型
后台数据库中管理员用户口令字猜解
上传ASP后门,得到默认账户权限
本地权限提升
利用数据库扩展存储过程执行Shell命令
SQL注入攻击工具:
Wposion 能在动态web文档中找出SQL注入漏洞
wieliekoek.pl 以网站镜像工具生成的输入为输出,对表单页面注入字符串修改
SPIKE Proxy 对待注入的字符串进行定制
SPI Toolkit工具包
SQL注入攻击防范:
使用类型安全的参数编码机制
完备检查来自外部的用户输入
将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象
加强SQL数据库服务器的配置与连接
1.4 XSS跨站脚本攻击
与代码注入攻击不同的是,XSS跨站脚本攻击的最终目标不是提供服务的web应用程序,而是使用web应用程序的用户。
- XSS攻击技术原理
是Web应用程序对用户数输入内容的安全验证与过滤不完善。
- 攻击方式
绕过客户端安全策略访问敏感信息,窃取或修改会话Cookie、进行客户端渗透攻击获取访问权。
- XSS攻击类型
持久性XSS漏洞和非持久性XSS漏洞,利用这两类漏洞的攻击也称为持久性XSS攻击和非持久性XSS攻击。
攻击实例:测试XSS漏洞、显示用户的会话cookie、窃取用户的会话cookie、利用cookie信息假冒其他用户发表与修改帖子、编写实现XSS蠕虫。
- XSS攻击防范措施
服务器端:输入验证、输出净化、消除危险的输入点。
客户端:提升浏览器的安全设置,如关闭cookie或者设置cookie只读等,也可以采用非主流的安全浏览器。
2.Web浏览器安全攻防
2.1 web浏览器安全威胁
-
Web浏览器软件安全困境三要素:复杂性、可扩展性、连通性。
-
Web安全威胁位置
2.2 Web浏览端渗透攻击威胁——网页木马
- 本质核心:利用脚本语言实现对web浏览端软件安全漏洞的渗透攻击,从而向客户端主机中植入恶意程序。
-
防范:提升操作系统与浏览端平台软件的安全性。
2.3 网络钓鱼(phishing)
网络钓鱼是社会工程学在互联网中广泛实施的一种典型攻击方式。
-
原理:通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息。
-
普遍技术流程:
攻击者扫描网段,寻找存有漏洞的服务器;
服务器被攻陷,并被安装一个rootkit或口令保护的后门工具;
攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行;
攻击者下载群发电子邮件工具,并大规模散发垃圾邮件;
网页浏览的流量开始到达钓鱼网站,受害者访问并给出个人敏感信息,攻击者通过后台脚本收集这些信息。