MinUv2靶场详解
这个靶场我学到了.bash_history文件,每个用户都有一个名为 .bash_history 的文件,它位于用户的主目录中,默认有500行最近执行的命令。
这个靶场我用vmware是不能打开的,用virtualBox就可以,并且打开时候就能看到ip地址。
nmap扫了一下有一个确定的22端口是ssh,还有一个3306不确定是不是mysql数据库,实际测试是个http服务,把网页80端口改到了3306.
同时还扫描出来一个文件上传的目录。
打开主目录后我们发现是一个Kermal框架。
这个Upload只能上传.SAG的文件,搜索了一下这是一个矢量图文件,同时还搜索了一下Kemal是有XSS漏洞的。
在网上找了这么一段XSS文件读取代码,写入到.txt文件中,然后把后缀改成.SVG发现是可以上传的,并且里面的代码能被执行成功。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY file SYSTEM "file:///etc/passwd" >
]>
<svg height="100" width="1000">
<text x="10" y="20">&file;</text>
</svg>
这个页面代码看不全,我们可以在浏览器右键查看源代码,也可以用bp来查看,为了后续操作我用的bp。
拦截包后发现是有我们xss代码的,并且读取了/etc/passwd文件。
同时我们还发现了这个系统是没有bash的,只有一个ash文件,每个用户都有一个历史命令执行的文件,在用户的家目录,一般名字都是.bash_history,但是这里没有bash,执行的是ash。
我们在发现的employee用户的目录下查看一下.ash_history文件,这里只能查看文件,查看目录是没有任何东西的。
这里我们发现一条useradd命令,并没有指定用户名,但是又一个-p指定的密码,我们可以利用这个密码尝试登陆employee用户。
发现ssh登陆上employee用户了,查找有权限的文件发现只有两个,查看了一下micro文件是一个编译器,具有root权限的编译器。
我们就可以利用这个权限修改/etc/passwd文件,为我们自己增加一个有root权限的用户。
这里面的密码不能位空,并且不能是明文密码,我们需要给这个密码加密一下,在我们本机上就可以,利用以下命令,用户名是tang,密码是123456.
openssl passwd -1 -salt tang 123456
利用cat /etc/passwd | micro
命令就可以直接修改这个文件,我们在最后一行加一个用户然后回车一行。
我们在这个编译器中按F1是可以查看帮助的,这个编译器退出保存命令是ctrl+q,然后指定保存的目录就可以了。
然后我们su tang输入密码就是root权限了。