首页 > 代码库 > weevely入手使用笔记

weevely入手使用笔记

-前言

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入手使用笔记