serverの最近のブログ記事

これまた、DTPには全く関係なかったりするのですが、面白かったりするので紹介しようと思うんだ。
Google Code Universityに「Web Application Exploits and Defenses」(http://jarlsberg.appspot.com/)というのがあって、簡単なWebアプリが用意されているんだ。
で、このWebアプリがとんでもないくらい穴だらけで、これを色々といじり倒してセキュリティについて考えようと言うのが主旨らしいんだ。
XSSから始まってDoS、Code Execution、SQLインジェクションと多彩な脆弱性が用意されていて、Step by StepでHackingしていくんだ。
もちろんHackingが目的ではなくて、それに対処するのが目的なんだけどね。

依然Softbank回線上をwormがうごめいているようです。pocとは"proof of concept"つまり実証コードを指す訳なのだけど、今出回っているのはpocを冠するには気が引ける程、の実効性を獲得しています。

現在主流となっているコードはDictonary Attackのルーチンが組込まれています。未確認ですがbrute forceをかけて来るものもあるなんて噂もちらりほらりと...
本当に迷惑な話なんだけどJBしている方達はそうも言っていられない訳ですね。パスワードを書き換えただけでは安全とは言えなくなった訳です。
まあ、対策が無いではないので。ここに挙げておきますが、詳細な記事を書く暇もないのでググってみると良いと思います。

sshdのセキュリティを強化する。

一番問題なのはsshdのセキュリティが低い状態な事なんだ。そこを何とかするとこの問題は解決するのだけどね。
と言う訳で、まずはアクセス制御。単純だけど無いよりはかなりましになるんだ。

自身のアクセスを許可する場合はこう。

echo sshd:127.0.0.1 >> /etc/hosts.allow

次は特定のIPレンジを許可する場合。

echo "sshd: 192.168.1." >> /etc/hosts.allow

もちろんドメインでの制御も出来る。

echo "sshd: chuwa.iobb.net"  >> /etc/hosts.allow

最後はぜ〜んぶ許可しない場合。

echo "sshd: ALL" >> /etc/hosts.deny

もちろんhostsファイルをダイレクトに編集するってのもOKな訳だけど、既存の記述を書き換えてしまうと。システム自体が不安定になる事もあるので注意。特にシステムは起動時にループバックインターフェースをチェックしようとするので127.0.0.1が消えているとエラーを生じる事になるんだ。ってこのあたりはコメントが書いてあるね。

まあ、一番安全なのはsshd自体を殺しておく事。ポートが反応しなければなす術も無いと言う訳だね。

そういっても使いたい時は使いたい。なら、公開鍵認証をセットアップ。解説するのが面倒なのでググって下さい。
セットアップが終ったらもちろん。sshd_configを書き換えてパスワード認証を殺しておく事。
これでdictionary attackだとかblute forceなんかは全く意味をなさない。

ここ、数日グーグル先生とこからのトラフィックが極端に増加したので、ふ〜んと思っていたのだけどね。取り急ぎ出来る事を書いてみた。ここに書いたのはOpenSSH全般に言える事なのでサーバなんかにも応用がききます。というかiPhoneではディレクトリ構成どうなっているのか良く解っていなかったりしてw

え〜、先日Webインターフェース上からPHPを使ってオンザフライでPDFを生成する作業をやったのだけど、なんか以前お世話になったサイトとか情報がまったく消えてたんだ。まあ、数年前の話なので仕方の無い部分もあるとは思うけどね。で、思い出しながら色々とやってたんだ。 気分的には浦島太郎状態な訳だけど、結構手の込んだ事やってたりするのでこのまま捨て置くのも勿体ない話だと思うんだ。だからここに当時のままのコードなんか貼り捨てておこうと思ったりするんだね。このソースはとっても長いので解説は勘弁して下さい。 でも、最後にちらっとサンプルコードなんか載っけとこうと思うんだ。 え〜と、このソースに関してはGPLライセンスとなります。あと、当然のごとくfpdfとfpdiというライブラリは必須なので調べてインストールして下さい。

みなさま、こんにちは。本日は大掃除をしている訳です。このところスクリプトがらみをさぼっていますが、けしてネタが無いと言う訳ではありませんよw
といいつつ、今年最後のエントリとなる今回もiKeeがらみの情報です。新年は早い段階でQRコード関連を書こうと思うのですが資料が膨大で整理が行き届きません。暫くお待ち下さいね。本日はアシュリー君のコードをベースにした亜種についてリポートがあったので少し紹介してみようと思うんだ。これは11月25日に発見されたiKee.Bと呼ばれるバージョンの物のリポートなんだね。ヨーロッパの幾つかの国をターゲットにリトアニアのサーバを介してbotnetを形成しているようだね。リバースエンジニアリングで解析されているみたいだけど、元ネタはやはりアシュリー君の件のコードが基となっているらしいんだ。
ここへ来てサーバベースのbotnetが形成され始めているという事みたいだね。

さて、俗にいうiKee wormがリリースされてから1ヵ月半ほど経過しました。googleコード掲載後、すぐににコードが削除されて皆さん血眼になって探していたものですが、最近、かなりのサイトでコードを確認出来るようになって来た訳です。
それにつれて日本でもSoftBankのIPレンジをスキャンするwormが広がっているみたいだね。
まあ、わたし自身もタウンズ君が実証コードって言っているコードの断片は確認していた訳ですが、肝心な所をチェックしたのはついこの間のな訳です。
先のインタビューの流れを念頭にコードを見ていくと彼の言動に納得出来るかなって思ってしまう部分も無いではないですが、彼自身はその後、結構酷い目にあってしまっているようですwww
よくよくコード自体をチェックしてみるとミスタイプと思われる部分も数カ所見受けられるので、彼がJDに渡したコードはファイナルリリースではないのかもしれないね。
わたしがチェックしたのはおそらくバージョンCのブツだと思われるのですが、コード自体は単純です。おそらく悪意は無かったというのも本当のことなんでしょう。今の彼の状況を思うとちょいと可哀想な気もしますが、コード云々よりもこの抜け穴を世に広めてしまったのが彼の罪なのかもしれないね。
コード自体は脆弱性をつくというよりは、ざる並のセキュリティの個体を探して感染するということなので対処は比較的簡単なのですが、わたしならこのコードにブルートフォースや辞書攻撃を組み込むね。
ブルートフォースとかってコード的には単純な力技な訳で、こういった定番的な攻撃が存在するので本当はsshのrootログインを許しちゃいけないんだよね。更に言うと短いパスワードは簡単に破られたりするから注意が必要なんだ。本当はsshd稼働させるのなら公開鍵方式の認証を利用したい所なんだけどね。もしくはIDCでillegalなパケットをたたき落せる仕組みとかあれば良いんだけどね。てな感じで色々足していくと常駐デーモンが山ほど増えてしまいそうだねwww
と、書きなぐっているのだけど今回は全コードの掲載はありませんよ。モノがモノだけにねw手元にも残しては無いですから。12月頭頃はコード探している方々が良くいらっしゃいましたけど、実際にもう少し捻った検索ワードで簡単に見つかったりします。
単純所持も含まれる不正指令電磁的記録作成等の法案は成立してませんが、ソースをコンパイルして放流もしくは流出させた場合、電子計算機損壊等業務妨害罪等の適用も考えられます。この場合、5年以下の懲役又は100万以下の罰金に処せられる事も。コードをお探しの方々はそういったリスクの存在にもご注意下さいね。
まあ、影響の無さそうな部分だけでも見てみましょうかね。

  ・
  ・
  ・
    //char ipRange[256] = "120.16.0.0-120.23.255.255";
    char *locRanges = getAddrRange();
    char *lanRanges = "192.168.0.0-192.168.255.255"; // #172.16.0.0-172.31.255.255 Ehh who uses it
    char *vodRanges1 = "202.81.64.0-202.81.79.255";
    char *vodRanges2 = "23.98.128.0-123.98.143.255";
  ・
  ・
  ・

IPレンジのコーディング部分の抜粋なのだけど、同一ローカルアドレスのレンジをまずスキャンするようになっているんだ。パブリックなAPとかはWifi経由での感染もあると言う訳だね。
インタビューではIPレンジは20と言っていた訳だけど、わたしが確認したコードでは10個だったからこのリビジョンは最新のものではないのか、バージョンDのみ20になっているのかもしれないね。
vodRanges2のIPレンジは「123.98.128.0-123.98.143.255」が正しいので、恐らくミスだね。この部分がこのままコード化されると膨大なレンジをスキャンするので、実際にコンパイルしたソースは訂正されていると思われるんだ。
次は infectHostルーチンの後半にあるコメントアウト部分。ikeeが言っていたように続く作業の為に端末の再起動とかの処理を模索していた部分がそのまま残されているんだね。

           //printf("¥n¥r - Program set to startup on boot");
            //prunCommand("reboot", host)
            //printf("¥n¥r - Rebooting phone!");
            //CopyFile("ngtgyu.m4r", "/var/mobile/ngtgyu.m4r", host);
            //printf("¥n¥r - Ringtone set (ngtgyu.m4r).");

コードについてはこれ位にするのだけど、コード自体は結構荒削りな感じがするね。現在出回っているヤツはこれをベースにしているらしいけどね。
ともあれ、JailBreakerの方々はこんな状態ですのでsshdがらみの対応はしっかりとやって下さい。worm自体は主に3G回線から紛れ込むのでJailBreak作業中は機内モードにしておいた方が良いかも知れませんね。
iPhoneの場合、Web閲覧でIPとUAとかも記録されるので、ほいほい用サーバ用意してそこからクラッキングかけるって手法も考えられるんだよね。レンジスキャンよりよほど効率は良いだろうね。
それから、wormとは別にpublic APでセキュリティ対応の無いJailBreakしたiPhoneを検索するツールも出回っていますのでね。
いろいろと書き連ねましたが、セキュリティは過剰な位で丁度良い...って感じだとおもうんだ。

ikee worm

| コメント(0) | トラックバック(0)
今回は少々毛色の違うエントリですみません。iPhone初のworm発生記念と言う事で。
Jailbreeakした場合、多くはCydirを利用するんだね。そうするとSSHがインストールされるのだけど、デフォルトのrootパスワード"alpine"が有効になっている訳なんだね。要するにどなたでもウエルカム状態。
そこに目をつけたのがオーストラリアの21歳の学生さんAshley君。この学生さん、インタビューに答えているみたいなので適当に紹介してみよう。
7月8日
SSH君は少し前に脆弱性とか報告があったのだけど、有り得ないシチュエーションなのでついつい放ったらかしだったんだね。しかしながらセキュリティの根幹にあるこの子をいつまでも放っておく訳にもいかないので更新してみたんだ。最近は黄色い犬とかaptなんかを使うよりソースを自分で管理してインストールする方が良いような気がしているので、これも現在のrpmを廃止してソースからmakeする事にしてみた。まあ、引っ掛かりどころが全然無いのは当然なのかな?
それより仮想マシン多すぎて面倒だwww

7月9日
昨日アップデートしてもう安心。なんて思っていたSSH君にexproiteコードが出回っているらしいwwwあ〜もう、なんなんだろう。とりあえずHackingLog探してみた...って、これやってんのanti-secだね。いや、酷いねこれw取り敢えずリモートポートはクローズしておこうかなwww
でも、この情報って7日には出回っているとかwww見逃しちゃだめだよねorz...

7月14日
今朝、internet storm centerのページ見たら黄色いアラートで派手になっていた。なんでもActiveXがらみのExproiteが発覚して、Microsoftもひっくるめて大騒ぎしているらしいw
まあ、わたしにはあまり関係ないのだけどね。

7月15日
昨日の大騒ぎは沈静化しつつあるらしいのだけど、.cnドメインあたりに例のexproiteの亜種がぞろぞろ出回っているらしいね。うちのコンピュータにはActiveX系の脆弱性が影響受けるものが無いから心配はしていないのだけど鬱陶しい話です。
たまに中国人とロシア人はネットから出て行けっておもってしまいます。ああ、朝鮮半島も南北共に酷いですねって北からのトラフィックなんてありませんけどね。このあたりは毎日うちのサーバの特殊なポートを叩きに来ますから。酷いのは固定IPから直接proxyも通さずにいらっしゃいます。これってcracking食らったサーバとかなのかしら。門前払い食らっているのにね、しつこいったらありゃしないwww

7月19日
ちょっとしたテスト環境が欲しくてTigerの上にKDE走らせてそこで作業しているわけです。しかし、まあ、よく考えてみれば気持ち悪い状態ではあります。ウインドウシステムの上に別のウインドウシステム乗っかってそこでごにょごよしているわけですから。OSXってばUnixですからその辺りは結構シームレスで行き来出来たりして便利なのですけどね。
まあ、世の中仮想マシン全盛ですしねって、これって仮想マシンですらないですよね。感覚的にはFreeBSD扱っているかんじなので、Linuxとは若干違うのでちょこちょこ勘違いでターミナルに怒られているのです。

7月24日
今日は突然工場メンテとか...常時稼働しているサーバあるのだから先にどの範囲ってのを連絡下さい。これだけVMのっけているとサーバを回復させるだけで1時間以上かかっちゃうのだからね。事前連絡あれば代理サーバ用意したのにね。お昼頃につないだ方、エラーで弾かれた事だと思います。ごめんなさい。
6月3日
今日は兼ねてから鬱陶しいwarningを吐きまくる愛しのclam君を何とかするべく四苦八苦したんだ。リビジョンひとつ上げるだけなのにこの騒ぎwww
まずclam君update時は前のをアンインストールした方がいいって?読んでなかったよ。.configureした時のディレクトリ?そんなの置いていないってばwww
でも、よくよく読んでみるとね、「まあ、大丈夫だと思うけどね...」って事らしいwww無い袖は振れないわけなのでそのままソースからコンパイルしちゃたわけだけどね。clam君自身は機嫌良く動く...
なんでamavisがエラー吐くの?なんで、どうして???
socket?変わったの?......迷惑な話ですね。clamd.confのソケットを書き換えてもう一度テストしてみると、今度は正常にウイルスチェックをしてくれた。
clamの方はソースをディレクトリごと塩漬けにして置いておこうwww
もうね、依存関係の把握は必死の思いです。あちらが立つとこちらが立たずって...やはり赤帽とかのディストリビューションが使われるのはこういった事情なのかねぇw

このアーカイブについて

このページには、過去に書かれたブログ記事のうちserverカテゴリに属しているものが含まれています。

前のカテゴリはetcです。

次のカテゴリはBridgeです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 5.12

    follow? twitter...     
    available on exchange