自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

简介: 本文讲的是自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?,FlexiSpy是一款非常知名的手机、电脑监控软件,也就是我们常说的远控。
本文讲的是 自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

FlexiSpy是什么

FlexiSpy是一款非常知名的手机、电脑监控软件,也就是我们常说的远控。

自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

4月22日,Tek在推特声称窃取了FlexiSpy的源代码和二进制文件。

自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

4月24日,Flexidie‏在推特公布了入侵FlexiSpy公司的细节,下文是嘶吼编辑的全文翻译。

自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

入侵细节分析

第1步:信息收集

查询子域名

192.168.2.231 portal.vervata.com 
58.137.119.230 www.vervata.com 
180.150.144.84 api.flexispy.com 
180.150.144.84 admin.flexispy.com 
180.150.144.83 affiliate.flexispy.com 
180.150.144.83 affiliates.flexispy.com 
180.150.144.83 blog.flexispy.com 
180.150.156.197 client.flexispy.com 
180.150.144.82 community.flexispy.com 
58.137.119.229 crm.flexispy.com 
54.246.87.5 d.flexispy.com 
216.166.17.139 demo.flexispy.com 
180.150.144.86 direct.flexispy.com 
180.150.144.85 ecom.flexispy.com 
54.169.162.58 log.flexispy.com 
180.150.147.111 login.flexispy.com 
68.169.52.82 mail.flexispy.com 
68.169.52.82 mailer.flexispy.com 
180.150.144.86 mobile.flexispy.com 
180.150.156.197 monitor.flexispy.com 
180.150.144.87 portal.flexispy.com 
68.169.52.82 smtp.flexispy.com 
180.150.146.32 support.flexispy.com 
75.101.157.123 test.flexispy.com 
180.150.144.83 www.flexispy.com

发现服务器位于Cloudflare后面,这就比较尴尬了。因为Cloudflare带有WAF,没法进行扫描、爆破等自动化的渗透。

但是发现了一个域名,是admin.flexispy.com。可能是一个管理面板。

尝试sql注入

在登录页面上尝试了一些sql注入,没发现问题。

之后尝试了下常见默认密码,admin:admin,测试的时候发现惊喜,是的,就这样登录进去了。

自称世界上最权威监控软件FlexiSpy被黑删库,怎么做到的?

但是这个账户登录之后有限制, 无法使用。通过后台页面查看发现某个页面可以于查看用户详细信息,包括许可证详细信息以及编辑用户详细信息(如用户名、密码等)的功能。

网址如下所示:

https : //admin.flexispy.com/secure/employee/editEmployee?employeeId=1

这个页面存在平行越权漏洞,只需将id = 1更改为id = 2,就能显示另一个用户的详细信息,并允许在界面上重置密码。

于是我写了个脚本,指定id值的范围是1-99999,把遍历结果存储为文本文件。搜索下有没有感兴趣的用户,倒是找到了那么几个,但是没太多用,对FlexiSpy启不到致命的打击。

第2步:继续打破边界

之前收集信息发现了两组IP,用nmap扫描。

58.137.119.224  -  58.137.119.239 
202.183.213.64  -  202.183.213.79

有几台服务器运行着ssh服务,还有一个Microsoft Exchange服务器和一些开放着rdp服务的服务器,以及运行着WildFly(Jboss)默认页面的网站跟CRM网站。这些信息收集表明,FlexiSpy内部网络里有Linux和Windows,不过这时候我没有访问权限,还需要继续看。

发现有个服务器上开放了端口8081,似乎是一个Sonatype Nexus存储库,其中存在一些jar文件,可能是用于命令和控制Web应用程序。或许里面存放的文件是FlexiSpy故意放着的,以便其客户安装?

我下载了一份,并使用procyon(Java反编译器)开始逆向查看审计java代码。

我下载了几个有趣的公共项目,第一个是他们的Mailchimp API密钥,可以看到他们向新客户发送的电子邮件(他们鼓励客户改变默认密码)。

这个密码看起来应该是共享的默认密码:tcpip123。我尝试用这个密码登录ssh、WildFly,但是没有成功。

最后我决定试试登录CRM,效果很赞,登录成功了并能操作某些模块的安装,最终上传了shell。

https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler

第3步:内网渗透

通过第2步拿到的webshell,我们已经进入到了FlexiSpy的内部网络。

拿到的主机权限是低权限,内核版本较新,可以使用DirtyCow提权,但是许多公开的漏洞利用风险较高,更可靠更稳定的方法是创建与CRM服务器相同的虚拟机,这将需要很长的时间。

放弃了以上的方法,我通过代理进入内网,把一个端口扫描器跟弱口令扫描放在服务器上,开始扫描22、3339和23端口。

我做的第一件事是部署SSH扫描器,来测试root:tcpip123、admin:tcpip123和Administrator:tcpip123等简单组合。

通过扫描,我拿到了三台NAS服务器,都是Linux x86-64机器。之后把自己写的工具上传到其中的一台服务器,继续搜集内网的信息。通过几天的分析,我发现了备份主目录、HR文档、公司文件、一些SSH密钥、密码备份、内部网络图等等。大多数文件已经过时,但是我将密码/用户名组合,收集到了几个具有sudo权限的服务器(services:tcpip123 and services:**tcpip!23)。

我从其中一台服务器窃取了SSH密钥,对Jenkins服务器进行了控制,将所有存储库下载回来,并将其发送到随后控制的互联网上的服务器上。

我留意到现在可以访问所有Windows域的域控制器,于是开始删除了一些恶意软件,并慢慢从入侵到的设备中从内存中提取凭据。这些凭证中的一个属于IT负责人员,这使我能够访问内部SharePoint服务器。

