国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

NameLess后門技術分析全接觸(1)
2008-01-23   

NameLess的大名都應該聽說過吧,估計還有相當多的人用過呢,個人認為這個后門非常經(jīng)典,我們再來簡單看一下有關它的介紹:僅有一個DLL文件,平時不開端口,可以進行反向連接的后門程序。

這個后門早已經(jīng)開源了,網(wǎng)上流傳最廣的是V1.14(穩(wěn)定版),(我已經(jīng)把這個版本的完整源代碼打包了)哈哈,這樣的好事可千萬不能錯過哦,立馬從網(wǎng)上Down回來研究了下,越讀越覺得越有味道,就把一些東西分享出來吧,希望對各位能有所幫助。

對于一個較完整的后門來說,最需要關心的地方莫過于幾點:啟動方式、連接方式、控制功能、自身保護。而NameLess就具備了一個完整后門的所有功能,我們就通過品讀它的代碼來啟發(fā)自己能做出一個屬于自己的后門吧。

首先將源代碼文件解壓,鼠標雙擊NameLess.dsw文件打開,我的測試環(huán)境是VC6.0,更高的版本我沒測試過(沒安裝),為了方便分析,我同時使用EditPlus將其打開了,便于快速查找各函數(shù)的定義跟蹤流程。

一、啟動方式

NameLess后門的安裝方法:打開CMD窗口,轉到后門放置的目錄,輸入Rundll32 NameLess.dll,Install ServiceName ActiveString Password。

可見它是通過系統(tǒng)提供的Rundll32程序來進行安裝的(畢竟它只有一個DLL文件),安裝函數(shù)代碼在輸出的Install函數(shù)中,我們在源工程中找到這個函數(shù)并跟蹤到InstallService(param)中,一目了然。

作者首先用自寫的DesStringArgument函數(shù)把命令行參數(shù)給分解出來,再用自寫的ReadRegEx函數(shù)檢查注冊表鍵HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\NameLess(我們下面用“注冊表路徑1來代替這個路徑”)是否存在,然后進入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\"ServiceName"(注冊表路徑2)把start的值改為2,接著進入子項“Parameters”中把原服務的ServiceName讀取出來后保存到注冊表路徑1中,隨后把自身的一些信息比如密碼、替換的服務名也保存在這里以備卸載的時候恢復。后面緊接著就是卸載函數(shù)RemoveService,大概流程就是先判斷密碼是否正確,然后到“注冊表路徑1”中找到原服務的文件路徑進行恢復,然后刪除掉“注冊表路徑1”。(代碼我就不貼了,見附件源工程中的NameLess.cpp文件)

這種啟動方法只需替換掉系統(tǒng)中原有不太重要的服務,在當時來說效果應該是比較好的,不過隨著現(xiàn)在主動防御的大行其道,這種直接修改注冊表的方法已失去了效果,畢竟是兩年前的作品了。但主動防御也不是無懈可擊,它畢竟還是要被用戶控制的(技術是要為用戶服務的),所以我們可以綜合利用各種方法將自己完美地偽裝好后欺騙用戶的允許,順利地Pass,所以說“人”才是網(wǎng)絡安全中最薄弱的一環(huán)。

二、連接方式

現(xiàn)在我們的后門可以啟動了,但它是如何工作的呢?我們知道如果程序以服務方式啟動的話,在DLL中必須導出一個ServiceMain函數(shù),所以我們就在NameLess.cpp文件中找到該函數(shù)開始我們的分析過程。

這里先注冊了一個服務控制函數(shù)ServiceHandler以便控制服務的啟動、暫停等行為,具體的實現(xiàn)在TellSCM函數(shù)中,這個函數(shù)是通過調(diào)用API函數(shù)SetServiceStatus實現(xiàn)的,沒什么新意。我們回到ServiceMain函數(shù)中繼續(xù)看,就剩下一個調(diào)用了:RealService,看樣子是從這里開始了真正的工作。

