-前言

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”。

最新文章

  1. 终端下vim无法输入问题解决
  2. quick-3.5 eclipse android
  3. Dynamics AX 2012 R2 业务系列-销售业务流程
  4. @import导入外部样式表与link链入外部样式表的区别
  5. win8.1环境下安装arduino驱动问题解决方案
  6. poj 3895(求无向图的最大简单环)
  7. POJ 1062 昂贵的聘礼
  8. squid 延伸
  9. poj2987 Firing
  10. cmd 菜单学习
  11. (HTTPS)web 项目如何实现https
  12. 201521123103 《Java学习笔记》 第七周学习总结
  13. 将CSV文件写入MySQL
  14. 熟悉常用的HBase操作,编写MapReduce作业
  15. 巴黎游戏周: PS4独占游戏《重力少女2》
  16. 小程序实践(三):九宫格实现及item跳转
  17. NoSQL与MongoDB介绍
  18. [USACO07NOV]牛栏Cow Hurdles
  19. redhat5 安装mysql 5.6
  20. 详解python2 和 python3的区别-乾颐堂

热门文章

  1. java基础-Map的静态初始化以及Map的遍历等.....................
  2. Bootstrap-Plugin:过渡效果(Transition)插件
  3. TCL基本语法
  4. python推荐书籍
  5. module.exports 、exports、export、export default的区别
  6. 可视化库-Matplotlib-盒图(第四天)
  7. 【335】Install PyDev in Eclipse IDE
  8. CentOS上安装 jdk
  9. 在eclipse中的maven工程中执行maven命令的步骤
  10. socket &amp; pipe note