私を正しい方向に向けてくれたルークに感謝します。Procmonは素晴らしいツールです。文字通り、システム内の新しい世界が私に開かれました。parent process ID = WINPID of a Cygwin bash.exe
そして、含まれるようにフィルターを設定し、単一のls
コマンドを監視するだけで、原因がすぐに見つかりました。これは、という名前のレジストリキーにフックされたマルウェアAppCertDlls
でしたが、もちろん以前はまったく気づいていませんでした。
マルウェアを移動するclipmote.dll
とsystem32
、プロセスの作成速度はすぐに通常に戻りました。
毒入りのフリーウェアをインストールしてこのウイルスに感染したと思います。
私はこの問題を調査するのに時間を費やしましたが、それは恐ろしくて興味深いものでした。そこで私が見つけたものは次のとおりです。もちろん、すべての追加情報やコメントに感謝します。
マルウェアDLLは、Explorer、taskmgr、procmon自体も含め、すべてのユーザープロセスに読み込まれました。SYSTEM
(にリストされている)の下のプロセスのみprocexp.exe
が感染していないように見えます。
ここでの問題はHKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls
、値を返すことによってバイナリの実行が許可されているかどうかを判断できるDLLをロードするためにチェックされることです(少なくとも私のシステムでは、おそらく多くのシステムで、おそらくデフォルトでも)それらに呼び出される関数から:
NTSTATUS STDCALL CreateProcessNotify (LPCWSTR lpApplicationName, ULONG Reason);
実際、そのキーの下に、というエントリsethdown
がありましたが、名前は何でもかまいません。
RegEnumValue HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls
Index: 0
Name: sethdown
Type: REG_SZ
Length: 66
Data: C:\WINDOWS\system32\clipmote.dll
AppCertDlls
ネット上で見つかったレポートから、フックはWindowsオペレーティングシステムの通常の部分であり、不正な拡張機能ではないと結論付けています。そうであれば、マルウェアをプロセスに動的に構成できるため、ウイルスのエントリポイントになります。
実際には(皮肉なことに)、JVMのセキュリティマネージャと同じように、セキュリティ機能を意図しているように見えます(私の元の質問を参照してください)。と呼ばれるMicrosoftユーティリティappsec.exe
がこのキーを使用すると報告されています。CreateProcessNotify
上で引用したように、ロードされる「セキュリティ」DLLで呼び出される関数はです。私が理解したことから、それはただ「はい」または「いいえ」と言うと想定されていますが、それはそれが望むことは何でもすることができます。
私の場合、および分析した単一の実行インスタンスではls.exe
、5つのスレッドが作成されました。他のDLLをロードまたはロードしようとし、レジストリと対話します。そして、誰が他に何を知っていますか。
誰かがこの危険なメカニズムについてもっと知っているなら、私はすべての耳です。
これが私が見つけたものですAppCertDlls
:
2007年1月の早期言及(Re 5:Блокировказапускаприложений)
AppCertDllsがSysinternalsフォーラム(Autoruns)で報告、2007年10月
AppCertDllsについて-2008年1月に言及されたウイルス
しかし、Microsoft自体がこの機能を広く使用しています。正確には、これは実際には「1回限りの」ものとして考えられていました。ターミナルサーバー2000で実行できるアプリケーションを制限する方法としてのみ使用してください。--AndrewWorobow
AppCertDllsキーとCreateProcessNotifyの詳細、2008年1月
いくつかの詳細を提供する2010年6月の感染レポート
マルウェアは銀行口座情報(そして明らかにお金)を盗もうとしましたが、他のこともできるように構成されている可能性があります。の下に追加のレジストリエントリがありましたHKEY_CURRENT_USER\Software\AppDataLow\{some GUID here}
。私がオンラインバンキングをしている間、それはスクリーンスクレイピングを行ったに違いありません。使用済みのTANを知っていました。ログインの直前または(おそらく)ログインの直後に銀行がハッキングされたという印象を受けたとき、一度に約20のTANを要求する画面が表示されたことを覚えています。WTFは、ブラウザが間違ったURLを取得したと思い、ウィンドウを閉じました。もっと心配すべきだった。問題全体がそれほど危険だとは思わなかったでしょう。幸い、ダメージはありません。ラッキーだと思います。
ウイルス内で見つけた重要な文字列のリストは次のとおりです。
client.dll
EAPSFILT.dll
KERNEL32.dll
最初の2つは、ロードしようとする他のウイルスライブラリである可能性があると思います。
_aullshr
CompareStringA
CreateEventA
CreateFileA
CreateFileMappingA
CreateProcessNotify
CtfImmIsCiceroStartedInThread
CtfImmTIMActivate
DllCleanupServer
DllStartupServer
ExitProcess
GetThreadContext
ImmDisableIme
ImmDisableIME
ImmGetConversionListA
ImmGetVirtualKey
ImmRegisterWordA
ImmSetCandidateWindow
InterlockedExchangeAdd
iswlower
lstrcmpA
MapViewOfFile
memset
OpenThread
ReadFile
RealDriveType
RegenerateUserEnvironment
RestartDialog
SetFilePointer
Sleep
strchr
TerminateThread
UnmapViewOfFile
vDbgPrintExWithPrefix
VirtualQueryEx
WaitForMultipleObjects
このCicero
関数は私には不正に見えましたが、それはC:\WINDOWS\system32\imm32.dll
「WindowsIMM32APIクライアントライブラリ」の一部です。
sfc.exe
マイクロソフトの「システムファイルチェッカー」を実行しました。私のプログラムファイルをさらにチェックします。そして、ウイルススキャナーを入手してください。推奨事項を歓迎します。