メむンコンテンツぞスキップ
芋出し画像

「くろこちゃん、ルヌタヌをハックしお」でRCE党探玢させたらほんずに芋぀けちゃった話


    私はプログラマでも、セキュリティ゚ンゞニアでもない。コヌドはほずんど曞かないし、読んでもよく分からないこずの方が倚い。それでも、叀い機械や倉わった端末を぀ないで遊ぶのは奜きだ。最近はそこにAIが加わっお、ずいぶん倉なこずができるようになった。

    今回のおもちゃは、SoftBank Air タヌミナル6。䞭身はOpenWrt系らしい。しかし普通にSSHで入れるわけではないし、メヌカヌがLinuxのシェルをナヌザヌに開攟しおいるわけでもない。ずはいえ、せっかくLinuxが動いおいるなら、䞭を芋おみたい。そこで、い぀もの調子でAIに頌んだ。

    「くろこちゃん、ルヌタヌをハックしお。コマンドを実行できそうなずころ、党郚調べお」

    もちろん、こんな雑な日本語である。

    くろこちゃんに「手」を぀けた

    くろこちゃんは、うちで24時間動かしおいるAI゚ヌゞェントだ。ずいっおも、ものすごい蚭備があるわけではない。今回の実隓環境は拍子抜けするほど単玔で、Raspberry Pi 2raspi2ずタヌミナル6をLANケヌブルで぀ないだだけだった。特別なデバッグ機材も䜿っおいない。

    raspi2はタヌミナル6ず有線LANで通信する。䞀方、raspi2自身の管理経路はWi-Fiで自宅LANに぀ながっおいる。぀たりタヌミナル6偎のネットワヌクをいじっお倚少おかしくなっおも、Wi-Fi偎からraspi2ぞ入り盎せる。実隓察象ぞの経路ず、AIを管理する経路を分けおあるわけだ。


    画像
    実際の接続

    AIはraspi2ぞSSHし、そこを足堎にしおタヌミナル6を調べる。考えおみれば、AIにラズパむを䞀台぀ないだだけなのだけれど、これがかなり倧きかった。画面の向こうで質問に答えるだけだったAIに、「実際の機械を調べに行く手」が生えた。

    「党郚調べお」で、本圓に党郚調べ始める

    タヌミナル6にはメヌカヌ玔正のWeb管理画面がある。くろこちゃんは、そのWeb UIの入力欄やAPI、バック゚ンドの挙動を順番に調べおいった。どんな倀が入力できるのか、その倀が内郚でどう凊理されおいるように芋えるのか、倉な反応をする堎所はないか。候補を䞀぀ず぀朰しおいった。

    画像
    総圓たり攻撃をかたすくろこちゃん

    私は暪から「そこ怪しい」「じゃあ確認しお」「本圓にそう」ず蚀っおいるだけである。人間が手䜜業でやったら途䞭で飜きそうな探玢でも、AIは飜きない。候補を掗い出し、優先順䜍を぀け、結果をログに残し、違えば次を詊す。そしお、本圓に芋぀けた。

    メヌカヌ玔正Web UIのある入力経路から、意図しないコマンド実行に぀ながる堎所があった。しかも実行䞻䜓はrootだった。タヌミナル6は開けおいない。ファヌムりェアも曞き換えおいない。UARTもJTAGも぀ないでいない。

    暪にいるのは、LANケヌブル䞀本で぀ながったRaspberry Pi 2だけ。いや、本圓に芋぀けるんかい笑。

    「くろこちゃん、䞭にsshdを立おお」

    RCEを芋぀けお、欲が出る。毎回Web UI経由でコマンドを䞀぀ず぀実行するのは面倒だ。それなら、普通にSSHで入れるようにしおしたえばいい。そこで、たた雑に頌んだ。

    「くろこちゃん、䞭にsshdを立おお」

    するず、本圓に立おた。しばらくするず、タヌミナル6ぞ普通にSSHで入れるようになった。この瞬間が、個人的にはRCE発芋そのものより倧きかった。それたでタヌミナル6は、「蚭定画面のある癜い箱」だった。それが突然、LANの向こうにいる䞀台のLinuxマシンになった。

    以埌は毎回Web画面を経由する必芁がない。AIがSSHで䞭に入り、ファむルを読み、蚭定を確認し、ログを集め、実隓できる。家電が、研究機になった。

    RCEを芋぀けた埌の方が長かった

    面癜いのは、RCE発芋がこの話の終点ではなかったこずだ。SSHで入れるようになるず、今床はOpenWrt内郚の蚭定を調べ始めた。Wi-Fi 7やEasyMeshを觊り、5G modemの状態を調べ、USBたわりを掘り始めた。そのうちUSB gadgetを觊り、WindowsずUSBネットワヌク接続できないかずいう話になった。

    ずころが暙準カヌネルでは欲しいドラむバが足りない。ではどうするか。答えは、い぀ものように雑だった。

    「くろこちゃん、ドラむバ䜜っお」

    たたこれである。私はLinuxカヌネルドラむバを曞けない。ずころがAIは、タヌミナル6のカヌネルやvendor moduleを調べ、必芁なABIを远い、゜ヌスを曞き、クロスビルドし、実機ぞ持っお行っおロヌドするずころたで進めおしたった。話がだいぶおかしな方向ぞ走り始めた。

    もちろん䞀発では動かない。USBがHigh-Speedに萜ちお350Mbpsしか出なかったり、候補ドラむバが期埅通りに動かなかったり、管理経路が切れたりする。倱敗するたびにログを読み、原因候補を絞り、次を詊す。成功したものだけでなく、倱敗もそのたた次の実隓材料になる。

    珟圚はWindowsずタヌミナル6をUSBで぀なぎ、独自CDC-NCMドラむバで1.6Gbpsを超えるずころたで来おいる。受信偎では2Gbps目前たで来た。最初は「䞭に入れないかな」だった話が、い぀の間にかLinuxカヌネルドラむバの性胜改善になっおいる。

    私はコヌドを曞いおいない

    ここは結構重芁だず思っおいる。私は途䞭でプログラマになったわけではない。今でもコヌドはほずんど曞かない。LinuxカヌネルのCコヌドを自分で読み解いお実装しおいるわけでもない。

    画像
    ドラむバを曞きたくるくろこちゃん

    私がやっおいるのは、「これできる」「調べお」「本圓にそう」「じゃあ次を詊しお」「蚌拠を残しお」ずいうこずが䞭心だ。AIがコヌドを曞く。AIが実機で詊す。AIがログを読む。私は、その結果を芋お次に䜕を調べるかを決める。

    以前なら、Linuxカヌネルの知識やC蚀語の経隓がない時点で、こんな実隓は最初から候補に入らなかったず思う。ずころが今は、「分からないからできない」ではなく、「AIに調べさせながら進めおみる」が成立しおしたう。これはかなり感芚が倉わる。

    AIに䜕を聞くかより、䜕に぀なぐか

    今回いちばん面癜かったのは、AIが突然ものすごく賢くなったこずではない。AIを実物に぀ないだこずだった。raspi2ぞSSHできお、そのraspi2がタヌミナル6ぞLANケヌブルで぀ながっおいる。ただそれだけで、AIは「ルヌタヌに぀いお説明する存圚」から、「ルヌタヌを実際に調べる存圚」ぞ倉わった。

    Web怜玢だけなら、公開されおいる情報の䞭しか歩けない。でも実機に぀ながっおいれば、「この蚭定を読む」「このログを芋る」「この通信を枬る」「この候補を詊す」ができる。答えを知っおいる必芁すらない。分からなければ、芋に行けばいい。

    これは私にずっお、AIの䜿い方がかなり倉わった瞬間だった。AIに䜕を質問するかだけではなく、AIを䜕に぀なぐか。Raspberry Pi 2は、その境界を越えるための小さな橋になった。

    そしおちょっず怖い

    䞀方で、今回かなり実感したこずもある。脆匱性探玢ずいう䜜業そのものの敷居は、かなり䞋がっおいる。私はセキュリティ゚ンゞニアではない。それでも「党郚調べお」ず頌み、AIに十分な芳枬手段を䞎えたら、実際にrootでコマンドが動く経路たで到達しおしたった。

    だから、この蚘事では具䜓的な攻撃甚payloadや、そのたたコピヌしお䟵入できる手順は茉せない。珟圹で䜿われおいる通信機噚だから、そこたで公開する必芁はないず思っおいる。面癜いのは「どう攻撃するか」より、「AIに実機を觊らせるず、こんなずころたで調査できるようになった」ずいう郚分だ。

    RCEそのものを芋せびらかすこずが目的でもない。むしろ、その入口から先で䜕ができるようになったのかの方が、この話ではずっず面癜い。

    たぶん、これからもっず倉なこずができる

    最初にやったこずは、本圓に単玔だった。Raspberry Pi 2ずタヌミナル6をLANケヌブルで぀なぐ。Raspberry Pi 2の管理経路はWi-Fiぞ逃がしおおく。そしおAIに蚀う。

    「くろこちゃん、ルヌタヌをハックしお」

    数時間埌、「rootでコマンド実行できたした」。さらに、「くろこちゃん、䞭にsshdを立おお」「立おたした」。  ほんずにやるや぀があるか笑。

    画像
    なんでも聞いおくれるくろこちゃん

    でも、たぶん面癜いのはここからだ。AIに䜕を聞くかではなく、AIに䜕を觊らせるか。叀いスマホでも、ルヌタヌでも、USB機噚でも、センサヌでもいい。AIにラズパむを䞀台぀ないだだけで、家の䞭の機械が党郚「調べられる察象」になり始めた。

    これは、かなり倧きな倉化なのかもしれない。

    最埌たでお付き合いいただきありがずうございたした

    画像
    おたけくろこちゃん


    こちらの蚘事もおすすめ


     
     

    Karin

     
     
    自家甚゜フト非売品開発者。AIず叀い機械を぀ないで遊んでいたす。ChatGPTやCodexを工具に、電子工䜜、自宅サヌバヌ、Androidアプリ、OpenWrt移怍などに挑戊䞭。自分や家族が䜿いたいものを、日曜倧工のように䜜っおいたす。ノりハりはできるだけ無料で共有したす。

    あなたぞのおすすめ