전체 글

전체 글

    [Root-me] : Find the cat

    [Root-me] : Find the cat

    먼저 이미지 파일을 FTK imager로 보자. 해당 경로들 내용을 한번씩 다 본 결과, Files 경로에 우리가 필요한게 들어있었다. 지워져있는 revendications.odt 파일이다. 해당 파일을 export 해서 보면 워드 파일이 하나가 나오는데, 사진과 함께 협박 메시지가 써있다. 해당 사진의 EXIF 정보를 통해서 범인의 위치를 알고 싶었다. 그러기 위해서는 metadata 부분을 살려야 하는데, hxd 부분에서 image를 카빙해도 되지만, 확장자를 zip 파일로 변환해도 괜찮다. 이미지 정보를 얻었다. 고도정보는 필요 없으니, exif 에 맞게 위치를 변환해서 위치정보를 구글링해보자. flag : helfrantzkirch

    [Root-me] : Command & Control - level 5

    [Root-me] : Command & Control - level 5

    비밀번호 추출 volatility 이용 1. image 에서 memory profile 추출 volatility imageinfo -f ch2.dmp 2. image 에서 registry hive 추출 volatility -f ch2.dmp hivelist --profile=Win7SP1x86_23418 3. 해시값 추출. (SYSTEM & SAM) volatility -f ch2.dmp --profile=Win7SP1x86_23418 hashdump -y 0x8b21c008 -s 0x9aad6148 >hashes.txt md5 해시인 것으로 추정. -> John 의 pw를 찾아야 하므로, b9f917853e3dbf6e6831ecce60725930 가 그의 pw 이다. crackstation을 이용해서 ..

    [Root-me] : Logs analysis - web attack

    일단 파일에서 order 값이 injection 값인거 같다. base64로 인코딩 된 것 같으니 디코딩 해주자. def base64ToString(b): return base64.b64decode(b).decode('utf-8') ASC, (select (case field(concat(substring(bin(ascii(substring(password,1,1))),1,1),substring(bin(ascii(substring(password,2,1))),2,1)), concat(char(48),char(48)),concat(char(48),char(49)),concat(char(49),char(48)),concat(char(49),char(49)) when 1 then TRUE when 2 then..

    JSON Web Token (JWT) - Weak secret

    JSON Web Token (JWT) - Weak secret

    JWT 토큰 문제다. 이전에 다른 사이트에서도 다뤘던 적이 있는 문젠데. 문제 제목을 보아하니, secret key 값이 쉬운 값인가보다. 일단 토큰을 해석해보자. 이제 role 의 값은 admin으로 수정해서 올려주면 되겠다. 사실 그전에 토큰의 비밀값을 찾아줘야 하는데, 여기서는 jwtcat 라는 툴을 사용했다. 다운로드는 알아서 받아보시고...! 바로 진행하겠다. vared@DESKTOP-SGQOMCP:jwtcat$ optional arguments: -h, --help show this help message and exit -c CHARSET, --charset CHARSET User-defined charset (default: abcdefghijklmnopqrstuvwxyzABCDEFGHIJ..

    Root-me : File upload - Null byte

    Root-me : File upload - Null byte

    느낌상 웹쉘을 올려야 하는 문제인 것 같다. NB : only GIF, JPEG or PNG are accepted 다음과 같은 필터링이 있기 때문에, 다음과 같이 이름을 수정해서 올려주면 된다. 찾으라는 문구가 있을줄 알았는데 바로 패스워드가 있다. Clear!

    Root me : Directory traversal

    Root me : Directory traversal

    이전 문제에서 살짝 봤던 Directory Traversal 문제다. photo gallery 의 hidden section 을 찾아야 한다. 먼저 문제를 보면. 이런 방식으로 다뤄진다. galerie = "경로" 를 입력해주는 방식인가 보다. 이제 숨겨진 것을 찾기 위해서 galerie 값에 경로들을 입력해주면 된다. 아무 입력값도 주지 않았는데 이렇게 나왔다. 86hwnX2r가 숨겨진 디렉토리 인가보다. 들어가보니 비밀번호 파일이 있다. 이건 인텐이 아닌것 같고, 원래는 DotDotpwn 이라는 툴을 이용해서 해야 하는 것으로 알고 있다. 다음과 같이 이용하면 된다. 근데 너무 오래걸리니까 뭐 생략하고 위에 풀이로 가자. Clear!

    Rootme : Insecure Code Management

    Rootme : Insecure Code Management

    문제를 보면 생각보다 별건 없다. 다른 지정된 입력값이 있는 것도 아니고, (guest/guest or admin/admin) 인젝션이 되는것도 아니다. 그래서 문제 지문의 documentation 을 보았다. git 에 대한 거더라. 여기서 File Directory Traversal 문제가 된다. 흔히 이제 git을 사용해보면 clone 된 repository가 다음과 같이 생성이 된다. 여기 생기는 저 .git 을 통해서 내용을 보는 것이다. 한번 해보자. 뭔가가 나왔다. 여기 있는 파일들을 잘 보자. 보통 이런 정보는 로그에 기록으로 남으니까 log 를 보자. HEAD 파일이 존재하고 다음과 같은 내용이 있다. 커밋 내용이 적혀 있는데, 이제 비밀번호를 바꾼 커밋이 있으니 해당 부분을 보면 되겠다..

    Root-me :  JSON Web Token (JWT) - Introduction

    Root-me : JSON Web Token (JWT) - Introduction

    admin 으로 로그인 하라고 씌여있다. (the objective is to login as admin) JWT 문제인 만큼 JWT값을 확인해 보도록 하자. (since it is a JWT problem, lets find JWT value) 먼저 guest로 로그인하면 어떤 값이든 줄것 같다. (login as guest would give us some values...) 쿠키값에 JWT 값이 들어있었다. (I could find JWT value inside the cookie) 한번 디코딩해 보자.(lets decode it) jwt.io/ 우리는 payload 값만 admin으로 변조하면 성공이다.(we have to change the username value into admin) 여기서..