リトルスニッチは定期的に次のようなダイアログを表示します。
ノード経由のターミナルは、ポート3000(remoteware-cl)のXからの着信接続を受け入れたいと考えています。
Xは東ヨーロッパでは異なるIPです。ソフォスのシステム全体をスキャンした結果、マルウェアは検出されませんでした。どのプロセスがlsof -i tcp:3000
で接続を開いているかを特定できます。 pidを取得したら、プロセスがどのように開始されたかをどのように判断できますか?また、それを開始しているものを削除/再開始しないようにするにはどうすればよいですか?
ps l [pid]
は、とりわけ、プロセスの「親プロセスID」(PPID
)をリストします。 (ただし、親プロセスが終了した場合、その情報は失われ、PPIDは1になります。)ps eww [pid]
は、その環境変数をリストします。これは、それがどこから来たかのヒントを与える可能性があります。
これはマルウェアであり、意図的に行っている予期せぬ動作ではないのですか? Terminal.appを実行していなくても発生しますか?
(これは Wim Lewis からの正しい答えを補足するものにすぎません。)
疑わしいプロセスのpid
を取得したら、このプロセスが何をしているかを分析するのに役立ついくつかのコマンドを次に示します。このpid
を変数_pid
に保存したとします。
lsof -p ${_pid}
開いているすべてのファイルを提供します今
opensnoop ${_pid}
このプロセスの実行中にすべてのファイルが表示されます
これらのファイルの場所を使用すると、これが正当なプログラムであるかどうかをすぐに確認できます。
システムでシステムアカウンティングがアクティブになっている場合、lastcomm
は、この疑わしいプロセスの直前に実行されたプロセスも提供します。さらに、lastcomm
は、これらのプロセスのいずれかが特権エスカレーションを許可していたかどうかを示します(S
フラグを確認してください)。残念ながら、lastcomm
はプログラムに渡される引数もその環境も提供しません(*argv
、*envp
)。