From:penetration-testing-sample-report-2013.pdf
offensive security出的一份渗透测试报告,翻译了下重点内容 :)
过程还是很精彩的~
本次测试的域名为:megacorpone.com
先查看一下其DNS服务器:
然后发现 ns2.megacorpone.com 存在域传送漏洞。
关于域传送的漏洞,可以参考这里/papers/?id=64
从图片中可以看出域名都在50.7.67.x的IP段内,网络拓扑图:
在admin.megacorpone.com服务器的81端口发现了apache的webserver,然后扫一下文件路径:
可以看到/admin是一个需要身份验证的路径。
根据www.megacorpone.com网站内容做了一个字典,爆破密码,用户名就用admin了。
破解出密码为:nanotechnology1
进入后界面:
可以看到是一套phpSQLiteCMS,管理SQLite数据的:
通过此页面可以直接查询用户名和密码的hash:
测试发现保存的hash并非常规的方式,于是下载一份phpselitecms观察其中的hash方式:
知道了hash的方式是使用使用了一个10位字符的salt一起做sha1,并且字符串拼接原始salt一起放在数据库中。
我们采用同样的hash方式来暴力碰撞密码,尝试破解其他账户,又破解出两个来,收集密码的好处是可能其他系统也会使用相同的用户名密码,这样就可以轻松的进入了。
SQLite Manager软件存在一个已公开的代码注入漏洞,可以使用exp直接打:
http://www.exploit-db.com/exploits/24320/
反弹回shell:
服务器拓扑:
同时发现服务器可以提权,利用exp提权:
http://www.exploit-db.com/exploits/18411/
此时已经完全控制此台服务器。
然后好好的分析了一下此台服务器,查看到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
查看groups.xml文件:
解密:
解密的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端口转发,把内网的远程桌面连接转发出来,但是被阻断了:
测试后发现可以通过HTTP-Tunnel转发出来:
http://http-tunnel.sourceforge.net/
登陆的用户名密码采用的是SQLite Manager应用中的mike用户。
此时网络拓扑图:
打开IE的默认主页发现了Citrix服务器,用跟远程连接相同的用户名和密码进入:
Citrix环境当中,做了沙盒,只能使用IE,但是可以绕过。
使用IE的保存,弹出的对话框,新建一个powershell的bat批处理:
利用powershell下载metasploit的反弹程序
下载完毕后,在保存对话框中已管理员的权限运行
这样就获得了Citrix系统的权限
此时网络拓扑:
在Citrix上,尝试从内存中获取用户名密码:
这里包含了很多的用户名和密码,其中还包括一个windows域管理员的。
给Citrix服务器创建了一个远程连接服务并使用域管理员登陆:
至此已经完全控制了windows域。
我去 看呆了
看我整个感觉很惊讶,感觉自己要学的还有很多,时间紧迫啊
小菜鸟表示膜拜
吊
好屌呀。。。。!
牛逼的不要不要的
牛逼
很厉害~!!!!
整个过程 行云流水
时隔两年在看
依然觉得很屌
我是不是两年都米进步、、、、
掉 爆 了
牛逼!
多个点,常规黑客突破不了,差距
这样的文章好
献上膝盖
哎,,换成我走到破解密码那一步就死了。常规字典走一遍,没戏。。
好文
好文
http://www.carnal0wnage.com/papers/LARES-GPP.pdf求翻译~!!!
确实牛X
哥,16,201的字典能share下吗
很牛逼啊
不错,可惜ciritx的方法不能用于华为的桌面云 - -
变态的组策略。
灰常牛逼啊
值得借鉴。
太J8涨姿势…………
破密码那里简直无敌了……后面CTRITX拿权限也是相当YD。
基本都超10年······碉堡了···
通过收集该网站的一些内容,通常是一些该网站里面的联系电话、网站名称、公司名称、邮箱用户名、域名注册相关信息、管理员联系方式等相关信息,然后组成密码词典进行爆破。
膜拜~ 涨姿势了。
不明觉厉
看着简单……换成我肯定特别难。。
想入侵没这些技术肯定是不行的...不过真心看着就难
支持 写的不错
good j8!
确实很强大。。。
如果你们说我胡扯,请看完http://www.offensive-security.com/about-us/ 这个再来对比。
offensive team算得上世界一流的渗透测试团队了,不要拿小黑客和这些人比。
生成字典有个叫cupp的 貌似还可以。
虽然不知道说什么。但是感觉好厉害的样子
好文,赞一个~
16,201 words的字典比较靠谱 Citrix的比较YD
原文也没有说具体可以看这句: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.
nanotechnology1 这密码能爆破算什么水平?国外用麦咖啡和east node 32 的比较多吧。
根据www.megacorpone.com网站内容做了一个字典,爆破密码,用户名就用admin了。
咋根据网站内容做字典?
老外真厉害
感觉和X,D的思路差不多
学习了!很好的教程!
牛逼啊