~/.bash_profile
と ~/.bashrc
は、シェルコマンドを含むシェルスクリプトです。これらのファイルは、環境が正しく設定されるように、新しいシェルが開いたとき、またはユーザーがログインしたときに、ユーザーのコンテキストで実行されます。
~/.bash_profile
はログインシェルに対して実行され、 ~/.bashrc
は、対話型の非ログインシェルに対して実行されます。これは、ユーザーが(ユーザー名とパスワードを使用して)コンソールに(ローカルまたはリモートでSSHなどを使用して)ログインすると、
~/.bash_profile
スクリプトは、最初のコマンドプロンプトがユーザーに返される前に実行されます。 その後、新しいシェルが開かれるたびに、 ~/.bashrc
スクリプトが実行されます。これにより、ユーザーは特定のコマンドをいつ実行するか、よりきめ細かく制御できます。これらのシェルスクリプトは、ローカルユーザーが独自の環境を構成するために書かれることを意図しています。
macOS Terminal.appは、新しいターミナルウィンドウが開かれるたびにデフォルトでログインシェルを実行するため、〜/ .bashrc
の代わりに毎回〜/ .bash_profile
を呼び出すという点で少し異なります。
攻撃者は、永続性を得るために、他のバイナリを実行するために使用される可能性がある任意のシェルコマンドを挿入することにより、これらのシェルスクリプトを悪用する可能性があります。 ユーザーがログインするか、新しいシェルを開くたびに、変更された〜/ .bash_profileおよび/または〜/ .bashrcスクリプトが実行されます。[1]
Name | Description |
---|---|
HiddenWasp |
HiddenWasp は、自身を |
Linux Rabbit |
Linux Rabbit は、rc.local と.bashrc ファイルを通して感染端末への永続性を維持します。[2] |
Mitigation | Description |
---|---|
Restrict File and Directory Permissions ファイルとディレクトリへのアクセスを制限 |
これらのファイルを変更不可とし、特定の管理者のみが変更可能とすると、攻撃者がユーザーレベルの永続性を簡単に作成する能力は制限されます。 |
ユーザーは〜/ .bashrc
および〜/ .bash_profile
ファイルをカスタマイズできますが、これらのファイルに通常記載されるコマンドの種類は限られています。
ログイン時にユーザープロファイルがロードされるときに、未知のプログラムの実行、ネットワークソケットのオープン、ネットワークを越えようとする動き、などの異常なコマンドがないか監視します。