到目前为止,我认识到FlexiSpy的安全就是胡扯。为了尽可能多地提供不同的访问点,我将Tor安装到Linux基础设施部署,将每个服务器的SSHd设置为隐藏服务。我尽可能地离开,停止几个星期渗透,尝试从Exchange Server传输EDB文件,这些文件的大小超过了100GB。最终,我尝试多次渗透他们后放弃了,因为我觉得如果继续弄,FlexiSpy会发现。

第4步:格式化FlexiSpy数据

格式化内部服务器;之后通过从SharePoint、NAS设备和其它地方拿到的账号密码登录Cloudflare,删除了他们的帐户;后登录到Rackspace,注销其服务器;并登录到他们的多个Amazon 帐户,删除了亚马逊云服务上的备份。

攻击手法还原

1.老外通过Sonatype Nexus下载到文件,逆向文件,找到了一个密码

2.通过拿到的密码进入登录CRM,获取到了webshell

3.内网渗透,搞定了源代码。




原文发布时间为:2017年4月25日
本文作者:愣娃
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
10月前
|
缓存 运维 负载均衡
华为大佬秘密撰写的Nginx运维笔记遭人恶意开源,整整638页全泄露
众所周知,Nginx是当下最流行的Web服务器,它具有很强的负载均衡,反向代理,邮件代理以及静态缓存的功能。在提供这些功能的同时,Nginx的性能也极其优秀,可以轻松支持百万、千万级的并发连接,能够为Tomcat、Django等性能不佳的Web应用抗住绝大部分外部流量。那么,Nginx是如何实现高速并发处理呢? 今天小轩就在这里给大家介绍一份“Nginx”的实战笔记,整整638页。话不多说,直击主题。让我们一起来看看这份有着“百万点击播放量”的Nginx笔记吧。 由于篇幅受限,部分内容只能以截图的方式展示出来。需要完整版点击此处获取。 Nginx应用与运维实战 目录
|
Web App开发 Rust 安全
解雇拒绝打开摄像头员工被罚 51 万;推送损坏的更新,导致数千网站瘫痪;PHP 存在不受控制的递归漏洞|思否周刊
解雇拒绝打开摄像头员工被罚 51 万;推送损坏的更新,导致数千网站瘫痪;PHP 存在不受控制的递归漏洞|思否周刊
115 0
程序人生 - 关键时刻能救命!最权威地震逃生手册,速转收藏!
程序人生 - 关键时刻能救命!最权威地震逃生手册,速转收藏!
85 0
程序人生 - 关键时刻能救命!最权威地震逃生手册,速转收藏!
|
缓存 安全 Oracle
公司网站被黑怎么解决
很多公司网站被黑被攻击,首先牵扯到的就是网站的开发语言,包括了代码语言,以及数据库语言,目前大多数网站都是使用的PHP,JAVA,.net语言开发,数据库使用的是mysql,oracle等数据库,那么网站被攻击了该怎么办?运营一个网站,总被攻击是时有发生的,尤其一些公司网站,以及个人建站,都是没有专职的安全技术人员维护,导致网站经常被攻击,经常被跳转到其他网站,甚至有些网站都被挂马,网站首页标题也被反复篡改,没有专业的安全技术维护,面对这样的问题只能是干着急,没有什么好办法。那么我们SINE安全针对网站被攻击的问题,来跟大家讲讲该如何处理,解决这样的问题。
471 1
公司网站被黑怎么解决
|
Web App开发 JavaScript 测试技术
窥视各大网站到底有没有的BUG?
摘要: 本以为都是干干净净,没想到或多或少还有些报错! 1. Segmentfault 在SegmentFault的首页,打开开发者面板,一片红!5条错误信息。
1277 0
|
新零售 安全 算法
阿里安全工程师“还原”网络黄牛软件之“黑江湖”
阿里安全归零实验室成立于2017年11月,实验室致力于对黑灰产技术的研究,愿景通过技术手段解决当前日益严重的网络违规和网络犯罪问题,为阿里新经济体保驾护航。目前团队也在不断的招聘各种优秀人才,研发专家、数据分析专家、情报分析与体系化专家等,欢迎加盟,联系邮箱back2zero@service.alibaba.com。
3945 0
|
安全 测试技术 Android开发
三分钟创建一个自己的移动黑客平台
本文讲的是三分钟创建一个自己的移动黑客平台,许多朋友都希望黑客平台可以很方便的从PC移植到更便携的手机或平板电脑上,而Offensive Security团队发布的Kali NetHunter则将这一期待变为现实,通过移动终端随时随地进行黑客创意开发。
2709 0
|
Web App开发 安全 开发者
开发者亲述:个人Chrome插件被黑之后,我的应急过程全记录
本文讲的是开发者亲述:个人Chrome插件被黑之后,我的应急过程全记录,编者按:Chrome浏览器长期以安全著称,但它也有软肋,就是插件和扩展。Chrome插件和扩展有着极高的权限,但安全主要靠开发者自己把关,Google较少参与。
2320 0
|
安全 算法 Windows
黑客要闻!知名系统清理工具CCleaner被黑,超过230万用户受影响
本文讲的是黑客要闻!知名系统清理工具CCleaner被黑,超过230万用户受影响,据外媒报道,知名系统清理工具CCleaner被黑,已被攻击者用于传播恶意软件。如果你在今年的8月15日至9月12日期间下载或者更新过CCleaner,那么,很不幸的通知你,你的电脑已经被黑了。
1733 0

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    25
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    26
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    25
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    27
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    23
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    29
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    21
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    19
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    19
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    19