前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Python3的木马连接工具编写

基于Python3的木马连接工具编写

作者头像
Elapse
发布2020-08-17 11:49:15
1.3K0
发布2020-08-17 11:49:15
举报
文章被收录于专栏:E条咸鱼E条咸鱼

类似前言一样的废话

上一次的文章中是分析了 Windows系统上 中国菜刀的工作原理,于是突发奇想,便想着用Python3也写一个和菜刀功能一样的程序出来,其实可变的地方还是挺少的,考虑的点只有4个而已,内容中,尤其是正则匹配部分尤其辣眼睛,所以有意见可以提出来,然后我忽略掉就好了

环境搭建

为了方便测试,所以我是在本地的虚拟机搭建一个 apache+php的环境然后在其根目录下放置一个 php一句话木马

开始乱写

首先我们要确定我们连接上木马文件,所需要什么东西

  • 文件url
  • 木马参数

没有这两个就无法建立连接,所以开头的时候先把他安排上

代码语言:javascript
复制
url=str(input("木马url: "))
parameter=str(input("木马参数: "))

接着,开始写执行命令,和之前菜刀的原理一致,通过base64解码传入php语句,然后在其中传入执行语句

为了模拟终端的样子,所以先把获取路径的功能给写了

在php中, dirname()可以用来获取该文件的目录

举个例子,如果文件路径为 /var/www/html/elapse.php那么, dirname()后得到的路径就是 /var/www/html/,是该文件的当前目录

_SERVER['SCRIPT_FILENAME']全局预定义变量可以用来获取当前执行的php的完整路径,于是 dirname()配合 _SERVER['SCRIPT_FILENAME']就可以得到当前文件所在的目录,一开始连接时就cd过去

具体代码如下,因为这里用的也是base64解码的关系,所以会在代码中注释部分base64内容

代码语言:javascript
复制
def path(url,parameter,header):

    # 下面的base64内容$dir=dirname($_SERVER['SCRIPT_FILENAME']); print $dir;
    post_data="eval(base64_decode(\"JGRpcj1kaXJuYW1lKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSk7IHByaW50ICRkaXI7\"));"    r=requests.post(url,data={parameter:post_data},headers=header)
    return r.text

在上面的代码中,我只需要给它 url(木马的url地址)parameter(木马参数)和无关紧要的header(http头部)

运行一下,成功得到路径,接下来开始写正文部分

根据菜刀中的

代码语言:javascript
复制
php->z0->z1 #z0为执行代码部分 z1为shell,也就是/bin/sh
       ->z2 #z2的内容为执行所需要的命令

首先先先构造一个新的php一句话木马

接着传入本体代码以及shell和执行所需的命令 (因太长,不贴出来,可移步)

但是这里要注意的一点是,command这个命令在传过去的时候,那边需要经过base64解码后才会生效,所以这里我们得将语句拼接完后,将他base64编码

我们拿浏览器测试一下这样是否会生效

为了方便测试,我这里执行的命令只有 id而已

那么,执行成功后,结果有了,需要对数据内容进行筛选,因为为了做到目录切换,命令执行后的数据还包含了当前路径

我这里是写了一个正则,将内容都区分开来

因为最后三个是路径还有两个为空的值,所以最后三个不作为结果输出出来

代码语言:javascript
复制
...
    for i in range(len(result)-3):
        print (result[i]+" ",end="")

命令执行的部分就到这里了,那么现在解决目录切换的问题

在上面的执行结果中,包含了我这条命令执行后所在的位置

所以我将结果return出来,调换掉前面的 file_path作为我开始时cd进去的路径就好了

同时,因为一开始是在该文件的当前目录下,所以一开始的路径不能变,而且用户如果敲回车的话,也会将命令发送过去执行,在那边会报错,所以做一个判断

如果是回车的话,就直接把当前路径返回回去,不放到那边执行了

这个是测试结果

整合后的代码公众号后台留言 Python菜刀即可

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 E条咸鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 类似前言一样的废话
  • 环境搭建
  • 开始乱写
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档