安服漏洞测试流程(附从常规实战拿shell到提权)

分两种情况

一、资产是ip的时候

1、首先信息收集

先扫描ip段,探测存活、端口开放情况
此处为了更直观的教学,这里用railgun工具做例子(实战时没有这个工具可以用nmap)

看看开了什么端口,可以根据扫描结果获得指纹信息(中间件类型/CMS类型)

看到有什么远程连接或者数据库的端口比如3389、21、22、1433、3306的可以尝试弱口令/爆破

2、漏洞测试

根据扫描结果得到一个正在运行的web服务

首先进行目录扫描,查看有无敏感信息,比如备份文件、数据库文件等信息,也可以通过目录扫描得到的结果尝试直接访问看看是否存在越权/未授权访问
目录扫描后打开该站点查看有哪些功能可以测试

URL:是否存在ref=、target=、forward=、redirect=、services=等转发参数,可以尝试URL任意重定向;如果存在其他参数则可以根据参数尝试XSS、SQL注入、SSRF、文件包含(内容读取)等,根据框架可以尝试自己fuzz一些接口,比如spring的swagger等
登陆框:弱口令、爆破、SQL注入
先尝试弱口令登陆,看是否存在测试账号、管理员账号弱密码;
根据尝试登陆返回的状态比如“用户不存在”以及验证码状态(验证码不变)来判断是否可以进行爆破;可以尝试如admin’ or’=’or’#来尝试万能密码登陆或者抓包进行SQL注入检测
账号注册:在注册的时候可以尝试用跟管理员一样的账号注册来覆盖他的密码;还可以尝试短信轰炸/邮件轰炸、SQL注入等漏洞
忘记密码:可以尝试任意密码重置、SQL注入、短信轰炸/邮件轰炸
F12查看网页源代码:看页面源码是否存在敏感信息,比如账号密码、验证码接口、其他隐藏接口等
其他功能:测试流程如上
数据包:

可以测试的点有:CORS(修改Origin)、不安全的HTTP请求方法(PUT/DELETE等)

此外可以尝试HOST头攻击(修改host值为恶意值)、SQL注入(POST)、明文传输、反序列化等

二、资产是url且有账号的时候


判断指纹,网上搜该cms的漏洞进行验证
按照上述流程测试,这里以注册账号后测试为例
测试可以测试的所有功能,流程跟一同

Xss
有框就插


文件读取,看参数请求


或者从旁站入手
涉及到的知识:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Nmap使用
目录扫描
条件竞争
HOST头攻击
端口服务
敏感高危端口
登陆爆破
万能账号密码
WEB指纹
XSS
SQL注入
URL任意重定向
任意文件读取
任意密码重置
敏感信息泄露
不安全的HTTP方法
跨域资源访问(CORS)
跨域请求伪造(CORF)
服务器端请求伪造(SSRF)
Weblogic命令执行
Redis未授权访问
Struts2命令执行
Shiro反序列化
Seeyon任意文件写入
Tomcat默认页面
Weblogic默认页面
Nginx默认页面内网ip泄露
中间件版本信息泄露
任意文件上传
越权
...

测试时要关注数据参数,参数可控还会造成的各类衍生结合利用

实战

得到一个ip 192.168..6.131

端口扫描


得到端口为27689的web服务

目录扫描


得到备份文件web.config.bak

在备份文件里得到数据库的账号密码,直接连接


利用目录扫描得到的后台登陆账号密码进入后台

漏洞利用

此处上传只允许上传图片,利用一点上传绕过知识进行拿webshell

如果返回包不返回文件路径,可以通过报错来回显路径来登陆webshell

提权

拿到webshell后通过cmd功能得知当前权限为www

直接添加账号提示拒绝访问

上传nc,进程已经启动,但是连接不了,判断开了防火墙
无果,另寻他法
翻看网站根目录还有一个备份文件,得到sa账号密码(在渗透到时候信息收集不能断,总会有意想不到的惊喜)

连接

利用system权限关掉防火墙

结合sql语句构造

1
EXEC master.dbo.xp_cmdshell ‘netsh firewall set opmode mode=disable


再次尝试nc

开启3389

结合xp_cmdshell构造

1
EXEC xp_cmdshell ‘REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f’


添加账号


远程连接

添加到管理员组

再次连接

假如登陆sa之后发现未启用cmdshell,就手动启动一下
启用高级选项:

1
exec sp_configure 'show advanced options',1

0是关闭,1是开启,这时候会提示RECONFIGURE,那就按照提示运行一下RECONFIGURE
启用cmdshell:

1
exec sp_configure 'xp_cmdshell',1

再次提示RECONFIGURE,再运行一下
这个时候就可以用cmdshell了


声明:
本文章用于学习交流,严禁用于非法操作,出现后果一切自行承担,阅读此文章表示你已同意本声明。

Disclaimer:
This article is for study and communication. It is strictly forbidden to use it for illegal operations. All consequences shall be borne by yourself. Reading this article means that you have agreed to this statement.