一、实验目的
(1)掌握远程控制的基本原理和技术实现;
(2)掌握使用MSFVENOM生成被控端的方法和远程控制工具MSF的使用;
(3)掌握权限提升的一般方法。
二、实验任务
(1)对目标靶机进行信息收集并分析研究可利用的漏洞;
(2)利用MSFVENOM工具生成被控端;
(3)上传文件反弹shell并利用 Metaspolit 对目标靶机进行渗透控制;
(4)提升目标靶机的操作权限。
三、实验环境
1、靶机地址:192.168.254.134
2、攻击机地址:192.168.254.135
四、实验过程和实验结果
使用命令sudo arp-scan -l 扫描靶机,发现靶机ip为192.168.254.134![](https://i-blog.csdnimg.cn/direct/5c735b063c2e4f8f936114c4e6f8412d.png)
发现靶机开放了22和80端口,从目前的信息来看。我们肯定是首先从web的80端口下手渗透测试。
80端口的web目录,发现/webdav/目录,我们可以尝试访问下。
/webdav/目录,是存在登录凭据的,我们需要查找/webdav/目录的账号密码,到时候尝试登录。
nikto漏洞扫描,发现靶机的一些版本信息和一些目录,但是这些信息对目前的渗透测试来讲没有什么价值。
访问web80端口,发现是一个关于印度题材的一个界面,像这里面的用户名要注意下,因为靶场开放了22端口,到时候大概率要利用ssh远程登录,所以对于用户和密码需要多注意下。目前我们还没有找到关键的突破点,所以我们下一步需要从扫描目录的点着手。
扫描发现了/images和/webdav和/server-status目录,访问后,发现就是开始前面访问的/webdav目录有用,其他的没有什么发现。这就很难搞啊,到目前还是没有什么突破,在目录扫描方面,gobuster 对于目录列举,有些后缀,他默认没有扫描,比如:zip,rar,sql,txt,php等,需要我们手动去添加扫描
利用gobuster手动对一些特定的后缀进行扫描,发现/tips.txt目录下,有线索。有一句英文,翻译过来是“提示打开纳拉克的门可以在creds.txt中找到”。
扫描UDP端口协议,发现可能存在开放了tftp协议
既然如此,那我们试试能不能用tftp协议,从靶机服务器把creds.txt下载下来,直接用tftp后接靶机地址即可连接靶机。
下载完以后,查看发现creds.txt是个base64加密的文件,解密后得到:yamdoot:Swarg,应该是串账号密码,我们可以尝试ssh远程登录,但是发现登录失败。
后来,我们想到开始的/webdav,也是需要账号密码登录的,后来尝试登录成功了。
此时kali中有许多工具可以充当webdav的客户端,其中有一个工具davtest,可以测试通过webdav能上传哪些后缀文件以及其对应权限。
输入davtest -url http://192.168.254.134/webdav -auth yamdoot:Swarg。
所以,我们需要写一个php的webshell进行上传,然后再利用kali进行监听,然后反弹shell。
然后再利用一个客户端,把webshell.php上传,此处使用的webdav客户端是cadaver。
kali先进行监听,然后再点击webshell.php文件,然后发现反弹shell成功了
发现sudo提权和SUID都没有可以提权的地方
cat /etc/crontab查看有没有定时任务执行啥的,发现也是没有。
终通过查找可写的文件发现了一些端倪。
发现/mnt/hell.sh里面是一个Brainfuck 编程语言的代码,然后/etc/apache2/users.password里面是我们开始登录/webdav的登录凭据。
我们对Brainfuck代码进行解密,解密网站如下:https://www.splitbrain.org/services/ook解密得到一串应该是密码,chitragupt
我们上面经过信息收集,发现了一个密码,我们现在可以去收集靶机相关的账号,然后利用hydra九头蛇进行爆破ssh远程登录。
我们在/home家目录下,看到三个用户,然后在/etc/passwd文件下,看到具有/bin/bash权限的用户,也刚好有这几个,很有可能这几个账户中就有和刚才chitragupt密码匹配ssh的用户。
把账号密码分别进行保存,然后再利用hydra九头蛇进行爆破。
ssh远程登录成功了
sudo提权和SUID提权以及查看定时进程任务都没有发现可以提权的地方
找到了user的flag
查看哪些具有可写权限的文件
重点关注motd相关的文件,我们进入/etc/update-motd.d/,使用命令ls -al然后查看相关文件的权限,发现00-header有所有权限。
可以发现这个就脚本的所有者和所在组都是root,且此时inferno用户拥有对该文件的写权限,因此我们只要在这个文件中添加反弹shell的代码,当该脚本执行时即可触发反弹shell。
把到时候kali监听的反弹shell写入到00-header中,然后我们再利用卡里监听,然后重新ssh登录inferno用户,就可以得到root权限了。
五、实验总结
通过本次实验,掌握了远程控制的基本原理和技术实现还有MSFVENOM生成被控端的方法和远程控制工具MSF的使用以及权限提升的一般方法。
在本次实验中,需要对在不断尝试的过程的靶机的信息足够熟悉并进行一定的猜测,比如:要对creds.txt这个加密文件进行base64解密后得到的明文联想到这可能是/webdav的登录的账号和密码,否则后续的一切渗透流程都很难展开。
版权归原作者 厨师沙拉572 所有, 如有侵权,请联系我们删除。