From:penetration-testing-sample-report-2013.pdf

offensive security出的一份渗透测试报告,翻译了下重点内容 :)

过程还是很精彩的~

本次测试的域名为:megacorpone.com

先查看一下其DNS服务器:

查看一下其DNS服务器

然后发现 ns2.megacorpone.com 存在域传送漏洞。

存在域传送漏洞

关于域传送的漏洞,可以参考这里:DNS域传送信息泄露

从图片中可以看出域名都在50.7.67.x的IP段内,网络拓扑图:

网络拓扑图

在admin.megacorpone.com服务器的81端口发现了apache的webserver,然后扫一下文件路径:

扫一下文件路径

可以看到/admin是一个需要身份验证的路径。

需要身份验证的路径

根据www.megacorpone.com网站内容做了一个字典,爆破密码,用户名就用admin了。

爆破密码

破解出密码为:nanotechnology1

进入后界面:

进入后界面

可以看到是一套phpSQLiteCMS,管理SQLite数据的:

通过此页面可以直接查询用户名和密码的hash:

查询用户名和密码的hash

测试发现保存的hash并非常规的方式,于是下载一份phpselitecms观察其中的hash方式:

观察其中的hash方式

知道了hash的方式是使用使用了一个10位字符的salt一起做sha1,并且字符串拼接原始salt一起放在数据库中。

我们采用同样的hash方式来暴力碰撞密码,尝试破解其他账户,又破解出两个来,收集密码的好处是可能其他系统也会使用相同的用户名密码,这样就可以轻松的进入了。

SQLite Manager软件存在一个已公开的代码注入漏洞,可以使用exp直接打:

SQLiteManager 1.2.4 Remote PHP Code Injection Vulnerability

用exp直接打

反弹回shell:

反弹回shell

服务器拓扑:

服务器拓扑

同时发现服务器可以提权,利用exp提权:

Mempodipper - Linux Local Root for >=2.6.39, 32-bit and 64-bit

利用exp提权

此时已经完全控制此台服务器。

然后好好的分析了一下此台服务器,查看到web目录下java应用只允许一个网段来访问。

后来发现这个管理员网络之一:

管理员网络

我们在web客户端增加了一个Java小程序,可以直接控制远程客户端。

(PS:出了这么多Java 0day不知道直接挂到页面上,老外的中马率怎么样)

在管理员下载并允许后:

在管理员下载并允许后

此时网络拓扑:

网络拓扑

发现管理员的电脑在域中,开始提升到域管理员。

发现系统中有一个组管理文件。

(ps:关于这个专门去查了一下是2008域管理存在的一个问题:http://www.carnal0wnage.com/papers/LARES-GPP.pdf

metasploit上有rb脚本可以查找xml文件并解密:https://github.com/rapid7/metasploit-framework/blob/master/modules/post/windows/gather/credentials/gpp.rb

查找xml文件并解密

查看groups.xml文件:

查看groups.xml文件

解密:

解密

解密的ruby脚本贴出来:

使用方法是:

#ruby decrypt.rb 密文
require 'rubygems'
require 'openssl'
require 'base64'

#encrypted_data = "AzVJmXh/J9KrU5n0czX1uBPLSUjzFE8j7dOltPD8tLk"

encrypted_data = ARGV

def decrypt(encrypted_data)
  padding = "=" * (4 - (encrypted_data.length % 4))
  epassword = "#{encrypted_data}#{padding}"
  decoded = Base64.decode64(epassword)

   key = "\x4e\x99\x06\xe8\xfc\xb6\x6c\xc9\xfa\xf4\x93\x10\x62\x0f\xfe\xe8\xf4\x96\xe8\x06\xcc\x05\x79\x90\x20\x9b\x09\xa4\x33\xb6\x6c\x1b"
  aes = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
  aes.decrypt
  aes.key = key
  plaintext = aes.update(decoded)
  plaintext << aes.final
  pass = plaintext.unpack('v*').pack('C*') # UNICODE conversion

   return pass
 end

blah = decrypt(encrypted_data)
puts blah

尝试用plink端口转发,把内网的远程桌面连接转发出来,但是被阻断了:

plink端口转发

测试后发现可以通过HTTP-Tunnel转发出来:

http://http-tunnel.sourceforge.net/

登陆的用户名密码采用的是SQLite Manager应用中的mike用户。

登陆

此时网络拓扑图:

网络拓扑图

打开IE的默认主页发现了Citrix服务器,用跟远程连接相同的用户名和密码进入:

Citrix服务器

Citrix环境当中,做了沙盒,只能使用IE,但是可以绕过。

使用IE的保存,弹出的对话框,新建一个powershell的bat批处理:

powershell的bat批处理

powershell的bat批处理

powershell的bat批处理

利用powershell下载metasploit的反弹程序

下载metasploit的反弹程序

下载完毕后,在保存对话框中以管理员的权限运行

以管理员的权限运行

这样就获得了Citrix系统的权限

Citrix系统的权限

此时网络拓扑:

网络拓扑

在Citrix上,尝试从内存中获取用户名密码:

从内存中获取用户名密码

这里包含了很多的用户名和密码,其中还包括一个windows域管理员的。

给Citrix服务器创建了一个远程连接服务并使用域管理员登陆:

创建了一个远程连接服务并使用域管理员登陆

至此已经完全控制了windows域。

完全控制了windows域

[原文地址]

相关讨论:

insight-labs | 2013/09/10 20:18 | #

牛逼啊

x55admin | 2013/09/10 22:13 | #

学习了!很好的教程!

小胖胖要减肥 | 2013/09/10 23:55 | #

感觉和X,D的思路差不多

parisy4o | 2013/09/11 00:05 | #

老外真厉害

DragonEgg | 2013/09/11 09:53 | #

根据www.megacorpone.com网站内容做了一个字典,爆破密码,用户名就用admin了。

咋根据网站内容做字典?

瞌睡龙 | 2013/09/11 11:41 | #

原文也没有说具体可以看这句:To prepare a targeted brute-force attempt against this system, we compiled a custom dictionary file based on the content of the http://www.megacorpone.com website. The initial dictionary consisted of 331 custom words, which were then put through several rounds of permutations and substitutions to produce a final dictionary file of 16,201 words. This dictionary file was used along with the username “admin” against the protected section of the site.

中国公民 | 2013/09/12 14:06 | #

生成字典有个叫cupp的 貌似还可以。

园长 | 2013/09/11 11:05 | #

nanotechnology1 这密码能爆破算什么水平?国外用麦咖啡和east node 32 的比较多吧。

Master | 2013/09/11 15:39 | #

16,201 words的字典比较靠谱 Citrix的比较YD

luwikes | 2013/09/12 09:01 | #

好文,赞一个~

士大夫 | 2013/09/12 13:48 | #

虽然不知道说什么。但是感觉好厉害的样子

winsyk | 2013/09/12 21:05 | #

offensive team算得上世界一流的渗透测试团队了,不要拿小黑客和这些人比。

winsyk | 2013/09/12 21:37 | #

如果你们说我胡扯,请看完http://www.offensive-security.com/about-us/ 这个再来对比。

MEng | 2013/09/13 20:25 | #

确实很强大。。。

核攻击 | 2013/09/16 10:43 | #

good j8!

留言评论(旧系统):

xxoo @ 2013-09-17 11:18:28

关键在老外用字典,突破了第一道防线

本站回复:

是滴,这家伙思路相当风骚淫荡……