web-dev-qa-db-ja.com

呼び出されているMacマルウェアを追跡して削除する方法

リトルスニッチは定期的に次のようなダイアログを表示します。

ノード経由のターミナルは、ポート3000(remoteware-cl)のXからの着信接続を受け入れたいと考えています。

Xは東ヨーロッパでは異なるIPです。ソフォスのシステム全体をスキャンした結果、マルウェアは検出されませんでした。どのプロセスがlsof -i tcp:3000で接続を開いているかを特定できます。 pidを取得したら、プロセスがどのように開始されたかをどのように判断できますか?また、それを開始しているものを削除/再開始しないようにするにはどうすればよいですか?

3
John

ps l [pid]は、とりわけ、プロセスの「親プロセスID」(PPID)をリストします。 (ただし、親プロセスが終了した場合、その情報は失われ、PPIDは1になります。)ps eww [pid]は、その環境変数をリストします。これは、それがどこから来たかのヒントを与える可能性があります。

これはマルウェアであり、意図的に行っている予期せぬ動作ではないのですか? Terminal.appを実行していなくても発生しますか?

2
Wim Lewis

(これは Wim Lewis からの正しい答えを補足するものにすぎません。)

疑わしいプロセスのpidを取得したら、このプロセスが何をしているかを分析するのに役立ついくつかのコマンドを次に示します。このpidを変数_pidに保存したとします。

  • lsof -p ${_pid}

    開いているすべてのファイルを提供します

  • opensnoop ${_pid}

    このプロセスの実行中にすべてのファイルが表示されます

これらのファイルの場所を使用すると、これが正当なプログラムであるかどうかをすぐに確認できます。

システムでシステムアカウンティングがアクティブになっている場合、lastcommは、この疑わしいプロセスの直前に実行されたプロセスも提供します。さらに、lastcommは、これらのプロセスのいずれかが特権エスカレーションを許可していたかどうかを示します(Sフラグを確認してください)。残念ながら、lastcommはプログラムに渡される引数もその環境も提供しません(*argv*envp)。

1
dan