vulnhub靶场渗透之DC-4渗透教程(超级详细)

news2024/12/28 20:53:43

vulnhub靶场渗透之DC-4渗透教程目录

0x01靶机概述     

        0x02靶场环境搭建

                 0x03靶机信息发现

                        0x04靶机渗透过程

                                0x05靶机提权

 0x06渗透实验总结


0x01靶机概述     

靶机基本信息:

靶机下载链接https://download.vulnhub.com/dc/DC-4.zip
作者DCAU
发布日期2019年4月7日
难度中等

0x02靶场环境搭建

1、根据上面的链接下载靶机压缩包,然后解压出来

 2、里面有一个ova的文件,然后我这里导入virtualBox中(建议把网络适配器修改为nat或者仅主机模式)

 0x03靶机信息发现

 1、主机发现

arp-scan -l

 2、端口信息扫描

nmap -sV -T4 -n 192.168.56.104

0x04靶机渗透过程

 1、我们可以访问一下80端口,发现有一个登录页面

2、尝试一下爆破密码, 爆破出密码为happy

hydra -l admin -P rockyou.txt 192.168.56.104 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout" -F

这是一个 Hydra 的命令行指令,用于暴力破解 Web 应用程序的登录。解释如下:

hydra:命令名,表示使用 Hydra 工具。

-l admin:指定用户名为 admin

-P rockyou.txt:指定密码字典为当前目录下的 rockyou.txt

192.168.1.165:指定要攻击的服务器 IP 地址。

http-post-form:指定使用 HTTP POST 请求方式。

"/login.php:username=^USER^&password=^PASS^:S=logout":指定登录页面地址 /login.php,并使用 username 和 password 作为参数名来传递用户名和密码。其中 ^USER^ 和 ^PASS^ 含义为在暴力破解过程之中将要用到的用户名和密码,而 :S=logout 则是指当程序返回值为 logout 时,认为破解成功并退出程序。

-F:如果成功的话,停止猜测其他密码。

综上所述,上述命令的作用就是对目标服务器 192.168.1.165 的 /login.php 页面进行暴力破解登录,用户名为 admin,密码字典为 rockyou.txt

 

3、 使用账户密码登录,但是发现没有什么可视性的信息

4、 抓run的包发现Run就是命令执行

 5、在radio后面添加cat /etc/passwd执行,然后看到家目录有三个用户:charles、jim、sam

 6、查看jim用户的家目录

 7、扩展知识点:backups 通常指备份文件或备份数据,是指在数据正常工作时期定期进行数据复制的过程。备份的数据可能是操作系统、用户文件、数据库、应用程序、虚拟机、云数据等。备份的目的是为了在出现数据损坏或丢失时能够快速地恢复数据。备份数据可以通过多种途径来实现,例如本地磁盘、网络存储、云存储等,备份也可以定期自动或手动进行。通常每个组织都需要制定自己的备份策略,以确保备份数据的可靠性和完整性。

继续查看backups目录

8、cat查看一下old-passwords.bak文件,发现里面是一些密码

9、把密码复制出来然后作为pass.txt字典,然后用户名就是刚刚那三个用户作为user.txt来爆破靶机ssh端口的用户名和密码

 

 

 10、使用九头蛇进行爆破ssh端口的用户名和密码,爆破出用户名为jim,密码为jibril04

hydra -L user.txt -P pass.txt ssh://192.168.56.104

 11、使用ssh连接jim用户,然后登录进来发现最后一段是说有一份邮件,那我们可以到/var/mail/目录下看看

/var/mail 是一个系统目录,用于存储用户的邮件。在某些 Linux 发行版(如 Ubuntu)中,该目录被符号连接到 /var/spool/mail 目录。在邮件服务器中,通常使用此目录来存储接收到的电子邮件,然后通过 IMAP 或 POP3 等协议提供给用户。当系统接收到邮件时,邮件服务器会自动将邮件写入到相应的用户邮箱文件中,文件名通常与用户名相同。

