DSLBQ'S_BLOG

标签: CTF

  • CTF

    CTF

    简介

    Capture The Flag,中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行攻防竞技的一种比赛形式,起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。

    国际知名CTF赛事

    • DEFCON CTF:CTF赛事中的“世界杯“
    • UCSB iCTF:来自UCSB的面向世界高校的CTF
    • Plaid CTF:包揽多项赛事冠军的CMU的PPP团队举办的在线解题赛
    • Boston Key Party:近年来崛起的在线解题赛
    • Codegate CTF :韩国首尔“大奖赛”,冠军奖金3000万韩元
    • Secuinside CTF:韩国首尔“大奖赛”,冠军奖金3000万韩元
    • XXC3 CTF:欧洲历史最悠久CCC黑客大会举办的CTF

    国内赛事

    • XCTF联赛:国内最权威、最高技术水平与最大影响力的CTF赛事平台
    • 强网杯:最权威的国家级安全比赛,中央网信办网络安全协调局指导
    • 红帽杯:广东省公安厅、广东省计算机网络安全协会举办
    • AliCTF:阿里安全技术竞赛,由阿里巴巴公司组织
    • TCTF:腾讯信息安全争霸赛,由腾讯安全联合实验室主办
    • BCTF:百度全国网络安全技术对抗赛,由百度安全主办
    • WCTF:世界黑客大师赛,由360Vulcan团队组织
    • HCTF:由杭州电子科技大学信息安全协会主办的CTF
    • IScC:全国大学生信息安全与对抗技术竞赛,由北理工组织

    CTF学习

    竞赛模式

    解题模式(Jeopardy)

    • 在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。
    • 题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。

    攻防模式(Attact-Defense)

    • 在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。
    • 攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。

    混合模式(Mix)

    结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。

    题目类型

    • Reverse(逆向工程)
    • Pwn(破解)
    • Web ( Web安全)
    • Crypto (加解密)
    • Misc(杂项)
    • Mobile(移动安全)

    Reverse(逆向工程)

    • 题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译功底。
    • 主要考查参赛选手的逆向分析能力。
    • 所需知识:汇编语言、加密与解密、常见反编译工具。

    Pwn(破解)

    Pwn在黑客俚语中代表着攻破,获取权限,在CTF比赛中它代表着溢出类的题目,其中常见类型溢出漏洞有整数溢出、栈溢出、堆溢出等。
    主要考查参赛选手对二进制、漏洞挖掘和利用能力。
    所需知识:C/C++、OD+IDA、数据结构、操作系统、汇编原理。

    Web ( Web安全)

    • Web题目涉及到许多常见的Web漏洞,如Xss、文件包含、代码执行、上传漏洞、SQL注入等。也有一些简单的关于网络基础知识的考察,如返回包、TCP/IP、数据包内容和构造。
    • 主要考察选手Web站点漏洞挖掘和利用能力。
    • 所需知识:PHP、Python、TCP/IP、SQL、OWASP TOP10。

    Crypto (加解密)

    • 题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术,以及一些常见编码解码。
    • 主要考查参赛选手密码学相关知识点。
    • 所需知识:矩阵、数论、密码学。

    Misc(杂项)

    • 主要考查参赛选手的各种基础综合知识。隐写术、流量分析、数字取证、编码转换等,覆盖面比较广。
    • 主要考查参赛选手的各种基础综合知识。
    • 所需知识:常见隐写术工具、Wireshark 等流量审查工具、编码知识等。

    Mobile(移动安全)

    • 主要分为Android和 iOS 两个平台,以Android逆向为主,破解APK并提交正确答案。
    • 主要考察选手APP漏洞挖掘和利用能力。
    • 所需知识:Java,Android开发

    学习建议

    • 在掌握一定的基础知识的前提下,动手去做题
    • 在能力范围的题目,尽可能自己解出
    • 能力范围外的题目,参考writeup(题解)并亲手实践也非常有意义

    怎么判断题目是否在能力范围内?

    • 是否真的认真思考并尝试解题
    • writeup中是否涉及自己的短板知识

    网站链接

    题目案例:WordPress

    信息收集

    1. 主机发现,扫描和识别端口服务,找到22、80、3306
    2. 目录扫描,找到敏感目录,包括数据库和网站后台
      dirb http://www.xxx.com
    3. 手工尝试登录数据库后台,修改网站账号密码
    4. 利用网站账号登录网站后台,上传网站木马( shell)
    5. 执行网站木马获取低权限shell ,判断系统版本寻找提权方法
    6. 使用Dirty Cow漏洞提权,获取管理员账号实现Root权限