[-]=======================================================================[-] Wizard Bible vol.2 [-]=======================================================================[-] x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ---- 第0章:目次 --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ○第1章:IPIDを利用したポートスキャンテクニック unya 著 ○第2章:WinMX Tips 2 黒猫 著 ○第3章:企業に対するソーシャルエンジニアリング D 著 ○第4章:PICNIC遊戯 IPUSIRON 著 ○第5章:目指せPCテクニカルライター[第二回] MaD 著 ○第6章:お知らせ ○第7章:著者プロフィール x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第1章:IPIDを利用したポートスキャンテクニック --- 著者:unya x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  ポートスキャンには様々な種類があり、各ポートにコネクションを張るものか らステルスポートスキャナーに代表される "TCP SYN Stealth Port Scan"のよう なTCP/IPの特性を利用したものまで色々とあります。しかし、それらは必ず自分 のIPアドレスをさらし、なおかつ、スキャンしたポートがターゲットに知られて しまいます。  たとえ、おとりパケットを使ったとしても、それは単に"分かりづらく" するだ けでその中に自らのパケットを混じらせなくてはならないため、身元を隠すには 不完全です。  しかし、もしターゲットに全く自分の存在を知らせる事なく、ポートスキャン を実行できるとしたらどうでしょう。 ■0x02.) IPID  IPヘッダーにはそれぞれにID(Identification)番号が振られますが、通常、同 一のIDを持ったパケットの送信が行われる事はありません。 ID番号はTCP/IPソフトウェアが起動されると16ビット数値の0001から始まる値 です。もっとも、これは実装によって違います。例えば、LinuxからPingを打つと IDをゼロにして送信しますが、これに対してNetBSDは IDをインクリメントしなが ら送信します。  しかし、TelnetやFTPのセッション中にゼロのIDや同一のIDでやり取りをする事 はありません。IDが同一になるのはパケットをフラグメンテーション(分割)し た場合です。フラグメンテーションが発生すると、受信する側はID番号を元にパ ケットを再構築します。  この辺りはTCP/IPの基本ですが、このIPIDを利用すると、なかなか面白い感じ でポートスキャンを行う事が出来ます。 ●IPヘッダーのレイアウト 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification(IPID) |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ■0x03.) テクニック  このスキャンテクニックには、3つのマシンが必要です。ひとつはスキャンを行 う攻撃者のマシン、ふたつめがスキャンを受けるターゲット、そして、最後にお とりに使われるゾンビマシンです。  まず、攻撃者はゾンビへACK+SYNのパケットを送信して、RST(リセット)パケ ットを受信し、IPIDを取得します。  次に、攻撃者はターゲットへゾンビのIPアドレスで偽装したSYN(接続要求)パ ケットをターゲットのスキャンしたいポートへ送信します。ターゲットはポート が開いているならば ACK+SYNを、閉じているならばRSTをゾンビへ返送します。  最後に攻撃者は再びゾンビへACK+SYNを送信してRSTパケットを受信し、IPIDか らターゲットのポートが開いているのか、閉じているのかを判断します。ターゲ ットからは、全てのパケットがゾンビから送信されてきたようにしか見えません。  なぜ、これだけでポートが開いているかどうかが判断出来るのか、それは次の ような仕組みです。 ACK+SYNをゾンビへ送信 [攻撃者]------------------------------------------------------>[ゾンビ] ゾンビはRSTを攻撃者へ返送(IPID: 30) [攻撃者]<------------------------------------------------------[ゾンビ] +++++++++++++++++++++++++++ ポートが開いている場合 +++++++++++++++++++++++++++ ゾンビを装いSYNを送信 [攻撃者]------------------------------------------------------>[ターゲット] ポートが開いているのでACK+SYNを返送 [ゾンビ]<------------------------------------------------------[ターゲット] ゾンビはターゲットへRSTを返送(IPID: 31) [ゾンビ]------------------------------------------------------>[ターゲット] 攻撃者は再びゾンビへACK+SYNを送信 [攻撃者]------------------------------------------------------>[ゾンビ] ゾンビはRSTを攻撃者へ返送(IPID: 32) [攻撃者]<------------------------------------------------------[ゾンビ] +++++++++++++++++++++++++++ ポートが閉じている場合 +++++++++++++++++++++++++++ ゾンビを装いSYNを送信 [攻撃者]------------------------------------------------------>[ターゲット] ポートが閉じているのでRSTを返送 [ゾンビ]<------------------------------------------------------[ターゲット] 攻撃者は再びゾンビへACK+SYNを送信 [攻撃者]------------------------------------------------------>[ゾンビ] ゾンビはRSTを攻撃者へ返送(IPID: 31) [攻撃者]<------------------------------------------------------[ゾンビ]  このように、ポートが閉じている場合はRSTを受け取ったゾンビが反応をしない ためゾンビのIPIDはポートが開いている場合に比べて、ひとつID番号が少なくな ります。つまり、最初に受信したゾンビからのIPIDと再びゾンビから受信したIP IDの差をみればターゲットのポートの状態を知る事が出来る訳です。 ■0x04.) 実践  IPIDを利用する事で、ポートスキャンを実行できる、という事は分かりました。  次に、このテクニックを使って、実際にポートスキャナーを作成、動作させて みました。コードを簡潔にするために、Linux専用になっています。  このサンプルコードは他のステルスポートスキャナーと同じく、ルート権限を 必要とします。これは、IPヘッダーの作成等を自分で行わなければならないから です。  このスキャンはゾンビが非常に多くのパケットをやり取りをしていると正確に ポートの状態を判断するのが困難になります。 [root@maniac ipidscan]# ./ipidscan www.securityfocus.com -z www.shellcode.com.ar -p 544 phase 1 - Checking RST IPID... 32508 32509 32510 32511 32512 (Sequential) phase 2 - Send SYN|ACK to www.shellcode.com.ar... Success(IPID = 32513) phase 3 - Send SYN from www.shellcode.com.ar to www.securityfocus.com, target port 544... Success phase 4 - Send SYN|ACK to www.shellcode.com.ar... Success(IPID = 32514) phase 5 - Checking IPID... Success www.securityfocus.com port 544 must be Close. [root@maniac ipidscan]# [root@maniac ipidscan]# ./ipidscan www.securityfocus.com -z www.shellcode.com.ar -p 443 phase 1 - Checking RST IPID... 32647 32648 32649 32650 32651 (Sequential) phase 2 - Send SYN|ACK to www.shellcode.com.ar... Success(IPID = 32652) phase 3 - Send SYN from www.shellcode.com.ar to www.securityfocus.com, target port 443... Success phase 4 - Send SYN|ACK to www.shellcode.com.ar... Success(IPID = 32654) phase 5 - Checking IPID... Success www.securityfocus.com port 443 must be Open. [root@maniac ipidscan]#  使用したテストコードは次のURIからDLできます。 http://idzero.s35.xrea.com/samples/ipidscan.tgz ■0x05.) ゾンビの選び方  さて、ここで「今日からおれも匿名でポートスキャンできるぜー!」と考えて いるアナタ。ちょい待った。  ゾンビを選ぶには一定の基準があります。まず第1にゾンビのトラフィック状 況。先にも述べた通りゾンビが非常に多くのパケットをやり取りをしていると正 確にポートの状態を判断するのが困難になります。他のパケットが紛れ込むとID 番号にズレが生じるからです。この為、ゾンビへ2つのパケットを送信する最中 に邪魔が入ってはいけません。  第2にゾンビによるIPIDの設定方法です。私の知る限り、現在のLinuxシステム をゾンビに仕立上げる事は出来ません。これは、LinuxがIPIDにゼロを設定してRS Tを返送するからです。少なくても、私の手元にあるFreeBSD/NetBSD/NT5はIPIDを シーケンシャルに設定する為、条件が良ければゾンビに仕立上げる事が出来るで しょう。ランダムにIPIDを設定するものとしてはOpenBSD, Solarisが上げられま す。  そして、もうひとつ。偽造パケットの発行が可能か、ということです。偽造パ ケットが破棄された場合は、もちろんターゲットへ届く事がないので、この手法 はとれなくなります。 ■0x06.) Nmapでの実装  ところで、このポートスキャン手法はNmapにも取り入れられていて、 "idle_scan.c"というCソースファイルで実装されています。 このファイル名から分かりますが、このスキャンタイプはアイドルスキャンと 呼ばれるもので、ゾンビがIdle(アイドル)状態だとスキャンの正確性が向上す るのでこう呼ばれているそうです(サンクス IPUSIRONサン) 。  Nmapで実行する場合、"-sI"オプションを使用します。ゾンビへ投げるパケット の宛先ポート番号を指定したい場合は "-sI ホスト:ポート" のように":"を付け てポート番号を指定してやります。  実際にNmapを使用してスキャンを実行してみましょう。 # nmap -sI mikage aoi -p- -P0 Starting nmap 3.27 ( www.insecure.org/nmap/ ) at 2003-07-25 22:53 JST Idlescan using zombie mikage (192.168.11.4:80); Class: Incremental Interesting ports on aoi (192.168.11.5): (The 65531 ports scanned but not shown below are in state: closed) Port State Service 135/tcp open loc-srv 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1025/tcp open NFS-or-IIS Nmap run completed -- 1 IP address (1 host up) scanned in 1158.168 seconds  -P0 でターゲットへのPingを抑制します。Pingを飛ばしたらターゲットに補足 されますからね。そして、-p- オプションで全てのポート番号をスキャンしてい ます。Nmapはデフォルトではウェルノウン・ポートと Services ファイルに記述 されているポートをスキャンしますが、このオプションを付けると全ポートにス キャンをかける為、数十倍の時間がかかります。通常はこのオプションは使わな くても良いでしょう。 ウェルノウン・ポートはIANAによって割り当て・管理されていて、最新のポー トリストは http://www.iana.org/assignments/port-numbers から入手できます。 このスキャンの有用性は、単に匿名性を上げるだけではなく、信頼性の有無を 調べる事の出来る点です。例えば、攻撃者のマシンからはフィルタリングされて いるポートがゾンビからは開いているように見えるならば、パケットフィルター のルールはゾンビからのパケットを許している、という事になります。つまり、 信頼関係のあるホストをこの手法により洗い出す事が出来ます。これは例えば攻 撃者が真の標的への踏み台を探すのに有効でしょう。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第2章:WinMX Tips 2 --- 著者:黒猫 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  今回は、MXをはじめている方に、ちょっとした遊びを紹介します。 ■0x02.) ガードの甘い相手から名前をもらおう  特定の相手から名前をもらうことはなかなか難しいのですが、ガードの甘い相 手から、名前をもらってみましょう。 ●やり方 1:MXの検索画面で「Documents and Settings」を検索する。 2:「フルパス表示」ボタンを押す。これでOKです。  フルパス表示の中に、名前らしきものがあったらもうけものです。 ●名前がもらえる理由  MXの検索は、ファイル名検索と思われがちですが、実は「フォルダ名」も検索 しています。  そこで、前回紹介した「参照によるフルパス表示」で名前を見つけるほかにも、 このように、検索にかかってきたのフルパス表示により名前を見つけることも可 能なのです。 ●実際の結果  何度か試してみたところ、必ずと言っていいほど「Documents and Settings」 の「My Documents」を共有している人がいました。たいていはアルファベットで 名前のみ(「Ryou」「Yuta」等)か、外国人の名前でしたが、一人ぐらいは漢字 で名字名前が全部入っている場合がありました。すごい場合は「○○大学」とか いてあった例も報告されています。 ●名前をもらってどうするか  特定の相手ではない、ガードの甘い相手から名前をもらったところで特に利点 はないのですが、賢明なる読者諸氏ならなにかうまい活用法を思いつくのではな いでしょうか?  特に、「○○大学」などと、大学の端末からMXを使用している相手ならば、わ ざと相手が喜びそうなファイル交換を持ちかけてnetstatコマンド等でIPを頂き、 侵入の足がかりに出来るかも知れません。  また、MXの特長を生かして、IMで交渉しながら相手の欲しがっているファイル に遠隔操作ツールを入れてから送るなど、応用範囲は広そうです。 ■0x03.) チャット部屋におけるネカマの見つけ方(経験談)  先に紹介した「MXチャットで情報を収集しよう」を活用していたところネカマ さん(本当は男性なのに女性のふりをしている方)を見つけてしまいました。  そのときの記録を、経験談風につづってみましょう。 ●登場人物 ・M子さん(ネカマ疑惑の方) ・Gさん(小生の仮の姿、親切な常連。MX本体を使用) ・Nさん(小生の仮の姿、ネカマ暴き専用キャラ。主クラを使用) ・Tさん(小生の仮の姿、主クラを使用) ・そのほかのチャット常連のみなさん ●女性名で入ってきたM子さん  小生が「Gさん」として常連であるチャットに、女性名で入ってきた方がいまし た。仮に「M子」さんとします。彼女はタイピングも遅く、言葉遣いも女性調で、 一見完璧な女性に見えました。それは、今までいたネカマさんが逃げ出すほどの 強力さでした。共有を見てみても「手書きのイラスト」「自己紹介イラスト」等 で極めて「はじめて女性がMXを使ったらこうなるだろうな」と思わせる状態でし た。 ●フルパスで疑問、タイピングで疑問  常套手段である「フルパス表示」をしてみると、なんとD:に「UP」フォルダが 入っています。設定にかなり慣れた人、ひょっとすると自分でパーティションを 切れるぐらいの人であると推測できます。  Gさんが少し警戒していると「キューってなんですか?」等の、本当の初心者的 質問をしています。Gさんを含む常連達は丁寧に答えてあげていますが、だんだん タイピングが速くなる、等、怪しい面も出てきました。そこで「主クライアント」 を使い「Nさん」としてチャットに入り、観察を続けることにしました。  MXと主クラを使い分けることにより、小生が「Gさん」「Nさん」の1人2役を演 じるわけです。 ●決定的な証拠  それからも、状況証拠はいくつかあったのですが、2週間ぐらいしてついに決定 的な証拠が見つかりました。  「パソコンは4月に買ってもらって3ヶ月ぐらいです」という発言と「OSはWindo ws98です」という発言がありました(注1)。  2003年4月にWindows98プリインストールしてあるマシンが売っていたのでしょ うか?(笑)100歩譲って「中古を買ってもらった」としても、古いWindows98マシ ンがD:を備えているかどうかは大きな疑問です。 ●コンタクトその1  小生的にはこれで充分なのですが、今回の原稿のネタにする下心があったため (笑)、コンタクトを取ることにしました。  Gさんは素知らぬふりをして親切を続けながら、Nさん(ほとんど発言しない) から文体を偽装してIMを送ってみました。  「すごいね。騙されたよ。見破ったのはボクで何人目?」  即座に返事が返ってきました。  「なんのことでしょうか?」  この後も「決してバラしたりしないから、その強力なネカマ経験を話してもら えないだろうか?」もちろん、原稿のネタにするためです(笑)。  「なぜボクが見破ったか知りたくない?そうすればより強力なネカマになれる よ」等、話しかけてみたのですが、M子さんは徹底的にとぼけるため、諦めました (爆)。 ●コンタクトその2  「何か誤解していませんか?」「怒らせてしまったのでしたら謝ります」等の おとぼけIMしか来ないため、Nさんは常駐を続けながらもIMは無視することにしま した。  すると、M子さんからGさんにIMが来ました。「あの、変なIMが来るんです。最 初はHなことを言っていたのですがだんだん『殺す』とかの脅し文句になってきて、 こわくてたまりません」  わはは。Nさんはそんなこと言ってないです(笑)。ここでM子さんが「ネカマっ てなんですか?」「誤解されてます」とGさんに相談してくるのなら話はわかるの ですが、M子さんが真実を話さないあたりでネカマ決定です(笑)。 ●M子さんの復活  Gさんは親切ぶって「気にしないように」「最近チャットにはまりすぎているよ うですから、少し休んではいかがでしょう」と助言してみました。M子さんは素直 に従い、しばらくチャットに現れませんでした。Nさんはずっと常駐を続けていま したが、3日ぐらいで常駐をやめてみました。すると、M子さんが久しぶりに現れ、 Gさんに挨拶をしてきました。どうやら、M子さんも主クラでずっとチャット部屋 を監視していてNさんが消えるのを待ってから復活したと推測されます。なお、共 有は全て消してありました。M子さんは「ネカマとバレたのは共有からではないか」 と考えたようです。  Gさんはぼろを出さないため、とりあえず挨拶を受けたらチャットから消え、二 度と登場しません(笑)。 ●その後  意地悪をして、小生はNさんとしてチャットに入ってみました。M子さんや常連 さんからはとくに反応はないのですが、一般的な話題のフリをしてネカマの話を しようとすると、即座にBANをされます。どうやら、M子さんは水面下で管理人に 連絡を取り、管理人に「Nさんは危険人物」と思わせることに成功したようです。 さすがですね(笑)。小生は何度かBANをくぐり抜けてNさんとして入ってみました が、だんだん面倒くさくなってきてやめてしまいました。  現在は「Tさん」という、また別の名前で入っています。  M子さんは「Tさん=Gさん」と疑っているそぶりが見えますので、全てを把握し てるかも知れません。  しかし、決定的な証拠を残さない以上、問題はないでしょう。M子さんとTさん は、仲良くチャットに共存しています。ちょうど「仮面舞踏会で相手の素顔を知 っていながら知らないフリをしている」2人のようです(笑)。 ●結論  特に得られたことは何もないのですが、とりあえず「ネカマはいつかばれる」 という教訓を持って、今回は締めたいと思います。なお、M子さんと上手にコンタ クトが取れれば「なぜネカマをするのか」という根本的な疑問に答えが得られた のですが、コンタクトに失敗してしまいました。この疑問が解かれなかったこと は、返す返すも残念であります。実は、一番最初に疑ったのは「警察の捜査員で はないか」ということですが、一連の経緯から、小生は違うのではないかと思っ ています。 ■0x04.) 落としてはいけないファイル  MXでは様々なファイルが流通していますが、その中で、小生が知る「落として はいけないファイル」を紹介します。 ●「強制UPツール」  小生はカウンタ相手の共有物に「強制UPツール」を見つけました。そこで「な ぜ強制UPツールを使って、わたしから落とさないのですか?」とIMを送ったとこ ろ「知ってるなら聞くな、ぼけ」というお返事を頂きました(笑)。これで「強制 UPツール」は偽物であることがはっきりしました。ウィルスやトロイ、スパイウ ェアなどであると推測できます。  なお「MxZeroDown」や「強制UPツール」というそのままの名前のもの等、数種 類が流通していますが、どれも似たようなもの、と考えて良さそうです。 ●「DOM指名手配リスト(多くの人に回してください)」  落としてみましたが、スクリーンネーム(MXで言うハンドルネームのようなも の)が書いてあるだけでした。スクリーンネームはカンタンに変更できますので 無意味です。 ●「摘発情報(多くの人に回してください)」  摘発情報は、チャット部屋等でたまに流れますが、小生は未だに全くのデマし か存じ上げません。リアルタイムのチャットでそうなのですから、テキスト化し て配布している時点で真実味は薄れますし、仮に本物であったとしても、時期的 に送れた情報であることは間違いないでしょう。 ●「シリアル集最強版(これでなかったら諦めろSP)」  シリアルは生ものですので、日付の書いていないシリアル集は役に立ちません。  また、「最強」は1年以上前から流れていますので、ますます無意味である可能 性が大です。 ●センセーショナルな題名のアダルトビデオ  最近は「アコムのお姉さんの裏ビデオ」「酒井若菜デビュー前AV」などが目に 付きますが、試しにキューを入れてから「同一ファイル検索」をかけると普通の AVが検索にかかってきます。この場合は「センセーショナルなAVに普通の題名を つけた」場合か「普通のAVにセンセーショナルな名前を付けた」かどちらかだと 考えられますが、前者を行う理由が思い浮かびませんので、おそらく後者でしょ う。  知っていて落とすならば問題はありませんが、うっかり友人等に「オレ、アコ ムのお姉さんの裏ビデオ持ってるぜ」などと自慢すると「それは松田瞳を見間違 えてるんだよ」と笑われてしまいます。  なお、この方法は「最新映画が本物か偽物か」の判断にも使えると思います( 小生は映画は 映画館/レンタルビデオ なので落としません)。 ●著作権のないものだけを共有している相手の持っているもの  小生は1回だけの経験ですが、相手の共有を見てみたら、歴代のMXmonitorや「 爆速MX。これで速度が10倍に」「落としてはいけないものリスト」等、MXを使用 している方なら一度は落としてみたいものが大量にあるわりに「全て著作権がな いものである」という相手だったことがあります。考えられるのは「大変に著作 権法に詳しい方である」ということですがそのような相手は、警察かACCSしか思 いつきません。小生は即座にMXを切断してPCの電源も落とし、モデムのスイッチ も切って3日間PCのスイッチを入れませんでした。  どうしても怪しいが、気になってしょうがないというファイルは、VMWareやVa tualPCなどのエミュレータ上で実行して挙動を調べてみるべきです。 このように、MXは「なんでもあり」「騙し騙され」「騙された方が悪い」とい うある意味大変すがすがしい世界です。特に最後の例は、逮捕の危険すらあり得 ます。 MXの大海原にこぎ出すときは、常に「自分の身は自分で守る」「騙されても持 ち逃げされても怒らない」という心構えが必要になると思います。 ■0x05.) まとめ: 1:・「Documents and Settings」で検索をかけ、ガードの甘い相手を捜す。 ・侵入の足がかりにしてみる。 2:・ネカマはたいていばれてしまう。 ・注意深く相手を観察すると、いろいろなことがわかる。 3:・あまりに調子の良すぎるファイルには注意する。 ・自分の身は自分で守る。  書き続けるうちにどんどん下世話な話になっていってしまいましたが、それは 小生が「超クソゲー外伝:企画屋稼業」を読んでいる最中からでしょう(笑)。ま あ、あまり気にしないでください(爆)。 注1:前回紹介した「タグによるチャット部屋参加者落とし攻撃」が実際に 行われたときでも、M子さんは落ちませんでした。 M子さんは、パッチを当てるほどの知識もないキャラでしたので 「タグ攻撃を最初から受け付けないWindows95/98/Meを使って いるのではないか」 と、常連の会話をうまく誘導して聞き出したところ、このように答えました。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第3章:企業に対するソーシャルエンジニアリング --- 著者:D x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) ソーシャルエンジニアリングの危険性  前回はまだまだセキュリティ認識の甘い会社があると指摘しましたが、今回は そういった会社がソーシャルエンジニアリングにも弱いことを指摘しましょう。  私は仕事柄、様々な会社のネットワーク情報に触れることが非常に多いです。 こういった情報というのは我々が漏らすと法に引っ掛かり、もれなく処罰を受け るわけです。  しかし、私が常日頃思っていることがあり、それは何かというと聞かれたら素 直に自分の会社の情報を教えるのは何故か?ということです。何もされない、す る人間などいない、されたことが無い、うちにはたいした情報など無い、そう思っ ている会社が非常に多いというのは事実ですが、聞かれたらサーバのIDやPASS、 ネットワーク構成、使用プロバイダ、使用している回線、全て教えてしまうのはど うかと思います。こういった会社はソーシャルエンジニアリングの恐ろしさを知 らないと考えられます。  ソーシャルエンジニアリングを考える人間で本気でやる人間ならここまでやる はずです。気をつけてください。 1.営業マンに成りすまし  どこぞの会社の営業マンに成りすまして、IT系の魅力的な商品のチラシでも持 ち込んで、それを総務部などに渡しておいて総務のお偉いさんが食いついて来る のを待ちます。 2.管理者に会う  連絡が来る、又は見事に面会できた場合、その商品の説明を軽くしておきながら、 ネットワーク管理者、システム管理者等に会うことを要求してきます。そうして、 それらの管理者からネットワーク構成やシステム構成を聞き出し、会社の管理者 やセキュリティに関してのレベルというもの測ります。 3.お茶を濁しつつ逃げる  聞き出すことが出来たら後日詳しい資料を作成してくるなどと言って、その場 を去ろうとします。  長居をすると顔を覚えられたり、ぼろが出たりと面倒なことになるためです。 4.実際の攻撃  入手した情報を元にどの攻撃が最も有効であるかを考慮して対象とした会社の サービス・ネットワークの停止を考えたり、ネットワークに入り込んでその会社 の情報を収集したりします。 ■0x02.) 対策  では、どのような対策が考えられるか?  最も有効な手段は誰にも教えないことですが、それを巧みに扱うのがソーシャ ルエンジニアリングをする人間です。人の考える盲点を突いて聞き出そうとして きます。  それに対抗する手段として考えられる方法を記述させていただくと、次が挙げ られます。 1.怪しい人間には会わない、話さない。  電話でのアポや飛び込みの営業、話の内容から怪しい人間とは会わないことや 話さないことが一番です。  ただし、心理的要素を考慮して話をしてきますので、うっかりと乗らないで下 さいね。 例: 「○○○(有名一流企業)のほうから来たのですが、担当者の方いますか?」 ○○○(有名一流企業)のほうからと言っているだけでそこの会社の人間とは言っていない。  こう言うことで、信頼性をあげる努力をする。 2.怪しく甘い話に乗らない  万が一、会って話をするはめになったら甘い話に乗らないで下さい。ほとんど 相手を食いつかせるための餌に過ぎません。本当にいい話は最新動向を良くみて いれば必然とわかってくるものです。 例: 「導入コストは今までの半分!ランニングコストは今までの10分の1!!」新 しいシステムというのは結構、金がかかるものです。それをランニングコスト見 合いでペイさせるというのが通常でしょう。インターネットVPNを構築すると いってもなんだかんだで100万は覚悟しておいた方が無難なのです。本当にそ んな話があるとしたら、本物の一流企業か最も信頼の置けるシステム構築業者に 相談をされることをお勧めします。 3.システム管理者には簡単に会わせるな!  相手の身元や提案してきたシステムの詳細がはっきりとわからない状態で、御 社の現在のネットワーク状況を知りたいといい、管理者に会いたがるやつは大抵、 情報を欲しがっている人間です。管理者に会わせる前に資料だけをもらって、社 内で検討すると言ってその場は帰ってもらいましょう。 例: 「次回お伺いする際に詳細な提案書を作成するので現状のネットワークを教えて いただきたいのですが」  社内で検討してからメールか電話、FAXででも連絡するといって、相手との 連絡方法を確立しておきましょう。偽物なら必ず渋るはずです。  上記のことをきちんと実行して、システムのイベントログの管理を怠らなけれ ば、システムやネットワークの構築・運用の安全性が高まります。  基本のことですので心掛けてください。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第4章:PICNIC遊戯 --- 著者:IPUSIRON x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) PICNICとは?  PICNIC(PIC Network Interface Cardの略)はEthernet(※1)に接続するリ モートI/Oポートのキットです。Ver2はさらに小型(100mm×700mm)になりました。 PICNIC公式ページはhttp://www.tristate.ne.jp/picnic.htmです。このWebサイト ではキットの製作、サンプルプログラム、最新ファームウェア、応用例が公開さ れています。  パソコン同様にLANに接続して、PCにWebブラウザからI/O(※2)をON/OFFした り、プログラムによってコントロールすることができます。単純なON/OFFならばW ebブラウザから操作できるので、機種やOSを選びません。  また、電波時計やガイガーカウンターなどとPCの中継を成して、センサで調査 したデータなどをPC側に利用できます。様々な応用が考えられますが、それらは 後ほど少しずつ取り挙げていきたいと思います。  プログラムは一般的に開発言語・ツールが必要ですが、このPICNICは単純なI/O コントロールについて言語の知識がなくてもWebブラウザでクリックするだけでも コントロールできるし、複数のユーザーで共有することもできます。  PICNIC ver2.0キットは\7,300、完成品は\12,800です。私は面倒なので完成品 を買いました。はんだ付け(※3)の経験がある方や予算を安く押さえたい方は キットを買うとよいでしょう。 (※1)Ethernet(イーサネット)とは米Xerox社のPalo Alto研究所で配初され た通信方式です。これはネットワーク上で最も普及しているネットワーク規格で あり、簡単に言えば最も使われているネットワークの決まり事です。コネクタの 形状で分類すると15ピンD-SUBコネクタタイプ(10BASE5)、BNCコネクタタイプ( 10BASE2)、モジュラータイプ(10BASE-T、100BASE-TX)の3つに分けられます。 特にLANを構築する際に大抵はEthenetが採用されます。 (※2)I/O(Input/Output)とは入力と出力のことです。コンピュータ本体との 間でデータの入力および出力をする周辺機器をI/Oデバイスと言います。入力装置 にはマウスやキーボードなど、出力装置にはプリンタやディスプレイなどがあり ます。 (※3)はんだ付けとは接合したい母材(部品とプリントパターン)を溶かさず に溶融した金属(はんだ)により母材とはんだの合金化反応により接合する行為 です。分かりやすく言えば、銅と銅の間に溶けたはんだが入るとその部分で合金 化反応を起こし接合ことを利用して、電子回路的に接続することです。 ■0x02.) PICNICの特徴  PICNICの特徴を次に列挙します。 ・RTL8019AS(※1) 1チップEthernetコントローラ使用 ・Microchip PIC16F877(※2)使用 ・主要IC・抵抗・コンデンサはハンダ付け済みであり、Ver2は以前のバージョン よりも組み立ても簡単になりました。 ・従来の1対1の通信方式とは異なり、PICNICは同時に複数のホストからの要求 にも応答できます。即ち、1対Nの通信が可能ということです。なぜならば、イベ ント駆動型のマルチタスク処理を行うことが可能だからです。 (※1)RTL8019ASとはRealTek社(http://www.realtek.com.tw/)のNICで使われ るカニさんチップ(肉眼でカニのマークが見えるため、このように呼ばれます)の ことです。 (※2)PIC16F877はよく使われるPIC (Peripheral Interface Controller:周辺 機器接続制御用IC) のPIC16シリーズの一つです。 ■0x03.) 必要な環境・ソフトウェア  PICNICを使用するに当たって必要な環境やソフトウェアを次に列挙します。 ・8V 100mA程度の電源(ACアダプタ)  完成品にはACアダプタは付属しています。 ・パソコン本体(10Base-Tでネットワークに接続できるもの)  OSはWindows95/98/2000/NT4.0、Linux、FreeBSDなど。 ・ハブとストレートケーブル(またはクロスケーブル) ・Visual BASIC、Visual C++、gccなどの開発ツール  無くてもブラウザでコントロールできます。意欲的な方はこれら開発ツールも 用意しておきましょう。 ■0x04.) PICNICのハードウェア  PICNICのハードウェアに関して次に列挙します。意味が分からなくてもPICNIC を楽しむことはできますので、気にせず次に進んで読んでください。 ・EIA-232はEIA-232トランシーバ(MAX232など)を介して、PIC16F877へ渡されま す。 ・デジタルI/OやアナログI/OはPIC16F877へ渡され、内蔵されているパラレルI/O (A-Dコンバータ内蔵)で処理されます。 ・PIC16F877の中のパラレルI/Oで処理されて液晶ディスプレイに渡されます。 ・PICNICはマイコンの他にワンチップEthernetコントローラRTL8019ASを使ってい ます。このRTL8019ASはEthernetに必要なMAC/PHYなどの機能や16KBのバッファRAM を内蔵しています。 ・RTL8019ASはISAバス用のLANコントローラICであり、PICマイコンとはパラレルI /Oを介してで接続されています。よって、パラレルI/OでISAバスをソフトウェア でエミュレーションしています。これで20MHzのPIC16F877マイコンでも数千パケ ット/秒程度という比較的高速なスピードで送受信できます。 ・シリアルEEPROMの93C46にはEthernet通信に必要なMACアドレス(詳細はWZ1を参 照せよ)とLANコントローラの動作モードなどが書き込まれています。 ・ボード上にはデジタル出力とLEDを接続する端子があります。 ■0x05.) 内蔵ファームウェア  読むのが面倒ならば、この項も飛んでもらって結構です。  このPICマイコンは個人ユーザーレベルで書き換えることを想定されていません。  基本的にユーザーがPC側でプログラムを作成・実行してPICNICをコントロールし ます。その際、PICNICはTCPをサポートしていないので、UDPがメインとなります。  DLLファイルまたはActiveXコントロールは公式サイトからダウンロードできる ので、それを利用してユーザー・アプリケーションの製作が可能となります。簡 単なアプリケーションの作成方法は後述します。 ■0x06.) PICNICの初期動作チェック 1:キットの組み立てが終わったら、ボードが正常に動作するか確認します。ハ ブ及びPCの電源はあらかじめ入れておきます。 2:DCプラグにACアダプタを差し込みます。  ブリッジ整流器が内蔵されているので、電源の極性を気にする必要はない。電 源電圧は8Vから12V程度の範囲としてください。 3:次にハブからストレートケーブルを接続します。または、クロスケーブルとP Cと1対1で接続します。 4:すると、ボードのLINK(緑)LEDが点灯するはずです。  もし点灯していない場合は製作ミスがあると思われるので、すぐに電源を切っ てチェックしてください。 5:緑LEDが点灯したら、Pingしています。  まず、PICNICではデフォルトでIPアドレスが192.168.0.200に設定されているの で、PCのIPアドレスを192.168.0.1、ネットマスクを255.255.255.0に設定します。 ○Windowsの場合  DOSプロンプト上で行います。 > ping 192.168.0.200 ○UNIXの場合 $ ping 192.168.0.200  そうすると、PICNICのRX(黄)LEDとTX(赤)LEDが点滅して、Pingの応答が返 ってくるはずである。 [注意]私の環境では192.168.1.*で構築されているので、うまくPICNICに接続でき なかったので、ブートストラップモードで設定しました。読者の方で同じように 192.168.0.*以外のネットワークに接続しようと思っているならば、ブートストラ ップモードの項を参考にして、PICNICのIPアドレスを変更してください。 6:次にブラウザで「http://192.168.0.200/」を指定すれば設定画面が表示され ます。  私はブートストラップモードで自分のLANの環境に合うように設定変更したので、 「http://192.168.1.9/」にアクセスしました。  実際にどのようなWebページ(ソースも含めて)が表示されるか知りたい方は次 のURIを参照してください。 http://akademeia.info/main/text2/PIC_Network_Interface_Card.htm  ただし、普通にページを保存しただけなので、ボタンを押しても効果はないの で注意してください。  うまく表示されたでしょうか?表示されたら今後この画面(リモートI/O画面) で、I/O Ports,Configurationの設定を行えます。詳しくはリモートI/O画面の詳 細の項を参照してください。 ■0x07.) リモートI/O画面の詳細 ●I/O Ports  ここには現在のI/Oポートの状態が表示されます。よって、液晶モジュールを接 続したり、プログラムによってポートを変更している場合は表示が変化します。 各ピンの状態はブラウザに読み込んだ時点のもので、値はリアルタイムに更新は されません。最新の状態に更新するにはブラウザのリロード(再読み込み)ボタ ンを押すか、画面の[Reload]ボタンを押します。  RA0〜5,RB0〜7はPICNICボードのI/Oピン番号それぞれに対応していて、[In]表 示があるポートは現在入力ポートとして定義されています。同様に「Out」は出力 ポートとなります。  また、Valueは現在のI/Oポート状態です。RA0〜3はアナログ入力ポートなので、 A/D変換の結果が10進数(0〜1023)で表示されます。RA5はボード上の温度センサ ーを読み取り、温度を単位℃(摂氏)で表示します。ただし、温度センサーは校 正されていないので、実温度とこの値は誤差が生じる可能性があります。私の実 験当時ではRA5に23Celsius(摂氏23℃)と表示されていました。  RB0〜7はデジタル入出力ピンとして定義されているので、現在の状況がHigh/Lo wで表示されます。[H]ボタンまたは[L]ボタンを押すことでポートごとにHigh/Low を変更できます。 ●Configuration  現在設定されているIPアドレスやポート番号などの状態を表示・変更できます。 MACアドレス以外はユーザーが変更可能です。強制的にMACアドレスを変更したけれ ば、WB1のEEPROMによるMACアドレスの変更を参考にしてください。 ○MAC Address  PICNICボードのMACアドレスを表示します。このアドレスは世界に一つしかない 識別番号です。このアドレスは製造時に記録されたものであり、変更はできませ ん。 ○IP Addr  IPアドレスを指定します。  「0.0.0.0」にするとDHCPモードになります。  IPアドレスを有効にするにはリセットする必要があります。 ○NetMask  IPアドレスのネットマスクを設定します。クラスCならば255.255.255.0とします。 ○GateWay  デフォルトゲートウェイのIPアドレスを設定します。存在しない場合は0.0.0.0 と入力してください。 ○http Port TCP:#  httpのTCPポート番号の設定です。  通常のhttpのデフォルトポートは80なので変更しなくてもよいでしょう。ちなみ に、設定可能な番号は0〜65535の範囲内です。 ○LCD Port UDP:#  オプションの液晶モジュールのUDPポート番号の設定です。デフォルトでは0とな っています。使用するには適当なポート番号を指定する必要があります。  設定方法など詳細はPICNICとLCDモジュールの項を参照してください。 ○Parallel Port UDP:#  プログラムのRA0〜5,RB0〜7をコントロールするためのポートの指定です。 ○Serial Port UDP:#  プログラムでボード上のRS232Cをコントロールするためのポートを指定します。 [注意1]設定は一度電源を切ると有効になるので、誤ったデータを設定してしま うといつも通りPCから接続不能になる場合があります。もし、そのような状況に 陥ったならばブートストラップモードで再設定してください。 [注意2]ちなみに、[Default]ボタンを押せばPICNICを組み立てた最初の状態に戻 せます。間違って押さないように・・・。 [補講1]LCD関連のプログラムを作りたい場合は次の点を考慮しておいてください。  RB0〜1が入力ポート、RB2〜7は出力ポートです。RB2〜7は液晶モジュールのコ ントロールに使われます。  よって、ユーザーが自由に使えるのはRAとRB0とRB1だけです。  ちなみに、プロトコルはUDPだけでTCPはサポートしていません。 ●Status  PICNICのIPアドレスと送ったパケットの数が表示されます。  このStatus欄を用いた実験は次のURIに記述してあります。 http://akademeia.info/main/lecture3/tokubetu_picnic.htm ■0x08.) PICNICとLCDモジュール ●LCDモジュールの使用方法  PICNICは別売りの16×2行のLCDモジュール(バックライト無し・有りの2種類 が存在する)(※1)を接続して、IPアドレスの表示や任意の文字を表示させる ことが可能です。  単に差し込んだだけでは有効にはならないので(文字が表示される部分が真っ 黒のブロックになる)、使用するには次の手順が必要となります。 1:リモートI/O画面またはブートストラップモードで「LCD Port UDP:#」を0以 外の番号に設定します。ここでは200に変更しました。  ちなみに、ブートストラップモードでは次のようなコマンドを打ちます。 PICNIC>p=200 2:電源を切り、液晶モジュールを専用ソケットに接続します。 3:コントラストのVRを右いっぱいに回します。 4:PICNICの電源を入れます。 5:これでPICNICのIPアドレスが表示されるはずです。液晶が見やすいようにVR を調整したら完了です。 (※1)商品名称は「16文字×2行」です。このLCDモジュールは秋月電気で売っ ているキットではよく使われているものなので、幾つか買っておくとよいでしょ う。 ■0x09.) ブートストラップモード  私の環境ではデフォルトでうまく起動できなかったので、ブートストラップモ ードでPICNICのIPアドレスを変更するところから始めました。 1:Windowsデフォルト付属のハイパーターミナルを起動します。  COM1、ポート設定(9600ビット/秒、データビット8、パリティ無し、ストップ ビット1、フロー制御無し)に設定しておきます。  ハイパーターミナルを使うのが嫌な方は別の端末エミュレータを利用してくだ さい。 2:PICNICとPCのシリアルポートをRS232Cケーブル(ストレート)を接続します。  PICNIC側はメス型なので、そこに刺すのはオス型でなければなりません。よっ て、RS232Cケーブルはオス-メス型を用意しておきましょう。またはインターリン ク(リバースアダプタ)D-sub 9pinのメス/D-sub 9pinのオスを用意しておけばよ いでしょう。 [補講]RS232Cケーブル DB9ピン-DB9ピン(オス-メス)は、秋月電気の近くにある 千石電商で400円で売っています。他店で何度間違えて、メス-メスのケーブルを 買ったことか・・・。 3:PICNICのジャンパーピンJ2の1〜2をオン(接続する)にしてから、電源を入 れます。ちなみに、普段は使うこともないので、JP2はオープンにしておきます。 片側に引っ掛けておけば良いでしょう。  ここの作業はピンセットを使うと楽です。 4:そうするとハイパーターミナルに「PICNIC>」というプロンプトが表示されま す。  ここではIPアドレスをデフォルトの192.1688.0.200から192.168.1.9に変更する ので、次のように入力します。 PICNIC>i=192.168.1.9  入力して[Enter]キーを押した時点で不揮発性メモリ(EEPROM)に記録されます。 5:最後にconfigコマンドで確認します。 PICNIC>config [補講1]httpのポート番号を変更する場合は次のようにします。 例:httpポート番号を8080に変更。 PICNIC>h=8080 [補講2]LCDポート番号を変更する場合は次のようにします。 例:LCDポート番号を10000に変更。 >p=10000 6:設定がうまくいったら、PICNICの電源を切ります。  そして、JP2を戻して電源を再び入れれば新しい設定で動作を開始します。 [注意1]JP2がONのままだとLAN接続が出来ません。 [注意2]ブートストラップモードには特に終了コマンドはありません。プロンプ トが表示されている間にPICNIC側の電源を落として構いません。 ■0x10.) PICNICプログラミング <Visual Basic編> ●PICOCXのメソッド ○Inp(,)  指定したデジタルポートのピン状態(0または1)を返します。には「 PortA」または「PortB」、には0〜7までの整数を指定します。  このInpメソッドではアナログ入力ピンの指定はできません。アナログ入力ピン を指定したい場合はADinpメソッドを利用する必要があります。 ○Outp(,,)  指定したポートの出力ピンにデジタル出力します。  には「High」または「Low」を指定します。 ○ADinp(,)  指定したアナログポートのピンをA-D変換した結果を返します。この結果は0〜 1023の範囲内です。  ちなみに、には「PortA」のみ指定できます。 ○Dirp(,,)  ピンの入出力をInかOutかの設定します。Inの場合は「pinInput」、Outの場合 は「pinOutput」を指定します。 ○GetDirp(,)  ピンの現在の入出力方法を取得します。Dirpとは逆の機能を持っています。 ○Transmit()  PICNICのシリアルポートにプロパティで設定した通信レートでデータを送信し ます。このはString型の値です。 ○Recieve  シリアルデータを受信します。何も受信していない場合は空の文字列が返され ます。 ○PutLcd(,,)  LCDモジュールの指定したカーソル位置に文字列を表示します。LCDモジュール は2行15文字のスペースがあるので、指定できるカーソル範囲は(0,0)〜(15 ,0)と(0,1)〜(15,1)です。表示することができる文字は半角アルファベット、 カタカナ、記号のみであり、漢字や全角文字は表示できません。 ○ClearLcd  液晶モジュールの表示をクリアします。そして、カーソルは(0,0)に戻されま す。 ●温度センサーの値を取得  今回はPICNICの温度センサーの値をボタンを押すと取得するソフトウェアをVB で作ってみます。これはPICOCXを使って超簡単に実現できます。 1:http://www.tristate.ne.jp/picnic/menu.htmlからocxdemo.lzhをダウンロー ドして、インストーラーを起動してActiveXコントローラとサンプルプログラムを インストールします。 2:VBを起動します。起動すると「新しいプロジェクト」ウィンドウが表示され ます。標準EXEを選択して[開く]ボタンを押します。 3:次にメニューの「プロジェクト」>「コンポーネント」を選択します。する とダイアログが表示されるので、リストの中から「PICOCX ActiveXコントロール ・モジュール」をチェックして、[OK]ボタンを押します。  メイン画面の左側のツールバーにアイコンが追加されているはずです。これで PICOCXを利用する準備の完了です。 4:各種コントロールをフォームに貼り付けます。フォームにPICOCXコントロー ル1つ、ラベルコントロール1つ、コマンドボタンコントロール2つ貼りつけま した。ウィンドウの大きさやコントロールの大きさはマウスで各自調整してくだ さい。 5:各種コントロールのプロパティを設定します。  最初にPICOCXをクリックして各種プロパティを設定します。これら設定を忘れ るとうまく動作しないので注意してください。特に重要なのはIPアドレスとLcdP ortのところなので、自分のPICNICの環境の設定と一致する値を指定してください。 私はIPアドレスのところを192.168.1.9(PICNICのIPアドレス)、LcdPortを200に 指定しました。  次に、ラベルコントロールの各種プロパティを設定します。ラベルコントロー ルをクリックして、プロパティの「全体」タブを選択して、Captionに「ここに温 度が表示される」と記述しました。  最後にコマンドボタンコントロールの各種プロパティを設定します。片方のコ マンドボタンコントロールのCaptionを「温度取得」、もう片方のコマンドボタン コントロールのCaptionを「終了」と記述します。  これで外見の設定は完了です。 6:次にプログラム本体のプログラム部分を記述します。  次にそのプログラムを示します。 ----- Dim current As Integer Dim data(100000) As Integer   Private Sub Command1_Click() data(current) = PICOCX1.ADinp(PortA, 4) Label1.Caption = "現在の温度:" & Format(data(current) / 10.23 * 5, "#0.0℃") End Sub Private Sub Command2_Click() Rem プログラムの終了 Unload Me End Sub -----  簡単にプログラムの解説をします。重要な部分は2点あります。  第一に、「PICOCX1.ADinp(PortA, 4)」の部分です。これはポートAのチャネル 4(PICNIC内蔵の温度センサ)のデータを取得します。この値をdata(current)に 代入しているわけです。  第二に、「Format(data(current) / 10.23 * 5, "#0.0℃"」の部分です。これ はdata(current)は符号無しの0〜1023までの数値なので、これを摂氏に直すため の計算(data(current) / 10.23 * 5)を行います。この値を小数点1位を含めた 2桁で表示するように、Formatで指定します。 7:出来上がったプログラムがうまく動作するかどうかデバッグ作業を行います。 [Fn5]キーを押すとデバッグ作業が行えます。  [温度取得]ボタンを押して、ラベルコントロール部分に「現在の温度:○℃」 と表示されれば成功です。  最後に、[終了]ボタンを押してプログラムが終了すればデバッグ作業終了です。 8:これをプログラムとして実際に利用するために、EXEファイルにします。メニ ューの「ファイル」>「picnic_tester.exeの作成」を選択して(この「picnic_t ester.exe」という名前は適当)、EXEファイルの作成が行えます。  これで終了です。 ■0x11.) PICNICの醍醐味  PICNICにはRS232Cのコネクタが付いているので、そこに電波時計(秋月電子で 売っている電波時計キット)やRS232C付き学習リモコンなどを接続できます。普 通、これらのハードウェアを制御するとしたら、近くにPCを置いたりしなければ なりませんが、間にPICNICを挟むことによって、遠くのPCからも遠隔で操作でき ます。安価で家の中の家電を制御しまくりたい方にはオススメと言えます。  この記事を読んで興味が出てきた方は、是非ともお試しあれ。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第5章:目指せPCテクニカルライター[第二回] --- 著者:MaD x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  こばわ!まどさんです。  なんか、おいらだけ関係ないことを書いてて恥ずかしいけど負けません。  2回目は、ソースコード記述を含めた原稿のファイル形式についてです。この あたりは基本中の基本です。 ■0x02.) 原稿のフォーマット  誌面レイアウトの段階になると、すべてをMacで行います。  まず、これを頭に入れて原稿を書くことをお奨めします。  さて、原稿のフォーマットですが、これは「テキストファイル」が標準となっ ています。  できる限り「プレーンテキスト」にします。たとえば「オートインデント」や 「ぶら下がり」や「追い出し」といった禁則をしないものがベストです。  そして、重要なのが「改行(折り返し)」です。  関係のない部分で改行(折り返し)されていると、それをくっつけるのが一苦 労するわけです。著者が書いた原稿での一行の文字数が正確になされていたとし ても、本文の部分はプロポーショナル・フォントというものを使いますので「i」 と「m」の文字では、それぞれ文字幅が違うように、横書きのプログラム系の本で は文字により一行に何文字納まるかが読めないところがあるわけです。  たとえば、著者本人がラフ(レイアウトフォーマットが入った図面)まで作る とか、編集との間でレイアウトフォーマットが決まっているという場合は例外で す。  この場合は、横書きでも一行何文字というシビアな世界です。これは雑誌の中 での記事を書く場合などですので、単行本の世界ではあんまり関係のないことで す。  特に編集の荒いデータハウスには関係のない話ということです(笑)。 ●まとめ  原稿はプレーンテキストで、エディタに余計な設定を加えない。 ■0x03.) プログラム原稿のフォーマット  先に紹介した内容で疑問となる点があります。 「プログラムやソースコードを原稿に入れるときはどうするよ?」という点です。  もともとデータハウスは、プログラム言語までもプロポーショナル・フォント で扱っていたわけですが、これは恐ろしい話です。編集者がそういった指定を知 らなかったわけですから(笑)。 ●UYUNさんの「ハカープログラミング大全」  UYUN「○○○社みたくソースコードをちゃんとしる」  MaD「なにが言いたいの?意味わからん…」  UYUN「ソースコードだけは等幅を使うのだ」  んなわけで、○○○社さんの「クラキングなんとかガイド」を参考にして、それか らの本でのソースコードは1バイト等幅である「くーりえ」というフォントを使 うことになりました。 ●トコトコさんの「ハキングツルプログラム大全」  トコトコ「UYUN本でソースの改行が変なとこあるよといってみるてすと」  MaD「なにが言いたいの?意味わからん…」  トコトコ「ソースの文字数を決めるとそれにあわせて書けるよてすとん」  ということで、以来、データハウスでソースコードを書く場合、一行40文字と なりました。 ●まとめ  ソースコードを記述する場合は一行40文字以内とすると間違いない。  その取り決めが著者と編集の間で決まっていれば、はみ出しも解決可能である。  次回は「画像と本文の連携と画像ファイルの扱い方」についてです。  みなさん、よい連休を☆ x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第6章:お知らせ --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ○取り扱う具体的な分野は次に示すものです。 ・ハッキング(セキュリティネタはこちらに含める) ・クラッキング(ウイルスやトロイの木馬系も含む) ・リバースエンジニアリング(シリアル解析、ゲーム改造、オンラインゲームの チートを含む) ・コーディング(純粋なプログラミングネタでもクラッキングに近い内容でもよ い) ・ソーシャルエンジニアリング(開錠技術、侵入技術も含む) ・暗号 ・フリーキング(一般電話、携帯電話、公衆電話などの話題や電話システムの話) ・ツール(ツールに特化した話題はこちら) ・ウェアーズ(共有ソフトやエミュレータはこちらに含める) ・ウォッチング(サイトや掲示板のウォッチングネタ) ・ハードクラッキング(自販機、ゲーセンのゲーム機などの怪しい裏技など) ○目標としては、1ヶ月に1回の頻度で発行したいと思っています(予定では毎 月15日に発行)。 ○誤植などのお知らせはIPUSIRON宛て(ipusiron@ruffnex.oc.to)にお願いしま す。 ○幅広く初心者から上級者までをターゲット層としたいので、執筆陣に参加した い方は気軽にメールください。初心者からパワーユーザーまで幅広い層をターゲ ットにしたいので、マニアックなネタ、読み物系のネタ、初心者向けのネタなど 何でも構いません。オリジナルのネタじゃなくても、読みやすく編集・翻訳した だけでも十分、一つの記事と言えます。  別に『Wizard Bible』でチームを組んでいるわけではないので、他のチームに 属している人であっても気にする必要は無いと思います。  グループやチームに関わらず、自分が興味を持った事柄についてのレポートの 発表の場だと思ってください。 ○Wizard Bible(略してWB)の公式サイトができました。 http://2600ch.com/  過去の記事を閲覧できるようにしてあります。 ○支援者、参加希望者用のスレッドを立てました。 http://ruffnex.oc.to/ipusiron/cgi/forum/patio.cgi?mode=view&no=17 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ---- 第7章:著者プロフィール --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x  今回は各著者にオススメのツールを一つ選んでもらいました。次回は再び、オス スメ本などを紹介してもらいたいと思います。 ■unya ●Job: ネコの世話 ●Web: Lunatic Stream (http://lunatic_stream.tn.st) ●Mail: tmlise@yahoo.co.jp ●Team(Group): Team LISE ●Comment: ども、お初です。最近、Pentium2マシンを入手してちょっとご機嫌です♪ え?Pentium4?なにそれ。つーか時代はイリジウム! ●オススメツール: grep ハックからクラックまでとっても重宝するのがgrep。 使い方は簡単 "grep ウニャ!" これで決まりヽ(´ー`)ノ ■黒猫 ●Job:Secret ●Web:N/A ●Mail:Secret ●Team(Group):N/A ●Comment:  net暦数年でウェアーズの味を覚えて以来、自作マシンのパーツ選択も回線種類 の選択も、全てをウェアーズ中心に考えている「ウェアーズ中毒」患者。趣味は、 哲学・心理学・読書・武道・スキー・登山・音楽演奏・netでの質問回答係 等 多 岐にわたるが「どれ一つとしてモノになっていない」という、典型的な移り気体 質。精神に障害があり「ノってる時はのめり込むが、ノらないときは一日中寝て いる」を繰り返している。ソーウツ病かな?ランク付けするときに「白帯」「茶 帯」「初段」「二段」・・・「師範」と武道に換算してもらわないとピンとこな い、山下清的な一面もある(笑)。 ●オススメツール:WinRar  「お勧めのアーカイバ」は、みなさんが一家言お持ちだとは思いますが、小生はWinRarを愛用しています。  長所としては次が挙げられます。 ・Zip、Lzh、Rar等、メジャーな形式にはだいたい対応している ・エクスプローラライクなファイル操作が可能で使いやすい ・RR(リカバリーレコードを付与できるので、万一壊れた場合にも復旧の確率を高められる ・右クリックによる「ここに解凍」があるので、アーカイブフォルダと展開ファイルフォルダを分けているときはなかなか便利 ・「高圧縮」から「無圧縮」まで細かく設定できる ・3.20から「複数のZip、Lzh等を一度にRarに変換する機能」が付いているので、アーカイブ形式を統一したいときにはとても便利 ・今ではあまり使いませんが「分割して圧縮」機能も重宝した ・圧縮率が比較的高い(GCAにはかないませんが、処理速度や扱いやすさとのかねあいなら、断然WinRarに軍配を上げます) ・Password機能が強力で、PikaZIPやAdvance Rar Password Recoveryでは、時間がかかりすぎて事実上ブルートフォストアタックはむり  目立つ欠点としては次が挙げられます。 ・処理速度がやや遅い ・Rar形式はWindowsXPが標準サポートしていない(ZipとLzhは標準サポート)? ・シェアウェア。[K]も比較的難しい(笑)  扱いに自信があれば、お勧めのアーカイバです。 ■D ●Job:SE ●Web:SEの小箱(http://iron_beasty.tripod.co.jp/) ●Mail:death_beasty@hotmail.com ●Team(Group):N/A ●Comment:  新参者のDです。  様々な会社のネットワークの危ない部分を指摘したいと思っています。趣味はヘ ヴィ・メタルを腹のそこから歌うこと。  まだまだ勉強が足りないところがあると思いますが、優しい目で見守ってくださ い。 ●オススメツール:DateCracker2000  昔からあって知っている方も多いのですが、これはとても有効です。 シェアウェアを有効期限以上使いたい場合に良く使います。 でも、どうしても使いたいシェアウェアって少ないような気がするなぁ。 ■MaD ●Job:DATA HOUSE ●Web:http://www.data-house.co.jp/ ●Mail:mad@data-house.co.jp ●Team(Group):ruffnex,ad200x,etc... ●Comment:  元ハカージャパソと危ない28号の百円ライター。趣味は、空き缶拾いと牛乳瓶 のフタ集め。2ちゃんねるでは「矢崎マサユキ」、「白鶴・丸」、「大同曲芸人 」、「泥棒・詐欺師」として通っている。ウソばかりつくので友達はいない。  現在は会社でヒッキーをしているが、将来はネットカフェの店員なるという目 標に向かってまっしぐら。とぁっ!(`Д´)。 ●オススメツール:  ぼく、セキュリティに無関心なのでお気に入りツールなんてありません。  Windowsでnmapをインスコしたときに「おぉ!アイコンがイカす!」と思った くらいで、実際に起動してみると使い方がわかんないから、そのまま放置ですけ どね。  なので、「編集員が使うこだわりのテキストエディタ」とします。  ぼくは元ライター志望なんで、テキストエディタにはウルトラうるさいです。 ○Windows 「WZ Editer」。これでキマリです。 「秀丸」でもいいのですが、ヒストリとか、アウトラインとか、背景と文字の変 更ができるなど、素晴らしすぎです。  ダウソ先は知りません。ぼくのんは○○○だし。 ○Macintosh 「Jedit」。これでキマリです。  しかもバージョン2.0がウルトラ最強です。  バージョン3.0以降は文字列をコピペすると半角スペースが入ったりするから嫌 い。  Windowsのハキングマニュアル時代から、ずっとコレです。 ●コラム:ハカー甲子園  ここで全然関係ないコラム。  ハカー甲子園というか、セクリティ甲子園て、消えちゃったんですね。  IPUSIRONさんと取材に行こうと思っていたんですけど。 「延期」っていう表現をしているけど、要するに中止ってことでしょ?  ねぇねぇねぇ〜、ねぇったら〜☆  省庁側と運営側でひともんちゃくあったようですね(笑)。  この話は、なんかのイベントのプレゼンで裏話が聞けそうですね☆  #あと、A.D.200Xのムックが秋に出るみたいなんで期待しないでね☆  #買っちゃだめですよ☆ ■IPUSIRON ●Job:サイト更新 ●Web:- Security Akademeia -(http://akademeia.info/) ●Mail:ipusiron@ruffnex.oc.to ●Team(Group):TeamSA,ruffnex,etc... ●Comment:  最初はiPAQにAP検出ツールやSnifferをインストールして遊んでいたので、無線 LANについて書こうと思っていましたが、予想外のトラブル(HDDが飛んだなど) やまとめる量が膨大だったので、途中で諦めて、すでに講座にまとめてあったPIC NICネタを取り上げました。 ●オススメツール:Character Code Filter(フリーウェア、Windows、GUI)  Character Code Filter は、サブフォルダも含む複数のテキストファイルを対 象として、文字コードを変換する漢字フィルタです。ウィザード形式のインター フェイスを採用しているため、入力ファイル、出力ファイル、文字コード設定、 実行という一連の操作が簡単に素早く行なえます。特に、入力テキストの文字コ ードの自動認識機能する点が他のツールと比べて便利です。  原稿を受け取ったりすると、文字コードが異なるテキストファイルなどを受け 取ることがありますが、そのような場面でもこのツールは役に立ちます。