it-swarm-korea.com

다른 사용자가 실행 한 Linux Shell 명령의 라이브 뷰?

Linux의 루트 사용자가 터미널 또는 SSH를 통해 로그인 한 다른 사용자가 실행중인 셸 명령에 대한 실시간 (또는 거의 실시간)보기를 가질 수 있습니까? 분명히 그것들은 .bash_history에 저장되지만 사용자가 로그 오프 할 때만 저장되며 비활성화 할 수도 있습니다.

편집 : 이상적으로 쉽게 켜고 끌 수있는 것.

28
EMP

루트로서, 쉘을 실제 쉘로 전달하기 전에 명령을 기록한 간단한 랩퍼 스크립트로 쉘을 대체 할 수 있습니다. 이것은 로그인하기 전에 만 작동합니다.

17
Tim Howland

사용자 세션에 침입하려면 sniffy 를 사용하고 협조가 있으면 screen -x를 사용하십시오.

그러나 사용자를 감시하는 행위는 현지 법률에 따라 규제를 받거나 심지어 불법으로 간주 될 수 있습니다.

9
David Schmitt

셸을 변경하는 것은 회피하기가 매우 쉽지 않으므로 셸 자체를 패치하는 것이 더 좋지만 모든 셸을 패치해야합니다. 우리가 가장 좋아하는 크래커는 이것을 bash_history 비활성화로 귀찮게하지 않는 보너스로 사용합니다.

ssh Host /bin/sh -i  

Snoopy exec 함수를 감싸는 래퍼이며 실행되는 모든 external binary를 기록합니다 (Shell 내장이 아님).

@David Schmitt의 제안 sniffy 더 나은 방법을 사용하면 의사 터미널을 사용합니다.

ttysnoop 동일한 방법을 사용하지만 유지 관리되지 않습니다. (아마도 ssh 연결을 기록하는 데 문제가 있었으며 기억할 수 없습니다)

ssh 패치 적용 시도 세션을 기록하지만 해당 패치는 old입니다.

pseudopodrootsh 를 사용하여 합법적 인 sudos를 기록 할 수 있습니다. shwatcr 는 로그인을 모니터링하는 또 다른 방법입니다.

7
hayalci

Sysdig 는 시스템 수준 탐색을위한 강력한 도구입니다.

예:

sysdig -i spy_users

카테고리 : 보안

spy_users 대화식 사용자 활동 표시

사용자가 대화식으로 시작하는 모든 명령 (예 : bash에서) 및 모든 디렉토리 사용자가 방문하는 모든 명령을 나열합니다.

4
Andrzej Chabierski

협력하는 경우 두 사용자간에 GNU screen 을 사용할 수 있습니다. 하나는 스크린 세션을 설정하고 다른 하나는 screen -x.

다른 사용자가 모르게 루트를 "스파이"하려면 가장 효율적이고 효과적인 솔루션은 키로거 소프트웨어/하드웨어 일 수 있습니다.

4
Tim

Bash-BOFH 패치를 사용해 볼 수 있습니다. 패치를 검색하십시오.

2
squillman

패치 또는 특수 실행 도구를 사용하지 않고 모든 'bash'명령/내장을 텍스트 파일 또는 'syslog'서버에 기록하는 방법을 작성했습니다.

'bash'를 초기화 할 때 한 번 호출해야하는 간단한 셸 스크립트이므로 배포하기가 매우 쉽습니다.

여기에서 방법을 참조하십시오 : http://blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger

1

Snoopy 는 경량 명령 로깅을위한 것입니다.

시스템에서 실행되는 명령의 실시간보기를 원할 수 있습니다. 경고 : 스누피는 적절한 감사 솔루션이 아니며 쉽게 우회 할 수 있습니다.

그러나 터미널에 입력 된 모든 문자를 보려면 다른 도구를 사용해야합니다.

공개 : 저는 현재 스누피 관리자입니다.

1
Bostjan Skufca
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] [email protected] ~ $ w<br>
 09:36:43 up 12:06,  6 users,  load average: 0.46, 0.29, 0.20<br>
USER     TTY      FROM              [email protected]   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] [email protected] ~ $ 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>

줄 바꿈을 정렬하는 것을 신경 쓰지 않으면 꽤 잘 작동하는 것 같습니다.

1
Jessica Parker