渗透Facebook的思路与发现

作者:Secer 发布时间:April 27, 2016 分类:渗透测试

写在故事之前

身为一位渗透测试人员,比起 Client Side 的弱点我更喜欢 Server Side 的攻击,能够直接的控制服务器、获得权限操作 SHELL 才爽 <( ̄︶ ̄)>

当然一次完美的渗透任何形式的弱点都不可小觑,在实际渗透时偶尔还是需要些 Client Side 弱点组合可以更完美的控制服务器,但是在寻找弱点时我本身还是先偏向以可直接进入服务器的方式来去寻找风险高、能长驱直入的弱点。

随着 Facebook 在世界上越来越火红、用户量越来越多,一直以来都有想要尝试看看的想法,恰巧 Facebook 在 2012 年开始有了 Bug Bounty 奖金猎人的机制让我更跃跃欲试。

一般如由渗透的角度来说习惯性都会从收集数据、侦查开始,首先界定出目标在网络上的 “范围” 有多大,姑且可以评估一下从何处比较有机会下手。例如:

Google Hacking 到什么数据?

用了几个 B 段的 IP ? C 段的 IP ?

Whois? Reverse Whois?

用了什么域名? 内部使用的域名? 接着做子域名的猜测、扫描

公司平常爱用什么样技术、设备?

在 Github, Pastebin 上是否有泄漏什么信息?

…etc

当然 Bug Bounty 并不是让你无限制的攻击,将所搜集到的范围与 Bug Bounty 所允许的范围做交集后才是你真正可以去尝试的目标。

一般来说大公司在渗透中比较容易出现的问题点这里举几个例子来探讨

  1. 对多数大公司而言,"网络边界”是比较难顾及、容易出现问题的一块,当公司规模越大,同时拥有数千、数万台机器在线,网管很难顾及到每台机器。在攻防里,防守要防的是一个面,但攻击只需 找个一个点就可以突破,所以防守方相对处于弱势,攻击者只要找到一台位于网络边界的机器入侵进去就可以开始在内网进行渗透了!
  2. 对于 “连网设备” 的安全意识相对薄弱,由于连网设备通常不会提供 SHELL 给管理员做进一步的操作,只能由设备本身所提供的接口设定,所以通常对于设备的防御都是从网络层来抵挡,但如遇到设备本身的 0-Day 或者是 1-Day 可能连被入侵了都不自觉。
  3. 人的安全,随着 “社工库” 的崛起,有时可以让一次渗透的流程变得异常简单,从公开数据找出公司员工列表,再从社工库找到可以登入 VPN 的员工密码就可以开始进行内网渗透,尤其当社工库数量越来越多 “量变成质变” 时只要关键人物的密码在社工库中可找到,那企业的安全性就全然突破。

理所当然在寻找 Facebook 弱点时会以平常进行渗透的思路进行,在开始搜集数据时除了针对 Facebook 本身域名查询外也对注册信箱进行 Reverse Whois 意外发现了个奇妙的域名名称

阅读剩余部分...

渗透Hacking Team过程

作者:Secer 发布时间:April 21, 2016 分类:渗透测试

0x00 Hacking Team

Hacking Team 是一个协助政府hack和监视记者、政治家等的公司(详见段尾链接),当然有时候也会监控恐怖分子和罪犯。其CEO——Vincenzetti——很喜欢在他的邮件末尾加上一句纳粹标语“boia chi molla” (放弃者该死),同时,他一直宣称拥有可以解决“Tor 问题”和“暗网问题”的技术。但是我一直很怀疑他的那种技术的有效性。

0x01 小心点

很不幸,我们的世界是颠倒的,你越做坏事越富有,越做好事反而被抓。但幸运的是,多亏了人们的努力,比如"Tor项目",你可以通过以下指导来防止被人抓住把柄:

1) 加密的你的硬盘

如果有一天你做的事被发现了,警察叔叔带走了你的电脑,尽管被发现就意味着你已经犯了很多错误,但是加密硬盘会比不加密要好得多。

2) 使用虚拟机并且把所有的网络都走Tor

这样就实现了两点,第一、你的所有流量都匿名了。第二、把你的个人生活和匿名操作分开了,防止两种生活互相混合。

3) 不要直接连接Tor网络 (可选项)

Tor不是万能药,有可能你在连接到Tor网络的时候刚好在做坏事。也可能你在退出Tor网络的时候你同样在做坏事。最好还是用别人的wifi,或者连接vpn或者中转机子,然后连接Tor匿名网络。

0x02 搜集信息

尽管这个过程非常无聊,但却是非常重要,目标越大越多,漏洞出现的几率就越大。

1 技术方面的信息

主要使用以下各种方面的信息

1)Google

如果使用合适的语句,你可以发现大量的意外收获。

2)二级域名搜集

一般来说,域名大部分都是又第三方公司提供的,你需要寻找到其域名的IP范围。当然,有时候会存在DNS域传送漏洞,这样就更好搜集信息了。

3)Whois查询和反向查询

通过各种Whois查询和其ip范围的域名反向查询,你也可以获得很多其他子域名,据我所知,没有免费的反向查询,除非谷歌hack。

