您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  要资料 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 讲座吧   成长之路  
会员   
 
   
 
  
每天15篇文章
不仅获得谋生技能
更可以追随信仰
 
 
     
   
 订阅
  捐助
老外的一份渗透测试报告
 
作者:瞌睡龙 来源:wooyun知识库 发布于 2016-1-5
来自于要资料   1626 次浏览     评价:      
 

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

过程还是很精彩的~

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

先查看一下其DNS服务器:

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

从图片中可以看出域名都在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直接打:

反弹回shell:

服务器拓扑:

同时发现服务器可以提权,利用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

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

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

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

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

此时网络拓扑图:

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

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

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

利用powershell下载metasploit的反弹程序

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

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

此时网络拓扑:

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

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

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

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

   
 订阅
  捐助
相关文章

性能测试十问:测试经理篇
web前端性能优化进阶路
性能测试综述
VS2010中自动化测试—Web性能测试
相关文档

性能测试
性能测试执行之测试脚本录制
性能测试进阶1-流程篇
性能测试进阶2-方案篇
相关课程

性能测试方法与技术
使用LoadRunner进行性能测试
Android应用的性能测试
基于Android的单元、性能测试
 

LoadRunner性能测试基础
软件测试结果分析和质量报告
面向对象软件测试技术研究
设计测试用例的四条原则
功能测试中故障模型的建立
性能测试综述
更多...   

性能测试方法与技术
测试过程与团队管理
LoadRunner进行性能测试
WEB应用的软件测试
手机软件测试
白盒测试方法与技术

相关咨询服务
建立软件测试规范
性能评测与调优

某博彩行业 数据库自动化测试
IT服务商 Web安全测试
IT服务商 自动化测试框架
海航股份 单元测试、重构
测试需求分析与测试用例分析
互联网web测试方法与实践
基于Selenium的Web自动化测试
更多...   
 
 
 
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
 

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号