-前言

weevely是一款使用python编写的webshell工具,集webshell生成和连接于一身,采用c/s模式构建,可以算作是linux下的一款php菜刀替代工具,具有很好的隐蔽性(生成随机参数base64加密),在linux上使用时还是很给力的(集服务器错误配置审计,后门放置,暴力破解,文件管理,资源搜索,网络代理,命令执行,数据库操作,系统信息收集及端口扫描等功能),就是某些模块在windows上无法使用,总的来说还是非常不错的一款工具(仅用于安全学习教学之用,禁止非法用途)

项目地址:http://epinna.github.com/Weevely/
作者:Emilio Pinna  主页:http://disse.cting.org

测试环境:kali linux 1.0.6 amd64 + Apache + php

1.生成后门

查看weevely help可以看到weevely可以生成三种形式的php后门:

:generate.php  //生成php后门文件

:generate.htaccess  //将后门代码插入到.htaccess,需要开启.htaccess支持  (关于.htaccess文件

:generate.img  //将后门代码插入到图片中,并修改.htaccess,需开启.htaccess支持

 1.1 生成php后门文件

wevely会生成经过base64加密且参数随机的后门:

之前看到有大牛分离出Weevely中的加密模块来加密任意WebShell,在此作简单介绍:

加密模块:下载地址

Usage:python test.py intofile  outfile

测试效果:

 1.2 生成.htaccess后门

 1.3 生成.img图片后门

2. 连接后门

连接方式都是一样的: weevely <url> <password>  这里不一一例举,但采用.htaccess或图片连接时要开启.htaccess支持:

kali下找apache2的配置文件,查看/etc/apache2/apache2.conf文件,发现没有,但它包含多个配置文件,依次查看,结果在其包含的sites-enabled/下找到了,其绝对路径:/etc/apache2/sites-enabled/000-default 修改如下配置以支持htaccess:

连接图片后门示例:

当然,weevely也支持在连接时直接带上命令直接执行:

~$ weevely http://127.0.0.1/img_door/1.jpg linger "ls"  //这与上面的两步一样的,上面的类似交互式的shell

 3.weevely丰富的模块功能

查看weevely的可利用模块:(可按TAB键进入控制台模式)

~#  weevely help
+----------------------+--------------------------------------------------+
module | description +----------------------+--------------------------------------------------+
| :audit.etcpasswd | 枚举/etc/passwd |
| :audit.userfiles | 列举用户/home下具有权限的文件 |
| :audit.mapwebfiles | 枚举任意Web站点的URL链接 |
| :shell.php | 编写php文件 |
| :shell.sh | 编写系统脚本 |
| :system.info | 收集系统信息 |
| :find.suidsgid | 查找SUID / SGID文件和目录 |
| :find.perms | 查找权限可读/写/可执行文件和目录 |
| :backdoor.tcp | TCP端口后门 |
| :backdoor.reversetcp | 反弹TCP连接 |
| :bruteforce.sql | 爆破指定数据库用户名密码 |
| :bruteforce.sqlusers | 爆破所有数据库用户密码 |
| :file.upload | 上传本地文件 |
| :file.upload2web | 上传二进制/ ASCII文件至目标站点文件夹并枚举URL |
| :file.enum | 在本地词表的书面枚举远程文件 |
| :file.read | 读文件 |
| :file.rm | 删除文件 |
| :file.check | 检查远程文件的状态(md5值,大小,权限等) |
| :file.download | 下载远程二进制/ ASCII文件到本地 |
| :sql.console | 启动SQL控制台 |
| :sql.dump | 备份数据库,即脱库 |
| :net.scan | 端口扫描 |
| :net.phpproxy | 安装远程php代理   |
| :net.ifaces | 显示远程主机网络接口信息 |
| :net.proxy | 安装隧道通信代理 | +----------------------+----------------------------------------------------+

反弹TCP连接到本地:

本地监听8008端口等待连接:

~$ nc -l -p 8008

在weevely上建立TCP连接:

可以看到本地与远程主机已经建立了连接:

枚举任意Web站点的URL链接:

:audit.mapwebfiles http://xxx.xxx.xx.xx/index.php http://xxx.xxx.xx.xx /var/www/conf

上传本地文件到远程主机指定路径

从远程主机下载文件:

当然还有很多强大的功能,在新版的kali里貌似新加了一些模块,用法都差不多,可以查看帮助“ :help shell.sh”。