在RealService函數(shù)中經(jīng)過一系列的讀取注冊表初始化后程序創(chuàng)建了一個保護線程,(該線程函數(shù)ShieldThread的實現(xiàn)代碼在源工程的./Command/Shield.h文件中,這個放到后面的“自我保護”功能中講解)然后初始化套接字InitSocket,緊接著StartSniffer,然后就調(diào)用了WSACleanup開始做清理工作了,所以我們就來專注分析StartSniffer函數(shù)(函數(shù)的實現(xiàn)代碼在源工程./Sniffer/Sniffer.h文件中)。

這里首先建立了一個IPPROTO_IP類型的原始套接字,緊接著調(diào)用函數(shù)GetInetIP獲取本機的IP地址,它這個GetInetIP函數(shù)中對各種情況都進行了比較完善的考慮,大家在做自己的程序時可以參考一下。我們繼續(xù)關注它的sniffer工作,在bind了套接字之后調(diào)用了WSAIoctl將第二個參數(shù)dwIoControlCode設置為SIO_RCVALL來捕獲流經(jīng)本機的所有數(shù)據(jù);每捕獲到一個數(shù)據(jù)包后就調(diào)用自寫函數(shù)DecodeIPPack(具體功能后面有分析)將其解析出來后創(chuàng)建一個StartBackDoor線程,因為給它傳遞的參數(shù)為NULL,所以此線程函數(shù)將執(zhí)行BindShell函數(shù)(實現(xiàn)代碼在./Socket/Socket.h文件中)建立一個新的監(jiān)聽套接字,將其屬性設置為可重用,每監(jiān)聽到一個新的連接后就為其建立一個會話套接字并比較源IP,代碼如下:

if(stricmp(SourceIP,inet_ntoa(AccpetAddr.sin_addr))) 

{ 

closesocket(AcceptSocket); 

continue; 

} 

這一段的作用比較容易讓人感到迷惑,AccpetAddr是接收到的連接另一方屬性,我們使用EditPlus的“在文件中查找”在整個目錄里面搜索SourceIP查看它到底是做什么的。最后把注意力放在了DecodeIPPack函數(shù)上(實現(xiàn)代碼在./Sniffer/Sniffer.h文件中):

BOOL DecodeIPPack(const char * IPBuffer) 

{ 

IPHeader * pIpheader; 

int IPHeaderLen; 

struct sockaddr_in SourceAddr; 

pIpheader = (IPHeader*)IPBuffer; 

if ((pIpheader->proto != IPPROTO_TCP)) 

return FALSE; 

SourceAddr.sin_addr.s_addr = pIpheader->sourceIP; 

memcpy(SourceIP, inet_ntoa(SourceAddr.sin_addr), sizeof(SourceIP)); 

IPHeaderLen = sizeof(unsigned long) * (pIpheader->h_lenver & 0xf); 

return DecodeTCPPack(IPBuffer+IPHeaderLen); 

} 

在前面我們提到了這個函數(shù),但并不知道它的具體作用,現(xiàn)在就來詳細分析一下,每當捕獲到一個數(shù)據(jù)包就傳遞給這個函數(shù),并將其強制轉換成IPHeader類型(這個結構類型會經(jīng)常用到,網(wǎng)上有很多,附帶的源代碼中是定義在Sniffer.h文件中)。函數(shù)首先檢查數(shù)據(jù)報的協(xié)議類型是否為IPPROTO_TCP,然后將sourceIP字段值賦給SourceAddr.sin_addr.s_addr,再通過memcpy函數(shù)拷貝到SourceIP變量中,到這里我們可以知道每一個協(xié)議為IPPROTO_TCP的數(shù)據(jù)包的源IP都會被賦給SourceIP,隨后將其傳遞給了DecodeTCPPack和CheckTcpData函數(shù),在這兩個函數(shù)中先進行初始化處理后就調(diào)用CheckTcpData檢查數(shù)據(jù),這個函數(shù)有一點點長,所以我就簡單介紹一下它的工作流程算了:首先在數(shù)據(jù)報中找到"\n",接著判斷它前面是否為"\r",如果是就把它前面的內(nèi)容全部拷貝到一個字符串StringData中,再使用PortPoint = strstr(StringData,":");和HostPoint = strstr(StringData,"|");這兩句在里面尋找主機地址和端口,緊接著還會分析端口合法性和主機地址的有效性,這里就不多說了。從這里可以知道它是使用嗅探的原理來取得控制端的IP實現(xiàn)反向連接的,大概原理就是捕獲流經(jīng)本機的所有數(shù)據(jù)包,然后根據(jù)自定義的協(xié)議來分析是否是控制端發(fā)送過來的數(shù)據(jù),如果是就從中取得相關信息后連接。

