VulnHub靶机MoneyBox复现
借鉴文章:
安装靶机
靶机网址:https://www.vulnhub.com/entry/moneybox-1,653/
VirtualBox网址:https://www.virtualbox.org/wiki/Downloads
如果出现以下报错
就需要对安装目录给予权限,我的安装目录是 E:\VirtualBox
,就以管理员身份打开命令提示符,输入以下命令
1 |
|
直接选择是,后面的默认选择即可
安装好后以管理员身份打开,导入下载好的MONEYBOX.ova
然后选择好安装目录,等着导入好就行
选择启动,可能出现以下报错
更改网络设置,使用桥连网卡即可
IP探测
寻找靶机
需要准备一台kali,要和靶机处于同一个网段(可以都用桥接模式)
首先获取kali的网卡信息
1 |
|
1 |
|
使用nmap
工具扫描
1 |
|
- **
nmap
:**网络探索和安全扫描工具 - **
192.168.1.0/24:
**目标 IP 地址范围。这里的/24
表示子网掩码为255.255.255.0
,这意味着 Nmap 将扫描从192.168.1.1
到192.168.1.254
的所有 IP 地址
看到这个机器开了ftp
和ssh
,就可以知道是靶机
使用arp
扫描
1 |
|
使用netdiscover
1 |
|
1 |
|
得到靶机和kali
的IP
1 |
|
深入探测
使用nmap
进行深入探测
1 |
|
1 |
|
靶机开放了三个端口:
21
:是ftp
服务,允许匿名登录,还有一张trytofind.jpg
图片
22
:是ssh
服务有一些key
80
:是http
服务存在一个网页Title:MoneyBox
FTP服务探测
尝试进行匿名登录FTP服务
1 |
|
1 |
|
成功登录,先看看有什么东西
1 |
|
有一个 JPG 图片,使用get
命令下载图片
1 |
|
看到图片想到CTF的图片隐写,使用steghide
工具查看图片详细信息
steghide
安装方法
1 |
|
查看图片信息
1 |
|
发现需要密码,接下来需要找密码
HTTP服务探测
直接访问目标靶机的IP
1 |
|
看网站先看源码,不过没有有用的东西
那就直接用dirsearch
扫描目录
1 |
|
可以扫出个301重定向的/blogs
页面,访问看看
1 |
|
还是先查看源码
在最后可以发现一个hint
,访问/S3cr3t-T3xt
看看
1 |
|
继续看源码
得到密码
1 |
|
重新再去看看图片
1 |
|
发现有一个data.txt
文件,使用steghide
提取出来
1 |
|
extract
:指定要执行的操作为提取隐藏数据-sf
:指定源文件为trytofind.jpg
,这是一个包含隐藏数据的图像文件-p
:指定用于解密隐藏数据的密码。在这个例子中,密码为 3xtr4ctd4t4
查看文件内容
1 |
|
AI翻译一下
1 |
|
SSH服务探测
使用hydra
爆破密码
在data.txt
文件中得到的用户名renu
就是ssh
服务的,因为就剩这一个服务了
提示密码太弱,使用hydra
工具对ssh
服务进行弱口令爆破
在kali的/usr/share/wordlists/
目录下有一个字典
将其解压缩
1 |
|
得到密码是
1 |
|
SSH
远程登录
直接ssh
远程登录
1 |
|
成功登录,先看看有什么东西
1 |
|
发现有个user1.txt
文件,查看得到第一个flag
1 |
|
1 |
|
还有一个ftp
目录,里面就是刚才在FTP服务得到的图片
返回上一级目录看看
发现还有一个lily
目录,说明还存在一个lily
用户,进入目录看看,得到第二个flag
1 |
|
切换为lily
用户
查看一下历史命令
1 |
|
猜测
ssh
登录的账户lily为本机的lily
用户,那么SSH
公钥配置操作就是在本机上进行的,根据SSH
公钥工作机制,如果renu
用户进行了ssh-keygen -t rsa
操作,会在renu
的~/.ssh/
中生成id_rsa
和id_rsa.pub
文件
同时,如果
renu
用户进行了ssh-copy-id lily@192.168.43.80
操作,将会把刚才生成的id_rsa.pub
拷贝到192.168.43.80
主机上的lily账户~/.ssh/authorized_keys
文件中。如果192.168.43.80
上的lily用户就是本机的lily用户,那么lily
用户下~/.ssh/authorized_keys
文件中的公钥应该与renu
生成的id_rsa.pub
公钥一致
1 |
|
可以发现两个是一模一样,那么renu
用户可以通过SSH公钥验证的方式登陆到本机的lily的账户上
尝试直接su
到lily
用户,但是需要密码
1 |
|
提权为root
成功登录,尝试进行提权,但是直接使用su
还是需要密码
查看历史命令,发现lily
用户编辑了sudoers
,并且查找了一些具有suid
权限的文件,执行了sudo -l
1 |
|
看看当前用户可用的sudo
权限
1 |
|
发现可以使用perl
命令
参考提权网站:https://gtfobins.github.io/gtfobins/perl/
可以直接提权,也可以反弹shell
反弹shell
在kali
监听2333
端口
1 |
|
靶机输入以下命令,加上sudo
可以提升权限执行perl
命令
1 |
|
成功反弹shell
,并且是root
权限,在/root
目录下找到隐藏文件.root.txt
得到rootflag
1 |
|
直接用perl
提权
1 |
|
1 |
|