[轉貼,翻譯,教學]如何隱藏你的蹤迹



贊助商連結


winson
2001-05-18, 03:54 AM
################################################
# #
# 如何隱藏你的蹤迹 #
# #
################################################



第一章 理論篇



I. 概述
II. 思想認識(MENTAL)
III. 基礎知識
IV. 高級技巧
V. 當你受到懷疑時...
VI. 被捕
VII. 有用的程式
VIII. 最後的話
I. 概述
----------------------------------------------------------------------

>> 譯者注:本文是德國著名hacker組織"The Hacker's Choice"的96年寫的一篇文章,
>> 但今天讀來仍頗有收穫,就象他自己說的:"即使是一個很有經驗的hacker也能從這
>> 媥ヮ鴗@些東西".在翻譯的過程中對原文做了一些改動,也加入了一些自己的理解,
>> 不當之處,還請賜教.
>>

注意 : 本文分爲兩部分.
第一部分講述了一些背景和理論知識.
第二部分通過具體的實例教你一步一步瞭解該做什麽和不該做什麽.
如果你懶得看完全部文章,那就唯讀第二部分吧.它主要是寫給那些
Unix hack新手看的.


如果你把儘快得到最新的exploits當成最重要的事的話,那我要說-你錯了.

>> 譯者注:exploits可以理解爲"漏洞",不過我並不想這麽翻,翻過來總感覺怪
>> 怪的,所以我還是保留了原文.文中還有一些地方也是如此處理,不再一一注明

一旦警察沒收了你的電腦、你的所有帳戶都被取消、你的一切活動都被監視
的時候,即便是最好的exploit對你又有什麽用呢?
我不想聽那些辯解的話.
不,最重要的事應該是不要被捕!
這是每個hacker都應該明白的第一件事.因爲在很多情況下,特別是當你首次
hack一個由於飽受入侵之苦而開始對系統安全敏感的站點時,你的第一次hack
也許就將成爲你最後一次hack.

所以請仔細閱讀所有章節!
即使是一個很有經驗的hacker也能從中學到一些東西.


下面是各節的簡介:
節 I - 你現在正在讀的
節 II - 思想認識
1. 動機
2. 爲什麽你必須要謹慎(paranoid)
3. 怎樣才能謹慎
4. 保持謹慎

節 III - 在你開始hack前應當知道的基本知識
1. 前言
2. 自身安全
3. 自己的帳戶
4. log文件
5. 不要留下痕迹
6. 你應當避免的事
節 IV - 你該瞭解的高級技巧
1. 前言
2. 阻止任何跟蹤
3. 找到並處理所有的log文件
4. 檢查syslog設置和log文件
5. 檢查安裝的安全程式
6. 檢查系統管理員
7. 怎樣修正checksum檢查軟體
8. 注意某些用戶的安全陷阱(詭計?)
9. 其他
節 V - 一旦你受到懷疑你該怎麽做
節 VI - 當你被捕時該做的與不該做的
節 VII - 一些用於隱藏痕迹的程式的列表
節 VIII- 最後的話,作者想說的一些廢話

請仔細閱讀,開動腦筋.





II. 思想認識(MENTAL)

>> 譯者注:這一節的目的主要是提醒你樹立正確的"hack"觀 ;)
----------------------------------------------------------------------

內容: 1. 動機
2. 爲什麽你必須要謹慎(paranoid)
3. 怎樣才能謹慎
4. 保持謹慎
>> 譯者注:paranoid的意思是"患偏執狂的",在這堨i能是當
>> "小心謹慎"來講吧.


* 1. 動機 *

不管做什麽事,信念總是取得成功的一個關鍵.

它是你的動力源泉,它激發你去奮鬥,自我約束,小心謹慎而又面對現實,準確的估
計風險,它也能讓你去做你不喜歡做但又非常重要的事情(即使你現在就想去游泳).
如果你不激勵自己去編制重要工具,等候恰當的時機去攻擊目標,那你永遠不
能成爲真正的hacker.

一個成功而又優秀的hacker必須滿足這些要求.它就象健身和節食---如果你
真正努力去做,你就能成功.


* 2. 爲什麽你必須要謹慎 *
當然,小心謹慎並不會讓你的生活變得更幸福.
然而如果你從不做最壞的打算,任何事情都能擊倒你,讓你失去平衡.你正在做的
事會讓你冒很大風險.而在你正常的生活中你並不需要擔心警察,小偷什麽的.但
如果你從另一方面考慮,你要知道你正在給別人的生活帶來麻煩和惡夢--他們很
想阻止你.
儘管你不認爲這是犯罪.但當警察迅速逮捕每個可能被牽扯的人時,你會發現一件
很悲慘的事:你是有罪的除非你能證明你無罪!
一旦你得到了一個hacker的"汙名",你就永遠不能將其去除.一旦你有了犯罪紀錄,
你將很難找到一份工作.特別是沒有軟體公司甚至沒有與電腦有關的公司會聘用
你,他們會害怕你的技術.你也許不得不移民...
一旦跌倒了,能再爬起來的只是少數人.

要小心謹慎!
要保護好你自己!
記住你得到的一切都可能失去!
絕不爲做額外的反跟蹤工作而感到愚蠢!
絕不爲如果別人嘲笑你太謹慎而煩心!
決不要因爲太懶或者厭倦而放棄修改log文件!
一名hacker必須%100的完成他的"工作"!



