轉自:寒路

12、獲取NNTP(網絡新聞傳輸協議)信息:
很多時候通過NNTP是攻擊時獲取目標主機信息的最好辦法。NNTP本身是用於新聞組server之間交換新聞的協議,它也適用於新聞瀏覽器跟新聞server之間的協議。仔細的搜索每條向目標主機地址中發送的網絡新聞你就會發現這裡面也有目標主機內投送源的Email地址或者部分由目標主機用戶投送的消息。但不管源自何處,這對攻擊來說都將是收集目標主機信息的方便之門。儘管NNTP可以在投送時選擇信任的主機來保護它的信息。但諸如tin可以解釋在新聞中潛入的MINE語句,可投送本身卻隱藏著一個錯誤。如果有一條對.rhost文件做外部ftp的MINE語句,那麼就會很容易的為信任攻擊打開系統之門。這對安全來說可不是什麼好事情。
13、收集關於路由的信息:
得到目標host所在的該網關是否運行這對攻擊來說是很重要的。因為網關程序信任來自未授權源的路由包。當然了,首先你得明白網關與主機間的區別。網關是連接到多於一個網絡的設備,它可以有選擇把數據從一個網絡轉發到其它網絡中。路由器則是有著專用的網關。而網關化的路由程序允許向其它路由守護程序廣播路由表信息,這些路由包可以用來建立目標主機中每個系統的路由表圖,它們還有助於向這個域內的系統珍表增加host name。這些查詢可以利用netstat -nr來完成。通過查詢可以知道目標段的IP是採取的哪個路由器connect的。
14、獲取identd信息:
獲取目標host是否運行了一個或者多個identd server,這對於判斷出跟有連接的網絡信息。像獲得運行著pidentd,那麼起碼可以得到一些用戶的信息和系統版本的信息。比如說當現在我有個認識的人他在我的ICQ中,而他同時又是semxa.com的一個用戶,此時他正登陸在semxa.com上,那麼我可以利用ICQ發消息給他保持住跟他的connect,這樣我就可以利用工具SOidlook(ftp://semxa.technotr.com/tools/)得到identd信息。獲取identd信息之後很有用,可以針對semxa.com的auth port利用ICQ跟semxa.com的用戶的連接再做N次connect的嘗試,impersonation成該用戶再摸索一些諸如FTP server的bounce等漏洞(如果有的話),指定shell或者註冊port作為server的目標port,並且scan客戶機上all可能的port。如果說可以匹配的話那麼就可以得到有用的rsh或rlogin對semxa.com訪問權的用戶。當然現在這只是猜想而已。最重要的還是能得到identd信息。
15、獲取IP層信息:
我需要知道semxa.com是否允許IP源路由及IP轉發。可以在傳輸層通過IP轉發向NEtWork發出一個包嘗試得到響應。但不幸運它的firewall沒那麼差。捷徑沒有但還可以利用Kit Vtivoy的路由跟蹤程序Rtracker(ftp://semxa.technotr.com/tools/)來完成,通過對loose源路由用-g選項從源路由給目標路由發一個包如果能得到一個響應的話就算OK。獲取是否允許IP源路由及IP轉發是因為IP包分段本身不安全。如果說能通過Packet pry看到這種分段的happen,理念上可以截獲連接同時再deceiving TCP頭利用這種分段得到
根的impersonation。我嘗試了tcpdump但無收穫。前幾天那位來自Gallo Mr rhinoceros在這裡提到過可以在合適的時候"passed aggravate load begets of middle router fragments......"(CITE),不知道他可否能將步驟變成文字與大家Share。
16、獲取Simple network Management Protocol(SNMP)信息:
SNMP是一個允許遠程程序方便NetWork管理的server,它是個簡單的NetWork管理協議,是與TCP/IP NetWork中像router、交換器、集線器(HUB)進行通訊的一系列標準。通過SNMP可以獲取到host與route的信息。收集SNMP信息得從SNMP傳輸請求想起。一個SNMP請求包含一個Community name,它用於目標系統上的snmpd守護程序認證訪問請求,而請求有兩種,一種是SNMP GetRequest;另一種是SNMP SetRequest,在這裡我不會假設你已經掌握了關於SNMP技術,因為We here of MOSES Dave Goldsmith的那篇〈once The attacked on entireness using SNMP〉比什麼都詳細,你需要去讀一下(如果你還沒看過的話)。不過我
個人認為SNMP的明天不會很長。
17、其它更多的信息:
事實上在獲取信息的時候每個數據都是不應當放過的,因為一時的疏忽可能會使你失去機會。瞭解目標主機中所有的信息,這對最後整理很有用。除了以上所說的之外還應獲取更多的(如果有時間的話)像可否進行Packet pry、NTP、relay chat、talk、systat、gopher、UUCP、CGI、編譯器信息等等。最近以來,UUCP的安全問題一直在GOLD COAST上討論的比較熱鬧,而我在一段時間內也很注意UUCP,但從上次Chameleon的「UUCP--age-old UUCP of safety problem」起,其可利用性也就隨著「age-old」在我腦海沉沒了。雖然如此,但也並不意味著放棄(如果有的話)。
從上面開始到了現在也算是收集的大部分的信息,那麼整理這些信息是很有必要的,這樣看起來清楚一點不至於有疏漏。一般情況下我在收集完結束之後會搞一個像下面的一樣的表格:
host :www.semxa.com
port server:21ftp、22SSH、23telnet、25SMTP、117UUCP……
——————————————————————————————
ftp server open os Digital UNX Version
bugs log:
………………
這樣下來可以隨手找到信息的。很方便。
前頭所描述的是一般普通攻擊手工簡單收集和獲取目標主機的信息的一種思路,之所以在表現SATAN中很大篇幅的說它,那是因為跟SATAN的本身是很有關係的。所有的信息手工收集起來需要很長時間也同樣是一個巨大的工程。可能會花去你四到五個小時去做。而這些工作換成SATAN去做的話,僅僅在幾分鐘便可完
成,同時還會對那些已經植入代碼的漏洞進行攻擊嘗試。如果說上述的信息都可用SATAN來完成的話,那麼就可以斷定,用SATAN掃瞄網絡將是一個很危險的動作,這危險是相對惡意破壞而言的。
SATAN在掃瞄中很重視到目標系統中各種TCP and UDP端口上比較活躍的進程。但這些又取決於用戶指定的掃瞄類型。在SATAN中,它的類型根據網絡狀況存在著三種掃瞄程度,這分別是:low-grade(輕度)、normal(標準)和grievous(重度)scan。而這三種程度又具體表現為:

low-grade(輕度)掃瞄:
這種狀態下的掃瞄是從DNS、rpc、portmap進行的。
DNS掃瞄時利用nslookup(Unix上一種交互式查詢Internet主機、server名字的命令程序)來收集有關目標主機的更多點信息,這些信息包括目標主機的MX記錄和授權nameserver。
rpc掃瞄目標主機portmap請求一張服務列表,而後對列表進行掃瞄查詢:
bootparam、ypbind、selection-SVCnfs、rexd、arm、mountd、rusersd、
netinfobind以及admind。
如果說portmap的服務列表中顯示有mountd,那麼SATAN就會進行showmount掃瞄,首先會要求目標的mountd給出一個列表,列表中顯示哪些文件系統輸出和哪些主機被允許加載它們。最後會要求目標mountd列出實際加載文件系統的host和被加載的文件系統。showmount是Unix中一個消息查詢的命令,它可以給出一台遠程主機上的NFS信息,比如用$showmount -e 4.4.4.4。這樣的掃瞄不做普通的TCP and UDP掃瞄的,掃瞄範圍比較小。
normal(標準)掃瞄:
標準掃瞄包含了輕度掃瞄的所有內容,同時增加了對fingerd、各種TCP服務以及UDP服務的掃瞄。掃瞄時會根據結果和掃瞄規則庫有選擇的對rusers(這是個Unix上消息查詢的命令,可以顯示出一台遠程機器上登陸用戶列表)、bootparam和yn進行掃瞄。
finger的查詢無須再說了。
SATAN隨後會對TCP進行掃瞄,以便得到目標端口上活躍的gopher、http、FTP、telnet、SMTP、NNTP、UUCP以及X等服務。再者就是UDP端口上的DNS與Xdmcp的掃瞄。如果說查詢時portmap報告回來目標的rusersd是可以用的,那麼SATAN就會請求rusersd給出都有哪些用戶,他們是從哪個系統上登陸進入的等等。
rpc bootparam服務可以讓SATAN獲取NIS的域名,如果SATAN一旦獲得了這個域名的話,SATAN就會開始啟動一個up -chk程序來嘗試從NIS server上獲得passwd、byanme映射。
現實中SATAN標準掃瞄是比較常用的。因為很多機器到這裡就已經可以達到駕馭它的目的了。

serious(重度)掃瞄:
這次掃瞄包含了上述兩種的全部內容。增加了對那些比較活躍的服務的更多一些的掃瞄。TCP的端口也從1到了65535(但默認時是1到9999),UDP的端口則是1到2050,32767到33500。很顯然,這需要時間和多點資源了。

上面這三種掃瞄其實僅僅只是SATAN掃瞄的前個階段,主要是為了收集目標機器的信息。
在SATAN的規則掃瞄中包含了一些常見的安全漏洞的檢查。但並不包含所有已知漏洞,這需要你來自己增加。經常的更新自己的SATAN漏洞庫集對發現新漏洞是很重要的。通過創建一個新的.satan並將它放到bin/目錄中就可以完成增加一個新的掃瞄了。
建立SATAN也很簡單,但卻很麻煩。在SATAN軟件包裡包含了大量的HTML構造起來的Web頁,這些Web頁是很重要的,因為很多漏洞的信息來自這些頁面。上面簡單的說了些關於建立SATAN的方式。在config/目錄下編輯paths.pl and paths.sh文件,實現你做需要的文件放置位置;接著可以根據你自己的要求去編輯config/satan.cf,可以根據自己的需要考慮給$only-attack-these and $dont-attack-these增加一些
簡單的實用的內容(這兩個變量提供對SATAN掃瞄主機時的控制);運行rcsonfig腳本(應當注意的是這個腳本是Perl5.00x and a Web瀏覽器的增強腳本,如果rcsonfig選擇的Web不適合,那麼編輯config/paths.pl指向這個選擇的瀏覽器,這時的Web瀏覽器變量是$MOSAIC);在satan-1.1.1/目錄下執行make指令;如果你想隱藏自己或者是需要一個代理的話(因為這個時候會提示給你的)在SATAN的文檔中特別說明了不需要設置代理環境變量或瀏覽器代理;以root登錄運行SATAN腳本,如果沒有給出命令行參數,腳本調用一個小的Web server,也就是html.pl,再與之進行對話……一切妥當之後SATAN的主界面便會出現。
由於SATAN操作很簡單,就如何使用它來描述可能有點prosiness。《:-)首先啟動SATAN,毫無疑問,啟動它需要#。administrators在使用SATAN的候最好是將其配置成拒絕本地以外的IP來運行SATAN,但這也不完全可以防止。因為一般情況下使用IP欺騙便可以饒過這個環節。接著配置管理選項,對www.semxa.com這單一的目標進行掃瞄必須將proximity最大設置成0並且關閉子網的擴展或者過早的編輯config/satan.cf,根據需求再利用$only-attack-these變量將掃瞄限制在單一之上。然後選擇"Change the C-nfiguration File"項save修改。很多時候把限制放鬆到一個整的網段效果會好許多,但這取決於你是否有這個時間和精力。
最後在"Target Selection"中植入目標地址,接著選擇scan degree啟動掃瞄就over了。後來需要做的就是等待結果。當SATAN的子線提示已經完成時,就可以在SATAN的Data Gather Of Screen選
"View primary target results"來瀏覽結果。也可以在SATAN的子目錄results/s-ata-data來看。
信息和弱點收集結束接著能做的就只有空洞的分析那些結果了。This is the job nerve-racking,當然只是就我而言的。:-\對於www.semxa.com,現在已經收集到了很多信息在我的表格中了,「對號入座」是目前該做的事情了。在SATAN收集到目標機器的OS的時候,我抽了這個空餘時間到www.netsafety.com收集關於那個OS的所有漏洞的信息,有了它我就可以在SATAN的報告中標識出哪個可以用哪個該放棄。所以說經常留意最新的安全弱點報告是很重要的。但目前應當做的還是需要第一個能登陸系統的用戶和它的口令。
對於匿名可以進入的系統來說,這無疑是一個好的兆頭。雖說匿名的FTP本身並不是個漏洞,但是它卻可以使攻擊者能獲得這個系統的信息以及更多的包括內部SATAN不能逾越的漏洞,甚至可以因為管理員的低級配置而獲得/etc/passwd文件。
目前在Internet上,提供匿名服務的系統依然很多。我們花點時間來探討一下這些吧(如果你也有時間的話)。但匿名FTP的未來我想應該不會很長遠吧,畢竟它是一個潛在的安全隱患。
從Unix上設置匿名的FTP服務路徑:
$mkdir/home/ftp
$cd /home/ftp
$mkdir bin
$mkdir etc
$mkdir pub
$mkdir lib
$cp /bin/ls /home/ftpbin
$chmod 111 /home/ftp/bin/ls
接著需要創建只能被匿名FTP用戶使用的FTP組,這個組沒有其他成員的組,把這個新創建的組所能使用的項加到/etc/group文件裡,再創建一個單獨的
$mkdir /home/ftp/etc/group
FTP::50
建設匿名的FTP用戶名,方法是把該用戶的項放在/etc/passwd中,並創建一個為/home/ftp/etc/passwd文件,當然它只能包含該FTP項。內容表現為:
FTP:*:23:32::no shell
接著需要做的就是把這個項設置成只讀444:
$chmod 444/home/ftp/etc/passwd
$chmod 444/home/ftp/etc/group
以上這是一般的Unix上匿名FTP的配置。從上面的no shell不難看到匿名的FTP用戶登陸後是無法通過shell對系統進行操作的。如果說出現可以通過shell來操作系統或的匿名FTP用戶擁有合法的shell的話,那這個管理員一定是個Zanily Gink。
而所謂的匿名用戶獲取/etc/passwd那也是屬於管理員配置上的低級錯誤。匿名FTP的/home/ftp/etc目錄裡包含了passwd和group文件,這幾個文件允許匿名用戶使用ls來顯示它們名稱,但不是UID。至於passwd文件的密碼域則是不可用的。但如果說管理員不慎把/etc/passwd和/etc/group文件copy到了/home/ftp/etc目錄下,那麼攻擊者就該偷笑了。還有的危險就是telnet to ftp 21如果允許執行SITE CHMOD and
SITE EXEC、/home的所有者是匿名FTP的用戶,那麼隨便就可把權限設置成777或者更多的進行修改等等等等。可semxa卻沒有匿名FTP服務,所以上面的話只是我想到了才說的。haha……:-x

*就SATAN而言。www.semxa.com的實際漏洞並不是很多,但卻有一個絕對夠級別的漏洞——mount的漏洞。這是一個很老的漏洞了,據說可以延伸到VAX年代,Sun的描述是「如果兩個連續的mount -d -s命令在幾秒內發送給機器,則請求被實現……」。而對緩衝區溢出來說,一直是受到關注的。以緩衝區溢出為類型的安全漏洞是最為常見。但要利用緩衝區溢出上的漏洞那麼你就得熟悉彙編語言、c and Unix、Windows甚至是Linux以及更多的系統。否則你只能看著別人去模仿,這是很不自然也很不方便的。當然了,最重要的還是你得知道溢出的是什麼緩衝區。Mixter95年曾經寫過一篇初級的關於緩衝區溢出的利用的文章《Writing buffer overflow exploits - a tutorial for beginners》,我在這裡純粹是起一個「廣而告之」的作用。看這篇文章你可以到http://semxa.kstar.com/HANLU/buffer95.txt看到全部。*

我提倡把掃瞄的結果建立成表格的形式,是因為這樣可以使你更好與漏洞進行匹配,這是很值得的。熟悉英文的用戶在建立了表格之後可以去BUGTRAQ找,最重要的在這裡你甚至還可以相匹配的攻擊代碼。而厭煩English的用戶則可以去www.105.com.cn,這是一個很有價值的站點,在這裡可以找到97年至今的各個系統的安全漏洞,當然大部分也是帶有代碼的。

怎麼利用所收集到的漏洞進行攻擊暫時不是這個文章所討論的問題。可事實上討論漏洞如果利用卻一直是很得到重視的,很多朋友都這麼以為。可我認為這是後話,只是覺得一個真正的技術上的成功的背後大多是有著堅韌而不捨棄、勇往追求的執著精神努力而來的,絕不是從天上掉下來或者是從娘胎裡帶出來的「天生的天才」。如果說一個潛在的漏洞所能給你得到的是一個最高權限的話,那麼沒有任何漏洞的情況下呢?當我們還在嘗試Modem的撥號入侵甚至是再深奧一點的時候,美國人卻正在進行著DCC attack,不由得發現世界如此之大,可我們太膚淺了……
請相信一步難上青天,需要點點滴滴……

點閱: 19

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料