好了,中間分析了這么多后我們回到stricmp(SourceIP,inet_ntoa(AccpetAddr.sin_addr))這里繼續(xù)看,通過上面的分析我們清楚了SourceIP是用來區(qū)分是否是控制端的IP的。如果符合規(guī)則的話就為其建立一個控制線程,在此線程函數(shù)ClientThread中使用自定義函數(shù)ReveiceMessage來接收命令,首先判斷輸入的密碼是否正確,通過后即發(fā)送預定義的歡迎信息,然后進入一個循環(huán)中不停地接受控制端的命令并執(zhí)行。

到這里我們就基本上把NameLess的連接流程搞清楚了,這種使用嗅探的方法有它的好處,就是容易過防火墻,但也有它的缺點,就是當網(wǎng)絡繁忙的時候很容易丟失封包。一些其他的反向連接方式更加流行,就是通過一個固定的域名來作為中轉站,控制端每次啟動的時候都自動將自己的IP更新到一個指定的網(wǎng)頁文件中,而服務端就通過讀取這個文件來得到控制端的IP后主動進行連接。網(wǎng)上的資料很多,大家可以多找來一些代碼參考。


共2頁: 1 [2] 下一頁
 第 1 頁:  第 2 頁:NameLess后門技術分析全接觸(2)

熱詞搜索:

