Windowsの「God Mode」を悪用して実行ファイルを隠蔽するマルウェア、名前に予約語を使って削除も回避 38
ストーリー by headless
秘密 部門より
秘密 部門より
WindowsのCLSID(GUID)の中にはフォルダー名に拡張子として設定することで、特殊なフォルダーやコントロールパネルなどとして機能させることができるものがある。この機能を悪用して、攻撃用のファイルを隠蔽する「Dynamer」と呼ばれるマルウェアが出てきているそうだ(McAfee Labs Blogの記事、
Softpediaの記事)。
こういったCLSIDとしては、コントロールパネルの全ページをまとめた「God Mode」と呼ばれるフォルダーを作成可能な「{ED7BA470-8E54-465E-825C-99712043E01C}」がよく知られている。特殊なCLSIDを拡張子に設定したフォルダーをエクスプローラー上でダブルクリックすると特殊フォルダーやコントロールパネルが開かれ、フォルダーの内容にアクセスすることはできなくなる。ただし、フォルダーに格納したファイルのパスを直接指定すればアクセスは可能だ。Dynamerはこれを悪用して実行ファイルを隠し、レジストリの「HKCU\SOFTWARE\Microsoft\Windows\run」にパスを指定してログイン時に自動実行するのだという。
Dynamerは「%appdata%」フォルダー(C:\Users\<ユーザー名>\AppData\Roaming)に「com4.{241D7C96-F8BF-4F85-B01F-E2B043341A4B}」という名前のフォルダーを作成し、実行ファイルを格納する。このCLSIDはコントロールパネルの「RemoteAppとデスクトップ」に該当するものだ。フォルダーのベース名が「com4」となっているのは、簡単に削除できないようにするためだという。「com4」はエクスプローラーやコマンドプロンプトからデバイス名として扱われるので、この名前のフォルダーは削除できない。
ただし、UNCパスでフォルダーを指定すれば「rd」コマンドで削除することは可能だ。つまり、コマンドプロンプト上で「rd \\.\%appdata%\com4.{241D7C96-F8BF-4F85-B01F-E2B043341A4B} /s /q」のように入力して実行すれば削除できるとのことだ。
こういったCLSIDとしては、コントロールパネルの全ページをまとめた「God Mode」と呼ばれるフォルダーを作成可能な「{ED7BA470-8E54-465E-825C-99712043E01C}」がよく知られている。特殊なCLSIDを拡張子に設定したフォルダーをエクスプローラー上でダブルクリックすると特殊フォルダーやコントロールパネルが開かれ、フォルダーの内容にアクセスすることはできなくなる。ただし、フォルダーに格納したファイルのパスを直接指定すればアクセスは可能だ。Dynamerはこれを悪用して実行ファイルを隠し、レジストリの「HKCU\SOFTWARE\Microsoft\Windows\run」にパスを指定してログイン時に自動実行するのだという。
Dynamerは「%appdata%」フォルダー(C:\Users\<ユーザー名>\AppData\Roaming)に「com4.{241D7C96-F8BF-4F85-B01F-E2B043341A4B}」という名前のフォルダーを作成し、実行ファイルを格納する。このCLSIDはコントロールパネルの「RemoteAppとデスクトップ」に該当するものだ。フォルダーのベース名が「com4」となっているのは、簡単に削除できないようにするためだという。「com4」はエクスプローラーやコマンドプロンプトからデバイス名として扱われるので、この名前のフォルダーは削除できない。
ただし、UNCパスでフォルダーを指定すれば「rd」コマンドで削除することは可能だ。つまり、コマンドプロンプト上で「rd \\.\%appdata%\com4.{241D7C96-F8BF-4F85-B01F-E2B043341A4B} /s /q」のように入力して実行すれば削除できるとのことだ。
ファイラが欲しい (スコア:5, 参考になる)
パスやら何やらで、勝手に挙動を変えるエクスプローラだけじゃなく、純粋にファイルを扱うだけの「只のファイラー」を標準添付して欲しいな。
//作ろうと思って早10年以上...
-- Buy It When You Found It --
Re:ファイラが欲しい (スコア:1)
Re: (スコア:0)
作ればよくね?と思ったけど意外と面倒なのかもしれないなぁ。
# そういう意味ではVB6.0のドライブコントロールとかファイルコントロールとか使いやすかったw
Re: (スコア:0)
言える。
Explorerもそうだけど、OSXのFinderもゴミレベル。
どっちも入れ替えたい。
Re: (スコア:0)
そんなもんいっぱいあるやん。
http://www.vector.co.jp/vpack/filearea/win/util/file/filer/ [vector.co.jp]
大して使われてないってことは、結局需要がないんでしょう。
#昔はFileVisorとか使ってたなあ…。
Re:ファイラが欲しい (スコア:1)
通常のファイル操作に関しては、エクスプロー他が十分以上に使えるから、サードパーティの出番は無い。
だから、「標準」で欲しい訳。
regeditに対する、reg.exeみたいな存在かな?
もう少し機能が欲しくは有るが。
-- Buy It When You Found It --
Re: (スコア:0)
ファイラって、別ユーザーで実行すると簡易suにもなるのも便利ですよね。
Windows10になって、 日本語の問題があり管理者ユーザだけど
Win7の時は制限ユーザだったので重宝していました。
僕はXFなので、 求められている物よりは高機能になっちゃうかもですが、おすすめです
Re: (スコア:0)
dired-mode めっちゃ便利だよね。
wdired とかやばすぎ。
ちなみにMacの方がEmacsの恩恵大きいと思う。
Mac使いは頑張って操作方法覚えるメリットは十分あるよ。
コマンド プロンプトで (スコア:1, 参考になる)
そんなに簡単に悪いことはできないみたいだ。
Re:コマンド プロンプトで (スコア:2, 参考になる)
作る方も md \\.\%appdata%\com[1-9] でできる。
あと、「UNCパスで」というのは文字通りの意味で、ネットワーク共有経由だと com[1-9] も普通に作れる(しかし作られたローカル側からは簡単に削除できない)というバグだか仕様だかわからないような動作がある。
Windows 10 Anniversary Updateなら、bashから作る/消すという手もあるな。
Re: (スコア:0)
う!
とりあえず
sudo rm -rf /
してみな
とか言い出すバカと騙されるバカがまた湧きそうだな
この間ネタになってたから警告無視してやらかすバカは少ないと信じたいけど
それらしく# *com[0-9]とかつけてると#がコメントアウトだと知らない層は騙されそうだし
Re: (スコア:0)
WSLでそれやってもなぜか /mnt/c 以下は消えないようだ(ただし rm -rf /mnt/c するとアウト)。あとあくまでInsider Previewのあるビルドで試してみたらそうだったという話なので、当てにしないほうがいいと思うが。
Re:コマンド プロンプトで (スコア:2)
com1はCOM1となって、シリアルポートが存在したので正常に開けたのでしょう。
で、2~9は存在しなかったと。
物理的に無くてもBluetooth等が仮想COMポートを持っていてそちらが該当する事が有ります。
# COM9より大きいCOMポートを使いたい時は"\\.\COM10"のようにすれば使えます。
# 他にもドライブレターのないUEFIパーティション等をdir "\\.\Harddisk0Partition3\efi"(環境により異なる)で覗いたりとか出来るので少し便利。
尚、Win32のデバイス名前空間の\\.\前置詞で消せない場合は、\\?\を使えば消せます。
例えば256文字を超える長いパスや末尾が空白で終わるファイル名は"\\.\"で開始しても消せません。
# 後、\\.\~はUNCパスじゃない気がするのですが、どうでしたっけ?
この辺の通常では消せないAUXやCOM1やLPT1といった予約ファイル名のリストや、上述の\\.\や\\?\の存在に関してはMicrosoftのドキュメントに書いてあります。 [microsoft.com]
古のconcon問題再び (スコア:0)
すらどの諸兄であればリンクは不要だろう
他にも手口色々あるよ (スコア:0)
親フォルダへのシンボリックリンクよる循環参照をすると、なぜかexplorer.exe内で検索をかけても見つからないようになるバグがあったけど、それと同じぐらい恐ろしいですね。
あと、地味に文字列の方向を右から左に変えて「a.exeを」を「exe.a」に見せちゃうやつとか、併用されると恐ろしい。このへんの対策もぜひウイルス対策ソフトに頑張ってもらいたい。
あと、*.comって*.exeと同等の実行可能ファイルだよね。
Re:他にも手口色々あるよ (スコア:2)
NTFS の名前付きストリーム (代替データ ストリーム、ADS) もよく使われていたような。Resilient File System (ReFS) では廃止されたけど、現状では Windows Server のみ正式サポートされているファイル システムだし、現状 Windows には関係ない話だ (Windows 8.1, Windows 10 でもレジストリ エントリの値の操作により有効には出来る)
Re: (スコア:0)
> Resilient File System (ReFS) では廃止されたけど、
それは認識が古い。Windows 8.1/Windows Server 2012 R2のReFSでは復活した。ただし128KBまでという制限付き( 参考 [bakins-bits.com])。MS自身がZoneIdとかに使っていて困ったのが復活の理由だろう。しかしIEのお気に入りがfaviconにADSを使っていて、最近のfaviconは128KBを超えることもあるのでIEのお気に入りフォルダをReFSボリュームにコピーできないという現象が相変わらず発生したりする(上記リンク先からの受け売りだが)。
今のところReFSはシステムボリュームにできないけど、システムボリュームではWinSxSフォル
Re:他にも手口色々あるよ (スコア:1)
クライアント オペレーティング システムで ReFS を使用できる
Windows 8.1 では、コントロール パネルのミラー化記憶域スペースを使用して、記憶域を ReFS としてフォーマットすることができます。 また ReFS では、代替データ ストリーム (Windows 8.1 と Windows Server 2012 R2 のいずれにおいても最大 128 K) を使用して、Office ドキュメント サムネイル、Mark of the Web (MOTW) のほか、Windows 8.1 で利用できる同様の機能を有効化できます。
最大 128 KB までの代替データ ストリームのサポートは知らなかった。それと、ミラー化 (双方向ミラー, 3 方向ミラー) された記憶域スペースのみ、ReFS でのフォーマットが Windows 8.1 でも正式にサポートされているようだ (Windows 10 も同様 [microsoft.com])。
それ以外では、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT に DWORD (32 ビット) 値で AllowRefsFormatOverNonmirrorVolume を作成して値のデータを 1 にすればフォーマットできるようになる。
ただし、この値が存在するとイベント ビューアーがエラーが出て利用できなかったり、いろいろと不具合があるらしい (ReFS でフォーマットしたあとに値を削除すれば良い、らしいけど)
Re: (スコア:0)
MS-DOS/Win9X 系では実行ファイルの拡張子だが NT系の Windows の場合は、そうなってない。
exe と com はファイルフォーマットも違うし、ロード/実行の流れも違う。
Re:他にも手口色々あるよ (スコア:2)
そうなんですか?
*.exeを*.comに拡張子を変更しても動いてしまうことが「同等」ということです。
Re:他にも手口色々あるよ (スコア:1)
.pptでも.docでも.xlsでもオッケーで、果ては.txtでも実行されたらどうしよう。
// 64bit環境だったら .com は動かないと信じている人にも救済策を。
Re: (スコア:0)
カーネルレベルでは拡張子関係ないよ。シェルが*.com *.exe以外は自動的に実行ファイルとして実行しないだけ。
Re: (スコア:0)
64ビット版Windowsにもmore.comが入っている件…
Re: (スコア:0)
元々のcomはヘッダーがついてないけど
Windowsで動くcomは実態はexeで名前だけcom。
comはexeよりも実行時の優先順位が高いから
moreではmore.comを最初に起動してそこからmore.exeを起動するみたいになってたはず。
ちなみにWindowsのexeは(DOSのexe情報の後ろにWindowsのexe情報が入ってる)拡張されたexe。
今となってはもうないだろうけど
一つの実行ファイルにDOSプログラムとWindowsプログラムを入れることができる。
(通常は「これはWindows用です」とか表示するDOSプログラムが入ってるが)
Re: (スコア:0)
それはMS-DOS時代からの伝統。
.comと.exeは実質的に等価。
ちなみに内部的には最初の2byteが'MZ'かどうかでいわゆる.exeなのかどうか判断してるだけ。
だから.exeファイルの先頭の2byteを適当に書き換えると.exeファイルと認識出来なくなるし
.comファイルでも意図的に先頭2byteを'MZ'とすればexe headerがついてると誤認識する。
Re: (スコア:0)
format.comを知らねえのかよお前
名前だけでデバイスと決めつけるのもなんだけど (スコア:0)
GODMODEって、そもそもなんで要るのだろう?
Re:名前だけでデバイスと決めつけるのもなんだけど (スコア:1)
Re:名前だけでデバイスと決めつけるのもなんだけど (スコア:1)
本来は、スタートメニューの検索結果ビューを表示するためのもの。
それを検索語なしで呼び出しているから、すべての機能が表示されるわけ。
Re:GodMode関係ないじゃん (スコア:2, 興味深い)
元のマカフィーのブログ記事 [mcafee.com]自体が「煽り」タイトルなんだけど、それを吟味せずに投稿するのはいかがなものかと。
Re: (スコア:0)
おまえ。すらどになにを期待してるの?
Re:GodMode関係ないじゃん (スコア:1)
技術のギもわからないような馬鹿メディアによるテキトーな技術用語の使い方を
少なくとも馬鹿にしたりネタ扱いできる程度のアイロニーは期待したいよね。
同レベルで煽りタイトルつけているなら2chで十分じゃない?
じゃあスラドの存在意義って何よって言ったらやっぱテックナード向けという
ニッチな視点なわけで、そこは期待して当然だし、運営もその期待に応えるべき。
労力をかけずにアクセス数を稼ぎたい運営の気持ちもわからないではないけど
スラドがスラドたるコアコンピタンスは大切にしないと
じわじわとユーザー離れが進んでいく未来しか待ってないと思うよ。
Re: (スコア:0)
でも最近のスラドはお決まりの政治ネタで煽りまくって
コメント数稼いでるの見え見えだよね
技術的なネタは鮮度が低いし、技術的なネタ掲示板を
期待してる層は既に離れてるんでは・・・
Re: (スコア:0)
編集長の誤字脱字
Re: (スコア:0)
なんでもかんでもMS叩きにこじつける可哀想な人?