Wargame

1. 문제이미지 파일안에서 숨겨진 메세지를 찾아야 한다. 2. 풀이zsteg로 분석했더니 바로 나왔다.여기서 zsteg는 PNG 파일과 BMP 파일 안에 숨겨진 정보를 찾기 위해서 사용되는 스테가노그래프 검출 도구이다.zsetg -a 를 하면 모든 알려진 방법으로 시도해본다.
1. 문제복호화 코드를 지웠다고 하네요…복호화 코드를 완성하면 될것 같습니다. 2. 코드 분석이러한 조건이 존재하고p 값을 알아내야 합니다.  전체적인 코드의 흐름을 살펴보면 n, key1, key2 값을 함수를 호출해서 얻고 그것으로 암호화 합니다.  평문을 입력하면 문자 한개 한개를 모두 ASCII 값으로 반환합니다.  n, key1, key2는 key 2 ≥ key1 일 때 까지 0~100 까지의 난수를 얻는다.하지만 현재 key2는 95 이므로key1은 95보다 작거나 같습니다.  ASCII 값으로 반환된 p를 int형으로 변환하고 n, key1, key2 와 함께 enc 함수에 전달  q 값을 구하는 수식을 표현해보면;;;따라서 p는 밑의 사진과 같은 식이 나옵니다. 3. exploit 코드 작..
1. 문제base64 공부 후 자신만의 암호를 만들었다고 합니다.힌트에서 32개의 문자를 가지고 base32를 드림이가 만든것 같아요 2. 풀이https://dntmdgns03.tistory.com/121해당 포스트에서 자세히 알 수 있듯이bsae64는 byte 크기로 나누고 6bits로 그룹화 하여 테이블에서 문자와 매칭하는 방식입니다.6bits인 이유는 64개의 수를 모두 표현하기 위해서 입니다.하지만 현재 드림이가 만든 인코딩 방식은 32개의 문자 즉 2^5 이므로 5bits씩 그룹화 하여 인코딩 하는 방식그렇다면 base64 인코딩 방식을 역으로 구성하는 데신 인코딩 문자열을 6bits가 아닌 5bits 2진수로 변환하면 됩니다.  먼저 인코딩 테이블을 만들어 줍니다.이 후 패딩 처리된 문자를 제..
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
스우스우03
'Wargame' 카테고리의 글 목록