對於很多的新手來說能進入一個Linux/unix的機器,可以代表自己技術的一次提高吧,但是早已習慣了win系列操作系統,有時候面對*nix時,可能會有點手忙腳亂。本人也是一個菜鳥,很幸運的時我第一次進入一個服務器便是redhat 的。那是某個高手留下的後門,居然讓我有了一次免費學習的機會的。後來學的東西多了,可是由於自己的破電腦裝不了linux,接觸這方面的資料,卻不能去實踐,所以便嘗試著利用別人的資源。。。(有點不道德的意思,呵呵~)
關於*nix的入侵,有很多的資料可以查詢,這裡我講點自己的感受吧。其實對於一些人來說,那些根據服務軟件的漏洞自己編寫,或者利用download原代碼編譯溢出,就很方便。但是對於很多受技術和硬件條件限制的人,可能這是不容易實現的。個人感覺入侵的思路可以分為三大部分:破解,漏洞溢出,利用程序和文件配置的問題。現在的當務之急就是先找到一個比較好的肉雞要緊~,所以像我這樣的菜鳥想到了---暴力破解!
我個人把暴力破解分兩種:一,深度意義上的,是對於特定的機器和上面的用戶進行的破解,這個可能需要很長的時間投入,包括知道一些用戶名的和不知道到信息的。所以通常只對那些有意入侵的機器實施。二,廣度意義上的,是對一段甚至很多的ip進行規模性的弱密碼破解,其實主要目的是用來找個好肉雞。因為破解必然要留下很多的痕跡,所以不要忘了保護自己哦~~,想到破解我就想起FTP,這個最方便了,如果可以自己寫個合適的多線程程序最好,如果實現不了網上的程序很多,建議用溜光的程序(速度比較快),其次是21killer(黑白上有,就是速度不夠快)也不錯。如果機器的速度沒有問題,用sss進行也可以,如果有自己的字典更好,沒有的話我覺得21killer的不錯。找好目標,配置好軟件,你就可以漫漫的等了。。。。。。好!~出來了~。從可行性方面來講,這個方法比較好。因為只要願意,必然可以得到你想要的東西,但是基本上你不要對這些帳戶的權限有太多的奢望。不過對於我們來說已經足夠了。*nix系統,有了ftp的帳號基本上就等於可以進入主機了。對了低版本的sunos和 solaris,可以利用自帶ftp的漏洞得到它的帳號,然後破解,別的機器可以試試finger服務。至於pop3,和stmp以及一些數據庫如 mysql等的破解同理。。需要密碼的web網頁等也都差不多,只不過換個程序而已。
從ftp的破解我們知道,入侵的第一步就是要找到目標,即掃描。掃描的主要目的就是得到主機和它對外服務方面的信息,它的端口及對應服務,服務軟件,及其版本,服務的附屬軟件,及其版本,以及軟件和系統方面的漏洞。當然能得到它的一些其他方便的重要信息,比如finger得到用戶信息等更好。軟件和系統方面的漏洞幾乎出現在所有的*nix版本的(最新的少),並不是所有的漏洞資料,掃描軟件都可以找到,很多是需要我們去試的。比如sun的telnetd漏洞redhat的wftp,openssl,rpc方面的等等很多。對於所有的人來說sun的telnet,因為lion的程序顯的輕而易舉。所以不會編譯原代碼的新手可以試試這個。。漏洞的資料網絡上有很多,原代碼也一樣。了解最新的漏洞信息綠盟是個不錯的地方,當然如果你的英文好的話,可以去國外的黑客站點走動,畢竟國外的技術水平比我們高。也有很多對於學習很有用的資料。事實上有很多厲害的角色就是這方面的工夫做的好,呵呵~。至於共享方面的問題,在入侵內網的時候要經常用到,如果需要的話可以自己參考網絡上的資料。
但是有時候碰到一些安全做的很不錯的主機時,我們更多的就是從80端口的web 服務做仔細分析入手了,畢竟這個東西的安全性最難做好了,首先是服務軟件,比如apache的漏洞出來挺長時間了,可是有漏洞的機器依然不少。cgi的漏洞更是不得了,至於網站上面的一些論壇,留言板,以及一些商務的軟件。如果可以找到他們的原代碼,那麼再安全的主機都會出事。有時候一些人甚至都是按默認的方式安裝的,連readme.txt這樣的東西都留著讓你看,所以問題就更多了。曾經有這麼一次經歷。有一台機器,開22和80,3306端口。經過掃描,和測試發現22和3306沒有什麼可以利用的,只有80了,但是它的cgi也沒有什麼問題,又不是一個大的網站,沒有什麼論壇,等附屬的軟件。本來想放棄的,可是發現有一個.bash_history的文件可以訪問!!!這個文件是主機操作的保存文件。讓我們來看看上面的一些東西:
.....
cd /www/PHP/
ls
cat login.php
......
mysql -u wwwroot -p www@avg
......
上面這段不但記錄了用戶在機器上的行為,還記錄下了myaql的用戶名和密碼!!~ 還等什麼??先用alpha連一下ssh,發現用戶名密碼一樣是機器的超級用戶。下面的事我就不用說了,不過留下後門,擦日志不要忘了。我們再來分析一下這個例子,其實管理員對cgi程序的安全性做的不錯,看看php原代碼也沒有什麼可以利用的。但是因為一時疏忽,忘了這個.bash_history一切的勞力都白花了,即使沒有留下用戶,密碼。讓別人輕易的知道機器上的所有行為信息,離被入侵也只是一個時間問題。如果發現一台機器實在沒有什麼可以利用的時候,建議你試試這個網段的ip可能會找到一些意想不到的信息,尤其是規模較大的網站。
以上只是一個新手的一些總結,因為現在沒有很多的具體實例,所以有點紙上談兵的味道,但是我覺得我們最重要的事不是看別人如何去入侵,主要是了解別人的分析思路和方法。有待提高的只是我們的技術基礎。個人感覺不僅僅是 linux/unix,很入侵的基本思路都可以通過破密碼;對系統,軟件漏洞遠程溢出;以及對具體服務的分析(如web)來實現目的。注:建議入侵不要拿國內的主機做實驗,否則後果自負。