一、Jenkins簡介
1、基於JAVA開發的開源軟件項目
2、持續的軟件版本發布/項目測試
3、監控外部調用執行工作
二、Jenkins常見風險總結
1、Jenkins配置不當導致未授權訪問
2、Jenkins未授權代碼執行漏洞(CVE-2017-1000353)
3、Jenkins api服務命令執行漏洞(CVE-2016-0792)
4、Jenkins反序列化遠程代碼執行漏洞(CVE-2015-8103)
三、Jenkins配置不當及未授權代碼執行漏洞成因
1、管理賬號和密碼使用了簡單的弱密碼
2、Jenkins管理有腳本命令執行的功能
3、Jenkins系統對外網開放訪問
4、Config.xml文件配置不當導致未授權訪問
四、漏洞危害
1、管理未授權或弱密碼,可通過"腳本命令行"在服務器執行惡意命令
2、CVE-2017-1000353,可在被攻擊服務器執行任意代碼
3、都有可能獲取服務器的root權限
五、漏洞復現
1、未授權訪問
當Jenkins的config.xml文件中
直接未授權訪問
http://192.168.4.128:8080/manage
http://192.168.4.128:8080/script
當為config.xml文件中true時,則不存在未授權訪問
但是如果存在弱密碼,則可以通過暴力破解的方法獲取管理員賬號和密碼,其中Mange Jenkins中存在Script Console,可以執行命令
因此要設置長的密碼
2、Jenkins未授權代碼執行漏洞(CVE-2017-1000353)
python3 exploit.py http://192.168.4.128:8080 jenkins_poc.ser
進入docker容器,發現遠程代碼執行的結果
修復建議
Jenkins 主版本用戶升級到2.58
Jenkins LTS 版本用戶升級到2.46.2
對Jenkins后台進行安全加固,配置強密碼,使用安全組配置嚴格的網絡訪問控制策略,禁止對所有人開放訪問。