* 3. 怎樣才能小心謹慎 *

如果你讀了上面的話並且你認爲那是對的,那就容易了---你已經變得小心謹慎了
但這必須要變成你生活中的一部分才行,當你總是考慮究竟是誰告訴你了那些事,
考慮你的電話和email可能已被監視的時候,那它已經變成你生活的一部分了.

如果上面這些還不能幫你,那麽考慮一下如果你被捕會發生什麽.
你的女友還會站在你這邊嗎?你想看到你父母爲你流淚嗎?你想丟掉飯碗
或學業嗎?

不要給這一切以發生的機會!

如果這還不能警醒你:
離HACKING遠點兒!!!
對整個hacker社會和你的朋友來說,你都是個危險人物!


* 4. 保持謹慎 *
我希望現在你明白爲什麽小心謹慎的重要性了.
所以保持謹慎.一個錯誤或者一次偷懶都可能徹底毀掉你的生活和事業.

在做一件事時應時刻記著你的動機是什麽.

>> 譯者注:這部分是讓你知道你正在幹什麽及你的處境.如果你不想讓你成爲無聊
>> 記者津津樂道的話題---"某地破獲重大黑客案...",那就多看看,多想想.要知
>> 道,自己是這種新聞的主角和看別人的新聞可完全不是一個感覺.
>> 所以要:謙虛謹慎,戒驕戒躁 :-)

贊助商連結


winson
2001-05-18, 03:55 AM
III. 基礎知識
----------------------------------------------------------------------

內容 :
1. 前言
2. 自身安全
3. 自己的帳戶
4. log文件
5. 不要留下痕迹
6. 你應當避免的事

* 1. 前言 *

在你開始你的初次hack之前,你應當知道這些並且進行些練習.這些都是非常基本
的,不知道這些你很快就會有麻煩了.即便是一名很有經驗的hacker也能從中得到
一些新的提示.

* 2. 自身安全 *

系統管理員讀了你的email嗎?
你的電話被警察監聽了嗎?
警察沒收了你存有所有hacking資料的電腦嗎?

如果你不接收可疑的email,不在電話婼芺荽acking/phreaking的話題,在你的硬碟
上也沒有敏感和私人資料的話,那你不必擔心上面那些情景.但那樣你就並不是一個
hacker.每個hacker和phreaker都與其他人保持聯繫並把他的資料保存在某個地方.

加密所有敏感資料!!!
在線硬碟加密程式是非常重要和有用的:
在internet上游很多好的免費硬碟加密程式,它們對你的作業系統來說是完全
透明的.下面所列的幾個軟體都是經過測試的,是hacker's的首選工具:
- 如果你用MsDos,你可以使用SFS v1.17或者SecureDrive 1.4b
- 如果你用Amiga,你可以使用EnigmaII v1.5
- 如果你用Unix,你可以使用CFS v1.33

>> 譯者注:在win9x下可以考慮emf,iprotect...

文件加密軟體: 你可以使用任何一種加密軟體,但它應該是使用一種衆所周知的
安全加密機制.絕對不要用那些被出口的加密程式,它們的有效密鑰長度被縮短了!
- Triple DES
- IDEA
- Blowfish (32 rounds)
加密你的Email!
- PGP v2.6.x 是個不錯的工具.
如果你想討論重要的事情的話,加密你的電話.
- Nautilus v1.5a 是迄今最好的
當你連到一個unix系統時加密你的終端.
一些人可能正在sniffing或者監視你的電話線:
- SSH 是最安全的
- DES-Login 也不錯

>> 譯者注:- SSL 基於SSL的一些軟體也可以一試

用強壯的不可猜測的,不在任何字典中的密碼.它應當看起來象隨機的但又容易記
憶.如果密碼長度可以比10個字元更長,那就用更長的.可以從書中抽取一句話,並
略作修改.請將你的hacker朋友的電話號碼加密兩遍.如果你不加密,你應當從公用
電話給他打電話.

>> 譯者注:其實有個好記又難猜的密碼並不難,例如考慮句子"I'm a haxor!"可以從中抽
>> 取幾個單詞組成I'mhaxor,好象沒有數位,呵呵,用"eleet"的hacker語言,haxor=h4x0r
>> 所以我們的口令可以是:I'mh4x0r(我是hacker).這樣的密碼恐怕只能用暴力破解了.

如果你對hacking有了深入瞭解,你應當加密所有的東西!

爲你的資料做個備份,當然要先加密,把它放在一個隱秘的地方,最好不要在家.
所以即使你因爲失誤,火災或警察搜捕等原因丟失了資料,你還可以得到備份資料.

只有當你真的需要它們時才寫出來,否則將它們放在一個機密文件或加密分區塈
安全.一旦你不需要它們了,燒掉那些紙.你也可以用只有你自己知道的加密機制將
它們寫下來,但不要告訴任何人,也別太經常的使用它.也許它很容易被分析和破解

真正沈穩和謹慎的hackers應該考慮實施干擾方案.警察,間諜,其他hacker能監視你
的舉動.一個擁有先進設備的人可以獲得他想要的任何東西:
電腦發射的電子脈衝可以從100米以外的距離被截獲,可以顯示你的監視器螢幕,
監聽你的私人談話,確認鍵盤敲擊時的高頻信號等等...所以各種可能性總是存在的.
成本低廉的應付方法就是採用電子脈衝干擾發射機,商店奡N有賣的.如果你不想讓

