SMALL

Wargame/bandit 31

[리눅스] Bandit level 19 -> level 20

[문제] [풀이] > ls -al 명령어를 통해 bandit20-do 파일을 확인할 수 있다. 현재 bandit20-do 파일에는 setuid 권한이 있는 것을 알 수 있다. 즉, 현재 접속한 계정은 bandit19이지만 bandit20의 권한을 잠시동안 가질 수 있다는 것을 의미한다. 예를 들자면, /etc/bandit_pass/bandit20 파일은 bandit20만 읽을 수 있다. 그러나 setuid 는 bandit19 에서도 /etc/bandit_pass/bandit20 파일을 읽을 수 있다. 해당 파일을 실행시켜보면 다음과 같다. ./bandit20-do 뒤에 명령을 입력하면 되는 구조이다. 이런식으로 사용해볼 수 있겠다! 두 가지 명령을 동시에 시도해보고 싶다면, 세미콜론을 이용해 사용할 수 ..

Wargame/bandit 2021.07.15

Bandit level 17 -> level 18

[문제] [풀이] ls -al로 passwords.new 파일과 password.old 파일이 존재함을 확인할 수 있다. 파일 비교 명령어는 cmp, diff, diff3, comm 등이 있다. 문제의 힌트로는 diff가 주어졌지만, 4개의 명령에 대해 모두 진행해보았다. ① diff diff는 옵션에 따라 출력결과가 달라지는데, -d 명령어를 사용하니 가장 직관적이고 핵심적인 결과만이 출력되었다. 42c42는 각각의 파일의 42번째 줄에 차이가 발생함을 뜻한다. passwords.new에 password가 존재한다고 하였으니, kfBf3eYk5BPBRzwjqutbbfE887SVc5Yd가 bandit18의 password가 된다. 옵션 -c는 앞뒤의 상황도 보여주어 흐름을 알 수 있었다. 차이가 발생하는..

Wargame/bandit 2021.07.03

Bandit level 16 -> level 17

[문제] [풀이] 먼저, localhost에 대해 nmap를 실행한 결과, 31000에서 32000 사이의 포트가 보이지 않았다. 이에 스캔할 포트의 범위를 지정하여 5개의 포트가 열려있는 것을 확인할 수 있었다. 이 중, 인증을 주는 포트는 단 한가지. 아쉽지만 하나씩 시도해봐야 했다. 단순히 nmap 했을 때 나오는 포트는 어떤 포트들인지? 범위를 지정한 것도 open 상태의 포트를 출력한 것인데, 왜 nmap만 사용하면 22, 113, 30000 포트만 나올까? ① 31046 31046 포트로 openssl 연결하니 인증이 되지 않았다. ② 31518 31518 포트는 openssl을 지원하는 것 같았지만 현재의 password를 입력하였을 때 어떠한 결과도 얻을 수 없었다. ③ 31691 3169..

Wargame/bandit 2021.07.03

Bandit level 15 -> level 16

[문제] [풀이] s_client This implements a generic SSL/TLS client which can establish a transparent connection to a remote server speaking SSL/TLS. It's intended for testing purposes only and provides only rudimentary interface functionality but internally uses mostly all functionality of the OpenSSL ssl library. -> 원격 연결에 대한 투명한 연결을 위해 testing 목적만으로 사용되고, 기본적인 인터페이스 기능만 제공함. s_server This implements ..

Wargame/bandit 2021.05.05

Bandit level 14 -> level 15

[문제] [풀이] > telnet 명령으로 localhost 를 30000 번 포트로 접속하여 bandit14의 패스워드를 제출하면 bandit15의 패스워드가 출력된다. > localhost의 ip 주소는 127.0.0.1이므로 localhost 대신 ip주소로 입력해도 동일한 결과가 출력된다. > nc 명령어로도 동일하게 패스워드를 획득할 수 있다. [핵심] telnet > 원격 접속 명령어, 네트워크 관리 프로토콜 > 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 TCP/IP 기반 네트워크 프로토콜 > 스위치에 연결된 수백대의 컴퓨터 ip, 맥 주소 관리 용이 > 보안성 미보장 (ssh 와의 차이) > 텔넷 프로토콜은 가상 텔레타이프의 개념에 기반을 두고 있으며, 7비트 ASCII 문자 집합을 이용한..

Wargame/bandit 2021.05.04

Bandit Level 13 -> Level 14

[문제] [풀이] > ls -al 명령어를 통해 sshkey.private 파일을 확인할 수 있다. > cat 명령을 통해 RSA 키를 확인할 수 있다. > ssh 의 i 옵션을 이용해 bandit13에 주어진 개인키를 이용해 bandit14에 접속할 수 있다. > localhost 는 컴퓨터 네트워크에서 사용하는 루프백 호스트명으로 자신의 컴퓨터를 의미하며, 현재 ip 공간을 의미한다. (websecurity.tistory.com/98) > /etc/bandit_pass/bandit14 파일을 확인하면 패스워드를 획득할 수 있다. [핵심] SSH/OpenSSH/Keys Public an Private Keys > 공개키 인증은 패스워드 인증보다 안전하다. > 공개키와 개인키는 특별한 수학적 특성으로 아..

Wargame/bandit 2021.05.04

Bandit Level 12 -> Level 13

[문제] [풀이] > ls -al 명령어로 data.txt 파일을 확인하였다. > file 명령어를 통해 data.txt 가 text 형식임을 확인하였다. > cat 명령어를 통해 data.txt 파일을 실행한 결과 16진수로 나열되어 있어 원하는 패스워드를 찾을 수 없다. > mkdir 명령어를 통해 /tmp 디렉토리 아래에 myname123이라는 디렉토리를 형성하였다. > cp 명령어를 통해 data.txt 파일을 새로 만든 myname123 디렉토리에 복사하였다. > ls -al 명령어를 통해 /tmp/myname123 에 data.txt 파일이 들어있음을 확인할 수 있다. > cd 명령어를 통해 /tmp/myname123 으로 이동하였다. > xxd 명령어를 통해 16진수인 data.txt 파일을..

Wargame/bandit 2021.04.06

Bandit Level 11 -> Level 12

[문제] [풀이] > ls -al 명령어를 통해 data.txt 파일을 확인할 수 있다. > file 명령어를 통해 data.txt 파일이 text 파일임을 확인할 수 있다. > cat 명령어를 통해 data.txt 에 rot13된 문자열이 들어있음을 확인할 수 있었다. > tr 명령어를 통해 문자열을 치환한 결과 패스워드를 획득할 수 있었다. > 대.소문자 모두 13만큼 이동한 위치의 알파벳으로 치환되므로 범위 지정 시, 대.소문자 모두 기입해야 한다. > (A부터 Z까지)를 (N부터 Z, A부터 M까지)로 치환, (a부터 z까지)를 (n부터 z, a부터 m까지)로 치환한다. [핵심] 1. tr(translate) 명령어 > 특정 문자를 치환하거나 삭제하는 명령어 > tr [option] 문자열1 [문..

Wargame/bandit 2021.04.04

Bandit Level 10 -> Level 11

[문제] [풀이] > ls -al 명령어를 통해 data.txt 파일을 확인할 수 있다. > file 명령어를 통해 data.txt 파일의 형태를 확인해보니 txt 파일이었다. > cat 명령어를 통해 data.txt 파일을 실행한 결과, encoding 된 문자열들이 출력되었다. > decoding 하여 패스워드를 획득해야 한다. > base64 명령어를 통해 data.txt 를 decoding 하여 패스워드를 획득할 수 있었다. > decoding option : -di [핵심] 1. base64 > 리눅스용 encoding, decoding 도구 > 문자열 또는 파일 입력가능 > 8비트 이진 데이터(실행 파일, zip 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이뤄..

Wargame/bandit 2021.04.04
LIST