350 likes | 487 Views
透過 MG2 漏洞遠端入侵並遙控電腦 透過 WireShark 監聽並竊取帳號、密碼. 組長 : 歐尚鼎 組員 : 劉家銘. MG2 的介紹. MG2 = MiniGal 2 MG2 是基於 PHP 的一款免費相冊管理程式. MG2 的特色. 支援模板管理等個性化模式 不需要資料庫 支援相簿加密 支援幻燈片瀏覽方式 web 方式上傳或 ftp 匯入圖片 運行於 PHP 安全模式. MG2 安裝步驟. 到官網 www.minigal.dk 下載檔案並解壓縮 在解開的 MG2 資料夾下創一個 pictures 資料夾
E N D
透過MG2漏洞遠端入侵並遙控電腦 透過WireShark監聽並竊取帳號、密碼 組長:歐尚鼎 組員:劉家銘
MG2的介紹 • MG2 = MiniGal 2 • MG2是基於PHP的一款免費相冊管理程式
MG2的特色 • 支援模板管理等個性化模式 • 不需要資料庫 • 支援相簿加密 • 支援幻燈片瀏覽方式 • web方式上傳或ftp匯入圖片 • 運行於PHP安全模式
MG2安裝步驟 • 到官網www.minigal.dk下載檔案並解壓縮 • 在解開的MG2資料夾下創一個pictures資料夾 • 在網址列輸入http://127.0.0.1/mg2/ • 會要求你輸入以下的資料 • Gallery title: 請輸入相簿標題 • Admin email: 管理員信箱 • Default language: 選擇語系 • Enter password (default = 1234) 然後勾選打勾圖示至下一步驟。
看到以下文字代表已經安裝完成: • Welcome to MG2 installation 3 / 3Congratulations, you have successfully installed MG2!MG2 has been installed using default settings. You can configure these through the admin panel.Go to admin panel
攻擊方式 • 出現此漏洞是因為mg2在對圖片加入評論的時候,會在圖片目錄下產生[圖片名]+.comment 。 • 然而,Apache會將.php.comment當成PHP文件解析,就可以利用此漏洞做攻擊。
可以對相簿內的照片加入評論。 • 這裡就是漏洞的所在。
利用此漏洞寫PHP程式。 • Input為內容,email:電子信箱、filename:檔名、action:加入評論。 • 按下按鈕。 • 送出後會在對方伺服器產生test.php.comment的檔案。
在網址列輸入test.php.comment?cmd=phpinfo(); • 這裡的phpinfo()可以換成任意惡意程式碼。 出現上面的畫面表示成功了
透過CMD指令建立帳號。 • 透過CMD指令授與管理者權限。
透過剛剛建立的帳號進行遠端桌面連線並且遙控該主機。透過剛剛建立的帳號進行遠端桌面連線並且遙控該主機。
防禦方式1-修改程式碼 • 在includes底下的mg2_functions.php找到addcomment這個函式。 • 將$this->writecomments($_REQUEST['filename']. ".comment"); • 改成$this->writecomments($_REQUEST['filename']."Z". ".comment"); • 當中的Z也可以改成任意字元。
對方伺服器會產生入下圖的檔案 test.phpZ.comment。
即使輸入test.phpZ.comment也不能使惡意程式碼生效。即使輸入test.phpZ.comment也不能使惡意程式碼生效。
防禦方式2 • 使用其他的版本。 • 使用其他的軟體。
WireShark介紹 • WireShark是一種網路分析工具,它能夠擷取網路封包,並盡可能顯示出最為詳細的網路封包資料。 • 是一開放原始碼軟體,並且支援了多種作業系統,在Windows、UNIX、MAC…etc下都有相對應的版本。 • 其支援的Protocol多且完整,更因為開放原始碼的關係,更新Protocol相當迅速。
使用方法 • 安裝完成後開啟WireShark並點選程式上方的Capture並點選Interface。 • 接著選擇要擷取封包的網路卡,就可以開始結取封包了。
監聽Telnet封包並竊取資訊 • 先開啟執行程式並鍵入telnet://ptt.cc連入台大ptt站。 • 鍵入帳號密碼,並登入成功。
回到WireShark即可看到已經抓取到很多封包了,由於封包數量太多所以可以透過Expression來篩選關於Telnet的封包。回到WireShark即可看到已經抓取到很多封包了,由於封包數量太多所以可以透過Expression來篩選關於Telnet的封包。 • 篩選完後就可以清楚看到所有關於Telnet的封包資訊了。
但這樣依然還是很難看清楚封包的所有資訊,所以可以在任一封包上點選右鍵再點選Follow TCP Stream。 (跟蹤TCP傳輸控制協議的通信數據段,將分散傳輸的數據組裝還原) • 而藍色的資料代表Server端傳輸給Client端的資料,紅色的則為我們傳送給Server端的資料。
最後我們把要顯示的選擇成Client端傳送給Server端的資料即可獲得使用者的帳號、密碼。最後我們把要顯示的選擇成Client端傳送給Server端的資料即可獲得使用者的帳號、密碼。
監聽FTP封包並竊取資訊 • 首先連結到南台科大的學生FTP系統。 • 鍵入學號、密碼,並登入成功。
同前面的步驟先透過Expression篩選出FTP封包。 • 接著在篩選出的FTP封包上點選右鍵再點選Follow TCP Stream,就會將所有FTP封包的傳輸資訊列出來。 • 使用者的帳號、密碼,一覽無遺。
接著我們再將篩選的協定改成FTP-DATA。 • 同前面步驟在篩選出的FTP-DATA封包上點選右鍵再點選Follow TCP Stream。
這樣一來連該使用者的FTP站台裡的任何檔案詳細資訊都可以清楚的呈現出來。這樣一來連該使用者的FTP站台裡的任何檔案詳細資訊都可以清楚的呈現出來。
監聽HTTP封包並竊取資訊 • 首先連結到南台科大的選課系統。 • 鍵入學號、密碼,並登入成功。
同前面的步驟先透過Expression篩選出HTTP封包。 • 接著在篩選出的HTTP封包上點選右鍵再點選Follow TCP Stream,就會將所有HTTP封包的傳輸資訊列出來。 • 使用者的帳號、密碼,一覽無遺。
如何防禦? • 因為Telnet、FTP和HTTP登入系統都使用明文傳送資料,只要在傳輸過程中被監聽或攔截,資料就直接被看光了,所以請拒絕使用Telnet、FTP和HTTP登入系統。 • 改用SSH來進行遠端連線、使用Server端有提供SSH加密的SFTP和有提供TLS與SSL在傳輸層對網路連接進行加密的HTTPS。
如果Server端提供的是SFTP站台的話,即使被擷取到傳輸資料的封包,也只會被看到透過SSH加密後的亂碼。如果Server端提供的是SFTP站台的話,即使被擷取到傳輸資料的封包,也只會被看到透過SSH加密後的亂碼。
像Gmail提供的登入系統就是使用HTTPS協定。 • 透過TLS與SSL加密的HTTPS協定即使在帳號、密碼在傳輸過程中被攔截也只能看到亂碼。