>> 譯者注:不知道我們的商店埵釣S有賣的.;-)

任何人監視你,我認爲這些還不夠...





* 3. 你自己的帳戶 *
下面讓我們談談你自己的帳戶.它就是你在學校/公司/ISP那堭o到的帳戶,它
總是與你的真實姓名聯繫在一起,所以在使用它時絕對不要違背下面的原則:

永遠不要用你的真實帳戶做任何非法或者惹人懷疑的事!
永遠不要試圖從你的真實帳戶telnet到任何被hacked主機去!
當然可以用這個帳號訂閱安全mailing lists.
但任何與hacking有關的東西都必須加密或者立刻銷毀.
決不要在你帳號下保存hacking或security工具.
儘量用POP3連到你的mailserver下載或者刪除你的郵件(如果你對unix比較熟悉,
還可以直接telnet到POP3埠執行下載或者刪除命令).
決不要泄漏你的真實email給你不信任的人,只把它給你信任的人,他們也應當是比較
注意安全問題的人,否則如果他們被捕,下一個就是你了(或許他們根本就是警察,而不
是hacker.).
與其他的hacker用email交流時必須要用PGP加密,因爲系統管理員經常偷看用戶目錄,
甚至讀區別人的email!!其他的hacker也可能hack你們的站點並試圖得到你的資料.

絕不要用你的帳號表明你對hacking感興趣!
對安全感興趣可以,但不要再進一步了.

>> 譯者注:與別人交流時可以申請免費信箱,最好是國外的,比如hotmail之類,登陸時注意最好
>> 通過proxy.自己的真實信箱應當只用來進行一般的正常通信,與朋友/老師/同事...



* 4. LOG文件 *

有三個重要的log文件:
WTMP - 記錄每次登錄的資訊,包括登陸/退出的時間,終端,登錄主機ip
UTMP - 在線用戶記錄
LASTLOG - 記錄用戶上次是從哪里登錄的
當然還有其他的log,它們將在"高級技巧"一節種討論.每次通過telnet,ftp,rlogin,rsh
的登錄都會被記錄到這些文件中.如果你正在hacking,把自己從這些記錄中刪除就是很
重要的了.否則他們會:
a) 準確的發現你什麽時候在搞hacking活動
b) 發現你從那個站點過來
c) 知道你在線的時間有多長,以便計算你給他們造成的損失

絕對不要刪除這些log文件!!!那等於通知管理員:"嗨,你的機器上有個hacker!".找一個
好程式來修改這些log.ZAP(或ZAP2)經常被認爲是最好的但事實上它並不是.它只是簡單
的用0來填充用戶上次登陸的資料段.CERT已經發佈了一個簡單的程式用來檢查這些全零
資料項目.所以這樣也會很容易就讓人知道現在有個hacker在活動,這樣你所有的工作就沒有意義了.ZAP的另外一個缺陷是當它找不到那些log文件時,它並不報告.所以在編譯之前必須先檢查一下路徑!你應該使用能改變記錄內容的程式(象cloark2.c)或者能真正刪掉
記錄的程式(象clear)

>> 譯者注: THC提供的cleara.c ,clearb.c是非常好用的清除工具.可以清除
>> utmp/utmpx,wtmp/wtmpx,修復lastlog讓其仍然顯示該用戶的上次登錄資訊(而不
>> 是你登錄的資訊).如果你發現你登錄後沒有顯示上次登錄資訊,那很可能你的機器
>> 可能已經被人hack了,當然,即使顯示正確的資訊也未必就沒有被hack.;-)

一般來說要修改log你必須是root(有些老版本系統例外,它們將utmp/wtmp設成允許所有人可寫)但
如果你不能得到root許可權---你該怎麽做呢?
你應該rlogin到你現在所處的主機,以便在lastlog種增加一個不是那麽惹人懷疑的資料項目,它將在
該用戶下次登錄時被顯示,如果他看到"上次從localhost登錄"的資訊時也許不會懷疑.

>> 譯者注:這也是沒有辦法的辦法,換了我,我就會懷疑.;)

很多unix系統的login命令有一個bug.當你登錄以後再執行一遍login命令時,它將
用你當前的終端重寫UTMP中的login from段(它顯示你是從哪里來的!)

那麽這些log文件缺省在什麽地方呢?
這依賴於不同的Unix版本.
UTMP : /etc 或 /var/adm 或 /usr/adm 或 /usr/var/adm 或 /var/log
WTMP : /etc 或 /var/adm 或 /usr/adm 或 /usr/var/adm 或 /var/log
LASTLOG : /usr/var/adm 或 /usr/adm 或 /var/adm 或 /var/log
在一些舊unix版本中lastlog資料被寫到$HOME/.lastlog

* 5. 不要留下痕迹 *
我曾經碰到很多hacker,他們把自己從log塈R除了.但他們忘記刪掉他們在機器中留下
的其他一些東西:在/tmp和$HOME中的文件

Shell 記錄
一些shell會保留一個history文件(依賴於環境設置)記錄你執行的命令.這對hacker來
說確實是件很糟糕的事.

最好的選擇就是當你登錄以後先啓動一個新shell,然後在你的$HOME中查找歷史紀錄.
歷史記錄文件:
sh : .sh_history
csh : .history
ksh : .sh_history
bash: .bash_history
zsh : .history

