반응형

워게임/Root Me 108

[Root Me] Known plaintext - XOR - 암호학 / HxD

Root Me에서 제공하는 xor 관련 암호학 문제 제목이 Known plaintext 인데 Known plaintext란 한글로 기지평문(공격)으로 공격자가 어떤 암호문과 그에 대한 평문을 알고 있을때 해독하는 방법이다. 문제에서는 ch3.bmp 파일이 주어진다. 파일이 깨진듯 내용은 보이지 않는다. HxD로 파일을 열어보면 맨 앞부분이 24 2C로 시작하는 것을 볼 수 있다. BMP 파일은 기본적으로 42 4D로 시작되어야 한다. 문제 제목이 XOR이니 어떤 키값으로 XOR 되어서 파일 시그니처가 변했고, 그에 따라 윈도우에서 BMP 파일을 인식하지 못하는 것이다. 파일 시그니처로 알고있는 42 4D 가 바로 평문을 알고있는 것이다. CyberChef(https://gchq.github.io/Cybe..

워게임/Root Me 2023.08.19

[Root Me] File - PKZIP - 암호학 / John the Ripper

Root Me의 Cryptanalysis 카테고리에 제공된 암호학 문제 사실 암호학이라기 보단 그냥 크랙하는 문제이다. 문제에서 제공되는 것은 ch5.zip 파일이다. 당연하겠지만 이 파일의 압축을 풀기위해선 비밀번호가 요구된다. 비밀번호가 걸린 zip 파일을 크랙하는 것은 이미 블로그에서 많이 다뤘었다. John the Ripper 도구를 사용하면 된다. John the Ripper 여러가지 비밀번호를 crack 해주는 기능을 가지고 있다. zip2john > hash 명령어로 hash 파일을 생성해준 다음 john --wordlist= hash 명령어로 비밀번호를 crack 해주면 된다. 잠시 기다리면 금방 결과가 나온다. 비밀번호가 상당히 간단한데.. 너무 성의없이 문제를 만든건 아닌가 싶다. 압축..

워게임/Root Me 2023.08.16

[Root Me] Shift cipher - 암호학 / Python

Root Me에서 제공하는 암호학 문제 약간의 코딩이 필요하다. 문제에서 주어지는 것은 ch7.bin 파일이다. 해당 파일을 HxD로 열어봤더니 내용에 일반적이지 않은 문자들까지 섞여있는것을 확인했다. Shift cipher 이고 쉬운 난이도의 문제라 단순한 카이사르 암호나 rot 로 풀수 있을줄 알았는데 그렇지 않았다. text = open('ch7.bin','rb').read() i = 0 while i < 20: print(''.join([chr(c - i) for c in text])) i += 1 문제푸는 코드는 아주 단순하게 작성할 수 있다. ch7.bin 파일을 rb 로 읽어서 각 문자열에 조금씩 값을 늘려가며 빼주는 것이다. 테스트 삼아 i 를 20 미만으로 작성해서 돌려봤는데 금방 플래그..

워게임/Root Me 2023.08.14

[Root Me] Hash - SHA-2 - 암호학

SHA 해시함수와 관련된 암호학 카테고리 문제 문제 설명을 보면 전송중에 세션을 인터셉트 당했는데 해시 포맷이 알 수 없는것처럼 보인다고 한다. 정답은 SHA-1 해시로 제출하라고 한다. 문제에서 주어지는 해시값은 위와 같다. 가만보면 조금 이상한걸 발견할 수 있는데 해시값을 표현할땐 16진수를 사용하기 때문에 0 ~ 9의 숫자와 a ~ f 까지의 알파벳이 사용된다. 그런데 중간에 뜬금없이 k 가 끼어있다. 주어진 해시값의 길이를 계산해보니 65 글자였는데 *4를 하면 260 이 된다. 그런데 해시 크기가 260인 해시 알고리즘은 존재하지 않는다. 만약 k를 빼게 된다면 64글자가 되고, *4 하면 256 비트가 되니 k가 중간에 인터셉트 되어서 임의로 삽입된 글자일거라 판단했다. 온라인 해시 크랙 사이..

워게임/Root Me 2023.07.30

[Root Me] P0wn3d - 웹해킹 / LFI

LFI 와 관련된 웹해킹 문제 쉽게 생각했는데 생각보다 오래걸렸다. 문제는 소스코드와 함께 접속할 수 있는 환경이 주어진다. 문제페이지에 들어가면 이런 허름한 사이트가 나온다. 아래쪽에 Powered by CMSimple 라고 적혀있는게 보이는데 검색해보니 CMSimple 가 php 로 만들어진 콘텐츠 관리 시스템이라고 한다. 대놓고 적어놓은걸 보니 저기에 취약점이 있을거라고 생각했다. https://www.exploit-db.com/exploits/5700 CMSimple 3.1 - Local File Inclusion / Arbitrary File Upload CMSimple 3.1 - Local File Inclusion / Arbitrary File Upload EDB-ID: 5700 CVE: 2..

워게임/Root Me 2023.07.08

[Root Me] Deleted file - 포렌식 / FTK Imager

간단한 파일 포렌식 문제 문제 제목이 문제를 푸는 힌트가 된다. 문제 설명을 보면 사촌의 USB에서 이름과 성을 찾아내라고 한다. 문저에서 주어진 파일은 ch39 파일이다. 확장자가 없는데 HxD 를 이용해 해당 파일을 열어보면 파일 맨 앞에 뭔가 파일명처럼 생긴 usb.image 가 보이고, 중간엔 알수없는 숫자들이 써있다. 이렇게 생긴건 .tar 압축파일일 가능성이 높다. 파일 이름을 ch39.tar 로 바꾼 뒤 압축을 풀면 정상적으로 압축이 해제된다. 거긴 아까봤던 usb.image 가 들어있는데 이 파일은 HxD 로 열어봤을 때 VBR 같은 부분이 보이는걸 보니 FTK Imager 로 열어보면 될 것 같다. FTK Imager 를 실행하고 Imager File 을 선택해서 usb.image 를 지..

워게임/Root Me 2023.07.05

[Root Me] sudo - weak configuration - 포너블

Root Me 에서 제공하는 sudo 명령어 관련한 문제 웹을 이용해 원격으로 접속할 수 있는 WebSSH 주소와 Username, Password 가 함께 주어진다. WebSSH 로 접속해서 ls -al 를 입력해봤다. readme.md 파일과 ch1cracked, notes 디렉토리가 보인다. 우선 readme.md 파일의 내용을 살펴보니 /challenge/app-script/chq/ch1cracked/ 경로에 있는 .passwd 파일을 읽는것이 목표라고 설명해주고 있다. 해당 파일은 app-script-ch1-cracked 에게만 r 권한이 부여되어 있어 app-script-ch1 인 현재 계정으로는 내용을 읽을 수 없다. 문제 제목부터 sudo 이니 sudo 명령어를 사용해본다. Super Us..

워게임/Root Me 2023.06.12

[Root Me] Python - input() - 포너블

파이썬과 관련된 포너블 문제 파이썬 스크립트의 취약점을 이용해 .passwd 파일의 내용을 읽어 비밀번호를 획득하면 된다. 문제에서는 파이썬 소스코드와 원격 접속할 수 있는 WebSSH 링크가 제공된다. WebSSH 를 이용하면 이렇게 원격에서 웹으로 작업할 수 있다. ls -al 을 해보니 .passwd 와 ch6.py, setuid-wrapper 파일이 보인다. ch6.py 외에는 모두 app-script-ch6-cracked 소유의 파일이다. 당연하게도 .passwd 파일은 권한이 없어 읽을 수 없다. setuid-wrapper.c 파일을 보면 setreuid 를 사용해서 ch6.py 파일을 실행시킨다. 위에서 setuid-wrapper 파일을 봐도 권한에 s 가 들어가 있는게 보인다. setuid..

워게임/Root Me 2023.06.10

[Root Me] It happens, sometimes - 웹해킹 / Verb tampering / Burp Suite

Root Me 웹해킹 문제에서 다뤘던 기법에 대한 실전느낌의 문제이다. HTTP - Verb tampering 문제와 관련있다. (https://hackingstudypad.tistory.com/120) 문제의 목표는 administration section 에 접근하는 것이다. 문제 페이지에 접속하면 이런 허접한 홈페이지가 나온다. 주소창에 /admin 을 입력했더니 이렇게 팝업이 뜨면서 id, pw 를 입력받는다. /admin 경로가 administration section 인게 확실한것 같다. 문제는 id, pw 를 모른다는 것이다. Burp Suite 라는 프록시 도구를 이용해 한번 패킷을 살펴보았다. /admin 경로에 접근할때 GET 메소드를 이용해서 Request 를 보낸다. Response..

워게임/Root Me 2023.06.08

[Root Me] File - Insecure storage 1 - 암호학 / firefox_decrypt

Root Me 에서 제공하는 암호학 문제 뭔가 포렌식 쪽으로 분류되어도 상관없을듯한 문제이다. 암호를 푸는거지만 암호 관련된 지식보단 포렌식 쪽이 더 많지 않을까.. 문제는 user의 password 를 찾는것이다. 문제에서 주어지는 압축파일의 압축을 풀면 이렇게 firefox 라는 폴더를 찾을 수 있다. 폴더의 내용을 보면 .splite, key3.db 이런 파일들이 보이는 것으로 보아 firefox 브라우저를 사용할때 생성되는 각종 아티팩터들이 저장되는 폴더를 통채로 압축시켜서 업로드 한것 같다. 여기서 살펴볼 것은 signons.sqlite 파일이다. 해당 파일은 DB Browser for SQLite 이라는 도구로 내용을 확인할 수 있다. moz_logins 테이블을 확인해보면 www.root-m..

워게임/Root Me 2023.06.06
반응형