[異種OS格闘戦]RedStar Linux 3.0をインストールしてroot取ってみた

[異種OS格闘戦]RedStar Linux 3.0をインストールしてroot取ってみた

みなさんこんにちは。昨日、Slashdot Japanのつぶやきがタイムラインに流れてきてRedStar Linux 3.0がtorrent経由で入手できるのを知ったので試してみました。ご存知の方もいらっしゃると思いますが、わたくし2011年3月にUSP MAGAZINE Vol.0 (現シェルスクリプトマガジン) で「RedStar2.0をインストールしてみた。」なんていう記事を寄稿したので、こりゃインストールしなきゃ!(使命感) というわけで、RedStar Linux 3.0をVirtualBoxにインストールしてrootを取るまでの手順を公開します。

■ RedStar Linux 3.0 ダウンロード

RedStar Linuxはどこで入手できるんだろうと探していたら、米帝もといアメリカ本国のgizmodoにtorrentのリンクがありました。

You Can Download North Korea’s OS X Knockoff for Desktops (But Don’t)

gizmodoにリンクされていたトレント

というわけでwgetしてきます。

$ wget http://torcache.net/torrent/2e85d200d81b74a57dd70dab66c81222df1cf715.torrent

私のPCはfedoraなのでTransmissionでダウンロードしました。

RedStar-INSTALL_000

RedStar-INSTALL_001

RedStar-INSTALL_002

RedStar-INSTALL_003

RedStar-INSTALL_004

RedStar-INSTALL_005

RedStar-INSTALL_006

しかし、好きこのんでダウンロードしておいて言うのもどうかと思うのですが、かなり出処が怪しいので、いつも以上にmd5sumを確認します。

$ cd ${HOME}/Downloads/Red\ Star\ 3.0\ Desktop/
$ md5sum redstar_desktop3.0_sign.iso
$ grep $(md5sum redstar_desktop3.0_sign.iso | awk '{print $1}') readme.txt ; echo $?
acf53d2b50ecb1391044b343502becf5 redstar_desktop3.0_sign.iso
0

md5値がreadme.txtに書いてあった通りだしgrepの終了ステータスも0なので、もうこれ信じるしかないでしょう。。。本日ちょっとだけやったシェル芸です。

RedStar-INSTALL_007

RedStar-INSTALL_008

 

 

■ RedStar Linux 3.0 インストール

ダウンロードしてきたredstar_desktop3.0_sign.isoはVirtual Boxの環境にインストールしました。ゲストOSが起動すると、読めない画面が出てくるので、まずは押せるボタンを押します。きっとこれ「次へ」的なボタンなのでしょう。ぽち。

RedStar-INSTALL_009

さらに読めないダイアログをぽちります。

RedStar-INSTALL_010

前の画面に戻るのでぽちります。

RedStar-INSTALL_011

またまた読めないダイアログが出てくるので、右側のボタンを野生の勘でぽちります。

RedStar-INSTALL_012

お、このアイコン見たことあるで!ハードディスクやろ?ということで、ハードディスクのアイコンをクリックします。って簡単に書いてますが、(パーティション切らなきゃ)いかんのか?などとしばらく格闘してました。。。

RedStar-INSTALL_013-01

ハードディスクのアイコンに↓が重なりました。

RedStar-INSTALL_013-02

そして再び右側のボタンをぽちります。

RedStar-INSTALL_013-03

どうやら初期ユーザーを作成する画面のようです。勿論ハングル読めませんので、ここはKim Jong-un将軍様になりきることにします。入力フォームは上から「フルネーム」「ログインアカウント名」「パスワード」「パスワード(確認)」で、最後の行はなんだかよくわかんないので空欄にします。

RedStar-INSTALL_014

次にネットワーク設定ですが、プルダウンメニューから固定IPアドレスかDHCPを選択しますので、DHCPと書いていないほう(だって読めないですから・・・)を選択して固定IPアドレスを選択します。左上から「IPアドレス」「サブネットマスク」「デフォルトゲートウェイ」を入力します。右上にはコンピューター名を入力します。右下は参照するDNSサーバーのアドレスを入力します。これは /etc/resolv.conf に反映される内容なので、とりあえず3行書いておきました。

RedStar-INSTALL_015

タイムゾーンの選択画面ですが、勿論初期状態では平壌でしたが、東京をクリックします。

RedStar-INSTALL_016

次に日付と時刻を入力するのですが、JSTではなくUTC (Coordinated Universal Time:協定世界時) と思われる時間になっていました。が、面倒なので次に進みます。

RedStar-INSTALL_017

恐らくこれがインストール最終確認画面なのでしょう。次へ進みます。

RedStar-INSTALL_018

RedStar-INSTALL_019

ログイン画面が表示されました。いよいよパスワードを入力してログインします。

RedStar-INSTALL_020

噂通り、Mac OSXっぽいdockが鎮座しています。どのメニューを開いてもハングルなので、GUIで何かを弄るというのは恐怖でしかありません。dock右から2番目のアイコンをクリックし、ポップアップされた画面最上部の右から2番目のアイコンをクリックします。

RedStar-INSTALL_021

RedStar-INSTALL_022-01

更に、ハンマーとスパナのアイコンが出てくるので、これをクリックします。私にはこれが斧にしか見えませんでした。ぼくに向かって投げられる的な意味で。。。

RedStar-INSTALL_022-02

お、ターミナルのアイコンが出てきました!これで勝つる!!!

RedStar-INSTALL_022-03

/etc/redhat-release を見てみましたが、案の定 読 め ま せ ん 。。。

RedStar-INSTALL_023