>> 譯者注:.*history是我最喜歡看的文件之一,通過它你可以瞭解root或用戶常幹些什麽,
>> 從而得知他們的水平如何,如果他們只會執行"ls","pwd","cp"...那說明水平不過爾爾,無須
>> 太擔心.不過如果你發現root喜歡"find / -type f -perm -04000 -exec ls -al {} \;","
>> "vim /var/adm/messages","ps -aux( -elf) ","netstat -an"....那你就要小心一點了

備份檔案 :
dead.letter, *.bak, *~

在你離開前執行一下"ls -altr"看看你有沒有留下什麽不該留下的東西.

你可以敲4個csh命令,它能讓你離開時刪掉這些歷史文件,不留下任何痕迹.
mv .logout save.1
echo rm .history>.logout
echo rm .logout>>.logout
echo mv save.1 .logout>>.logout

>> 譯者注:對於bash,有一個簡單的辦法就是執行一下"HISTFILE=",就是不設置bash的歷史文件,
>> 這樣就不會有討厭的.bash_history了.(準確地說,是不會往$HOME/.bash_history媦g了)
>> 或者退出的時候簡單的敲kill -9 0 ,它會殺掉這次登錄後産生的所有進程,bash也不會往.bash
>> _history媦g


* 6. 你應當避免的事 *
不要在不屬於你的機器上crack口令.如果你在別人(比如說一所大學)的機器上破解口令,
一旦root發現了你的進程,並且檢查它.那麽不僅你hacking的帳號保不住了,可能連你得
到的那passwd文件也沒了.那學校將會密切注視你的一舉一動...
所以得到口令文件後應該在自己的機器上破解.你並不需要破解太多的帳號,能破出幾個就
夠了.
如果你運行攻擊/檢測程式象ypx,iss,satan或其他的exploiting程式,應當先改名再執行它們.
或者你可以修改源碼改變它們在進程列表中顯示的名字...

>> 譯者注:這並不難,你只要在main()中將argv[]用你喜歡顯示的名字替代就可以了比如argv[0]
>> ="in.telnetd",argv[1]=""...(當然必須在程式已經從argv中讀取了所需的參數之後).

如果某個細心的用戶/root發現5個ypx程式在後臺運行,他馬上就會明白發生了什麽.
當然如果可能的話不要在命令行中輸入參數.如果程式支援對話模式,象telnet.
應當先敲"telnet",然後"o target.host.com"...這就不會在進程表中顯示目標主機
名.

>> 譯者注:如果你用ftp,最好這樣做:
>> $ ftp -n
>> $ ftp>o target.host
>> blahblah...(一些連接資訊)
>> blahblah...(ftp server版本)
>> ftp>user xxx
>> ....

如果你hack了一個系統---不要在任何地方放suid shell!
最好裝一些後門象(ping,quota或者login),用fix來更正文件的atime和mtime.

>> 譯者注: 放suid shell是很蠢的,非常容易被root發現.

winson
2001-05-18, 03:58 AM
IV. 高級技巧
----------------------------------------------------------------------

內容 : 1. 前言
2. 阻止任何跟蹤
3. 找到並處理所有的log文件
4. 檢查syslog設置和log文件
5. 檢查安裝的安全程式
6. 檢查系統管理員
7. 怎樣修正checksum檢查軟體
8. 注意某些用戶的安全陷阱(詭計?)
9. 其他





* 1. 前言 *
一旦你裝了第一個sniffer開始你的hack生涯,你就應該知道並使用這些技巧!
請運用這些技巧---否則你的hack之旅就行將結束.

* 2. 阻止任何跟蹤 *
有時候你的hacking活動會被人發現.那並不是什麽大問題 - 你hacked一些站點
可能會被關掉,但誰管它呢,趕緊離開就是了.但如果他們試圖跟蹤你的來路(通常
是爲了抓住你)的話那就很危險了!


這一節將告訴你他們跟蹤你的各種可能的方法以及你該如何應對.

* 通常對系統管理員來說發現一個hacker是從哪里來的並不是什麽問題:檢查log記
錄(如果那個hacker真的那麽蠢的話);看看hacker安裝的sniffer的輸出記錄(也許
堶惜]記下了他的連接)或者其他系統記帳軟體(象loginlog等等);甚至可以用netstat
顯示所有已經建立的網路連接--如果那個hacker正在線的話,那他就被發現了.
這就是爲什麽你需要一個gateway server(閘道).

* 什麽是gateway server?
它是你所"擁有"的很多伺服器中的一個,你已經得到了它的root許可權.你
需要root許可權去清除wtmp/lastlog/utmp等系統記錄或者其他一些記帳軟
件的log文件.除此之外你不在這台機器上做任何其他的事(它只是個中轉
站).你應當定期更換gateway server,可以每隔1,2個星期更換一次,然後
至少一個月內不再使用原來的gateway server.這樣他們就很難跟蹤到你
的hacking server.

* hackin server - 所有活動的出發點
你從這些機器開始hacking.Telnet(或者更好的:remsh/rsh)到一個gateway server,
然後再到一個目的機器.你需要有root許可權以修改log.你必須每隔2-4個星期就更換
hacking server..

