분류 전체보기 259

OverTheWire_Level 18 -> Level 19

Lv 19 > putty를 사용하여 bandit18로 접속을 시도하면 창이 자동으로 꺼져버려서, 아래 사진처럼 Close window on exit의 설정을 "Never"로 설정 후 접속을 시도해보겠습니다. 분명 로그인은 되나, 접속하면 자동으로 튕겨나옵니다. 따라서 이번 포스팅에서는 bandit17로 접속하여 시작하겠습니다. bandit17로 로그인 후 bandit18의 홈 디렉터리에 위치한 readme 파일을 발견할 수 있었으나, 역시 권한이 없다고 나옵니다. ssh --help 명령으로 찾아봐도 힌트가 부족해서 꽤나 고전했습니다. -t 옵션을 사용해서 pseudo-tty 할당을 강제해야된다고 합니다. bandit19 password is : awhqfNnAbc1naukrpqDYc..

리눅스 워게임 2023.01.21

OverTheWire_Level 17 -> Level 18

Lv 18 > 다음 비밀번호는 passwords.new 안에 있다고 합니다. 파일의 내용이 변경되었으니, 파일을 비교하는 diff 명령을 사용하겠습니다. diff 명령은 파일들의 내용을 각 라인마다 비교할 수 있습니다. (Compare FILES line by line) 현재 상황에서 옵션은 없어도 되니, 명령은 아래와 같이 사용하겠습니다. bandit17@bandit:~$ diff [FILE_1] [FILE_2] ∇ bandit17@bandit:~$ diff passwords.old passwords.new 42c42는 즉, 1번째 파일인 passwords.ord의 42번째 행과 2번째 파일인 passwords.new의 42번째 행이 다르다는 것을 의미합니다. 그 아래 부등호 사이의..

리눅스 워게임 2023.01.20

OverTheWire_Level 16 -> Level 17

Lv 17 > 이번에도 역시 bandit16의 암호가 필요하기 때문에 먼저 bandit16의 비밀번호를 복사하고 시작하겠습니다. 31000 ~ 32000 포트 범위 내에서 서버가 수신대기중인 포트를 찾아야 합니다. OverTheWire_Level 14 -> Level 15 포스팅에서 사용했던 nc (NetCat)를 사용해서 검색하겠습니다. bandit16@bandit:~$ nc -z -v localhost 31000-32000 그러나 해당 명령을 사용하면 아래 사진처럼 연결 실패까지도 보여주기 때문에, 찾아내기가 쉽지는 않습니다. 따라서 리다이렉션과 grep 명령을 조합하여 보기 쉽게 하겠습니다. ( nmap으로 TCP Connection Scan을 해도 무방합니다. ) 총 5개의 포..

리눅스 워게임 2023.01.19

OverTheWire_Level 15 -> Level 16

Lv 16 > 다음 단계로 넘어가기 위해서는 현재의 암호가 필요하다고 합니다. 먼저 현재 비밀번호(bandit15 Password)를 복사해줍니다. SSL encryption을 사용해서 접속을 해야하기 때문에, openssl을 사용하겠습니다. OpenSSL은 [ 암호학 ] 공개 키 암호_2 (RSA) 포스팅에서 사용했던 적 있습니다. Standard commands를 훑어보면 s_client를 찾을 수 있습니다. openssl s_client를 사용해서 접속하면 될 것 같습니다. 대략적으로 openssl s_client의 사용법은 아래와 같습니다. openssl s_client [options] [host:port] openssl manpage까지 참고하여 s_client의 설명 및 ..

리눅스 워게임 2023.01.18

OverTheWire_Level 14 -> Level 15

