0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

記一次固件解密學(xué)習(xí)--X軟路由

jf_dh5wfJWV ? 來(lái)源:IOTsec Zone ? 作者:ch0ing ? 2022-11-12 14:38 ? 次閱讀

作者:ch0ing

定位加密

官網(wǎng)直接提供這么多格式的系統(tǒng)下載

ee231610-3b16-11ed-9e49-dac502259ad0.png

直接下載的bin文件binwalk梭哈不開(kāi)。

下一個(gè)ISO回來(lái)裝成虛擬機(jī),咱還收拾不了你了嗎。

用7-zip打開(kāi).vmdk文件。

rootfs脫出來(lái)解不開(kāi)。啊這,不按套路出牌啊。

ee4f7aca-3b16-11ed-9e49-dac502259ad0.png

初步懷疑是grub 或者vmlinuz被廠商進(jìn)行了修改,加入了解密操作。

grub配置關(guān)鍵代碼

menuentry "xxxxxi RouterOS" "$ikversion" "$uuid" "$default" {  linux /boot/vmlinuz root=/dev/ram0 crashkernel=128M@64M rootfstype=ext4 rootwait console=tty0 bootguide=hd intel_idle.max_cstate=0 processor.max_cstate=0 ikversion=$2 diskuuid=$3 grub_menu_id=0 grub_default=$4  initrd /boot/rootfs}

從磁盤文件中解出grub和vmlinuz看一下

ee6d6b02-3b16-11ed-9e49-dac502259ad0.png

好吧,看起來(lái)就是像大雄同學(xué)對(duì)內(nèi)核加了一些邏輯。然后來(lái)解密rootfs。

分析加密

分析思路為對(duì)著linux的內(nèi)核代碼,看反編譯中添加了什么代碼邏輯來(lái)解密。

常規(guī)套路,要想分析,先搞點(diǎn)報(bào)錯(cuò)字符串出來(lái)。

將vmdk掛載到ubantu,rootfs內(nèi)容隨便改改,然后啟動(dòng),可以抓到報(bào)錯(cuò)關(guān)鍵字.”Invaild rootfs”

有了關(guān)鍵字就好辦了。

使用工具:

https://github.com/torvalds/linux/blob/master/scripts/extract-vmlinux

將bzImage提取為vmlinux文件。

然后搜索關(guān)鍵字找到調(diào)用點(diǎn),通過(guò)函數(shù)中其他得打印字符串定位加密邏輯就在在populate_rootfs函數(shù)中

ee7fd170-3b16-11ed-9e49-dac502259ad0.png

通過(guò)開(kāi)源代碼還原代碼中的變量名,變量類型。

https://github.com/torvalds/linux/blob/v3.18/init/initramfs.c

eebf6e20-3b16-11ed-9e49-dac502259ad0.pngef29edae-3b16-11ed-9e49-dac502259ad0.png

可以看到,在do_while循環(huán)中通過(guò)16位key_16數(shù)組生成1024位key_1024數(shù)組。

ef972fd6-3b16-11ed-9e49-dac502259ad0.pngefbd4aae-3b16-11ed-9e49-dac502259ad0.png

然后再for循環(huán)中通過(guò)key_1024運(yùn)算解密。

efde38b8-3b16-11ed-9e49-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11329

    瀏覽量

    209977
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    919

    瀏覽量

    28325

原文標(biāo)題:【技術(shù)干貨】記一次固件解密學(xué)習(xí)--X軟路由

