GN⁺ 3달전 | parent | ★ favorite | on: 텔넷이 사라진 날(labs.greynoise.io)
Hacker News 의견들
  • telnetd보다 더 심각한 건 Tier 1 트랜짓 제공자들이 포트 필터링을 시작한 사실임
    이건 인터넷이 분할된 것이고, 자동 라우팅(BGP)으로도 우회할 수 없는 구조가 되어버림

    • 예전에 작은 ISP에서 일할 때 Blaster 웜이 터졌는데, 포트 139 같은 걸 막는 게 가장 빠른 대응이었음
      그때 대부분의 ISP가 포트를 차단했고, 결과적으로 더 안전해졌음
      만약 정말 telnet이 필요하다면 다른 포트로 옮기거나 터널링하면 됨
      기본 포트 23으로 telnet을 돌리는 사람이 아직도 있을까 궁금함
    • 검열 위험도 문제지만, 병원·은행·원자력 같은 시스템이 해킹돼서 사람 목숨이 위험해지는 것도 심각한 일임
      이런 결정을 내리는 사람들은 권한과 책임을 동시에 가짐
    • 포트 23은 이미 수십 년 전부터 대부분의 제공자가 필터링했음
      그래서 모든 게 TLS 443 포트로 몰리는 중임
      이걸 검열이라며 소리칠 일은 아님, 진짜 검열은 FOSTA/SESTA 같은 법에서 찾아야 함
    • 포트를 막는 건 결국 검열과 다를 바 없음이라고 생각함
    • 나는 Spectrum ISP를 통해 GNU telnet 클라이언트로 시애틀과 네덜란드 서버에 접속할 수 있었음
  • 정말 놀라운 버그임
    인터넷 초창기 10년은 거의 telnet만 쓰던 시절이었음
    그땐 이더넷 트래픽을 보면 비밀번호가 그대로 보였고, 대부분의 시스템이 다중 사용자 환경이었음
    telnet -l 'root -f' server.test 같은 명령이 11년이나 살아남았다니 믿기지 않음

    • 소프트웨어 일을 오래 할수록, 세상이 이렇게 돌아가는 게 신기할 뿐임
      아직도 낮게 달린 과일 같은 취약점이 많을 것 같음
    • 나는 root로 로그인하진 않았지만, 학교 AIX 계정으로 lynx로 웹을 탐색하던 시절이 있었음
      그땐 트래픽이 감시된다고 생각도 안 했고, 단순히 자유로운 시절이었음
      telnet으로 메일(pine), 웹(lynx), IRC까지 다 했음
    • 언제 telnet을 안 쓰게 됐는지 기억도 안 남
      수많은 서버가 root telnet 접속을 열어뒀는데, 한 번도 해킹당하지 않았음
      정말 그 시절이 그립음
    • 예전에 rlogin -l '-froot' 같은 취약점도 있었던 게 생각남
      그 시절엔 이런 게 흔했음
    • 로그인용으로는 안 썼지만, 디버깅 도구로는 여전히 유용했음
      컨테이너 간 트래픽이 통하는지 확인할 때 자주 썼음
  • Telnet 클라이언트 자체는 아직 죽지 않았음
    예전에 SMTP 서버(포트 25)에 telnet으로 접속해서 스푸핑 메일을 보내곤 했음
    하지만 보안 명목으로 포트 차단이 늘어나면서 결국 모든 서비스가 443 포트로 몰릴 거라 생각함

    • 요즘은 netcat, socat, openssl s_client 같은 도구가 훨씬 나은 대안임
      telnet보다 훨씬 강력함
    • 어릴 때 telnet으로 SMS를 보낸 적이 있었음
      수신자에게는 공식 통신사 계정처럼 보였고, 그땐 순수했지만 지금 생각하면 위험한 장난이었음
    • telnet 클라이언트나 telnetd 자체는 여전히 쓸 수 있음
      다만 글로벌 라우팅 차원에서 기본 포트가 차단된 것 같음
      보안되지 않은 구형 시스템을 보호하기 위한 조치로 보임
  • 아직도 왜 telnet을 인터넷에서 쓰는지 모르겠음
    대부분 공격 트래픽 아닌가 싶음

    • 일부는 역사적 시스템 보존을 위해 돌리고 있음
    • 사실 ASCII 스타워즈를 보기 위해서임
      telnet towel.blinkenlights.nl
      YouTube 영상 링크
    • 레거시·IoT·산업용 장비에서는 여전히 telnet이 쓰임
      SSH도 실제로는 보안이 허술하게 쓰이는 경우가 많음
      호스트 키 검증을 끄거나, 비밀번호 없는 키를 쓰는 등
      그래서 현실적으로는 telnet + HTTPS websocket + OAuth 조합이 더 안전할 수도 있음
    • 아마추어 무선(HAM)에서는 암호화가 금지되어 있어서 telnet을 씀
      대신 서명된 데이터 전송이 허용되므로, 그런 대체 프로토콜이 필요함
    • 아직도 MUD나 MOO 같은 텍스트 기반 게임 서버들은 대부분 telnet을 씀
  • 이번 CVE는 임베디드 장비 해킹 커뮤니티에겐 좋은 소식임
    telnetd가 열려 있는 장비에서 root 권한을 얻을 가능성이 커졌음

    • 직접 Zyxel WiFi AP에서 테스트했는데, busybox 기반 telnetd라 그런지 취약하지 않았음
  • 문제의 CVE는 이 커밋에서 비롯됨
    user_nameuname으로 바꾼 게 핵심인데, 이런 이름 변경이 왜 필요한지 의문이었음

    • ChangeLog를 보면, user_name이 전역 변수와 이름 충돌(shadowing) 을 일으켜서 바꾼 것임
    • 하지만 이런 수정보다 getenv() 호출을 점검하는 게 더 중요하다고 생각함
      입력값 파싱이 어려워서 종종 취약점이 생기기 때문임
  • 누군가 인터넷 트랜짓 인프라 상단에서 telnet 트래픽을 버리기로 결정했다는 건 흥미로움
    아마도 올바른 결정일 수도 있음
    MUD 트래픽엔 영향이 있을까 궁금함

    • 대부분의 MUD는 Telnet 프로토콜을 직접 쓰지 않음
      단순한 TCP 기반이고, 전용 클라이언트를 선호함
      포트 23은 IANA에서 예약된 Telnet용이지만, MUD는 보통 4자리 높은 포트를 씀
      오히려 지금은 23번 포트로 돌리면 접근하기 더 어려워질 것임
    • 기사에서 명확히 안 나왔지만, 아마 공격 트래픽만 필터링하는 듯함
      Telnet은 평문이라 패턴 분석으로 쉽게 걸러낼 수 있음
    • 아마 SMTP 포트 차단처럼 포트 기반 블록일 가능성이 큼
      요즘은 공개망 서버라면 SSH를 써야 함
  • 이번 CVE와 그 대응은 정말 역사적인 사건
    한 사람이 사실상 telnet 시대를 끝냈다는 게 믿기지 않음

    • 사실 PR을 올린 사람과 승인한 사람, 두 명이 있었음
      보안 연구자 탓은 아님
  • 인턴 시절, 책상에 있던 VoIP 전화기에 telnet 접속이 가능하다는 걸 발견했을 때 정말 신기했음

    • 나도 인턴 때 Perl CGI 스크립트를 telnet으로 테스트하곤 했음
      Hayes 명령어에 익숙해서 HTTP 요청을 직접 타이핑하는 게 자연스러웠음
    • 나도 그랬음, 재밌는 추억임
  • 최근 내 telnet 서버 통계를 보니 평균 2000개 IP 정도 접속함
    1월 중순에 7500개로 급등했다가 다시 줄었고, 2월엔 1000개 수준으로 떨어졌음