2007年5月3日木曜日

つくもノヲ”X="1≠ 145



平日2日を終えて、連休が始まった3日。
GWとなると、帰りの小田急線でも子供連れをそこらじゅうで見かける。
さすがに子供がいるとよく晴れた天気も手伝って底抜けに明るい
雰囲気になっている。

それを横目に私は今日も夜勤に勤しむわけなのだが(笑)
「説明できない朝ゴハン」と銘打ったマックグリドルの
ソーセージセットを食べてみた。
肉とチーズとパンケーキを挟んだ不思議な味だ。
それ以上の説明はできない(笑)。

・・・・・・・・・・・・・・

VBScriptでウィルスを作ろうとひらめいたアイディアが
SendKeysメソッドだった。前ニッキのwebのライブラリを漁っていたら
このメソッドの存在を知った。
そのまま押されるキーを並べただけでは、タイミングによっては意図しない
操作になってしまうことがわかったので、Sleepメソッドで一時停止させる
秒数を試行錯誤で調整したが、出来上がったものは起動するたびに不安定な
動きになり、やはりイベントに頼らないと駄目だとわかった。

つまり添付ファイルが開かれるときや、ログインされたときを狙って
コードを実行させるように仕向けないといけないのだ。しかもユーザには
プログラムの存在はおろか、動作していることも隠さないといけない。

メールの添付ファイルから開かせるという古典的な方法はすでに警戒され、
しかしインターネットにつないでいる不特定多数のユーザ環境に入り込む
ためにはクリックして開いてもらわねばならない。

そこで幾多の受信メールに埋もれても見ただけで思わず開いてみようかなと
「開くな」と言われれば逆に開きたくなるのが人間・・・という心理作戦を
使った件名を何とか考え出し、実際に試したことがある。

だいぶ前にとある掲示板にこのウィルスをzip形式で圧縮したURLのリンクを
貼り、こんなものを踏む奴はいないだろう、ダウンロードしても無警戒に
開く奴はいないだろうという予想ははずれ、開くと指定した自分のフリーメール
アドレスに無限に送るようにしたそのメールが何通か届いたのだ。

その後の書き込みを見ると何人かは開いたようで、ログインの度に動くので
何とかしてくれという内容を見て、興奮せずにはいれなかった。
ウィルス板にURLを貼ったわけだが、開く奴がいることに驚いたという
そんなことを思い出してしまった。

もちろん「Loveletterウィルス」のようにアドレス帳に登録されたアドレス
へ添付ファイル付きのメールを送るようには作っていない。
自分のフリーメールアドレス宛てにメールを無限にメールを送るだけという
ジョークソフトレベルだが、見る人にとっては十分にウィルスに
見えたことだろう。
「Loveletterウィルス」みたいなものを作っていたら、今頃私はこうして
記事は書いていないと思うが(笑)

添付ファイルの方法ではフリーメールでさえ、
受信したメールからは削除されて、開くことはできない。
だからこのとき使った手法は添付ファイルではなく、メール本文に
そのファイルのダウンロードURLのリンクを記載したのだ。
しかもそのURLを開きたくなるような例の心理作戦を使った文面を沿えて。

スクリプトエンコーダーを使って、コードが読み取れないように暗号化
できたまでは良かったが、結局Sendkeysメソッドの動作が不安定な時が
あり、それ以上の研究は断念してしまった。

VBScriptではタスクマネージャーでもわからないようにステルスで動作させる
ことは不可能だ。そこで目をつけたのがC言語である。

長いこと使用されてきた実績もさることながら、WindowsAPIを呼び込んで
OSの深く部分に触れるのプログラムが作成できるところに注目した。
コンパイルでソースファイルをコンパイルすれば、実行ファイルが完成する。
しかもそのファイル単独で実行することが可能なのだ。

ソケットを使えば、メール送受信やブラウザのプログラムが作れるし、
WindowAPIを呼び込むようにすれば、結果を密かにメールで送るキーロガー
などを作ることも可能なのだ。

そんなC言語だが、コードが書けるようになるには「ポインタ」をよく理解しない
と始まらない。だから最近本を買って勉強しなおしているところなのだ。

・・・・・・・・・・・・・・

インターネット回顧録を書いていたら、ウィルス回顧録も書いてみたくなった
連休初日の良く晴れた昼下がりであった。

2 件のコメント:

匿名 さんのコメント...

こんにちは
ネットとか言語とか詳しいんですね
私は初心者なので興味深くここ数日の記事を読みました

ブラウザとかフリーソフトばかり詳しくてもダメですね
私も特に言語関係を勉強中です

ya さんのコメント...

おお、mameさん
こんばんは!

ならば、C言語がお勧めですよ、
だんな!いまならお安くしておき(ry

と布教してみようかな(笑)

自分は趣味の範囲を超えないので
勢いがあるのは最初だけで
あとはまれに気が乗ったときに
やるくらいなので、ちっとも
進まず・・・・orz

※ちょこちょこ、ブログ読ませて
 もらってます。元気そうでなにより
 ですな!