요약 >> setuid binary가 homedirectory에 있다. -> binary는 명령줄 인수에 지정한 port의 localhost에 연결 -> 그 다음 한 줄을 읽어들이고, bandit20의 passwd와 일치하는지 확인. -> 일치하면 bandit21의 password를 제공 저번 시간처럼 suconnect 이라는 파일을 실행해봄. 그랬더니 저런 문구가 나왔음. 해석하면 suconnect이라는 프로그램은 TCP를 이용해 localhost의 지정된 port에 연결한다. 만약 연결한 곳에서 일치하는 비밀번호를 받으면 다시 암호를 전송한다. 여기까지에서 우리가 필요한 것들이 다 나왔다. 1. port를 하나 열어야하므로 그에 필요한 명령어가 필요하다. 2. 그리고 두 개의 터미널이 필요하다. ( ..
1. home dir에 있는 setuid binary를 사용해야지 다음 레벨로 가는 비밀번호를 얻을 수 있다. 2. setuid binary를 이용한 후, /etc/bandit_pass 에서 찾을 수 있다. 문제에서 알아야하는 부분은 위 2개인 것 같습니다. bandit19에 로그인한 후, ls를 이용해보니 "bandit20-do"라는 파일을 확인할 수 있었습니다. * bandit20-do파일의 소유자는 bandit20임을 알 수 있다. * bandit20-do 는 setuid가 설정되어 있음을 사용자 권한 필드에 s 가 적혀있음을 통해 알 수 있다. bandit20-do 파일을 실행해보니 위와 같은 문구가 나왔다. 그래서 예문대로 실행했더니 아래와 같은 결과가 나왔다. 출력 결과, bandit20-do..
저번 시간에 대한 얘기를 먼저 기록하겠습니다. 저번 시간에 SSH를 이용하여 bandit18에 접속하면 바로 로그아웃 되는 현상이 있었습니다. 이 현상에 대해 이해하려면 우선적으로 이전 문제를 다시 살펴봐야겠네요. 위의 글을 읽으면 수정된 것이 .bashrc라는 것을 알 수 있습니다. 그럼 .bashrc에 문제가 있어서 로그인이 안된 것이라고 추측할 수 있습니다. 확인하기 위해 .bashrc가 무엇인지 확인해보죠. What is .bashrc file in Linux? - JournalDev What is .bashrc file in Linux? - JournalDev The .bashrc file is a script file that's executed when a user logs in. The f..
Problem The password for the next level is stored in a file readme in the homedirectory. Unfortunately, someone has modified .bashrc to log you out when you log in with SSH. => homedirectory의 readme라는 파일에 비밀번호가 있다. 근데 어떤 놈이 수정을 해서 SSH로 로그인을 하면 log out 하게 수정했음. 그러니 알아서 들어가 봐라!! 라며 우리에게 주어진 힌트가 엄청 적네요. Conception 아래 링크의 내용을 참고합니다. [참조 : [리눅스 명령어] ssh (tistory.com)] 앞서 배웠던 내용을 이용하는 거라 크게 추가되는 것은 없습..