일단 맬웨어가 사용자 계정에 액세스하면 다음을 수행 할 수 있습니다.
1. 프롬프트 ~/.bashrc
를 위조 [sudo] password for $USER:
하고 사용자의 비밀번호를 훔치는 명령에 대해 bash 별명 (현재 쉘 및 )을 작성하십시오 .
alias sudo='echo -n "[sudo] password for $USER: " && \
read -r password && \
echo "$password" >/tmp/sudo-password'
2. 마찬가지로,라는 실행 배치 가능 sudo
하여 ~/.bin
, 상기 변경 PATH
과 동일한 효과를 얻기 위해 변수 :PATH="$HOME/.bin:$PATH"
3. X 서버를 통해 키 누름을 누르고 단어 sudo
를 찾은 후 다음 두 Enter키 누름 사이의 텍스트를 암호로 사용해보십시오 .
4. 예를 사용하여 모든 환경 (콘솔, Wayland , X) 에서 유사한 작업을 수행 할 수 있습니다 $LD_PRELOAD
.
5. 만약 악성 코드가 감염 사용하는 쉘 sudo
, 그리고 sudo
그것을 할 수 있다면 캐시 자격 증명, 악성 코드가 continouosly 확인할 수 있습니다 sudo
암호가없는 :
while : ; do
echo | sudo -S echo "test" &>/dev/null && break
sleep 10
done
sudo echo "We now have root access"
예방:
1 & 2. 사용 \/bin/sudo
. 는 \
별칭 및 무시 /bin/…
무시를 $PATH
. 또는 다음과 같은 별칭을 추가 ssudo="\/bin/sudo"
하고 항상 ssudo
대신 사용하십시오 sudo
. 바이러스가이 별칭을 다시 매핑 할만큼 영리한 것 같지는 않습니다.
3. X11을 사용할 때 비밀번호를 입력하지 마십시오. 대신 가상 콘솔 또는 Weston을 사용하십시오 .
5. 설정 timestamp_timeout=0
에서 /etc/sudoers
.
sudo
암호가 스니핑
될 가능성을 완전히 없애는 유일한 방법은 암호를 완전히 피하는 것 같습니다. 대신 가상 콘솔에 루트로 로그인하십시오.
Alexander Peslyak에 따르면 : "su [및 sudo]의 유일한 안전한 사용은 더 권한있는 계정에서 덜 권한있는 계정으로 전환하는 것입니다."
참고로 sudo에는 몇 가지 대책이 있습니다.
sudo
tty
대신 에서 읽으 stdin
므로 alias sudo='tee -a /tmp/sudo-password | sudo'
중단됩니다 sudo
(그러나 비밀번호는 캡처 함).