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 等协议提供给用户。当系统接收到邮件时,邮件服务器会自动将邮件写入到相应的用户邮箱文件中,文件名通常与用户名相同。在某些系统中,用户可以使用
翻译一下原文:
嗨,吉姆,
我今天晚上结束工作后就要去度假了,所以老板要求我把我的密码给你,以防出现任何问题。
密码是:^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提权的,我相信这个靶机的做法应该也不止我这一种,也欢迎大家来尝试发现多种做法!