文章出處:【微信號(hào):IOTsec Zone,微信公眾號(hào):IOTsec Zone】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【freeRTOS開(kāi)發(fā)筆記】一次坑爹的freeTOS升級(jí)

    【freeRTOS開(kāi)發(fā)筆記】一次坑爹的freeTOS-v9.0.0升級(jí)到freeRTOS-v10.4.4
    的頭像 發(fā)表于 07-11 09:15 ?4713次閱讀
    【freeRTOS開(kāi)發(fā)筆記】<b class='flag-5'>記</b><b class='flag-5'>一次</b>坑爹的freeTOS升級(jí)

    68013如何只通過(guò)下載一次運(yùn)行固件

    嗨,大家好。我嘗試下載固件到68013在我的應(yīng)用軟件上運(yùn)行的軟件。但我發(fā)現(xiàn)我必須下載兩。我第一次下載固件68013A不運(yùn)行。在我再次下載之后,68013運(yùn)行
    發(fā)表于 04-17 09:22

    使用HAProxy軟件的一次學(xué)習(xí)過(guò)程介紹

    一次學(xué)習(xí)過(guò)程
    發(fā)表于 06-13 10:48

    一次網(wǎng)站設(shè)計(jì)稿的方法

    一次網(wǎng)站設(shè)計(jì)稿
    發(fā)表于 06-16 09:43

    電池循環(huán)充放電一次就是少一次壽命嗎?

    電池循環(huán)充放電一次就是少一次壽命嗎? 循環(huán)就是使用,我們是在使用電池,關(guān)心的是使用的時(shí)間,為了衡量充電電池
    發(fā)表于 09-06 11:05 ?3600次閱讀

    怎么樣才能選擇合適的路由配置

    隨著網(wǎng)絡(luò)的普及,很多用戶開(kāi)始使用路由。所謂的路由就是利用x86架構(gòu)工控機(jī)、電腦,安裝類似ROS、愛(ài)快、openwrt等
    的頭像 發(fā)表于 01-24 11:54 ?2363次閱讀

    怎么樣才能選擇合適的路由配置?

    隨著網(wǎng)絡(luò)的普及,很多用戶開(kāi)始使用路由。所謂的路由就是利用x86架構(gòu)工控機(jī)、電腦,安裝類似ROS、愛(ài)快、openwrt等
    的頭像 發(fā)表于 02-05 12:35 ?2.1w次閱讀

    如何選擇適合自己的路由配置

    隨著網(wǎng)絡(luò)的普及,很多用戶開(kāi)始使用路由。所謂的路由就是利用x86架構(gòu)工控機(jī)、電腦,安裝類似ROS、愛(ài)快、openwrt等
    的頭像 發(fā)表于 02-07 14:21 ?3w次閱讀

    路由和硬路由的區(qū)別

    路由的費(fèi)用較路由大,個(gè)300元的路由的功能就可以與萬(wàn)元級(jí)別的硬
    發(fā)表于 03-26 09:23 ?1.5w次閱讀

    一次使用可調(diào)電源修復(fù)餓死嚴(yán)重虧電的電動(dòng)車電瓶

    一次使用可調(diào)電源修復(fù)餓死嚴(yán)重虧電的電動(dòng)車電瓶程序模板 V0.0.5.1.20210820前言最少需要哪些工具把梅花的螺絲刀(“+”
    發(fā)表于 01-07 14:22 ?2次下載
    <b class='flag-5'>記</b><b class='flag-5'>一次</b>使用可調(diào)電源修復(fù)餓死嚴(yán)重虧電的電動(dòng)車電瓶

    一次CH552不識(shí)別無(wú)法下載解決辦法

    一次CH552不識(shí)別解決辦法插入鏈接與圖片如何插入段漂亮的代碼片生成個(gè)適合你的列表創(chuàng)建個(gè)表格設(shè)定內(nèi)容居中、居左、居右SmartyPa
    發(fā)表于 01-12 19:15 ?5次下載
    <b class='flag-5'>記</b><b class='flag-5'>一次</b>CH552不識(shí)別無(wú)法下載解決辦法

    學(xué)習(xí)打卡】一次給OpenHarmony提交代碼的過(guò)程

    一次給OpenHarmony提交代碼的過(guò)程 作者:堅(jiān)果 公眾號(hào):"大前端之旅" OpenHarmony布道師,InfoQ簽約作者,CSDN博客專家,華為云享專家,阿里云專家博主,51CTO博客首席
    的頭像 發(fā)表于 07-02 10:31 ?2770次閱讀
    【<b class='flag-5'>學(xué)習(xí)</b>打卡】<b class='flag-5'>記</b><b class='flag-5'>一次</b>給OpenHarmony提交代碼的過(guò)程

    路由器多久關(guān)機(jī)一次最合適

    路由器多久關(guān)機(jī)一次最合適 路由天關(guān)一次好嗎
    發(fā)表于 09-27 14:23 ?0次下載

    電氣一次識(shí)圖基礎(chǔ)

    電氣一次識(shí)圖基礎(chǔ)
    的頭像 發(fā)表于 11-12 11:24 ?2140次閱讀

    解密路由:打破網(wǎng)絡(luò)傳統(tǒng),輕松定制你的路由體驗(yàn),千度迷你電腦入門級(jí)路由

    1. 基礎(chǔ)概念解釋: 路由,聽(tīng)起來(lái)高大上,實(shí)際上是種讓網(wǎng)絡(luò)變得更靈活的神奇工具。簡(jiǎn)單來(lái)說(shuō),路由就是通過(guò)
    的頭像 發(fā)表于 01-09 11:23 ?1049次閱讀
    <b class='flag-5'>解密</b><b class='flag-5'>軟</b><b class='flag-5'>路由</b>:打破網(wǎng)絡(luò)傳統(tǒng),輕松定制你的<b class='flag-5'>路由</b>體驗(yàn),千度迷你電腦入門級(jí)<b class='flag-5'>軟</b><b class='flag-5'>路由</b>