在某些系统中,用户可以使用 mail 或其他电子邮件客户端软件读取该目录中的邮件。如果您在系统中配置了邮件服务器,则通常会定期清除该目录中的过时邮件以释放磁盘空间。因此,如果您要查找过去一段时间内丢失的电子邮件,请检查该目录中的 email 文件。

 翻译一下原文:

嗨,吉姆,

我今天晚上结束工作后就要去度假了,所以老板要求我把我的密码给你,以防出现任何问题。

密码是:^xHhA&hvim0y

再见,
查尔斯

12、那我们知道了查尔斯的密码直接登录到查尔斯的账户中,但是发现这个账户也没有什么权限

0x05靶机提权

尝试sudo -l发现靶机有/usr/bin/teehee

扩展知识点:

在 Linux 中,tee 和 teehee 并没有直接的关联,因为它们是不同的概念。

tee是一个命令行工具,用于从标准输入读取数据,并将其写入到一个或多个文件和标准输出。 它通常用于将流式数据分配给多个程序或文件。

由于我们没有sudo权限,也就没有办法切换成root用户,但是teehee给了我们机会,输入此代码:

echo 'charles ALL=(ALL:ALL) NOPASSWD:ALL' | sudo teehee -a /etc/sudoers


这句话的意思是将charles用户赋予执行sudo的权限添加到/etc/sudoers里。
| 是管道符 将前面的输出添加到后面
sudo teehee -a 是用管理员权限使用teehee -a命令
teehee -a 是添加一条语句到 /etc/sudoers里
/etc/sudoers 里存着的用户都有执行sudo的权限。

这里就提权成功了为root权限,最后查看一下/root/目录下的flag.txt文件


 0x06渗透实验总结

1、第一点主要考察我们的信息手机,敏感文件的查看,一定要尝试多种思路

2、多抓一下包看看包文有没有可用的信息

3、最后就是sudo靶机的提权,vulnhub靶场蛮多sudo提权的,我相信这个靶机的做法应该也不止我这一种,也欢迎大家来尝试发现多种做法!

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

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

相关文章

DINO代码学习笔记(二)

在DINO代码学习笔记(一)中已经将输入transformer之前的参数处理给捋了一遍,接下就是将这些参数传给transformer。 DINO的transformer使用了Deformable-DETR中的可变性transformer(他们之前的工作也有用到) 这里还是使用…

chatgpt赋能python:Python回滚-避免代码灾难的有效措施

Python回滚-避免代码灾难的有效措施 什么是Python回滚 Python回滚是一种避免代码灾难的有效措施,它可以让你在代码出现问题之后及时回退到之前的版本,保证系统不会受到影响。 回滚是一项非常重要的工作,越是复杂的项目越需要进行回滚。Pyt…

​【指针与数组的恩怨情仇】

指针和数组的关系 指针指的是指针变量,不是数组,指针变量的大小是4/8个字节,是专门来存放地址的。数组也不是指针,数组是一块连续的空间,存放一组相同类型的数据的。 没有关系,但是它们之间有比较相似的地方…

java String类型对象转换为自定义类型对象

问题 java String类型对象转换为自定义类型对象 详细问题 对于java自定义类型对象提供了toString()方法,实现自定义类型对象转换为String类型对象,如何将String类型对象转换为自定义类型对象,譬如对于如下代码所定义的Class类 package co…

Android:Selector + Layer-lists 实现 AppCompatCheckBox

最近做项目涉及到一些UI相关的东东,虽然比较简单,但是也很有趣,写两篇简短的博客记录一下。 一."Selector 两张图片"实现 AppCompatCheckBox AppCompatCheckBox 是 androidx的一个widget:androidx.appcompat.widget.…

chatgpt赋能python:Python图中打字的SEO文章:让你的图片说出更多的话

Python图中打字的SEO文章:让你的图片说出更多的话 图片是传达信息的有力工具。不过,当你在网站上发布图片的时候,这张图片就很可能会被浏览器、机器学习算法、甚至是一些视觉障碍用户忽略。为了弥补这个缺陷,我们可以使用Python来…

