如何偽裝Linux系統 給黑客設定系統假象

2021-08-25 15:57:34 字數 3524 閱讀 1853

網路上的計算機很容易被黑客利用工具或其它手段進行掃瞄,以尋找系統中的漏洞,然後再針對漏洞進行攻擊。

通過偽裝linux系統,給黑客設定系統假象,可以加大黑客對系統的分析難度,引誘他們步入歧途,從而進一步提高計算機系統的安全性。下面以red hat linux為例,針對幾種黑客常用的途徑介紹一些常用的linux系統偽裝的方法。

針對http服務

通過分析web伺服器的型別,大致可以推測出作業系統的型別,比如,windows使用iis來提供http服務,而linux中最常見的是apache。

預設的apache配置裡沒有任何資訊保護機制,並且允許目錄瀏覽。通過目錄瀏覽,通常可以獲得類似「apache/1.3.27 server at apache.linuxforum.net port 80」或「apache/2.0.49 (unix) php/4.3.8」的資訊。

通過修改配置檔案中的servertokens引數,可以將apache的相關資訊隱藏起來。但是,red hat linux執行的apache是編譯好的程式,提示資訊被編譯在程式裡,要隱藏這些資訊需要修改apache的源**,然後,重新編譯安裝程式,以實現替 換裡面的提示內容。

以apache 2.0.50為例,編輯ap_release.h檔案,修改「#define ap_server_baseproduct /"apache/"」為「#define ap_server_baseproduct /"microsoft-iis/5.0/"」。編輯os/unix/os.h檔案,修改「#define platform /"unix/"」為「#define platform /"win32/"」。修改完畢後,重新編譯、安裝apache。

apache安裝完成後,修改httpd.conf配置檔案,將「servertokens full」改為「servertokens prod」;將「serversignature on」改為「serversignature off」,然後存檔退出。重新啟動apache後,用工具進行掃瞄,發現提示資訊中已經顯示作業系統為windows。

針對ftp服務

通過ftp服務,也可以推測作業系統的型別,比如,windows下的ftp服務多是serv-u,而linux下常用vsftpd、proftpd和pureftpd等軟體。

以proftpd為例,修改配置檔案proftpd.conf,新增如下內容:

以下是**片段:

serverident on /"serv-u ftp server v5.0 for winsock ready.../"

存檔退出後,重新啟動proftpd服務,登入到修改了提示資訊的ftp伺服器進行測試:

以下是**片段:

c://>ftp 192.168.0.1

connected to 192.168.0.1.

220 serv-u ftp server v5.0 for winsock ready...

user (192.168.0.1:(none)):

331 password required for (none).

password:

530 login incorrect.

login failed.

ftp > quit

221 goodbye

這樣從表面上看,伺服器就是乙個執行著serv-u的windows了。

針對ttl返回值

可以用ping命令去探測乙個主機,根據ttl基數可以推測作業系統的型別。對於乙個沒有經過任何閘道器和路由的網路,直接ping對方系統得到的ttl 值,被叫做「ttl基數」。網路中,資料報每經過乙個路由器,ttl就會減1,當ttl為0時,這個資料報就會被丟棄。

通常情況下,windows的ttl的基數是128,而早期的red hat linux和solaris的ttl基數是255,freebsd和新版本的red hat linux的ttl基數是64。比如,ping乙個red hat系統,顯示如下:

用以下命令修改red hat linux的ttl基數為128(本來為64):

以下是**片段:

# echo 128 > /proc/sys/net/ipv4/ip_default_ttl

以下是**片段:

net.ipv4.ip_default_ttl = 128

儲存退出後,再ping 192.168.0.1,ttl基數就變為128了。

以下是**片段:

#iptables -i input -s ! xx.xx.xx.xx -p tcp --dport 22 -j drop

針對3389埠和22埠

有時通過掃瞄3389埠和22埠,也可以推測作業系統的型別。windows下一般利用tcp協議的3389埠進行遠端控制,而linux可能會用tcp協議的22埠,提供帶有加密傳輸的ssh服務。

為了安全,可以利用iptables來限制22埠的ssh登入,讓非授權的ip掃瞄不到tcp 22埠的存在:

以下是**片段:

#iptables -i input -s ! xx.xx.xx.xx -p tcp --dport 22 -j drop

利用iptables,將本機的tcp 3389埠轉移到其它開有3389埠的計算機上,給linux系統偽裝出乙個提供服務的tcp 3389埠。命令如下:

以下是**片段:

#echo 1 > /proc/sys/net/ipv4/ip_forward

#iptables -t nat -i prerouting -p tcp --dport 3389 -j dnat --to xx.xx.xx.xx

#iptables -t nat -i postrouting -p tcp --dport 3389 -j masquerade

第一條命令表示允許資料報**;第二條命令表示**tcp 3389到xx.xx.xx.xx;第三條命令表示使**資料報實現「雙向通路」,給資料報設定乙個正確的返回通道。若想使**永久生效,可以把以上命令新增到/etc/rc.local檔案中。

這樣,當黑客掃瞄伺服器所開端口的時候,就找不到22號埠,而是看到乙個偽裝的3389埠,從而不能正確判斷出作業系統的型別。

針對netcraft

netcraft是乙個很厲害的掃瞄引擎,它通過簡單的tcp 80,就可以知道所測伺服器的作業系統、web服務程式和伺服器開機時間(uptime)等資訊。

上面介紹的幾種方法對netcraft來說,均不奏效。針對netcraft,可利用iptables進行系統偽裝,使netcraft錯誤判斷作業系統:

以下是**片段:

#iptables -t nat -i prerouting -s 195.92.95.0/24 -p tcp --dport 80 -j dnat --to xx.xx.xx.xx

#iptables -t nat -i postrouting -s 195.92.95.0/24 -p tcp --dport 80 -j masquerade

由於通過抓包發現,netcraft的伺服器不止一台,所以需要對它所在網段進行**欺騙處理。

小結以上方法只能從某種角度上防止和阻撓黑客對系統漏洞的分析,在一定程度上可減少計算機被攻擊的可能性,但仍然是「防君子,不防小人」,僅是給大家提供乙個活學活用的新思路。

如何偽裝Linux系統 給黑客設定系統假象

網路上的計算機很容易被黑客利用工具或其它手段進行掃瞄,以尋找系統中的漏洞,然後再針對漏洞進行攻擊。通過偽裝linux系統,給黑客設定系統假象,可以加大黑客對系統的分析難度,引誘他們步入歧途,從而進一步提高計算機系統的安全性。下面以red hat linux為例,針對幾種黑客常用的途徑介紹一些常用的l...

linux系統 linux下core檔案設定

在程式不尋常退出時,核心會在當前工作目錄下生成乙個core檔案 是乙個記憶體映像,同時加上除錯資訊 使用gdb來檢視core檔案,可以指示出導致程式出錯的 所在檔案和行數。1.core檔案的生成開關和大小限制 1 使用ulimit c命令可檢視core檔案的生成開關。若結果為0,則表示關閉了此功能,...

如何給系統公升級

系統的公升級涉及各個架構元件,細節很多。常年累月的修修補補使老系統積累了很多問題。系統公升級則意味著需要repair之前埋下的雷,那為何還要公升級,可以考慮以下幾個方面 1.缺乏文件 這應該是大小公司都存在的問題。網際網路專案的特點是易變和追求速度,詳細文件不是很好的方案,大部分都是概要文件 2.專...