さてrootのパスワード設定してなかったぞ?と思いながらsuしてみましたが、rootになれません。ubuntuみたいにsudoするのかな?と思っても、初期状態ではsudoできないようです。さあ困った。。。何 も で き な い ぞ ・・・。いや、国民を統制下に置いている巨大LANで運用するデスクトップOSですからそれでいいんでしょうけど、これじゃ面白くありません。

RedStar-INSTALL_024

■ rootを取る方法 その1 redstarrootをインストールする

海外のフォーラムを漁っていたら、@richardg867さんのブログでこんな素敵なものが公開されていました

Obtaining root

The root user is disabled on Red Star, and it doesn’t look like there is a way to enable it. UnFortunately, they left a big security hole: the Software Manager (swmng.app), which runs as root through sudo and will install any RPM package, even if unsigned.

To get root, get this RPM package I made (2015-01-02: fixed the RPM, I had uploaded the wrong one) into Red Star through an ISO (if you’re using a virtual machine) or USB key, double-click it to open it with the Software Manager, and click through the blue buttons until it’s done. After that, run rootsh to get a root shell. Being a RedHat-based system (hinting on Fedora 15), SELinux will prevent you from doing some things, but disabling it is a matter of running setenforce 0 as root.

Also, I am aware that @hackerfantastic has developed another root method using udev event scripts.

rootを取る方法 その2 でも書きますが、udevの脆弱性(というかなんでこんなパーミッションにしたんやろ?)を利用してrootを取るrootshというコマンドがインストールされました。で、USBメモリをうまく認識できなかったようなので、redstarroot.rpmはcurlでダウンロードしてきました。

fileコマンドで見てみたところ、無事rpmパッケージとしてダウンロードできたようです。なお、rpm -ivhでインストールしようとしたところ、 /var/lib/rpm/__db.000に書き込めないとエラーが出たので、ここは@richardg867さんの言う通り、デスクトップに持ってきてダブルクリックすることにします。

RedStar-INSTALL_025-01

RedStar-INSTALL_025-02

RedStar-INSTALL_025-03

RedStar-INSTALL_025-04

RedStar-INSTALL_025-05

また例によって読めないダイアログが出ましたが、とにかく右側のボタンをぽちることにします。それではrootshを実行してみましょう。

RedStar-INSTALL_025-06

rootになれた!!!

というわけで、コンソールからの作業はストレスフルなのでsshでログインすることにします。バージョン2.0のときもそうでしたが、sshdはインストールされているものの、chkconfigでonになっていませんでした。ひとまずは言語環境をできる限り日本語化して、ファイアウォールとSELinuxを停止します。

RedStar-INSTALL_025-07

$ rootsh
# cp -p /etc/sysconfig/i18n{,.orig}
# cp -p /usr/share/config/kdeglobals{,.orig}
# sed -i 's/ko_KP/ja_JP/g' /etc/sysconfig/i18n
# sed -i 's/ko_KP/ja_JP/g' /usr/share/config/kdeglobals
# rm -f /etc/sysconfig/iptables
# sed -i 's/enforcing$/disabled/' /etc/selinux/config
# reboot

 

■ rootを取る方法 その2 udevをゴニョゴニョ

こちらにも少し書きましたが、udevの脆弱性というかあり得ないパーミッションのおかげでrootを取ることができました。恐らく一般ユーザーでもプリンターをインストールできるようにという意図なのでしょうか。詳細はこちらに書かれています。

North Korea’s Red Star OS Open to Root Access – Softpedia
Heads up, dear leader: Security hole found in North Korea’s home-grown OS | Ars Technica

そのものズバリのroot奪取手順もこちらに書かれていたので、その通りに実行します。

まさかそんなことはないだろうと思って見てみたら、これあかんやつでした。。。

$ ls -l /etc/udev/rules.d/85-hplj10xx.rules
-rwxrwxrwx.  1 root  admin  1598 2012-11-18 16:26 /etc/udev/rules.d/85-hplj10xx.rules

なお、再起動後もsu -でrootになれませんでしたが、これはrootユーザーのシェルが/sbin/nologinだったからでした。勿論NOPASSWDでsudoできる環境になったので、

$ sudo usermod -s /bin/bash root

で解決です。

 

■ 北のブラウザはやはり怖かった

コンソールでも日本語が一部表示され、可能な限りGUIのメニューが英語で表示されるようになった(日本語はさすがに無理か)ので、私のブログを見てみることにしました。あれ?なんだかホストOS側と見え方が違うぞ・・・。そうです、facebookボタンが表示されていません。

RedStar-INSTALL_026

RedStar-INSTALL_027

 

で、facebookにアクセスしようとしたのですが、案の定SSL証明書のエラーで怒られてしまいました。恐らく本国ではファイアウォールの他にこうしたアクセス制限をしているのでしょう。

RedStar-INSTALL_028

怖いので証明書のインポートはせずそっとブラウザを閉じました。。。勿論ハングル読めないので、ブラウザのエラーメッセージをコピペしてホストOSから翻訳にかけました。

RedStar-INSTALL_029

RedStar-INSTALL_030

いかがでしたでしょうか。ほんとはもっと別のことやりたくてRedStarをインストールしたのですが、root取った時点でかなりやり切った感が。。。一応、やろうと思っていた続きは、シェルスクリプトマガジンの4月号あたりで記事にして公開しようと思います。なお、最後にこのエントリーは特定の政治的意図を持つものではなく、純粋に興味本位であることを申し添えておきます。。。あぁ疲れた(ヽ’ω`)

[amazonjs asin=”4904807154″ locale=”JP” title=”シェルスクリプトマガジン vol.21″]

[異種OS格闘戦]RedStar Linux 3.0をインストールしてroot取ってみた」への0件のコメント