chatgpt赋能python:Python回退快捷键:让你的编程更迅速高效

Python回退快捷键:让你的编程更迅速高效 作为一名有10年Python编程经验的工程师,我深知Python回退快捷键对于编程的重要性。当你在编写代码时,可能会出现需要回退或者修改之前的代码的情况,在这种情况下,如果你没有使…

用代码认识整型提升与unsigned signed

🤩本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C语言》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽,希望可以…

[架构之路-206]- 常见的需求分析技术:UML图概览

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图包图的基本概念进行介绍以及各个图的使用场景。 一、基本概念   如下图所示,U…

3. 响应状态码及Response对象的status_code属性

3. 响应状态码及Response对象的status_code属性 文章目录 3. 响应状态码及Response对象的status_code属性1. 响应状态码2. 响应状态码共分为5种类型2.1 1xx(临时响应)2.2 2xx (成功)2.3 3xx (重定向)2.4 4x…

一个小时入门 Android Compose 动画

0. 前言 前段时间对于Android中的Compose动画做了系统性的学习,相关文章发布在 Compose 动画 专栏里。系统性学完Compose动画后,又对此做了系统性的回顾,抽取其比较重要的部分,希望能帮助大家快速入门Compose动画,所…

6. JVM调优工具详解及调优实战

JVM性能调优 1. 前置启动程序1.1 Jmap1.1.1 Jmap查询内存信息1.1.2 Jmap查询堆信息1.1.3 jmap查询堆内存dump 1.2 Jstack1.3 远程连接jvisualvm 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容&am…

Postman工具使用

Postman 是什么 Postman 是一款 API 开发协作工具,它可以帮助你测试和开发 API,Postman 提供了测试 API 的友好界面和功能,使用简单便捷,安全可靠。Postman 是每一位前后端开发者必掌握的开发工具。 如何安装 Postman 官网安装…

【Linux】Apache 网页安全优化与日志分割

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Apache 网页安全优化与日志分割 一、网页安全优化1.Apache 网页压缩2.Apache 网页缓存3.Apache 隐藏版本信息4.Apache 防盗链 二、rotatelogs 分割1.修改apache服务的主配置文…

chatgpt赋能python:Python图片保存及优化SEO的方法

Python图片保存及优化SEO的方法 对于一个网站,图片占据了网页中的很大一部分,因此如何在保证图片质量不失真的情况下,保证网页加载速度的快速呈现,是很多网站开发者需要考虑的一点。 在使用Python进行网站开发时,如何…

git基础教程(18)git stash暂存本地修改

文章目录 git stash pushgit stash listgit stash popgit stash applygit stash showgit stash drop 序号git stash cleargit stash pop冲突解决git stash 命令是 Git 中一个非常实用的命令,它可以让开发者暂时存储当前工作区的内容而不必提交代码或创建新分支,得到一个干净的…

Redisson分布式锁使用

一、使用 RedisTemplate 操作分布式锁 原子加锁(uuid Value过期时间)原子解锁(lua脚本)加长过期时间 UUID :让锁区分,防止错删其他锁设置锁过期时间:当业务异常导致无法释放锁形成锁死,设置过期时间自动释…

【机器学习】集成学习(实战)

集成学习(实战) 目录 一、准备工作(设置 jupyter notebook 中的字体大小样式等)二、集成算法的基本思想三、集成算法的简单实现:硬投票与软投票1、构建测试数据集2、硬投票3、软投票 四、集成学习:Bagging …

chatgpt赋能python:Python图片定位:优化SEO的关键技术

Python图片定位:优化SEO的关键技术 在现代搜索引擎优化中,图片已成为吸引用户眼球和提升网站排名的关键元素之一。而Python作为一种功能强大的编程语言,在图片定位和SEO优化方面也具备很大的优势。 Python图片定位的基本原理 在Python中&a…

JAVA中.equals()与 ==的区别

1. “”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。 2..equals() equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比…