本次打靶练习是一个黑盒测试。没有密码,我们的目标是拿到域控制器的权限,并找到其中的重要文件。
网络拓扑

网卡设置

centos为出网机,第一次运行,需重新获取桥接模式网卡ip。
需重启网络服务service network restart
其他的不动
查看当前攻击机的IP地址

扫描目标IP,查看开放的端口

访问80端口
Wappalyzer发现网站cms------Joomla

Joomla是一套全球知名的内容管理系统。
Joomla是使用PHP语言加上MySQL数据库所开发的软件系统。
可在Linux、 Windows、MacOSX等各种不同的平台上执行。是由Open Source Matters(见扩展阅读)这个开放源码组织进行开发与支持。

百度查看历史漏洞

扫描80端口的目录

找到后台

发现数据库等信息


测试连接数据库,成功。

在joomla的官方文档中找到了修改密码的操作
https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F
update am2zu_users set password = "433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT" where username="administrator";

进行修改密码

修改成功,登录系统

上传木马


连接木马

新建文件也一样操作

写入木马

成功

蚁剑连接成功,无法执行命令,ret=127

写入phpinfo查看

开启了 disable_functions 配置选项,禁用了代码执行的函数

disable_functions是php.ini中的一个设置选项,可以用来设置PHP环境禁止使用某些函数,通常是网站管理员为了安全起见,用来禁用某些危险的命令执行函数等。执行命令发现ret=127,实际上就是因为被这个限制的原因。
1、黑名单绕过:
assert,system,passthru,exec,pcntl_exec,shell_exec,popen,proc_open
2、利用Windows组件DCOM绕过(Linux系统不适用)
3、利用Linux环境变量LD_PRELOAD
LD_PRELOAD是Linux系统中的一个环境变量:它允许你定义在程序运行前优先加载的动态链接库。这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量,可以在主程序和其动态链接库的中间加载别的动态链接库,甚至覆盖正常的函数库。一方面,可以以此功能来使用自己的或是更好的函数,而另一方面,也可以以向别人的程序注入程序,从而达到特定的目的。
4、蚁剑插件或者哥斯拉绕过
这里我用自带工具绕过,简单省事。

绕过成功,可正常执行命令

翻翻找找,看到敏感信息

使用wwwuser/wwwuser_123Aqx进行ssh连接,连接成功

查看系统版本

脏牛提权
攻击机开启http服务,下载在至目标机器,并进行编译
gcc -pthread dirty.c -o aaa -lcrypt

提权后查看,提前成功。

msf生成elf木马

设置监听

将攻击机生成的木马下载至目标机器,执行木马(执行成功上图)

扫描192.168.93.0网段的机器

发现三台机器分别是192.168.93.20、192.168.93.30、192.168.93.10


添加路由

smb爆破,爆破到密码


查看当前机器systeminfo,发现域

获取域控的IP

查看域内主机

判断zerologon漏洞
CVE-2020-14722是一个windows域控中严重的远程权限提升漏洞。
它是因为微软在Netlogon协议中没有正确使用加密算法而导致的漏洞。
由于微软在进行AES加密运算过程中,使用了AES-CFB8模式并且错误的将IV设置为全零,这使得攻击者在明文(client challenge)、IV等要素可控的情况下,存在较高概率使得产生的密文为全零。

攻击

攻击成功,转出hash值

使用psexec
set RHOSTS
set SMBUser
set SMBPass

读取明文密码

继续

查看session


