搜索
查看: 374|回复: 0

如何搭建厚客户端的渗透测试环境?

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2016-9-18 16:34:04 | 显示全部楼层 |阅读模式
当下,虽然厚客户端不如Web应用程序常见,但在大企业中仍有不少使用后客户端的地方。在本系列文章中,我们将学习如何搭建厚客户端的测试环境并进行渗透测试。在第一部分我们将学习胖客户端的基础知识,以及搭建,信息收集。
厚客户端介绍

厚客户端也称胖客户端(Rich or Thick Client),是相对于“瘦客户端”(Thin Client)(基于Web的应用程序)而言的,它是在客户机器上安装配置的一个功能丰富的交互式的用户界面,例如Oracle、DB2数据库的客户端管理工具。

根据维基百科,厚客户端其实是c/s架构中的c。而b/s架构就是我们所熟悉的web应用程序。比如qq就是经典的厚客户端应用程序。厚客户端多是由以下语言开发:

1. NET
2. C/C++
3. Microsoft Silverlight
4. Java applets etc
常见的c/s架构如下:

这是一个典型的二层架构,客户端和数据库直接连接。大多数应用程序的处理将在客户端进行,数据库负责存储的所有数据。当然这种结构被认为是很不安全的。

这是一个典型的三层架构,在这种类型的设计中,大多数的处理是在服务器端完成,相对于二层架构风险相对较小。
环境搭建

DVTA是vs用C#.NET语言开发的程序,与远端的FTP服务和sql服务进行交互。环境所需要的工具如下。

Vbox: [url=]https://www.virtualbox.org/wiki/Downloads[/url]

Windows1(客户端)

可以是宿主机或者虚拟机,从[url=]github[/url]下载源码,可以下载编译好的文件。



要注意的是需要安装.net framework4.5,应用程序才能正常运行。

Windows2(服务端)

创建一台虚拟机,在上面安装SQL Server2008 express,并设置帐号密码为sa/p@ssw0rd。

创建一个名为DVTA的数据库,新建两张表。




最后我们向表里面插入数据。
INSERT INTO USERSvalues(‘admin’,’admin123′,’admin@damnvulnerablethickclientapp.com’,1)
INSERT INTO USERSvalues(‘rebecca’,’rebecca’,’rebecca@test.com’,0)
INSERT INTO USERSvalues(‘raymond’,’raymond’,’raymond@test.com’,0)

接着安装XAMPP,设置FTP的用户名和密码:dvta/p@ssw0rd

要注意的是需要配置数据库服务器的ip为192.168.56.110,这个ip是在代码中写死的,当然你也可以修改后重新编译。
信息收集

信息收集是渗透测试的至关重要的一步。在这个阶段,我们需要尽可能的收集与目标应用程序相关的信息。客户端渗透测试需要做的一些常见的事情如下。
探索应用程序的完整的功能

了解该应用程序的完整功能。使用不同用户(rebecca, raymond, admin)浏览所有UI元素。我们将在后面的文章中讨论DVTA的功能和弱点。
应用程序是如何构建

我们需要逆向二进制文件知道应用程序是如何构建的,CFF Explorer是一个不错的工具。我们用CFF Explorer浏览DVTA.exe看看有什么东西。



可以看到应用程序是由VS.NET构建,可以逆向.NET编译后的文件,如果要是不行的话则使用模糊测试。

客户端与服务端是如何沟通的?

来自Sysinternals的套件中的TCPView可以用来查看本地机器月远程主机之间的连接。

运行TCPView后再打开DVTA。



我们可以看到DVTA正在与192.168.56.102进行连接。我们可以使用wireshark查看更详细的连接信息。



文件监控

我们可以用Sysinternals套件中的process monitor来查看应用程序的一举一动。打开processmonitor按下图设置好过滤器。



然后运行DVTA,我们可以看到DVTA所做的一系列操作。可以看到dvta在访问注册表,其中出现了username,password的字眼。这是一个有趣的信息,需要进一步探索。我们将在后面的文章中讨论更多关于数据存储的问题。


任何与应用在一起的文件

有时候会在应用程序目录下看到配置文件,如下。



图中显示当前目录DVTA及其所有依赖项。如果你仔细观察,有配置文件DVTA.exe.config。



有趣!正如你所看到的在上面的图中,我们从位于DVTA文件夹的配置文件获取有趣的信息。通常情况下,该信息告诉所使用的应用程序如何连接到数据库。尽管数据库密码是加密的,有多种方法来获得明文密码。使用密钥和IV来解密使用AES加密的密码是一个方法。我们将在后面的文章讨论更多关于获取明文数据库密码的概念。

总结

在本文中,我们建立了一个厚客户机应用程序渗透测试环境,然后我们讨论了各种信息收集技术。在下一篇文章中,我们将讨论如何截取厚客户机应用程序传输的信息。
注:本文参考来源于infosecinstitute

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?Join BUC

x
过段时间可能会取消签到功能了
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表