ALFA: 1
USER FLAG
端口探测
使用nmap扫一下开放的端口:
1 | nmap -sC -sV -A -p- -T5 192.168.145.132 |
得到以下关键信息:
FTP
由于服务器启用了ftp服务,连接上去看看。
得到以下内容:
这里可以猜测用户名就是thomas,确认一下,使用enum4linux来确认一下:
1 | enum4linux -a -r 192.168.145.132 |
获取到关键信息:
可以确信thomas即为用户名。
Web
服务器亦有80端口的HTTP服务,使用浏览器访问:
查看源代码,发现所有超链接均为锚点。
至此从HTML代码中寻找思路显然不可取了,扫描一下WebPath。
使用nikto扫描:
1 | nikto -h 192.168.145.132 |
未获取到关键信息,再使用dirb扫描:
1 | dirb http://192.168.145.132/ |
发现关键信息:
Web服务器下有robots.txt,访问得到:
滑动至最低端,发现有一字符串:
1 | ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>+++++++++++++++++.>>---.+++++++++++.------.-----.<<--.>>++++++++++++++++++.++.-----..-.+++.++. |
经搜索,此为Brainfuck编码,将其解码得到:
1 | /alfa-support |
访问该路径。
得到以下信息:
发现关键信息:I only remember that it is the name of my pet followed by numerical digits。
至此,Web上能获取的信息已经全部获取完了。
SSH
之前nmap扫描的结果显示服务器再65111端口上开放了SSH服务。
考虑到使用enum4linux确定Thomas是一个服务器用户,并且密码是宠物的名字+三个数字,联系到FTP服务器上的图片内容为一只狗,名字为milo,可以猜测Pet’s name 为milo,使用crunch生成一个字典。
1 | crunch 7 7 1234567890 -t milo%%% -o wordlist |
字典生成完成后使用hydra爆破ssh。
1 | hydra -l thomas -P wordlists ssh://192.168.145.132:65111 -t 64 |
爆破成功,结果如图:
使用SSH登录服务器:
1 | ssh thomas@192.168.145.132 -p 65111 |
成功登录服务器,发现USER的FLAG。
至此,还有ROOT FLAG未拿到。
ROOT FLAG
在上面的基础上,发现一个文件所属用户为root:
查看文件内容发现为乱码:
根据其名字联想应该是加密后的密码。
未知其作用,暂且搁置,查看一下系统监听的TCP端口:
1 | ss -tlpn |
发现系统监听了本地5901端口。
不知道这是什么服务,nmap之前也没有该端口的信息,考虑可能未对外开放,利用ssh正向代理建立一个代理隧道:
1 | ssh -L 0.0.0.0:5901:127.0.0.1:5901 thomas@192.168.145.132 -p 65111 |
检查隧道状态:
状态正常,这个时候再使用nmap扫描一次,由于代理隧道建立,我们只需要扫描本机的5901端口即可等同于扫描服务器的5901端口:
1 | nmap -sC -sV -p5901 localhost |
发现这是一个VNC端口,想到之前看到的.remote_secret文件,猜测该文件便是加密后的密码。
从服务器中下载该文件到本地:
1 | scp -P 65111 thomas@192.168.145.132:/home/thomas/.remote_secret .remote_secret |
使用该文件作为VNC密码登录服务器:
1 | vncviewer -passwd .remote_secret 127.0.0.1:5901 |
成功拿到ROOT FLAG:
- 本文标题:Vulnhub ALFA: 1
- 本文作者:青 叶
- 创建时间:2021-03-21 18:19:02
- 本文链接:p/29204/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!