* 你的堡壘/撥號主機.
這是個臨界點.一但他們能跟蹤回你撥號進入的機器,你就有麻煩了.只要打
個電話給警察,再進行一次通信線路跟蹤,你的hack活動就會成爲歷史了,也
許是你的未來.
在堡壘主機上你不需要得到root許可權.既然你只是通過modem撥入,那堥S有
什麽必須修改的記錄.你應該每天用一個不同的帳號撥號進入,儘量用那些
很少使用的.你應該找到至少2個你能撥號進去堡壘主機,每隔1-2個月更換一
次.

>> 譯者注:我對phreak不熟.我猜大部分的國內hacker還沒什麽本事能躲過電信局
>> 的跟蹤.所以最好不要用別人的帳號上網,特別是那些很少上網的帳號,一旦他
>> 發現上網費用劇增,肯定會讓電信局追查的,到時候你就大難臨頭了.如果
>> 你用那些上網頻繁的人的帳號,他反倒不會注意,只會以爲這個月上的太厲
>> 害了.:-)(這絕對沒有鼓勵你盜用別人帳號的意思,這等於盜竊,憑什麽你上網
>> 要別人交錢?就憑你會用john破幾個口令嗎?hacker的名聲就是讓這些打著hacker
>> 旗號的無恥之徒敗壞的.對這種人就得抓!所以我對這樣的phreaker沒有什麽好感,
>> 你要真有本事,就別嫁禍別人,而且還要讓電信局查不出來.) 說多了,咱們言歸正傳.

注意: 如果你能每天撥入不同的系統(比如通過"藍盒子"),那你就不需要那些
hacking server了.
* 使用藍盒子,這樣即使他們跟蹤到你的堡壘主機,也不能(至少是不能很容易地)
追蹤到你的電話...
使用藍盒子必須小心,德國和美國的電話公司有專門的監視系統來追蹤使用藍盒
子的人...

使用一個中間系統來傳送你的電話將會使跟蹤更加困難, 但是同樣由於你使用
一個pbx或其他的什麽東西, 仍使你處於被抓的危險中. 這取決於你.


注意在丹麥所有的電話資料均被記錄!即使在你打完電話10年後,他們仍然能證明你
曾登錄過他們的撥號系統從事hack活動...

- 其他的
如果你想運行satan,iss,ypx,nfs文件控制碼猜測程式..你應當使用一個專門的服務
器來完成.不要用這個伺服器telnet/rlogin到目標伺服器,只是用它來進行檢測.

有些程式可以bind到一個特殊埠,當一個指定到該埠的連接建立的時候,它自動
打開一個連接連到另外一個伺服器的某個埠(有些就類比一個shell,你可以從這個
socket daemon中"telnet"到其他機器).
使用這種程式你不會被記錄(防火牆log除外).有很多程式可以幫你完成上述功能.

>> 譯者注:這種程式我常用的有datapipe.c,telbounc.c,還是很好用的.它就像是個
>> 代理伺服器,但是不會有記錄.:)

如果可能的話,hacking server或者gateway server應該在國外!
因爲如果你的入侵被發現,當發現你來自國外的主機時,大多數網管都會放棄追查.
即使是警察要通過不同的國家追蹤你,這也至少可以拖延2-10個星期的時間...

#下面是hack過程的簡圖,也許對你有些幫助;-)

+-------+ ~---------------> +-------------+ +-----------+
|+-----+| > > | | | |
||本機 || --> > 安全撥號線路 > --> | 堡壘主機 | --> | hacking |
|+-----+| > > | (至少有3個) | | server |
+-------+ ~---------------> +-------------+ +-----------+
|
|
v
+-----------------+ +--------+ +-----------+
| | | | | |
| 內部網路中的主機| ... <-- ... |目標主機| <-- | gateway |
| | | | | server |
+-----------------+ +--------+ +-----------+



* 3. 找到並處理所有的LOG文件 *
找到所有的logfiles是很重要的---即使他們被隱藏.要找到它們有兩種可能的方法:
1)找到所有打開的文件.
既然所有的log必須寫到某個地方去,所以用可以用LSOF(LiSt Open Files)程式
去檢查所有打開的文件,必要的話就得修改它們.

>> 譯者注:lsof由Vic Abell 編寫,用來提供被進程打開的文件的資訊,
>> 它的最新版本可以在ftp://vic.cc.purdue.edu/pub/tools/unix/lsof下找到.有趣
>> 的是,不久前有人發現lsof4.40以前的版本中存在buffer overflow問題,可以取得root
>> 許可權.:-)

2) 搜索所有在你登錄後有變化的文件
在你登錄後,執行"touch /tmp/check",然後可以幹你的活.最後只要執行"find /
-newer /tmp/check -print",並檢查找到的文件,如果其中有記帳文件,就應該修改
它.注意不是所有版本的find都支援 -newer 參數.你也可以用"find / -ctime 0
-print" 或者 "find / -cmin 0 -print"來查找它們.

>> 譯者注:我更喜歡用-exec ls -l {} \;來代替-print,因爲這可以列出比較詳細的資訊.
>> 注意上述方法主要是針對系統記帳軟體的,它可能會記錄你執行的命令.對於只記錄login
>> 資訊的軟體,它在你看到shell提示符以前就已經完成記錄了.所以用這種檢查是查不出來的.

檢查你找到的所有的logfiles.它們一般在/usr/adm,/var/adm或者/var/log,/var/run.
如果它們被記錄到@loghost,那你可能就有點麻煩了.你需要hack那台loghost主機去修改
log...

