回答:
ユーザーのセッションに侵入したい場合、または協力している場合は、スニッフィを使用してくださいscreen -x
。
ただし、ユーザーのスパイ行為は、地域の法律によっては規制の対象となる場合や、まったく違法となる場合があることに注意してください。
シェルを変更することは回避するのは非常に簡単で、シェル自体にパッチを適用する方が良いですが、すべてのシェルにパッチを適用する必要があります。私たちのお気に入りのクラッカーはこれを使用しますが、ボーナスとしてbash_historyを無効にすることはありません。
ssh host /bin/sh -i
Snoopyはexec関数のラッパーであり、実行されたすべての外部バイナリを記録します (シェル組み込みではありません)
@David Schmittの提案スニッフィは、より良い方法を使用し、擬似端末をタップします。
ttysnoopは同じメソッドを使用しますが、メンテナンスされていません。(おそらくssh接続をログに記録するのに問題があり、思い出せません)
sshにパッチを適用してセッションをログに記録できますが、そのパッチは古いものです。
偽足とrootshは正当なsudosを記録するために使用することができます。また、shwatcrはログインを監視するもう1つの要素です。
ssh host /bin/sh -i
ことになっていますか?
Sysdigはシステムレベルの探索の強力なツールです-これがあなたが望むものです;)
sysdig -i spy_users
spy_usersインタラクティブなユーザーアクティビティを表示する
ユーザーが対話的に(たとえばbashから)起動するすべてのコマンドとユーザーがアクセスするすべてのディレクトリをリスト
パッチや特別な実行可能ツールを使用せずに、すべての「bash」コマンド/ビルトインをテキストファイルまたは「syslog」サーバーに記録する方法を作成しました。
「bash」の初期化時に一度呼び出す必要がある単純なシェルスクリプトであるため、デプロイは非常に簡単です。
こちらの方法をご覧ください:http : //blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger
function spy() {
ptsnum=`ps awfux | grep pt[s]\/"$1" | awk '/bas[h]/{print $2}'` ;
/usr/bin/strace -s 1000 -t -f -p $ptsnum 2>&1 3>&1 \
| grep -Poi 'write\(...\"[[:print:]]{1,2}\"[.][.][.][,]..\)' ;
}
[436] klikevil@epiphany ~ $ w<br>
09:36:43 up 12:06, 6 users, load average: 0.46, 0.29, 0.20<br>
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT<br>
klikevil pts/0 75.125.126.8 23:05 2:19m 10:33 0.18s cmd <br>
klikevil pts/1 75.125.126.8 00:18 6:50m 0.06s 0.04s sshd: klikevil [priv]<br>
klikevil tty7 :0 09:02 17:07m 2:02 0.32s x-session-manager<br>
klikevil pts/2 :0.0 09:03 3:30 0.08s 0.08s bash<br>
klikevil pts/3 :0.0 09:03 0.00s 0.76s 0.00s w<br>
klikevil pts/4 :0.0 09:06 3:13 0.46s 0.00s /bin/sh /usr/bin/thunder<br>
[437] klikevil@epiphany ~ $ spy 2<br>
write(2, "e"..., 1)<br>
write(2, "c"..., 1)<br>
write(2, "h"..., 1)<br>
write(2, "o"..., 1)<br>
write(2, " "..., 1)<br>
write(2, "s"..., 1)<br>
write(2, "u"..., 1)<br>
write(2, "p"..., 1)<br>
write(2, " "..., 1)<br>
write(2, "d"..., 1)<br>
write(2, "o"..., 1)<br>
write(2, "g"..., 1)<br>
write(2, "\n"..., 1)<br>
^C<br>
たくさんの改行をソートしてもかまわないなら、かなりうまくいくようです。
Snoopyは、軽量のコマンドロギングを対象としています。
システム上で実行されたコマンドのライブビューが必要な場合、これが該当する場合があります。警告:スヌーピーは適切な監査ソリューションではないため、簡単に回避できます。
ただし、端末に入力されたすべての文字を表示する場合は、別のツールを使用する必要があります。
開示:私は現在のスヌーピーメンテナーです。
ttyrpld
良いようです。この質問にお勧めします。serverfault.com/questions/40011/...