일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- sql injection bypass
- 웹해킹
- WebHacking
- Wargame
- web-server
- pythonprogramming
- hackthissite
- 웹해킹 기초
- web hacking
- root me
- 테크트렌드
- Over The Wire
- CTF
- burp suite
- lord of sqlinjection
- 프로그래밍
- write up
- 코딩
- webhacking.kr
- overthewire
- 정보보안
- system hacking
- 개발자
- 인공지능
- 사이버보안
- SQL Injection
- 웹개발
- geminipro
- Bandit
- XSS GAME
- Today
- Total
목록운영체제/Bandit (9)
컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지

화가나는 문제였다.... 정말 어떻게 하면 좋을까 고민을 많이 한 문제였다. 일단 16에 로그인하고 들어간 다음에 포트 로컬 호스트가 31000~32000 사이라고 하여 nmap 명령어를 사용하여 한번 찾아보았다. 사용가능 포트가 5개 나왔다. 31046 31518 31691 31790 31960 5개 크지 않은 숫자이므로 하나씩 다 들어가 보았다. 그랬더니 openssl s_client -connect localhost:31790에 들어가 bandit16번 패스워드를 입력했더니 Correct!와 함께 BEGIN RSA PRIVATE KEY를 얻을 수 있었다. 이 뒤로는 level 13에서 했던 것 대로 하면 된다. mkdir을 사용해서 /tmp/eric1 이라는 파일 하나를 만들고 얻었던 BEGIN R..

이번 문제를 요약하자면 전 단계들과 마찬가지로 data.txt에 암호가 저장되어 있고 이것은 반복적으로 압축된 파일의 16진수 덤프이다. 파일을 압축해제하고 패스워드를 찾는 것이 이번 문제의 포인트이다. 문제에서 친절하게 설명을 더 해주었는데 이 문제는 /tmpin에서 mkdir을 사용하여 작업할 수 있는 디렉토리를 만드는 것이 유용하다고 한다. 그런 다음 cp를 사용하여 데이터 파일을 복사하고 mv를 사용하여 이름을 변경한다. 한번 문제가 알려주는 데로 따라가 보자 일단 /tmp에 ericls 디렉터리를 만들고 data.txt를 가져오는 것까지 실행했다. 그리고 문제에서 이번 data.txt파일은 반복적으로 압축된 파일의 16진수 덤프라 했기 때문에 파일을 16진수로 보여주는 xxd 명령어를 사용했다...

이번 문제는 좀 복잡하다. 이것 말고도 한참 더 파일들이 많다..... 그렇기 때문에 우리는 밑에 설명되어있는 파일의 속성을 보고 값에 맞는 파일을 찾아 패스워드를 알아내야 한다. human-readable 인간이 만든 1033 bytes in size 1033바이트 크기 not executable 실행할 수 없는 여기서 2번째 속성인 1033바이트 크기를 이용해 파일을 찾아보자 일단 cd inhere로 inhere로 들어간 다음에 1033바이트 크기의 파일을 모두 찾는 명령어인 find ./* -size 1033c 를 입력하여 파일을 찾으면 파일이 1개 나온다. 그럼 cat을 이용해 파일을 읽으면 풀이 성공!

이번에는 inhere 디렉터리의 숨겨진 파일에 저장된 패스워드를 찾는 문제이다. ls를 사용하여 내용을 보면 inhere이라는 파란 글씨로 되어있는 파일이 있다 cat을 사용하여 읽어보니... 라고 뜬다.. 흠... 아마 읽을 수 없는 것 같다. 파일이 숨겨져 있다고 하니 find 명령어를 사용해 보자. 오호라.. inhere 과 inhere/.hidden 파일이 검색되었다. inhere/. hidden파일이 숨겨져 있었던 것이다. 그럼 cat을 이용하여 inhere/.hidden 파일을 읽어보면 패스워드 등장! 이것으로 Bandit Level 3 → Level 4 클리어!

이번 문제의 목표는 공백이 있는 파일 내용을 읽는 것이다. 이렇게 파일 이름을 보면 spaces in this filename이므로 cat spaces in this filename이라고 명령어를 입력하면 오류가 발생한다. 이렇게 공백이 있는 파일을 읽으려면 ' 또는 "를 사용하여 파일 이름을 묶어 줘야 읽을 수 있다. 즉 cat 'spaces in this filename' 또는 cat "spaces in this filename"을 입력하면 패스워드를 읽을 수 있다. 여기서 패스워드를 보면 숫자 0과 알파벳 O가 똑같이 생겨서 구분하기 어렵다 그러므로 복붙을 사용해 패스워드를 메모장에 저장해 두고 로그인하는 것이 꿀팁이다. 이것으로 Level 2 → Level 3 클리어!

이번 목표는 홈 디렉터리에 있는 -라는 파일에 저장되어 있는 password를 찾아 bandit2로 로그인하는 것이다. 문제를 풀기위해 필요한 명령어는 전 단계와 동일하고 Helpful Reading Material을 읽어보면 구글에 dashed filename을 검색해 보라고 한다. 검색을 해보자 문제를 풀기 위한 정보를 얻을 수 있었다.-로 시작하는 파일을 읽기 위해 cat -를 하면 오류가 발생한다. 이런 경우 cat < -라고 해주어야 파일내용을 읽을 수 있다고 한다 (꿀팁!) 이렇게 패스워드를 찾고 로그인 해주면 성공!

이번에는 0~1로 가는 문제이다. 문제의 목표는 The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game. (다음 단계의 암호는 홈 디렉터리에 있는 readme라는 파일에 저장됩니다. SSH를 사용하여 bandit1에 로그인하려면 이 암호를 사용합니다. 레벨에 대한 암호를 찾을 때마다 SSH(포트 2220)를 ..