>> 譯者注:一般單純用作loghost的機器比較難hack,因爲它往往關掉了幾乎所有埠,並且只
>> 允許從控制臺登錄.對於這樣的機器,可以用DoS攻擊使之癱瘓,從而失去log功能.(要hack
>> 往往比較難,要crash it則相對容易一些.;-)當然,本次登陸的記錄仍然會被保存下來.


爲了處理logs,你可以用"grep -v"或者用wc統計行數後,再用"tail -10 log"察看最後10行
,或者用編輯器vi,emcas.

>> 譯者注:如果你從a.b.c來,你可以用grep -v "a.b.c" logfile>logtemp;mv logtemp logfile;
>> 來清除所有含有a.b.c的行.如果log文件比較大,你也可以用vim來編輯.
>> 注意這只能用來修改文字檔案!!!對二進位文件的修改可能導致文件格式被破壞!!!

如果資料檔案是二進位格式的,你應當首先查明它是由什麽軟體産生的,然後設法找到該軟體
的源碼,分析記錄項的結構,自己編程修改記錄.(可以利用現成的程式加以修改,比如Zap,clear
cloak...).

如果系統安裝了accounting軟體.你可以用zhart寫的acct-clener---它非常有效!

如果你必須修改wtmp,但系統又不能編譯根源程式也沒有perl....你可以這樣做,先uuencode
wtmp,然後運行vi,移動到最後一行,刪除最後以"M"開頭的4行...然後保存退出.uudecode
.然後最後5個wtmp記錄項就被刪除了.;-) 注意這只在SCO unix下有效,linux下是不行的.

>> 譯者注:我沒有驗證這個,因爲沒有SCO伺服器.如果你要這麽做,記得要先做個wtmp的備份.

如果系統用wtmpx和utmpx,那你又有麻煩了..迄今我還不知道有哪個cleaner程式可以處理
它們.你不得不自己編一個程式來完成工作.

>> 譯者注:wtmpx和utmpx結構與wtmp和utmp類似,只要將清除utmp和wtmp的軟體略加修改就可
>> 以了.而且現在已經不少現成的程式可以修改utmpx/wtmpx了.



* 4. 檢查SYSLOG配置和記錄 *
大部分程式都用syslog函數來記錄它們需要的所有東西.因而檢查syslogd的配置文件是
很重要的.
這個配置文件是/etc/syslog.conf - 我不會告訴你它的格式是什麽/每一項是什麽意思,
自己去讀它的man頁.
對你來說重要的syslog類型是kern.*,auth.*和authpriv.*.看看它們被寫到哪里了,如
果寫到文件媮晱i以修改.如果被轉發到其他主機,你必須也要hack它們.如果消息被發給
某個用戶,tty或者控制臺.你能耍點小花招發很多個假消息象"echo 17:04 12-05-85 kernel
sendmail[243]: can't resolve bla.bla.com > /dev/console"(或其他你想flood的
的設備),讓它卷屏,以隱藏你引發的資訊.這些log文件是非常非常重要的!檢查它們!


* 5. 檢查已經安裝的安全程式 *
很多注重安全的站點都通過cron運行安全檢查程式.crontabs通常在/var/spool/cron/crontabs.
檢查堶惟狾釭漱憟,特別是"root"文件,檢查它堶掖ㄨB行了什麽程式.用"crontab -l root"可以
快速的檢查root crontab的內容.

這些安全工具往往裝在管理員的目錄下比如~/bin.

這些檢查軟體可能是 tiger, cops, spi, tripwire, l5,binaudit, hobgoblin, s3 等等...

你必須檢查它們都報告了些什麽東西,看它們是否報告了一些顯示出你入侵迹象的東西.
如果是的話,你可以 - 更新軟體的資料檔案,是它們不再報告這種類型的消息.
- 可以重新編程或修改該軟體使它們不再産生報告.
- 如果可能的話,刪除你安裝的後門或其他程式,並試著用其他的方法來完成



* 6. 檢查系統管理員 *
對你來說瞭解系統管理員採取了那些安全措施是非常重要的.因此你需要知道他們經常使用哪些
普通用戶帳號.
你可以檢查root的.forward文件和alias內容.看看sulog文件,注意那些成功su成root的
用戶.檢查group文件中的wheel和admin組(或者其他任何與管理員相關的組).你也可以在
passwd文件中查找admin,也許你又能找到一個管理員帳號.
現在你應該已經知道這台機器上誰是管理員了.進入他們的目錄(如果系統不允許root讀所有
的文件,用chid.c或者changeid.c將自己的uid變成該用戶的),檢查他們的.history/.sh
_history/.bash_history文件看看他們經常執行什麽命令.也應當檢查他們的.profile/.
login/.bash_profile文件看看堶掖ㄢ]置了什麽alias,是否執行了什麽自動安全檢查或
logging程式.也檢查他們的~/bin目錄!大多數情況下被編譯的安全程式被放到那堶!當然
也要看一下他們的每一個目錄(ls -alR ~/).
如果你找到任何與安全有關的東西,請讀5小節以設法繞過它們的安全保護.


* 7. 怎樣修正checksum檢查軟體 *
一些管理員真得很怕hacker所以裝了一些軟體來檢查二進位文件.如果一個二進位文件被
改動了,下次管理員做二進位檢查的時候,它將被檢測到.
那麽你怎麽找到是否系統安裝了這樣的程式,又怎樣修改它們以便你能植入你的木馬程式呢?

