老外的一份渗透测试报告

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

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

过程还是很精彩的~

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

先查看一下其DNS服务器:

enter image description here

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

enter image description here

关于域传送的漏洞,可以参考这里/papers/?id=64

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

破解出密码为:nanotechnology1

进入后界面:

enter image description here

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

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

enter image description here

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

enter image description here

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

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

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

http://www.exploit-db.com/exploits/24320/

enter image description here

反弹回shell:

enter image description here

服务器拓扑:

enter image description here

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

http://www.exploit-db.com/exploits/18411/

enter image description here

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

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

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

enter image description here

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

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

在管理员下载并允许后:

enter image description here

此时网络拓扑:

enter image description here

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

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

(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

enter image description here

查看groups.xml文件:

enter image description here

解密:

enter image description here

解密的ruby脚本贴出来:

使用方法是:

#ruby decrypt.rb 密文


#!ruby
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端口转发,把内网的远程桌面连接转发出来,但是被阻断了:

enter image description here

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

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

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

enter image description here

此时网络拓扑图:

enter image description here

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

enter image description here

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

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

enter image description here

enter image description here

enter image description here

利用powershell下载metasploit的反弹程序

enter image description here

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

enter image description here

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

enter image description here

此时网络拓扑:

enter image description here

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

enter image description here

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

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

enter image description here

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

enter image description here

©乌云知识库版权所有 未经许可 禁止转载


30
MD2015 2016-06-17 08:59:34

我去 看呆了

30
zusheng 2016-06-15 21:28:49

看我整个感觉很惊讶,感觉自己要学的还有很多,时间紧迫啊

30
无敌情痴 2016-03-29 20:49:24

小菜鸟表示膜拜

30
小将r 2015-11-30 15:49:19

30
小将rock 2015-11-30 15:48:50

好屌呀。。。。!

30
Sai、 2015-11-18 13:53:35

牛逼的不要不要的

30
情痴 2015-11-16 22:48:33

牛逼

30
枯荣 2015-10-19 17:16:20

很厉害~!!!!

30
0CC 2015-10-19 11:53:30

整个过程 行云流水
时隔两年在看
依然觉得很屌
我是不是两年都米进步、、、、

30
guanji 2015-10-17 14:37:09

掉 爆 了

30
大和尚 2015-10-13 17:38:29

牛逼!

30
demo 2015-09-24 10:36:07

多个点,常规黑客突破不了,差距

30
jye33 2015-09-11 22:19:15

这样的文章好

30
暗羽 2015-09-11 18:39:59

献上膝盖

30
木马游民 2015-06-09 18:49:55

哎,,换成我走到破解密码那一步就死了。常规字典走一遍,没戏。。

30
Mark 2015-05-27 14:54:53

好文

30
Tank 2015-01-29 21:21:13

好文

30
0xTback 2014-11-07 11:53:48

http://www.carnal0wnage.com/papers/LARES-GPP.pdf求翻译~!!!

30
joker 2014-07-16 17:04:25

确实牛X

30
d00m 2014-05-09 17:34:26

哥,16,201的字典能share下吗

30
小贱人 2014-03-30 21:58:20

很牛逼啊

30
Jesus 2014-01-02 11:04:18

不错,可惜ciritx的方法不能用于华为的桌面云 - -
变态的组策略。

30
小贱人 2013-11-15 14:01:18

灰常牛逼啊

30
th000 2013-11-01 21:26:11

值得借鉴。

30
暴暴 2013-10-19 15:05:20

太J8涨姿势…………

破密码那里简直无敌了……后面CTRITX拿权限也是相当YD。

30
黑色双刃剑 2013-10-01 12:57:29

基本都超10年······碉堡了···

30
zhpyuan 2013-09-29 17:32:52

通过收集该网站的一些内容,通常是一些该网站里面的联系电话、网站名称、公司名称、邮箱用户名、域名注册相关信息、管理员联系方式等相关信息,然后组成密码词典进行爆破。

30
Leo 2013-09-22 12:10:09

膜拜~ 涨姿势了。

30
khjian 2013-09-22 11:10:25

不明觉厉

30
Ivan 2013-09-16 18:59:58

看着简单……换成我肯定特别难。。

30
欧阳天天 2013-09-16 15:42:09

想入侵没这些技术肯定是不行的...不过真心看着就难

30
爱上平顶山 2013-09-16 13:38:31

支持 写的不错

30
核攻击 2013-09-16 10:43:55

good j8!

30
MEng 2013-09-13 20:25:50

确实很强大。。。

30
winsyk 2013-09-12 21:37:44

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

30
winsyk 2013-09-12 21:05:48

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

30
中国公民 2013-09-12 14:06:28

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

30
士大夫 2013-09-12 13:48:55

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

30
luwikes 2013-09-12 09:01:38

好文,赞一个~

30
Master 2013-09-11 15:39:28

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

30
瞌睡龙 2013-09-11 11:41:24

原文也没有说具体可以看这句:To prepare a targeted brute-force attempt against this system, we compiled a custom dictionary file based on the content of the 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.

30
园长 2013-09-11 11:05:56

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

30
DragonEgg 2013-09-11 09:53:03

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

咋根据网站内容做字典?

30
parisy4o 2013-09-11 00:05:47

老外真厉害

30
小胖胖要减肥 2013-09-10 23:55:28

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

30
x55admin 2013-09-10 22:13:04

学习了!很好的教程!

30
insight-labs 2013-09-10 20:18:21

牛逼啊

感谢知乎授权页面模版