老外的一份渗透测试报告

https://mp.weixin.qq.com/s?__biz=MzA3ODI1MjA1NA==&mid=2655063809&idx=1&sn=d9da16bb7a7d45fada1a5bec39b7fe54&scene=1&srcid=0711Di7bYE2lyQMyFvtB5cma&key=77421cf58af4a6538b61a2219d58ad5beeabc5e43f3d87dd7a3c98f2aa18a3058438a80984f769ae98bd98bec48ee8b7&ascene=0&uin=MjM1NzQyMjU4MA%3D%3D&devicetype=iMac+MacBookPro11%2C3+OSX+OSX+10.9.5+build(13F1134)&version=11020201&pass_ticket=%2FfA%2BPUnYAKluvKlMoWgFeJ98fET9NHJ4aEWibLcCNXMupsXriAiLoMHsKhy6Z2cZphp

 

 

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

过程仍是很精彩的~git

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

先查看一下其DNS服务器:web

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

从图片中能够看出域名都在50.7.67.x的IP段内,网络拓扑图:数据库

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

能够看到/admin是一个须要身份验证的路径。小程序

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

 

破解出密码为: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/metasp ... /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域。

相关文章
相关标签/搜索