전체 글

AI | 정보 보안 | 해킹 | 컴퓨터 | IT
ls suconnect 실행파일이 보인다. suconnect를 어떻게 실행하는지 알아보자. ./suconnect 먼저, 터미널1을 열어서 임의의 포트 8888을 열어준다. nc -l -p 8888 터미널2를 열어서 suconnect 파일을 포트8888에 연결한다. ./suconnect 8888 다시 터미널1로 돌아와 현재 Level20의 password를 입력한다. 그러면 다음 Level21로 가기 위한 password가 반환된다. 터미널2에서 password가 반환되었음을 확인할 수 있다.
ls bandit20-do라는 실행파일이 보인다. ./bandit20-do 다른 user로 실행하라고 한다. ./bandit20-do id 파일의 euid, 즉 유효 사용자가 bandit20이다. bandit20으로 권한을 상승시켜 실행파일을 열어보자 ./bandit20-do cat /etc/bandit_pass/bandit20 다음 레벨로 가기 위한 password가 보인다.
Level19로 가기 위한 password는 readme 파일 안에 있다. 그러나 ssh로 접속하면 바로 로그아웃된다고 한다. ssh -p 2220 bandit18@bandit.labs.overthewire.org 역시나 접속이 되지 않고 바로 로그아웃된다. ssh 접속 명령어와 readme파일을 읽을 수 있는 명령어를 바로 함께 보내자. 큰 따옴표를 사용하여 ssh 명령어가 진행될 때는 읽히지 않도록 한다. ssh -p 2220 bandit18@bandit.labs.overthewire.org "cat readme" 다음 레벨로 가기 위한 password를 확인할 수 있다.
Level18로 가기 위한 password는 passwords.old와 비교했을 때 passwords.new에서 다른 한 줄이다. diff 명령어를 이용하면 두 파일의 내용을 비교하여 다른 부분을 추출할 수 있다. diff passwords.old passwords.new 아래에 뜨는 줄이 passwords.new에서 다른 한 줄로, 구하고자 하는 password이다.
nmap 명령어를 사용하여 대규모 네트워크를 스캔해 열려 있는 포트를 확인한다. nmap localhost -p 31000-32000 열려있는 5개의 포트로 추려졌다. 각 5개의 포트에 현재 password를 입력하면서 openssl로 접속해본다. echo cluFn7wTiGryunymYOu4RcffSxQluehd | openssl s_client -quiet -connect localhost:31790 포트 31790만 sshkey를 반환한다. sshkey를 전달할 수 있도록 파일로 만들어보자. 앞선 레벨에서 했던 방법과 똑같이 임시 디렉토리를 만든 후 거기에 저장할 것이다. cat sshkey를 입력한 후 문자열을 복사하여 붙여넣고, cntrl+D로 빠져나온다. 위 sshkey 파일을 전달하면서 ba..
앞선 레벨과 유사하지만 이번엔 SSL로 암호화하여 password를 제출해야 한다. openssl s_client -host localhost -port 30001 그리고 level15의 password를 입력하면 level16으로 가기 위한 password를 찾을 수 있다.
Level15로 가기 위한 password는 level14의 password를 localhost의 port 30000에 전달하면 찾을 수 있다. level14의 password는 level13에 나와 있었던 경로에서 얻을 수 있다. cat /etc/bandit_pass/bandit14 nc 명령어를 통해 TCP, UDP 프로토콜을 사용하는 네트워크에 접속하여 데이터를 읽고 쓸 수 있다. nc localhost 30000 그리고 level14의 password를 입력하면 level15로 가기 위한 password를 구할 수 있다.
Level14로 가기 위한 password는 앞선 레벨들과 다르게 비밀번호가 아니라 private SSH key이며, /etc/bandit_pass/bandit14에 있는데 user bandit14로만 읽을 수 있다. ls sshkey.private가 보인다. cat sshkey.private RSA private key가 보인다. 문제에서 알려준 경로로 들어가보자. cd /etc/bandit_pass/bandit14 cat bandit14 user가 bandit14가 아니므로 permission denied 된다. 앞서 구한 sshkey.private로 bandit14에 접속해보자. 홈디렉토리에서 아래 명령어를 입력한다. ssh -i sshkey.private bandit14@localhost ssh ..
password가 들어있는 data.txt 파일이 16진수로 이루어져 있으며, 여러 번 압축되었다. 이번 문제는 힌트를 직접적으로 주었는데, mkdir 명령어를 이용하여 /tmp 아래에 디렉토리를 만들고, cp 명령어를 이용하여 파일을 복사하고, mv 명령어를 이용하여 파일 이름을 바꾸어라. ls data.txt 파일이 보인다. cat data.txt 16진수로 이루어진 파일 내용을 확인할 수 있다. 일단, 문제에서 제시한대로 디렉토리를 만들어보자. mkdir /tmp/eskim mkdir 명령어를 사용하여 /tmp 아래에 eskim라는 디렉토리를 만든다. cp data.txt /tmp/eskim cp 명령어를 이용하여 data.txt 파일을 복사해 esk 디렉토리 안에 붙여넣는다. cd /tmp/esk..
je1att0
정보 보안 전공생 머릿속에