后门编程(1)之双管道主动连接型

长时间不写博客就是容易懒,今天10月最后一天,写篇博客来结个尾。今天写的是关于如何编写windows后门程序,主要是涉及的技术是socket通信和管道。后门分为主动连接型和反向连接型,而根据使用的管道数又可以细分为双管道,单管道和零管道。今天讲的是双管道主动连接型后门的编写。

01

原理讲解

 1.1 主动连接型

主动连接型指的是后门程序作为服务端,换句话说被攻击者的服务器作为服务端,攻击者(黑客)作为客户端主动去连接后门程序,执行一系列的shell操作。服务器不一定是放在外网中,其实在内网中也是可以的。

从上图中可以看到后门程序需要监听指定端口,并可以接收外部的连接,这就涉及了socket服务端程序的编写,在windows上编写的步骤为:

  1. 初始化socket
  2. 创建TCP类型的socket
  3. 绑定指定端口,开始监听并接收连接

部分代码如下:

 1.2 管道技术

后门程序不仅需要接收外部的连接,还需要进行本地的shell操作,这样黑客在自己的电脑上就可以远程操作服务器的shell。这就涉及到进程间通信,采用的是管道技术。下面我把工作流程进行进一步细化,由于管道是单向的,因此这次使用双管道分别进行读操作和写操作。

大家可能奇怪为什么有两个管道,却只有一个socket,因为socket传输是双向的。上图的工作流程是这样的,首先黑客通过网络远程连接到后门程序,后门程序接收到socket传过来的指令,并通过读管道传给cmd.exe进程,进行操作,并把操作的结果通过写管道传给socket,最终传回黑客电脑。后门程序和cmd.exe建立管道通信的代码如下:

1.3 多线程

为了方便操作,我在后门程序中开启了两个线程,分别处理socket和管道的读写操作,部分代码如下:

02

效果演示

最后看一下运行效果,首先我们在本地启动后门程序,监听8009端口,然后在本地使用telnet连接后门程序,模拟黑客攻击的过程,当然你完全可以将后门程序放到公网中,这里只是方便演示。

这就是我们在E盘生成的后门程序,大家肯定会想,如果去掉这个黑窗口,不然不够隐蔽,大家先百度,很简单,在下一篇后门编程(2)我会讲一下。接着我在本地启动一个cmd.exe,也就是黑客端,不要和后门程序中启动的cmd.exe弄混了。在其中输入telnet命令,连接后门程序。下图是连接后门之前的cmd.exe的情况。

我们输入telnet 127.0.0.1 8009 后,开始发生变化。

路径切换到后门所在的地方了,我们也就是说我们可以在本机远程操作服务器上的shell了,执行dir命令,查看服务器上的文件。

完整的代码我放到 https://github.com/qiyeboy/LuLunZi 中的BackDoor文件夹中。

03

新书小广告

《Python爬虫开发与项目实战》基础篇 试读章节链接:

http://pan.baidu.com/s/1hrWEOYg

这本书包括基础篇,中级篇和深入篇三个部分,不仅适合零基础的朋友入门,也适合有一定基础的爬虫爱好者进阶,如果你不会分布式爬虫,不会千万级数据的去重,不会怎么突破反爬虫,不会分析js的加密,这本书会给你惊喜。

原文发布于微信公众号 - 七夜安全博客(qiye_safe)

原文发表时间:2017-10-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑白安全

Web渗透测试笔记

译者注:文章对Web渗透测试全貌进行了描述,介绍了许多实用的想法与方法,仔细阅读会有收获~

1201
来自专栏应兆康的专栏

Python Web - Flask笔记1

scheme://host:port/path/?query-string=xxx#anchor

883
来自专栏公有云的互联网缓存与存储

cdn定位问题的三板斧之一:看解析

导语:说到“三板斧”,一个充满某厂气息的词语,土味又爵士,但是对于日常的运维工作来说,是一种总结之余,更是一种可传导的高效的定位方法

1732
来自专栏黑白安全

浅谈csrf

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常...

652
来自专栏Java帮帮-微信公众号-技术文章全总结

Java(web)项目安全漏洞及解决方式【面试+工作】

1772
来自专栏嵌入式程序猿

赶快来更新你的bootloader吧

不知大家是否还记得在之前给大家介绍过NXP的kinetis bootloader1.2版本的, 嵌入式工程师必须会的技能:玩转bootloader 时隔一年多,...

3449
来自专栏Pythonista

CMDB之数据采集

利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令

1312
来自专栏漫漫全栈路

修改Visual Studio类模板添加版权注释信息

在开发过程中,经常需要给类或接口与添加public修饰符和一些相关的注释信息,这个工作是机械而枯燥的,而这个简单的需求可以通过修改VS自带类模板来实现的。 打...

3444
来自专栏黑白安全

网站漏洞扫描工具 WAScan-Web Application Scanner

WAScan是一款开源工具,该工具采用的是基于黑盒的漏洞挖掘方法,这也就意味着研究人员无需对Web应用程序的源代码进行研究,它可以直接被当作成一种模糊测试工具来...

1243
来自专栏云鼎实验室的专栏

蜜罐实例分析 : 一款针对树莓派微型蠕虫样本捕获分析记录

笔者试着在腾讯云公有云上部署了两台机器,一台 WindowsServer、一台 Ubuntu 。这两台机器通过 FileBeat 和 WinLogBeat 以及...

5431

扫码关注云+社区