Lv 15 > bandit15의 비밀번호는 bandit14의 비밀번호를 localhost의 port : 30000에 제출하면 된다고 쓰여있습니다. 일단 먼저 bandit14의 비밀번호를 복사해두고 시작하겠습니다. 힌트를 보니 처음보는 명령어가 보여서 구글링했습니다. nc는 Netcat이라고 합니다. Windows, Linux, Solaris 등 다양한 시스템에서 실행이 가능하며 대부분의 Linux 배포판에 설치되어 있다고 합니다. Client Mode와 Listener Mode 두 가지 모드로 나뉩니다. 설명을 보니 Listener Mode로 30000번 포트를 Listening 하고 있는 것 같습니다. Linux에서 Netcat의 사용법은 아래와 같습니다. nc [옵션] [대상 시스..

리눅스 워게임 2023.01.17

OverTheWire_Level 13 -> Level 14

Lv 14 > 이번 비밀번호는 /etc/bandit_pass 디렉터리 아래의 bandit14 파일 안에 저장되며, bandit14 사용자만 읽을 수 있습니다. 해당 디렉터리에서는 bandit13 파일만을 열 수 있는 것을 확인했습니다. (확인해보니 실제 bandit13으로 로그인하기 위한 비밀번호가 맞았습니다) 해당 디렉터리에서 다음 레벨에 접속할 때 사용할 수 있는 SSH Key가 저장되어 있는 줄 알았더니, 홈 디렉터리에 있었습니다... ssh 명령어의 도움말을 살펴보니, -i 옵션으로 파일을 불러오면 될 것 같습니다. ssh 명령어는 보통 [ ssh 계정이름@IP주소 ] 형식으로 되어있으니, -i 옵션으로 파일도 지정해준 후 접속 ...을 하려고 했으나 port 22번 어쩌구 하..

리눅스 워게임 2023.01.16

OverTheWire_Level 12 -> Level 13

Lv 13 > 다음 단계로 넘어가려면 data.txt 파일을 확인해야 합니다. 파일을 열어보면 Wireshark에서 자주 봤던 익숙한 형태의 데이터가 저장되어 있습니다. 문제에서 /tmp 아래에 디렉터리를 만드는 것을 추천하고 있기 때문에 먼저 /tmp 아래에 ITSTDY 디렉터리를 생성 후, 해당 디렉터리에 홈디렉터리에 있는 data.txt 파일을 복사하겠습니다. 찾아보니 hexdump 즉, 16진수 덤프파일을 생성하거나 evert(reverse)할 때 xxd를 사용하면 된다고 합니다. 리눅스 매뉴얼 페이지 - xxd (1) Linux Man Pages 우리는 hexdump 파일이 손에 들어왔기 때문에 binary file로 reverse해줘야 합니다. reverse 옵션은 -r인 ..

리눅스 워게임 2023.01.15

OverTheWire_Level 11 -> Level 12

Lv 12 > 다음 단계로 넘어가려면 data.txt 파일을 확인해야 합니다. lowercase(소문자, a-z)와 uppercase(대문자, A-Z)가 13 positions rotated 되었다고 쓰여있습니다. 이번 문제는 암호학에 관련된 문제로 보입니다. 암호학에 대해서는 해당 블로그 "현대 암호학 기초" 카테고리에서 간단히 정리해두었습니다. 아마도 시저 암호 ( 카이사르 암호; Caesar ) 키 13으로 암호화한 암호문같습니다. 더보기 https://www.cryptoclub.org/#vCiphers CryptoClub www.cryptoclub.org 위 사이트(더보기)에서 Caser 선택 후 암호문과 키를 입력합니다. 이후 Decrypt => Quick Answer를 눌러..

리눅스 워게임 2023.01.14

OverTheWire_Level 9 -> Level 10

Lv 10 > 다음 단계로 넘어가려면 data.txt 파일에서 여러 개의 " = " 문자 뒤의 사람이 읽을 수 있는 문자열을 확인해야 합니다. cat 명령어와 grep 명령어를 조합하여 사용했더니 바이너리 파일 어쩌구 하면서 결과를 알려주지 않았습니다. 따라서 문자열만 추출할 수 있도록 strings 명령어를 사용하겠습니다. 한 눈에 봐도 비밀번호같은 문자열이 보이긴 하지만, 뭔가 이상해서 문제를 다시 확인했습니다. 여러 개의 " = " 문자임을 다시 확인하고, 아래와 같이 명령을 사용하니 한 눈에 들어왔습니다. the password is = G7w...로 되어있었습니다.

리눅스 워게임 2023.01.12