kali漏洞分析之数据库评估(一)(二)
web层与数据库连接的漏洞在安全测试中并不少见,owasp曾经的top之首sql注入漏洞。
数据库评估软件
1.bbqsql
是一个pyth编写的盲注工具,当检测可疑的注入漏洞时会很有用。同时bbqsql是一个半自动工具,允许客户自定义参数。
2.dbpwaudit
数据库用户名密码枚举工具。
DBPwAudit — DataBase Password Audit
功能:通过挂载字典对目标数据库进行密码暴力猜解,
目前支持的数据库包括SQLServer、MySQL、Oracle、DB2
程序位置:/pentest/database/dbpwaudit/
驱动位置:/pentest/database/dbpwaudit/jdbc/
-
- 破解SQLServer数据库命令实例
./dbpwaudit.sh -s IP -d master -D mssql -U username -P password
-
- 破解MySQL数据库命令实例
./dbpwaudit.sh -s IP -d mysql -D mysql -U username -P password
3.hexorbase
图形化的密码破解与数据库连接工具,开源
4.jsql
JSQL是一款轻量级安全测试工具,可以检测SQL注入漏洞。它跨平台(windows,linux,mac os x,solaris),开源且免费。将存在注入漏洞的URL贴进来即可进行响应的漏洞利用。
它可以很方便的查看数据库内容,读取文件,写入文件等
5.MDBTools
包括MDB-Export,MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具。主要是针对mdb数据库的,具体环境具体使用
6. oscanner
Oscanner是一个用java开发的oracle评估工具,它是基于插件的结构,当前由两个插件可以做:
- Sid列举
- 口令测试
- 列举oracle版本
- 列举账号角色
- 列举账号特权
- 列举账号哈希
- 列举审计信息
- 列举口令策略
- 列举数据库链接
7.sidguesser
同样是针对Oracle的SID进行暴力枚举的工具。SID 为Oracle实例名,Oracle连接字符串,通过实例名+用户+密码连接
8. sqldict
是一个用户名密码的枚举工具。通过wine运行
9. sqlmap
sqlmap是一个开源的渗透测试工具(python编写),它主要用于自动化地侦测和实施sql注入攻击以及渗透数据库服务器。配有强大的侦测引擎,具有很强大的抓取数据的能力。
10. sqlninja
在sql注入方面一直尊sqlmap为神器,但sqlninja也有自己的特点.
sqlninja是一款perl编写的一个专门针对microsoft SQL Server 的sql注入工具。和市面上其他的注入工具不同,sqlninja没有将精力用在跑数据库上,而是侧重于获得一个shell。sqlninja的优点如下:
一个专门针对microsoft SQL Server的sql注入工具。
可找到远程SQL服务器的标志和特征(版本,用户执行的查询,用户特权,xp_cmdshell的可用性,身份验证模式等)
“sa”口令的强力攻击
如果找到口令后,就将特权提升到“sa”
如果原始的xp_cmdshell被禁用后,就创建一个定制的xp_cmdshell
- 其中的t参数,代表测试连接是否是注入点。
- f参数,指纹识别,判断用户,数据库,xp_cmdshell是否能用等。
- b参数,暴力破解sa密码,可以-w指定字典,也可以不使用字典,这样该工具就会自己穷举。
- e参数,用来提权,必须用-p指定sa的password,成功就会把当前数据库用户加入到sa组里面
- x参数,尝试恢复xp_cmdshell
- u参数,使用get和post上传二进制文件
- -f参数,指定配置文件,注入网址是写在配置文件里的,默认是sqlninja.conf
11. sqlsus
sqlsus是一个开源的mysql注入和接管工具,sqlsus使用perl编写,基于命令行界面。sqlsus可以获取数据库结构,注入你自己的sql语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等等。最好用的两点就是注射获取数据速度非常快,另外一个最大的特点就是自动搜索可写目录 。
要注入语句怎么注入呢?
首先用-g参数生成一个配置文件:
然后用vi编辑这个文件 ,写入地址
启动并且测试
sqlsus test.conf
获取数据库数据
sqlsus> get databases
12. tnscmd10g
这个工具允许我们向oracle数据库中注入命令
kali漏洞分析之Web应用代理
通过应用代理工具分析数据包,或修改数据包重放,暴力攻击等在web安全测试中经常用到 。
burpsuite
Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。
proxy是代理。在option中,显示了代理监听是127.0.0.1,监听8080端口。如果我们将浏览器设置成127.0.0.1,端口号设置成8080,我们看一下是什么效果
设置完成之后,我们访问www.baidu.com,发现并没有得到百度的页面。这时候再看burpsuite中,intercept变成了黄色,同时还多出了一个GET请求
这时我们在百度中搜索一个关键字nba,可以看到bursuite有抓到了一个包
既然抓到了包,我们就可以i对包进行修改和利用
关于burpsuite的详细使用过程,会在以后详细介绍
owasp–zap
这是一款查找网页应用程序漏洞的综合类渗透测试工具。它包含了拦截代理,自动处理,被动处理,暴力破解,端口扫描以及蜘蛛搜索等功能。owasp zap为会话类调试工具,调试功能对网站不会发起大量请求,对服务器影响较小
paros
这是一个对web应用程序的漏洞进行评估的代理程序,即一个基于java的web代理程序,可以评估web应用程序的漏洞,它支持动态地编辑/查看HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个web通信记录程序,web圈套程序(spider),hash计算器,还有一个可以测试常见的web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。该工具检查漏洞形式包括:SQL注入,跨站点脚本攻击,目录遍历等。
vega
这个工具之前用过,它也有代理的功能。
vega是一个开源的web应用程序安全测试平台,能够帮助你验证SQL注入,XSS,敏感信息泄露和其他一些安全漏洞。
webscarab
手工修改包之类的功能,爬虫,xss检测等等。它是一款代理软件,包括HTTP代理,网络爬行,网络蜘蛛,会话ID分析,自动脚本接口,模糊测试工具,web格式的编码/解码,web服务描述语言和soap解析器等功能模块
kali漏洞分析之BurpSuite
burpsuite的介绍:burpsuite是一个web应用程序集成攻击平台,它包含了一系列burp工具,这些工具之间有大量接口可以互相通信,目的是为了促进和提高整个攻击的效率。平台中所有工具共享同一robust框架,以便统一处理HTTP请求,持久性,认证,上游代理,日志记录,报警和可扩展性。
burpsuite允许攻击者结合手工和自动技术去枚举,分析,攻击web应用程序,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。
kali漏洞分析之Fuzz工具
FUzz
是一个模糊测试工具,模糊测试是漏洞挖掘过程中重要的一步。
bed.pl
Bed是一个纯文本协议的Fuzz工具,能够检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。
Fuzz_ipv6
这是THC出品的针对IPV6协议的模糊测试工具
0hrwurm
这是一个迷你的对RTP的fuzz工具,主要针对SIP通信的fuzz
powerfuzzer
是一个有图形化界面的工具,
wfuzz
针对web应用的模糊测试工具,可以进行web应用暴力猜解,也支持对网站目录,登录信息,应用资源文件等的暴力猜解,还可以进行get及post参数的猜解,sql注入,xss漏洞的测试等。该工具所有功能都依赖于字典。
Xsser
xsser是对xss的漏洞发掘
输入xsser –gtk可以打开xsser的一个图形界面
该工具主要是针对某个页面或某个点进行xss的测试,来看是否有xss的漏洞
找cookie的过程有些波折,跟视频上讲的不一样。最终发现在登录的界面内右击,选择View Page_Info打开界面,选择Security,里面有View Cookies选项,可以查看cookies:
xsser -u "http://192.168.199.171/dvwa/vulnerabilities/xss_r/?name=" --cookie="PHPSESSID=3d2283442da05684b882981017cf2757;security=low" -v
第十一章 web应用程序安全攻防
Web应用程序体系结构及其安全威胁
1. 传统C/S架构的计算->B/S架构:
“瘦”客户端:Browser(Web客户端)
“厚”服务器:Web服务器、Web应用程序、数据库
通讯机制:http/https
2. html静态页面和动态页面:
静态标记语言
Tag标签: 表格等结构标签, 超链接, 内嵌链接, 图片
交互能力: 表单, 脚本->支持动态生成页
动态页面
CGI
ASP,JAVASCRIPT,PHP
Web应用安全攻防技术概述
1. Web应用攻击路线图
- Web应用信息收集
- 攻击Web服务器软件
- 攻击Web应用程序
- 攻击Web数据内容
- 本地攻击
2.Web应用的信息收集
- 针对目标Web应用服务的信息收集
服务器域名、IP地址、内网虚拟IP地址
Web服务器端口、其他开放服务
Web站点类型与版本
Web应用程序类型与版本
Web服务器/Web应用程序中存在的安全漏洞
- 课程3回顾:网络信息收集技术
Whois/DNS查询、Web搜索、端口扫描:发现目标Web 站点
类型探查技术:识别Web站点OS、服务器类型版本
漏洞扫描技术:Web站点与服务器软件已知漏洞
服务查点技术:Web服务器软件的“旗标”
3.Web应用程序的探测和漏洞发现
手工审查Web应用程序结构与源代码
自动下载与镜像Web站点页面
使用Google Hacking技术审查与探测
SQL注入实验
利用web应用程序的输入验证不完善漏洞,使得web应用程序执行由攻击者所注入的恶意指令和代码,造成敏感信息泄露、权限提升或对系统的未授权访问等危害后果。
SQL注入攻击步骤:
- 发现SQL注入点
- 判断后台数据库类型
- 后台数据库中管理员用户口令字猜解
- 上传ASP后门,得到默认账户权限
- 本地权限提升
- 利用数据库扩展存储过程执行Shell命令
SQL注入攻击工具: - Wposion 能在动态web文档中找出SQL注入漏洞
- wieliekoek.pl以网站镜像工具生成的输入为输出,对表单页面注入字符串修改
- SPIKE Proxy 对待注入的字符串进行定制
- SPI Toolkit工具包
SQL注入攻击防范:
- 使用类型安全的参数编码机制
- 完备检查来自外部的用户输入
- 将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象
- 加强SQL数据库服务器的配置与连接
第十二章 web浏览器安全攻防
Web浏览器的技术发展与安全威胁
Web浏览器软件安全困境三要素:复杂性、可扩展性、连通性。
Web安全威胁位置
- 传输网络的网络协议安全威胁
- Web浏览端系统平台的安全威胁
- Web浏览器软件及插件程序的渗透攻击威胁
- 互联网用户社会工程学攻击威胁
网络钓鱼
网络钓鱼是社会工程学在互联网中广泛实施的一种典型攻击方式。
原理:通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息。
普遍技术流程:
- 攻击者扫描网段,寻找存有漏洞的服务器;
- 服务器被攻陷,并被安装一个rootkit或口令保护的后门工具;
- 攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行;
- 攻击者下载群发电子邮件工具,并大规模散发垃圾邮件;
- 网页浏览的流量开始到达钓鱼网站,受害者访问并给出个人敏感信息,攻击者通过后台脚本收集这些信息。
- 防范:增强安全意识、提高警惕性。
课堂测试
攻击 :seed 192.168.199.213
A :Linux Metasploitable 192.168.199.171
B :Windows Metasploitable 192.168.199.228