4)端口扫描和指纹提取

和其他的技术不同,你可以跟公司的员工聊天。我把它作为可选项放在这里因为它不是一种攻击方式,只是搜集信息的一种方式。在扫描的过程中,该业务的入侵检测系统可能会告警,但是不用担心,整个Inernet都经常会扫描自身。

对于扫描来说,Nmap是再合适不过了,它也可以识别各种服务的指纹。但是对于大规模网络来说,zmap和masscan更快速。WhatWeb和BlindElephant 适合抓取web指纹。

2 社工信息

对于社会工程学来说,搜集员工信息非常重要,包括他们的各自的角色,合约,使用的操作系统,浏览器,插件,软件等。一般使用如下途径:

1)Google

这也是最有用的工具。

2)theHarvester y recon-ng

我在上一个内容中就提到了这些东西,但是他们其实还有更多的用处。你可以自动快速地找到大量的信息,这也值得你去花时间阅读官方文档。

3)LinkedIn

你可以通过这个软件获取到大量的雇员信息,内部人员总是倾向于与他人交流。

4)Data.com

它就像拼图一样把各种信息整合在一起。

5)File metadata

你可以在他们公司发布的各种文档中找到大量有用的信息。

0x03 打入内网

进入内网的方式有很多种。我打入HT内网的方式是不常见的,而且比平时花的精力要多得多,所以我在这里提一下进入内网的两种常见的方式,这两种也是我推荐的。

1 社工

社会工程学,尤其是鱼叉式网络钓鱼,是各种渗透技巧中比较可靠的一种。更多技巧请移步段尾链接。我不想尝试对HT进行钓鱼攻击,因为这种攻击方式对他们来说太常见了,所以他们会非常警惕。既增加了难度,又容易被发现我的意图。

http://www.hacknbytes.com/2016/01/apt-pentest-con-empire.html

http://blog.cobaltstrike.com/2015/09/30/advanced-threat-tactics-course-and-notes/

http://www.netcomunity.com/lestertheteacher/doc/ingsocial1.pdf

2 购买权限

多亏了勤劳的俄罗斯人和他们的渗透工具 “traffic sellers”和“bot herders”,许多公司都已经有了被入侵的电脑。几乎所有世界五百强的大型网络中都存在一些被入侵的机器。但是Hacking Team是个小公司,他们的大多数员工都是信息安全专家,所以他们内部存在被入侵机器的可能性非常小。

3 技术入侵

Gamma公司被黑以后,我就已经描述了一个寻找漏洞的过程:

http://pastebin.com/raw.php?i=cRYvK4jb

Hacking Team有一个段的公网IP:

inetnum:        93.62.139.32 - 93.62.139.47
descr:          HT public subnet

他们的网络有少量暴露在外网,比如不像Gamma公司,他们的公网地址都需要证书才能连接。HT的公网服务器主要有一个Joomla的博客(joomscan没有扫出来有用的东西),一个邮件服务器,几个路由,两个VPN,一个垃圾邮箱过滤系统。所以我现在只能通过以下方式获取权限:发现一个Joomla的0day,或者postfix的0day,或者他们其他一个系统的0day。嵌入式系统的0day对于我来说比较靠谱点,于是我花了两周的时间,通过逆向发现了一个命令执行0day。这个0day至今仍然没有修复,所以我也不方便给出更多细节。

0x04 事前准备

在正式攻击之前,我做了很多测试和准备,在硬件里面写入了一个后门,并且在嵌入式系统上编译了各种各样的工具:

1) busybox

这个工具大多数的Unix系机器都没有。

2)nmap

扫描工具

3)Responder.py

内网中间人攻击神器

4)python

这个必须得有

5)tcpdump

抓包

6)dsniff

在内网中嗅探各种密码之类的,我更喜欢用HT的ettercap,但是编译起来很麻烦。

7)socat

NC的升级版,主要端口转发

8)screen

可以让你多窗口执行命令,其实也不是太需要

9)socks5代理主机

加上proxychains,插入内网

10)tgcd

通过转发端口,穿透防火墙

最坑的事儿就是你把后门和工具部署上去之后,系统挂了,然后运维上去一看,全完了。所以我花了一周的时间在最后的部署之前测试我的各种后门和exp。

阅读剩余部分...

Redis未授权访问漏洞获取shell,及写shell报错解决办法

作者:Secer 发布时间:September 18, 2015 分类:黑客技巧,渗透测试

某日遇上Redis未授权访问,刚好有PHPINFO知道了路径,就可以直接写shell啦!

看下面的图,是不是很顺利??

image

结果……发现写入成功,访问报错,PHP代码解析有问题了?

image

我们写入txt文件,下载后查看什么原因

image

多了个问号字符出现在代码标签处开始处,所以下面的php代码直接执行不了了!

clip_image002

重新写马,闭合也不行,访问还是报错

image

查下资料找到解决方法,先把原来的数据备份,然后清空,这个前面的<??字符就不会影响到我们写马了!

阅读剩余部分...

此内容被密码保护

作者:Secer 发布时间:May 12, 2015 分类:渗透测试,原创文章

请输入密码访问