注意有很多的二進位檢查程式,而且要寫一個也真是非常容易(15分鐘就夠了),你可以用一個
小的script完成這個工作.所以如果這樣的軟體被安裝的話要找到它們是比較困難的.注意
有些常用安全檢查程式也提供這樣的檢查.下面是一些應用得很廣泛的軟體:

winson
2001-05-18, 03:59 AM
軟體名 標準路徑 二進位檔案名

tripwire : /usr/adm/tcheck, /usr/local/adm/tcheck : databases, tripwire
binaudit : /usr/local/adm/audit : auditscan
hobgoblin : ~user/bin : hobgoblin
raudit : ~user/bin : raudit.pl
l5 : 編譯所在目錄 : l5

你要明白有很多種可能!這軟體或資料庫甚至可能放在一個正常情況下不被mount的盤上或
者在其他主機export的NFS分區上.也可能checksum資料庫是儲存在一個防寫的介質上的.
各種可能性都有!但一般情況下你只要檢查上述軟體是否被安裝就可以了,如果沒有的話,你就
可以改變某些二進位文件.如果你沒有找到那些軟體,但你又知道這是一個進行了完善安全保
護的站點的話,你就不應該改變二進位文件!它們(二進位檢查軟體)肯定被藏在什麽地方了.

如果你發現了這種軟體被安裝並且你可以修改它們(比如不是放在唯讀介質上,或者可以通過
一些辦法繞過限制 - 比如umount該盤然後重新mount成可寫的)的話,你該怎麽做呢?
你有兩種選擇:
首先你可以只檢查軟體的參數,然後對已經修改過的二進位文件執行一次"update"檢查.
比如用tripwire的話你可以執行" tripwire -update /bin/target ".
第二種辦法是你可以編輯要被檢查的二進位檔案名單 - 從中刪除你改動過的二進位檔案名.
注意你也應當看看是不是連資料庫文件自身也會被檢查!如果是的話 - 先update再刪除
資料庫檔案名.


* 8. 注意某些用戶的安全陷阱(詭計?) *
這種情況較少發生,這奡ㄔX來主要是爲了討論的更完全.
一些用戶(可能是管理員或者hacker)通常不象他自己的帳戶被別人使用.所以他們有時候
會在他們的啓動文件堭蘑一點安全措施.
所以要檢查所有的以"."開頭的文件(.profile,.cshrc,.login,.logout 等等),看看
他們執行了什麽命令,記錄了些什麽東西,以及他們的搜索路徑是怎麽攝製的.如果某個目錄
(比如$HOME/bin)出現在/bin的前面,你就應該檢查一下那個目錄的內容了...也許堶掘
了個程式"ls"或者"w",它會先記錄被執行的時間然後再執行真正的程式
也許還有些程式用來自動檢查wtmp和lastlog文件是否被zap處理過,檢查.rhosts,
.Xauthority文件,或是否有sniffer正在運行...
千萬不要使用一個unix高手的帳號!



* 9. 其他 *
最後,在討論受懷疑或被捕的話題之前,還有一些其他的事情值得引起注意.

老的telnet client會export USER變數.一個瞭解這一點的系統管理員可以編輯telnetd
,從而得到所有(通過telnet登錄進來的)用戶名.一旦他注意到你,他就可以很容易的得知你
是從(遠方主機的)哪個帳號hack進來的.新的client(用戶端程式)已經解決了了這一問題 -
但是一個聰明的管理員仍然可以得到其他的資訊以鑒別用戶:UID,MAIL,HOME變數,這些變數
仍然被export,這就可以很容易得鑒別 hacker使用的是哪個帳戶.因此在你進行telnet前,
記得要改變USER,UID,MAIL和HOME變數,如果你正處在home目錄下的話也許甚至要改變PWD變
量.

在HP Unix(版本低於v10)中你可以建立隱藏目錄.我不是說那些以"."開頭的目錄而是
一些有特殊標誌的目錄.HP在v9版推出了它,但從v10版本以後就去除了(因爲只有hacker
才是用它 ;-).
如果你執行"chmod +H directory",則directory目錄就不能用"ls -al"列出.爲了看
這個隱藏目錄,你需要爲ls增加 -H 參數,例如:"ls -alH".


無論什麽時候,當你需要改變文件的日期時,記住你能用"touch"命令設置atime和mtime.
你只能通過直接的硬碟讀寫來設置ctime.


如果你在一個重要系統中安裝了sniffer,一定要加密sniffer的輸出或者讓sniffer通過
icmp或者udp將所有被截獲的資料發送到一個由你控制的外部主機.爲什麽要這樣做?因爲
這樣即使管理員發現了sniffer(通過cpm或其他檢查sniffer存在的程式),他們也不能從
sniffer log中得知哪些東西被sniff了,所以他也不能即使提醒正被你sniff的主機.

V. 當你被懷疑時...
----------------------------------------------------------------------

一旦你受到懷疑(被警察或是系統管理員)你應該採取些特別的行動是他們不能得到不利你的
證據.


注意 : 如果系統管理員認爲你是個hacker,
你就是有罪的直到你被證明是無辜的!

這些管理員根本不理會什麽法律(有時候我認爲hacker與管理員的不同僅僅在於那台電腦
屬於管理員而已).當他們認爲你是個hacker的時候,你就是有罪的,沒有律師爲你辯護.他們
會監視你,你的郵件,文件,甚至記錄你的鍵盤(如果他們夠利害的話).

