EvilBox : ONE - WriteUp

发布时间 2023-09-04 23:25:56作者: lockly

EvilBox : ONE

信息收集

扫描网段内存活主机,得到目标

image-20230904103714645

nmap 进一步收集有效信息,只开放了22和80

image-20230904104414061

访问80的页面没有什么有效信息

image-20230904104634724

接着扫一下目录, 没有敏感的文件

image-20230904105606302

在robots中也只有提示了一个可能的用户名H4x0r

image-20230904104839501

secret这个目录下有一个index.html但是访问之后是空白,可能这个目录底下还有一些文件,再换个大一点的字典扫一下

image-20230904110141989

文件包含

发现了evil.php,但访问同样是空白,但php页面显示空白则有可能是他用了文件包含函数(include(), require()这类)去加载另一文件的php代码。直接fuzz一手得到参数command

image-20230904111847846

然后利用php伪协议去读一下这个页面的代码验证看看,果然,他就是直接获取GET传参的文件名,一点校验过滤都没有。

image-20230904225201759

读一下/etc/passwd发现了一个用户mowree

image-20230904112208098

公私钥ssh登录

前面发现22端口已经开放了,看看他的登录方式有哪些,可以看到支持密码和公钥登录

ssh mowree@192.168.56.101 -v

image-20230904213330332

那就可以利用这个文件包含读取到这个用户的私钥id_rsa,但是读不到公钥。

image-20230904112805950

不过还是可以读到存放授权公钥authorized_keys。

image-20230904112903953

破解私钥

将这些文件保存到本地之后,给私钥给个600的权限。然后获取私钥的hash进行破解,得到unicorn

ssh2john id_rsa > id_rsa.hash
john -w=/usr/share/wordlists/rockyou.txt

image-20230904212758912

这里要注意的是kali不要用root,一直习惯了root登进来,然后靶机的服务端的策略里禁了root登录。登来就得到了

image-20230904220135665

/etc/passwd提权

基础的三连,没有能用root执行的命令。

image-20230904221238629

传了linpease.sh上来,发现都忘了去看有suid权限的文件(find / -perm -4000 -type f 2>/dev/null)。舒服了可读可写

image-20230904222252848

接下来就是生成密码,然后写入/etc/passwd。生成密码的话我一直用的SHA-512,所以指定了6但这样也会随机产生盐值导致每次得到的加密字符串不同,所以要先指定一个盐值。

openssl passwd -6 -salt upfine 110
echo 'lockly:$6$upfine$dx3ZrgaPfVmaJCjld406VNRTQx3XtzoUoM0Z2Y/pUiJv75CjH/Uhj5nP6NV3/fRVo54ugcFzkrCxRXrd7Q50s.:0:0::/root:/bin/bash' >> /etc/passwd

image-20230904224234066

切换成刚刚添加的用户,拿到根目录下面的flag。

image-20230904224317733