上一篇:怎樣檢測不同操作系統(tǒng)下黑客發(fā)起的攻擊
下一篇:IPv9(十進制網(wǎng)絡)技術簡介

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
久久久国产精品不卡| 在线日韩一区二区| 国模一区二区三区白浆| 日韩在线a电影| 国产精品情趣视频| 日韩三级在线免费观看| 色哟哟精品一区| 99麻豆久久久国产精品免费优播| 成人一道本在线| 97久久超碰精品国产| 欧美在线一区二区| 欧美亚洲动漫精品| 在线观看一区日韩| 99精品视频在线播放观看| 国产一区福利在线| 九九九精品视频| 九九精品视频在线看| 精品一区二区影视| 免费一级片91| 国产精品国产三级国产| 久久久99精品久久| 国产精品国产馆在线真实露脸 | 亚洲成人av福利| 国产精品中文字幕欧美| 欧美日本韩国一区二区三区视频| 久久久久久久久久电影| 日韩专区一卡二卡| 99精品在线免费| 欧美大片顶级少妇| 国产精品女同一区二区三区| 国产精品成人网| 老汉av免费一区二区三区| 丁香另类激情小说| 4438x成人网最大色成网站| 久久精品综合网| 日本91福利区| 91亚洲精品乱码久久久久久蜜桃 | 亚洲特黄一级片| 国产成人综合视频| 国产日韩一级二级三级| 精品一区二区三区在线播放| 精品国精品国产| 国产精品一区二区不卡| www成人在线观看| 国产麻豆精品视频| 中文字幕精品一区二区三区精品| 国产一区二区久久| 国产女人18水真多18精品一级做| 精彩视频一区二区三区| 精品美女一区二区| 国产麻豆精品theporn| 久久综合色综合88| 久久99精品久久久久久久久久久久| 欧美精品1区2区3区| 日本不卡在线视频| 亚洲日本va午夜在线电影| 制服.丝袜.亚洲.中文.综合| 粉嫩高潮美女一区二区三区| 一区视频在线播放| 色噜噜狠狠一区二区三区果冻| 亚洲二区在线视频| 久久精品亚洲麻豆av一区二区| 欧美日韩另类国产亚洲欧美一级| 激情综合色播激情啊| 夜夜嗨av一区二区三区中文字幕 | 国产人妖乱国产精品人妖| 国产 欧美在线| 亚洲成人av在线电影| 国产日韩一级二级三级| 亚洲国产精品久久人人爱| 欧美人与z0zoxxxx视频| 国产99久久久久| 视频一区二区三区中文字幕| 国产精品免费aⅴ片在线观看| 欧美日韩一级片在线观看| 成人综合在线网站| 午夜成人免费电影| 国产日产欧美一区| 欧美精选在线播放| 91麻豆精东视频| 国产经典欧美精品| 久久99久久久欧美国产| 日韩经典中文字幕一区| 亚洲bt欧美bt精品| 亚洲chinese男男1069| 亚洲国产wwwccc36天堂| 香蕉乱码成人久久天堂爱免费| 亚洲国产中文字幕| 亚洲黄一区二区三区| 亚洲欧美国产高清| 亚洲自拍欧美精品| 国产精品综合二区| 国产自产高清不卡| 99精品一区二区三区| 欧美日韩高清一区二区三区| 精品美女一区二区| 综合分类小说区另类春色亚洲小说欧美| 国产精品美女久久久久久| 亚洲成人先锋电影| 国产aⅴ综合色| 欧美日韩一区国产| 91麻豆精品国产无毒不卡在线观看 | 精品成人在线观看| 1区2区3区国产精品| 无吗不卡中文字幕| 国产一区二区不卡在线| 成人精品在线视频观看| 欧美优质美女网站| 亚洲精品一区二区三区影院| 国产精品日日摸夜夜摸av| 综合久久久久综合| 日本美女一区二区| www.色综合.com| 中文字幕不卡在线| 成人免费va视频| 欧美日韩1区2区| 欧美激情资源网| 蜜臀国产一区二区三区在线播放| 国产成人免费视频 | 日韩女优av电影| 亚洲与欧洲av电影| 国产xxx精品视频大全| 欧美精品在线一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 亚洲成人1区2区| 欧美日韩一区二区三区四区| 亚洲自拍都市欧美小说| 91影视在线播放| 亚洲欧美日韩中文字幕一区二区三区| 高清国产一区二区三区| 亚洲婷婷国产精品电影人久久| 成人h版在线观看| 伊人色综合久久天天人手人婷| 91在线观看高清| 亚洲国产日韩a在线播放| 91精彩视频在线| 亚洲精品国产视频| bt7086福利一区国产| 亚洲欧洲日产国码二区| 色综合久久久久| 亚洲图片欧美视频| 91豆麻精品91久久久久久| 亚洲三级在线免费| 欧美亚洲动漫精品| 日韩和欧美一区二区三区| 日韩欧美一区中文| 国产高清不卡一区| 亚洲黄色尤物视频| 欧美精品aⅴ在线视频| 国产精品自产自拍| 亚洲少妇屁股交4| 日韩一级黄色片| 91片在线免费观看| 激情欧美一区二区三区在线观看| 亚洲成人黄色小说| 久久久久久日产精品| 91蜜桃网址入口| 日本在线观看不卡视频| 国产精品伦一区二区三级视频| 欧美影片第一页| 国产jizzjizz一区二区| 日韩福利电影在线观看| 中文字幕av一区二区三区免费看 | 国产精品情趣视频| 久久影音资源网| 精品日本一线二线三线不卡| 色悠悠久久综合| 色综合久久久久网| 在线看一区二区| 在线影院国内精品| 一本色道**综合亚洲精品蜜桃冫 | 成人av在线网| 国模冰冰炮一区二区| 日韩制服丝袜av| 一区二区三区成人| 欧美激情在线一区二区三区| 久久亚洲精精品中文字幕早川悠里| 91蝌蚪porny| 91国模大尺度私拍在线视频| 国产精品一级片| 国产成人精品一区二区三区网站观看| 美女视频第一区二区三区免费观看网站| 亚洲精品视频在线看| 国产精品久久久久久久久免费樱桃| 久久天堂av综合合色蜜桃网| 精品国产3级a| 国产拍欧美日韩视频二区| 中文字幕一区二区三| 亚洲综合色自拍一区| 91免费国产在线| 一区二区三区四区五区视频在线观看 | 91精品久久久久久蜜臀| 日韩一区二区三区高清免费看看| 欧美性受xxxx| 日韩精品在线一区二区| 亚洲国产高清不卡| 亚洲图片有声小说| 国内精品久久久久影院薰衣草| 国产精品123| 欧美人伦禁忌dvd放荡欲情|