Raspberry Pi に telnetd をインストールしてみた


■Raspberry Pi に telnetd をインストールしてみた

今、Raspberry Pi を使ったセキュリティ診断環境をちょっと作り直している。

具体的には、やられ側機器を

Raspberry Pi でブラウザから操作できるラジコン戦車を作る!

で作った RC タンクにできないか、と思っている。

現時点でも、WebIOPi でのアクセスが basic 認証であるなど、

使えなくはないのだが、乗っ取り系もできるようにしたい。

その第一弾として、telnetd をインストールし、

telnet server にしようとしたのだが、若干苦労している。

ということで、こちらも備忘録的に書いておこうと思う。

まず、ラズパイに telnetd をインストールするためには、

どうも telnetd だけではだめで、xinet も必要な模様。

よって以下のコマンドで、xinetd と telnetd をインストールする。

      pi@raspberry:~$ sudo apt-get update
      pi@raspberry:~$ sudo apt-get install xinetd telnetd -y

これにより、telnetd が起動できるようになる。

で、普通に reboot すると、無事 telnetd が起動された。



とりあえずこれで、

Raspberry Pi に telnetd をインストールする

ということができた。

が、デフォルトで起動させたいわけではなく、

・通常はサービスが停止されている
・脆弱性をつくことによって、サービスを起動できる

という状態を作りたい。

ということで、まずは自動起動しているのを停止する方法。

xinetd 自体を止めれば止まる模様。

      pi@raspberry:~$ service xinetd stop

nmap で確認してみたが、確かに telnet も止まっている。

ということは、起動は xinetd を起動すればよいはず。

ということで以下のコマンドを実行。

      pi@raspberry:~$ service xinetd start

こちらもちゃんと起動してくれた。

ひとまずこれで起動と停止はできることが確認できたが、

できれば、

・ラズパイの起動段階では off
・脆弱性をつくことによって on

という状態を作りたい。

ということで、もう少し調べてみた。



そうすると、どうやら chkconfig というコマンドで

telnet を on/off できるらしいというのがわかった。

なので早速 chkconfig で試そうとしてみたが、

いかんせんそんなコマンドがない、と言われた。

じゃぁインストールできるんじゃないか?ということで

      pi@raspberry:~$ sudu apt-get install chkconfig -y

とやってみたら、すんなりインストールできた。

ということで、早速、

      pi@raspberry:~$ sudo chkconfig telnet off

としてみたが、今度は telnet なんざ知らん、と怒られる。

なんじゃそりゃ、と思って

/etc/xinetd.d/ 以下をみると、telnet が確かにない。

であれば作ってやれば認識されるだろう、ということで


        service telnet
        {
          disable     = no
          socket_type = stream
          protocol    = tcp
          wait        = no
          user        = root
          server      = /usr/sbin/in.telnetd
          server_args = -h
        }
      

という内容の、telnet というファイルを作成し、

/etc/xinetd.d/ 以下に置いたうえで、reboot してみた。

結果、見てみると telnet は起動してくれちゃっている。

あれー?と思ったが、何のことはない。

disable = no

なのだから、即ち enable なのだ。

ということで、再度

      pi@raspberry:~$ sudo chkconfig telnet off

としたうえで、reboot。

が、だめ。

今一度 /etc/xinetd.d/telnet の内容を確認してみたところ、


        service telnet
        {
          disable     = yes
          disable     = no
          socket_type = stream
          protocol    = tcp
          wait        = no
          user        = root
          server      = /usr/sbin/in.telnetd
          server_args = -h
        }
      

となっていた。

今一度 chkconfig で telnet を on にすると、

今度は一行目の disable = yes だけが消えている。

なので、まず自分で書いた、二行目の disable = no を削除。

その後、

      pi@raspberry:~$ sudu service xinetd stop
      pi@raspberry:~$ sudu service xinetd start

として xinetd の再起動を実施。

が、結果としてだめ。telnet は起動されてしまった。

ということで、あきらめ。

少なくとも xinetd を止めれば telnet も止まることは

わかったので、とりあえず現状のままでいこう。

もっと簡単に on/off できるようになったら、また書こうと思う。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ブログ, ラズパイで linux, ラズパイでセキュリティ タグ: , , , パーマリンク