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”。
最新文章
- 终端下vim无法输入问题解决
- quick-3.5 eclipse android
- Dynamics AX 2012 R2 业务系列-销售业务流程
- @import导入外部样式表与link链入外部样式表的区别
- win8.1环境下安装arduino驱动问题解决方案
- poj 3895(求无向图的最大简单环)
- POJ 1062 	昂贵的聘礼
- squid 延伸
- poj2987 Firing
- cmd 菜单学习
- (HTTPS)web 项目如何实现https
- 201521123103 《Java学习笔记》 第七周学习总结
- 将CSV文件写入MySQL
- 熟悉常用的HBase操作,编写MapReduce作业
- 巴黎游戏周: PS4独占游戏《重力少女2》
- 小程序实践(三):九宫格实现及item跳转
- NoSQL与MongoDB介绍
- [USACO07NOV]牛栏Cow Hurdles
- redhat5 安装mysql 5.6
- 详解python2 和 python3的区别-乾颐堂
热门文章
- java基础-Map的静态初始化以及Map的遍历等.....................
- Bootstrap-Plugin:过渡效果(Transition)插件
- TCL基本语法
- python推荐书籍
- module.exports 、exports、export、export default的区别
- 可视化库-Matplotlib-盒图(第四天)
- 【335】Install PyDev in Eclipse IDE
- CentOS上安装 jdk
- 在eclipse中的maven工程中执行maven命令的步骤
- socket &; pipe note