NetSecurity 板


LINE

今天来自肥一下,小弟我昨天用 python 搞了一个用来快速分辨当前满足哪个 one gadget 条件的 gdb plugin ,不是什麽创新发明只是将步骤用程式自动化执行,帮助使用者偷懒 的小工具,想偷懒的人可以尝试用一下 XD 下面针对几个主题做个小简介: * One Gadget * one_gadget * OneGadgetTest 1. One Gadget one gadget 这个简便的利用方法起源众说纷纭,北京清华的蓝莲花队长在他的 ppt <掘金-- CTF 中的内存漏洞利用技巧>[1] 中提到 one gadget 可能是从 PPP 战队的 rickyz 提出,而台湾的 ddaa 则在撰写骇客列传(X CTF 的三十道阴影系列(O 的时候提到 one gadget 起源[2] 时是说出自 Dragon Sector 战队之手 (应该是出自 dragon sector 的一篇 slide[3] 扯远了拉回来,这个技巧原理是因为 libc 这个 shared library 内有些 function 会调 用以下的 syscall: execve("/bin/sh", argv, envp); 目的是啥我没有细究,总之很方便就对了 XD 因为解谜型式的 ctf pwn 的成功标准就是拿 shell 而已,後续的利用和回复没啥必要, 拿到 shell 看 flag 就可以走人,所以这种射後不理的手法很受欢迎,基本上能控制程式 流程题目差不多就解完了,因为 libc 内不只有一个 one gadget ,要存在一种情况刚好 所有条件不满足的机会太小,就算条件不满足透过一些前置作业也可以修正回来,所以现 今比较难的题目通常会在别的地方刁难玩家 XD 2. one_gadget 比较早期的时代,玩家通常都透过 objdump 或 IDA 之类反组译工具硬干,遇到不同版本 的 libc 又要从找一次,十分痛苦(我自己是没经历过啦 XD 所幸,台湾 HITCON 战队的 david942j 自己开发一套用 ruby 写的工具 one_gadget[4], 一个指令下去马上列出当前的 libc 的所有 one gadget 地址和满足条件,十分简便,关 於 one_gadget project , david942j 大大有在自己的 blog 下分享该工具的相关原理和 实作[5],想了解细节可以去参观一下 XD 根据 ddaa 大大的说法,因为 one_gadget 的出现导致 pwn 题的难度下降不少,不少出题 者开始用 seccomp 限制 execve syscall 提升难度,然後强者 david942j 又开发了 seccomp-tools[6],指令一下去马上列出当前 process 限制的 syscall ,大幅降低开发 exploit 的困扰 相比之下我只能在这些基础上面做些偷懒的工具 QQ 3. OneGadgetTest 先说在前头这个部分难度陡降 XD ,以前做 exploit 想用 one gadget 来 get shell 时 ,我都必须用 one_gadget 看当前的 libc 的指令地址和限制,然後根据限制比对哪个地 址可以用或是哪个条件不满足。 虽然切换来切换去只是多几个步骤,但懒人如我总想找点地方来偷懒,於是就抓了工具的 输出然後分析,最後根据每个条件计算看是否符合,直接呈现出来,大概从 3, 4 个步骤 降为 1 个步骤这样 XD project: https://github.com/0n3t04ll/OneGadgetTest 这边附上引用和来源,不过因为网址好像大多都过长,所以会被裁切掉,可能要自行拼接 ,有更好的方法我再改进 * Reference [1] https://paper.seebug.org/papers/Archive/refs/2015-1029-yangkun-Gold-Mining- CTF.pdf [2] https://ithelp.ithome.com.tw/articles/10226977 [3] https://drive.google.com/file/d/18UpGDvhccnnGWj7Mux7_2BGouIZK_5bK/view [4] https://github.com/david942j/one_gadget [5] https://david942j.blogspot.com/2017/02/project-one-gadget-in-glibc.html [6] https://github.com/david942j/seccomp-tools --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.228.98.19 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/NetSecurity/M.1580371039.A.B89.html
1F:推 splitline: 推个 优文居然都没人推 == 02/15 22:56
2F:→ CMJ0121: 小弟我负责 m 讨论靠各位了~ 02/16 15:11
3F:推 st1009: 先推再说! 02/19 07:57
4F:推 ddaa: 其实 libc 里面是执行 execve("/bin/sh", argv, envp) 04/08 10:57
5F:→ ddaa: 但因为控 rip 是从中间跳进去, 所以会在 argv 和 envp 还没 04/08 10:57
6F:→ ddaa: 被设定好的情况下跑 one gadget, 才变成传 NULL 04/08 10:58
7F:→ b0920075: 喔喔我以为 argp,envp 原本就是要传 NULL ,感谢大大指 04/12 21:00
8F:→ b0920075: 点,等等再修改 04/12 21:00
※ 编辑: b0920075 (36.226.12.156 台湾), 04/13/2020 00:41:11







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP