Wargame/bandit wargame

1. 문제 홈 디렉터리에 setuid 바이너리가 있습니다.이것은 커맨드라인 인자로 지정한 포트에 대해서 localhost에 연결을 만듭니다.그 후 텍스트 한 줄을 읽고 이전 단계의 비밀번호와 비교합니다. 2. 풀이 suconnect 라는 실행 파일은 TCP를 사용해서 localhost에 있는 지정된 포트에 연결한다고 합니다.그렇다면 bandit20에 2개의 접속을 시도하여 한 개는 nc로 포트를 개방하고 한 개는 비밀번호를 보내는 식으로해결해보겠습니다.  1025번으로 포트를 열고 접속하여 비밀번호를 전송하면 됩니다.
1. 문제 홈 디렉터리에 setuid 바이너리를 사용해야 합니다. 2. 관련 지식setuidsetuid(set user ID upon execution)는 실행 파일에 설정할 수 있는 특수 접근 권한입니다.이 권한이 설정된 실행 파일을 실행하면, 해당 프로그램은 파일 소유자 권한으로 실행된다.  결론적으로는 사용자가 setUID 설정이 적용된 파일을 실행하는 동안은 파일 소유자의 권한이 부여됩니다. 3. 풀이 해당 bandit20-do를 확인해보니   euid를 보면 일시적으로 bandit20의 소유자 권한을 얻을 수 있다.   그렇다면 bandit20을 실행해서 비밀번호를 읽어오면 됩니다.
1. 문제 readme 디렉터리에서 읽을 수 있는데 누군가가. bashrc를 수정해서 SSH 접속을 하면 로그아웃 되게 해 놨습니다. 2. 풀이 Bash 셸을 사용할 수 없으니 다른 셸을 사용해서 접속하면 됩니다.
1. 문제 두개의 파일중에 서로 다른 문자열이 있는것을 찾으면 비밀번호를 준다고 합니다.  2. 명령어diff두 텍스트 파일 간의 차이점을 비교하고 결과를 표시하는 데 사용 diff [옵션] 파일1 파일2 -c: 3줄의 컨텍스트를 포함하여 변경 사항을 보여줍니다. -u: 통합된 형식으로 변경 사항을 보여줍니다.-r: 서브 디렉터리를 포함하여 두 디렉터리 내의 모든 파일을 비교--brief: 파일이 다른지만 보고, 구체적인 차이점은 보고하지 않습니다. 3. 풀이 > 은 제거된 부분입니다. 따라서 비밀번호는 hga.... 입니다.
1. 문제 비밀번호를 localhost 31000 ~ 32000 사이 포트 중 하나에 제출하여 검색할 수 있다고 합니다.  2. 명령어Nmap호스트 탐색 및 해당 호스트의 서비스, OS, 개방 포트를 식별하는 데 사용 nmap [target] (단일 호스트 스캔)nmap -p [port number] [target] (포트 스캔)nmap -p [port range] [target] (여러개의 포트 스캔)nmap [starting IP]-[ending IP] (네트워크 범위 스캔) 3. 풀이포트 포워딩을 시작해서 열려있는 포트를 찾아봅시다.현재 5개의 포트가 열려있습니다. 한 개 씩 비밀번호를 날려봅시다.nmap -p 31000-32000 localhost  echo "JQttfApK4SeyHwDlI9SX..
1. 문제 SSL 암호화를 사용해서 localhost 30001 포트로 비밀번호를 제출하면 됩니다. 2. 풀이 echo "jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt" | openssl s_client -connect localhost:30001 -ign_eof
1. 문제 다음 레벨의 비밀번호는 현재 레벨의 비밀번호를 localhost의 30000 포트로 제출하면 된다고 합니다.  2. 명령어nc네트워크에 연결을 읽고 쓰기, 포트 스캔, 리스닝 모드, 클라이언트-서버 테스트 작어 수행nc [옵션] [호스트 주소] [포트 번호] (클라이언트 모드에서 사용)nc -l [옵션] [포트 번호] (서버 모드에서 사용)-l: 리스닝(수신 대기) 모드로 실행합니다.-p [포트 번호]: 로컬 포트 번호를 지정합니다.-u: UDP 모드로 실행합니다.-v: 작업 중 발생하는 메시지를 자세히 출력합니다.-w [초]: 연결 시도 후 대기할 최대 시간(초)을 지정합니다.-e [프로그램]: 연결이 성공하면 지정된 프로그램을 실행합니다.3. 풀이 문제의 의도대로 localhost 3000..
1. 문제 다음 비밀번호는 /etc/bandit_pass/bandit14 에 저장되어 있고 사용자 bandit14만 이것을 읽을 수 있다. 하지만 나는 다음단계로 가는 SSH 개인키를 얻을 수 있다.  2. 명령어SSHssh [계정명]@[원격기기의 주소] ( 기본 사용법 )ssh -p [포트번호] [계정명]@[원격기기의 주소] (기존 포트(22)가 아닌 다른 포트를 사용하여 접속)ssh -i [개인키 파일 경로] [계정명]@[원격기기의 주소] (개인키 파일을 사용하여 접속) 3. 풀이 현재 개인 sshkey를 가지고 있습니다. 따라서 해당 키를 가지고 bandit14유저에 접속해보겠습니다.   해당 코드로 ssh 원격 접속을 시도합니다.포트는 2220이고 ssh 개인키를 가지고 bandit14이라는 ..
1. 문제 반복적으로 압축된 hexdump 파일의 data.txt 파일에 비밀번호가 저장되어 있습니다. /tmp 아래에 작업 디렉터리를 만들고 datafile을 복사하고 이름을 변경하라고 한다.  2. 풀이 data.txt를 확인해보니 ASCII 문자로 되어있는 hexdump 파일입니다. 문제의 조언대로 /tmp 아래에 작업 디렉터리를 만들겠습니다.   해당 명령어로 /tmp 아래에 woo 디렉터리를 만들었습니다. 이후 cp 명령어로 해당 파일을 복사했습니다. mkdir /tmp/woocp data.txt /tmp/woo  자 이제 hexdump로 되어있는 파일을 다시 원문으로 바꿔봅시다. xxd 명령어는 읽을 수 없는 데이터를 16진수로 형식의 데이터의 hexdump로 바꿔주거나 다시 복구 시킵니다.따..
스우스우03
'Wargame/bandit wargame' 카테고리의 글 목록