▌ TRANSMISSION · [HTB]

[STARTING_POINT] Tier0 Redeemer


Redeemer

alt text

Task 1

  • 정답 및 풀이

    nmap을 이용해 타겟 머신을 스캐닝해보면,

    ┌──(kali㉿kali)-[~/Documents/openvpn/htb]
    └─$ sudo nmap 10.129.136.187 -p- -sV --open --min-rate 2000
    Starting Nmap 7.98 ( https://nmap.org ) at 2026-03-17 10:56 +0900
    Nmap scan report for 10.129.136.187
    Host is up (0.28s latency).
    Not shown: 64648 closed tcp ports (reset), 886 filtered tcp ports (no-response)
    Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
    PORT     STATE SERVICE VERSION
    6379/tcp open  redis   Redis key-value store 5.0.7
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 52.33 seconds
    • -p- -sV --open --min-rate 2000 : 모든 포트를 스캐닝, 서비스 정보(버전 등), 열린 포트만 출력, 초당 2000 패킷 이상 보내며 스캐닝

    6379 포트가 열려있는 것을 알 수 있습니다.

    정답은 6379 입니다.

Task 2

  • 정답 및 풀이

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

    • Redis : 메모리 기반 key-value store 로, 데이터를 RAM에 올려 Key → Value 형태로 매우 빠르게 읽고 쓰는 NoSQL Database 입니다. 캐시, 세션 저장, 실시간 데이터 처리에 많이 쓰이는 서비스 입니다.

Task 3

  • 정답 및 풀이

    정답은 In-memory Database 입니다. (이전 Task 참고)

Task 4

  • 정답 및 풀이

    alt text

    구글에 redis command line utility 를 검색해보면, redis-cli 가 정답임을 알 수 있습니다.

    • redis-cli : Redit 서버에 접속해서 명령을 보내는 CLI 도구

    • 단순 실행 (local)

      redis-cli
    • 원격 서버 접속

      redis-cli -h <ip> -p <port>
      • -h : 호스트 지정
      • -p : 포트 지정
    • url 형식으로 접속하기

      redis-cli -u redis://<ip>:<port>

Task 5

  • 정답 및 풀이

    정답은 -h 입니다. (이전 Task에서 다뤘습니다.)

    • 타겟 머신 redis에 접속

      ┌──(kali㉿kali)-[~/Documents/openvpn/htb]
      └─$ redis-cli -h 10.129.136.187 -p 6379
      10.129.136.187:6379> 

Task 6

  • 정답 및 풀이

    정답은 INFO 이며, Redis 공식 문서에서 확인할 수 있습니다.

    • https://redis.io/docs/latest/commands/info/

    • 타겟 머신에서 확인

      10.129.136.187:6379> info
      # Server
      redis_version:5.0.7
      redis_git_sha1:00000000
      redis_git_dirty:0
      redis_build_id:66bd629f924ac924
      redis_mode:standalone
      os:Linux 5.4.0-77-generic x86_64
      arch_bits:64
      multiplexing_api:epoll
      atomicvar_api:atomic-builtin
      gcc_version:9.3.0
      process_id:752
      run_id:d32e404ec3f25bdee2eb39ac1a0b5deea04cf444
      tcp_port:6379
      uptime_in_seconds:3908
      uptime_in_days:0
      ...

Task 7

  • 정답 및 풀이

    정답은 5.0.7 입니다.

    • nmap의 -sV 옵션 결과

      ┌──(kali㉿kali)-[~/Documents/openvpn/htb]
      └─$ sudo nmap 10.129.136.187 -p- -sV --open --min-rate 2000
      Starting Nmap 7.98 ( https://nmap.org ) at 2026-03-17 10:56 +0900
      Nmap scan report for 10.129.136.187
      Host is up (0.28s latency).
      Not shown: 64648 closed tcp ports (reset), 886 filtered tcp ports (no-response)
      Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
      PORT     STATE SERVICE VERSION
      6379/tcp open  redis   Redis key-value store 5.0.7
      
      Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
      Nmap done: 1 IP address (1 host up) scanned in 52.33 seconds
    • redis 접속 후 info 명령 결과

      10.129.136.187:6379> info
      # Server
      redis_version:5.0.7
      redis_git_sha1:00000000
      redis_git_dirty:0
      redis_build_id:66bd629f924ac924
      redis_mode:standalone
      os:Linux 5.4.0-77-generic x86_64
      arch_bits:64
      ...

Task 8

  • 정답 및 풀이

    정답은 Select 로, Redis 공식 문서에서 확인할 수 있습니다.

    • https://redis.io/docs/latest/commands/select/

    • Redis는 데이터 페이스가 숫자 인덱스로 구분되고, 기본 설정에서는 0~15까지 16개가 존재합니다.

    • Select는 이 숫자 인덱스를 받아 현재 DB를 바꾸는 명령입니다.

    • info 결과 (또는 info keyspace 명령으로 확인)

      10.129.136.187:6379> info
      ...
      # Keyspace
      db0:keys=4,expires=0,avg_ttl=0
    • select로 선택

      select <index>
      10.129.136.187:6379> select 0
      OK

Task 9

  • 정답 및 풀이

    정답은 4 개입니다.

    • https://redis.io/docs/latest/commands/dbsize/

    • 위 링크(Redis cli 공식 문서)에서 설명하는 dbsize 명령을 사용하면, 현재 선택한 데이터베이스의 키 갯수를 반환해줍니다.

      10.129.136.187:6379> dbsize
      (integer) 4

Task 10

  • 정답 및 풀이

    정답은 keys * 입니다.

    • https://redis.io/docs/latest/commands/keys/

    • 위 링크(Redis cli 공식 문서)에서 설명하는 KEYS 라는 명령어는 인자로 pattern 값을 받아 그 패턴과 일치하는 키를 반환해주는 동작을 합니다. 이때 pattern에 wildcard 기호인 “*” (asterisk)를 사용하면 문제에서 요구하는 모든 키를 확인할 수 있습니다.

      • wildcard : 모든 문자열과 매칭되는 패턴
      10.129.136.187:6379> keys *
      1) "flag"
      2) "temp"
      3) "stor"
      4) "numb"

Submit flag

  • 정답 및 풀이

    정답 : 03e1d2b376c37ab3f5319922053953eb

    Redis는 키마다 타입이 있을 수 있기 때문에, 타입을 먼저 확인합니다.

    TYPE <key>
    10.129.136.187:6379> type flag
    string

    이후에는 타입에 맞는 명령으로 값을 읽습니다.

    • string : GET <key>
    • list : LRANGE key 0 -1
      • 0 : 첫번째 원소
      • -1 : 마지막 원소
    • hash : HGETALL key
    • set : SMEMBERS key
      • set : 중복이 없는 값들의 집합
      • 특징 : 순서가 없습니다. 같은 값을 두번 넣어도 하나만 저장됩니다.
    • zset(정렬된 셋) : ZRANGE ky 0 -1 WITHSCORES
      • 각 값에 점수(score)가 붙는 set
      • 특징 : 값은 여전히 중복되지 않습니다. 대신 각 값마다 숫자 점수가 존재하고, 해당 점수를 기준으로 정렬됩니다.
    10.129.136.187:6379> get flag

← ALL POSTS