weevely入手使用笔记的更多相关文章

  1. 树莓派开发笔记(十二):入手研华ADVANTECH工控树莓派UNO-220套件(一):介绍和运行系统

    前言   树莓派也可以做商业应用,工业控制,其稳定性和可靠性已经得到了验证,故而工业控制,一些停车场等场景也有采用树莓派作为主控的,本片介绍了研华ADVANTECH的树莓派套件组UNO-220-P4N ...

  2. Hi3516开发笔记(一):海思HI3516DV300芯片介绍,入手开发板以及Demo测试

    前言   目前主流国产芯片为RV11XX.RK33XX.Hi35XX系列,本系列开启Hi3516系列的开发教程.   Hi3516DV300芯片介绍   Hi3516DV300为专业行Smart IP ...

  3. Rock Pi开发笔记(二):入手Rock Pi 4B plus(基于瑞星微RK3399)板子并制作系统运行

    前言   入手rock pi 4b plus板子,查看具体的实物,然后制作系统,刷系统,让摇滚派的ubuntu系统运行起来.   Rock Pi 4B plus 介绍   ROCK Pi 4 是 Ra ...

  4. 树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口

    前言   上一篇说明了必须要使用研华自带的8G卡的系统,通过沟通拿到了相关的系统,购买的时候会带8GB的卡,请自行备份一份镜像.本篇对uno-220套件的相关研华配套的额外接口做测试,篇幅较长,重点讲 ...

  5. webstorm入手笔记

    一.webstorm学习前小记 webstorm是一款现在前端用的比较多的IDE,其优势也比较多,这个大家在网上随便搜搜就可以找到了.但是本人大部分的时间都是使用sublime text工作,最近由于 ...

  6. MQTT入手笔记(二)

    Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案.本文的主旨在于记录M ...

  7. MQTT入手笔记

    MQTT服务官网:http://mosquitto.org/download/ 在unix系统按照以下步骤运行并启动mqtt服务: 1. # 下载源代码包wget http://mosquitto.o ...

  8. Docker学习笔记1 -- 刚入手docker时的几个命令

    目录 Hello World 后台运行 停止运行 容器 载入镜像 指定端口映射 查看日志 查看应用的进程 登入镜像内部 移除容器 镜像 查看本地镜像 拉取镜像 查找镜像 更新镜像 构建镜像 设置镜像标 ...

  9. 树莓派开发笔记(十三):入手研华ADVANTECH工控树莓派UNO-220套件(二):安装rtc等驱动

    前言   前面运行了系统,本篇是安装对应套装的驱动,使rtc等外设生效,树莓派本身是不带rtc外设的.   UNO-220-P4N1AE 驱动下载     官方下载:https://www.advan ...

随机推荐

  1. 希尔排序算法-python实现

    #-*- coding: UTF-8 -*- import numpy as np def ShellSort(a): gap = a.size / 2 while gap >= 1: for ...

  2. mysql中去重 distinct 用法

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...

  3. HTML第三讲(选择符)

    本次课程讲CSS中的选择符 1.基本选择符 基本选择符有三个 1.标记名选择符 所谓的标记名选择符就是直接在样式中使用标记名定义,譬如以下代码: (此种选择符的特点是所有相同的标记名可以同时定义不需要 ...

  4. String..lastIndexOf(".") 返回-1的思考

    String s = tableName.substring(tableName.lastIndexOf(".") + 1); 如果有tableName有'.',那么返回正确的截取 ...

  5. javascript系列--Object.assign实现浅拷贝的原理以及实现

    一.前言 之前在前面一篇学习了赋值,浅拷贝和深拷贝.介绍了这三者的相关知识和区别. 传送门:https://www.mwcxs.top/page/592.html 本文会介绍浅拷贝Object.ass ...

  6. boost::threadpool 调用类成员变量并传入参数 的方法

    1. 首先到官网下载   http://threadpool.sourceforge.net/   2. 包含头文件   #include "../boost/threadpool.hpp& ...

  7. zufeoj 1018 阶乘第k位是多少(sprintf)

    题目描述     n的阶乘定义为n!=1*2*3*……*n  如3!=6     n!通常最后会有很多0,如5!=120  最后有一个0,现在统计n!去除末尾的0后,最后k位是多少 输入     第一 ...

  8. CentOS 上使用vscode 调试百度大数据分析框架Apache Doris BE

    A: 前期准备工作 1. 安装vscode,详细请参见vscode官网https://code.visualstudio.com/docs/setup/linux,摘要如下: sudo rpm --i ...

  9. ORA-12521: TNS: 监听程序当前无法识别连接描述符中请求的实例(原)

    今天登录PL/SQL出现问题: ---------------------------sys@RAC1 as SYSDBA---------------------------ORA-12521: T ...

  10. 为什么重写equals后要重写hashCode

    equals和hashCode的关系 要搞清楚题目中的问题就必须搞明白equals方法和hashCode方法分别是什么,和诞生的原因,当搞明白了这一点其实题目就不算是个问题了,下面我们来探讨分别探讨一 ...