MOMENTUM
靶机搭建:Vulltrue Box + 桥接网络
下载地址:https://download.vulnhub.com/momentum/Momentum.ova
Hint:信息泄露,redis
0x1 信息收集
端口扫描
nmap基本信息扫描:端口扫描、详细扫描、漏洞扫描。扫描结果是只开启了22和80端口,且漏洞扫描也没有可以利用的信息。
目录扫描
使用dirsearch进行目录扫描,存在img、js目录和apache服务器的一些信息。
0x2 web站点突破
使用curl访问该站点,index.html只有一些图片,也没有其他的其实信息。于是下载图片查看是否有捆绑文件。
下载后使用exiftool、binwalk查看文件的基本信息,未发现捆绑文件。
JS文件信息泄露
然后查看了一下扫描到的目录,发现在main.js文件中还隐藏了一个opus-details.php文件。然后还发现了一个加密AES加密的js的一段代码。
反射型XSS
访问opus-details.php并传参数id,发现网页会显示id输入的东西但是并没有和数据库交互。于是插入一段xss的payload发现能够执行。
是个反射型的xss,也无法利用。但是xss漏洞一般会想起去获取其他用户cookie等信息,在基于这个想法和前面发现的AES加密和解密语句,尝试把cookie去解密看一下。
AES 解密
使用在线解密网站,带上那个密码对cookie进行解密。
得到明文:auxerre-alienum##,这里得到的密文像是一对凭据,尝试使用ssh连一下。
0x3 SSH登录普通用户
在登录时使用用户名:auxerre,密码:alienum##,登录失败,于是把得到的整个字符当密码成功登录。
Redis服务
ps查看系统进程时发现开启了redis服务,使用的时默认的端口6379端口。
查找本地是否有连接redis的客户端应用程序。
查看redis-cli的文使用档时,发现有一个get mypasswd命令,查看是否有密码,返回结果时(nil)。使用redis-cli连接到数据库,连接成功。
查看key和rootpass值
通过使用redis-cli的命令查看所有的key值,发现存在一个Key:rootpass,使用get rootpass获取到root的密码:m0mentum-al1enum##
0x4 提权Root
直接切换用户到root/m0mentum-al1enum##.
MOMENTUM 2
靶机搭建:Vulture Box
下载地址:https://download.vulnhub.com/momentum/Momentum2.ova
0x1 信息收集
nmap基本信息扫描:端口扫描、漏洞扫描等。扫描结果和第一台靶机相似,就扫出了目录。进行目录扫描,发现一个/dashboard.html文件。
0x2 文件上传
在js/main.js中发现了一个文件上传的文件,ajax.php。main.js文件的内容如下:
构造文件上传的数据包,这里注意上传的name=file。
但是这里并没有返回上传的路径,试了一些常见的upload、uploads等都不存在,所以使用gobuster爆破一下。发现owls目录。
并看到了我们上传的info.txt
到这试了很多的方法没有绕过这个上传,只能长传txt后缀名的文件,连png、jpg等图片文件都上传不了。
0x3 备份文件
试了apache解析漏洞、多文件名等都不行,上传上去解析不了。实在是绕不过了看了wp发现存在ajax.php.bak备份文件。
//The boss told me to add one more Upper Case letter at the end of the cookie
if(isset($_COOKIE['admin']) && $_COOKIE['admin'] == '&G6u@B6uDXMq&Ms'){
//[+] Add if $_POST['secure'] == 'val1d'
$valid_ext = array("pdf","php","txt");
}
else{
$valid_ext = array("txt");
}
// Remember success upload returns 1
需要带有admin的cookie和secure=val1d才能上传php文件。通过爆破cookie的最后一个大写字母发现是R,并成功上传了webshell。
0x4 SSH登录普通用户
获得webshell后在/home目录下发现两个用户,看到了一个存密码的文件和一个生成cookie的脚本。其中密码是:myvulnerableapp* [Asterisk的翻译是星号]。
python脚本这存在安全问题,可以执行命令。
使用得到的密码ssh登录到靶机