當警察被牽扯進來的時候,你的電話線也可能被監聽,搜捕行動也許跟著就來了.

如果你注意到你正受到懷疑,一定要保持低調!不要採取任何攻擊性行動!
最好是等上至少1到2個月,什麽都不做.
警告你的朋友不要給你發任何郵件,或者只發一些正常的/無害的郵件.如果你突然採用 PGP加密
郵件,這會提醒正在監視的警察和管理員---你發現他們的監視了.切斷與hacking有關的聯繫,
寫點兒文章或者編編程式,一直等到一切都過去.及主要加密你的敏感資料,銷毀所有記有帳號
資料,電話號碼等等的紙張.當警察搜捕你的時候,那些東西是他們要找的最重要的東西.

VI. 被捕
----------------------------------------------------------------------

Note that this small chapter covers only the ethics and basics and
hasn't got any references to current laws - because they are different
for every country.

Now we talking about the stuff you should/shouldn't do once the feds
visited you. There are two *very* important things you have to do :
1) GET A LAWYER IMMEDEANTELY !
The lawyer should phone the judge and appeal against the search
warrant. This doesn't help much but may hinder them in their work.
The lawyer should tell you everything you need to know what the
feds are allowed to do and what not.
The lawyer should write a letter to the district attorney and/or
police to request the computers back as fast as possible because
they are urgently needed to do business etc.
As you can see it is very useful to have got a lawyer already
by hand instead of searching for one after the raid.
2) NEVER TALK TO THE COPS !
The feds can't promise you anything. If they tell you, you'll get
away if you talk, don't trust them! Only the district attorney
has got the power to do this. The cops just want to get all
information possible. So if you tell them anything they'll have
got more information from and against you.
You should *always* refuse to give evidence - tell them that you
will only talk with them via your lawyer.

Then you should make a plan with your lawyer how to get you out of this
shit and reduce the damage.
But please keep in mind : don't betray your friends. Don't tell them
any secrets. Don't blow up the scene.
If you do, that's a boomerang : the guys & scene will be very angry
and do revenge, and those guys who'll be caught because of your
evidence will also talk ... and give the cops more information about
*your* crimes!

Note also that once you are caught you get blamed for everything which
happened on that site. If you (or your lawyer) can show them that they
don't have got evidences against you for all those cases they might
have trouble to keep the picture of that "evil hacker" they'll try to
paint about you at the court. If you can even prove that you couldn't
do some of the crimes they accuse you for then your chances are even
better. When the judge sees that false accuses are made he'll suspect
that there could be more false ones and will become distrusted against
the bad prepared charges against you.

I get often asked if the feds/judge can force you to give up your
passwords for PGP, encrypted files and/or harddisks.
That's different for every country. Check out if they could force you
to open your locked safe.
If that's the case you should hide the fact that you are crypting your
data! Talk with your lawyer if it's better for you to stand against
the direction to give out the password - maybe they'd get evidences
which could you get into jail for many years.

(For german guys : THC-MAG #4 will have got an article about the german
law, as far as it concerns hacking and phreaking - that article will
be of course checked by a lawyer to be correct. Note that #4 will only
discuss germany and hence will be in the german language.
But non-germans, keep ya head up, this will be the first and last german
only magazine release ;-)


>>譯者注:這一節是講述了如果被捕,應當做些什麽.由於我們的法律和西方不同,所以我就不翻了.有
>>興趣的可以自己看一看.主要的兩點就是:1.馬上找到一個律師爲你處理這一切.2.不要告訴警察任
>>何東西,也不要出賣其他人.

VII. 有用的程式
----------------------------------------------------------------------

這埵酗@個你應該找到並使用的程式列表.不要給我發email問我在哪里找到它們 - 自己到
hacker世界中去找!我只列出了最好的log編輯程式(見III-4和IV-3).
其他有趣的程式還有telnet重定向程式(見IV-2),但這種程式有很多,大部分只能在1-3種
unix類型下編譯,所以列表沒什麽用.

先節是以下幾個術語:
改變 - 將logfile中的域改成你喜歡的任意內容
刪除 - 刪除你要求的記錄項
編輯 - 真正的logfile編輯器.
重寫 - 只用0位元組來重寫記錄.
不要用這樣的軟體(e.g. zap) - 它能被檢測到!
LOG 修改器

ah-1_0b.tar 改變記帳資訊的記錄
clear.c 刪除utmp,wtmp,lastlog和wtmpx中的記錄
cloak2.c 改變utmp,wtmp和lastlog中的記錄.
invisible.c 用預設值重寫utmp,wtmp和lastlog
所以它比zap更好.注意看,有好多inv*.c!
marryv11.c 編輯utmp, wtmp, lastlog 和 accounting 資料 - 最好的!
wzap.c 刪除wtmp中的記錄
wtmped.c 刪除wtmp中的記錄
zap.c 重寫utmp, wtmp, lastlog - 不要用它!它會被檢測到!




VIII. 最後的話
----------------------------------------------------------------------

最後的話:
不要被捕,記住這些技巧.
如果有人想更正一些錯誤或者發表一些意見,或對某個話題需要更多的資訊,甚至認爲我遺漏了
一些東西 - 請讓我知道.

van Hauser



Type Bits/KeyID Date User ID
pub 1024/3B188C7D 1995/10/10 van Hauser/THC of LORE BBS