SecurityHeroblog

명령 한 줄, 3.6초 — 그 안에 다섯 단계가 다 들어 있었다

사흘 연속 텔넷이던 완결 세션이 나흘째에 SSH로 바뀌었습니다. 침입자는 3.6초 머물렀고, 명령은 딱 한 줄이었습니다.

어제 어떤 침입자가 우리 서버에 3.6초 머물렀습니다.

명령은 딱 한 줄이었습니다. 그런데 그 한 줄 안에 둘러보기, 파일 받기, 실행권한 주기, 실행하기, 열쇠 심기가 전부 들어 있었습니다. 도둑이 문을 열고 들어와서 집을 둘러보고, 연장을 꺼내고, 뒷문 열쇠를 복사해서 나가기까지 3.6초 걸린 셈입니다.

그런데 이번엔 텔넷이 아니었습니다

사실 어제 완결성 상위 5개 세션 중 3개가 SSH였습니다.

이게 왜 특별하냐면, 8월 16일·17일·18일 사흘 연속으로 “완결 세션은 전부 텔넷”이었기 때문입니다. 나흘째에 그 구도가 깨졌습니다.

텔넷은 낡은 프로토콜입니다. 아직도 열려 있는 기기는 대개 오래된 공유기나 IP 카메라 같은 것들이죠. 그런데 SSH로 넘어왔다는 건 공격자가 보는 표적이 달라졌을 수 있다는 뜻입니다.

3.6초 동안 벌어진 일

사실 ATK-CA5936(130.12.x.x)이 SSH 로그인에 성공했습니다. 세션은 3.61초, 실행된 명령은 1개. 그런데 관측된 의도는 5종이었습니다.

  1. 정찰 — 시스템 둘러보기
  2. 파일 다운로드
  3. 실행 권한 부여
  4. 다운로드한 파일 실행
  5. 지속성 — SSH 키 심기

마지막 항목이 중요합니다. SSH 키를 심어두면 비밀번호를 바꿔도 다시 들어올 수 있습니다. 자물쇠를 바꿔도 소용없는 열쇠를 하나 만들어 두고 가는 겁니다.

어제 관측된 완결 세션들을 시간순으로 늘어놓으면 이렇습니다.

  1. 사실 ATK-CA5936 SSH 로그인 성공. 3.61초 · 명령 1개 · 다운로드 2건 · 의도 5종
  2. 사실 ATK-C146AD 텔넷 로그인 성공. 40.80초 · 명령 16개 · 다운로드 3건
  3. 사실 ATK-103570 텔넷 로그인 성공. 61.75초 · 명령 17개 · 다운로드 0건
  4. 사실 ATK-CA5936 재등장. 13시간 27분 뒤, 수치가 첫 세션과 완전히 동일하다

마지막 줄이 눈에 걸립니다. 같은 별칭이 13시간 27분 뒤에 돌아와서 초 단위까지 거의 같은 행동을 반복했습니다. 사람이 아니라 스크립트라는 뜻입니다.

어떻게 들어왔나 — 비밀번호입니다

사실 어제 하루 로그인 시도는 975회였습니다. 서로 다른 IP 3곳 이상에서 관측된 조합으로만 좁혀도 이런 것들이 나옵니다.

아이디 비밀번호 관측된 IP 수
admin admin 19곳

이 조합 하나를 19곳에서 시도했습니다. 특별한 취약점을 뚫은 게 아닙니다. 그냥 문을 두드려 본 겁니다. 그리고 열렸습니다.

지금 쓰고 계신 공유기, IP 카메라, NAS의 관리자 비밀번호가 초기값 그대로라면 — 어제 우리 서버에서 벌어진 일이 그쪽에서도 벌어지고 있을 가능성이 높습니다.

남기고 간 것

사실 세션 3건이 399바이트짜리 OpenSSH 개인키 파일을 남겼습니다. 3회 관측됐습니다.

흥미로운 건 이전 사흘 동안 관측된 389바이트 “공개키”와는 해시도 다르고 종류도 다르다는 점입니다. 같은 도구를 쓰는 다른 캠페인이거나, 같은 캠페인이 도구를 바꿨거나 둘 중 하나입니다. 추정 어느 쪽인지는 지금 가진 데이터로 구분할 수 없습니다.

sha256
43728fbfb98bb39ff61a2db0fc2905bd6937997062b05b9ab8b186fdee18c09a399바이트 OpenSSH 개인키 · 3회 관측 · 오늘 주제 세션 3건이 남겼다
url
(URL 미기록)이번 건은 출처가 기록되지 않았습니다

공격 단계로 옮기면

관측된 행동을 MITRE ATT&CK 기법으로 옮기면 이렇습니다. 전부 [추정]입니다 — 우리가 본 것은 행동이지 공격자의 의도가 아닙니다.

  • T1110.001Brute Force: Password Guessing추정
  • T1078Valid Accounts추정
  • T1059.004Command and Scripting Interpreter: Unix Shell추정
  • T1082System Information Discovery추정
  • T1016System Network Configuration Discovery추정
  • T1105Ingress Tool Transfer추정

어디서 본 것 같다면, 맞습니다

추정 2016년부터 이어진 Mirai 봇넷 계열과 구조가 같습니다.

기본 자격증명으로 들어간 뒤, 웹 서버의 특정 경로에서 CPU 아키텍처별 바이너리를 내려받아 맞는 것만 실행시키는 방식입니다. 어제 관측된 파일명 규칙도 그 계열의 관습을 따르고 있었습니다.

Mirai는 미국 법무부 기소 기록이 남아 있는 사건이고, 여러 벤더의 공개 분석 보고서가 있습니다. 10년이 지났는데 같은 수법이 여전히 통한다는 게 이 이야기의 핵심입니다.

어제 하루 전체

세션 1,361건
고유 IP 216곳
로그인 시도 975회
실행된 명령 1,333개
SSH (2222) 1,062건
텔넷 (2223) 299건

명령 1,333개는 전부 로그인에 성공한 뒤에 실행된 것입니다.

30초로 보기

같은 관측분을 짧은 영상으로도 만들었습니다.

우리가 모르는 것

이 블로그는 아는 것과 모르는 것을 구분해서 씁니다. 어제 관측분에서 확인할 수 없었던 것들입니다.

  • 명령 한 줄에 정말 5개 동작이 들어 있었는지. 의도는 5종으로 분류됐지만 명령 원문과 TTY 리플레이가 브리프에 없어 직접 확인하지 못했습니다. 여러 동작이 이어 붙은 것으로 보이지만 확언하지 않습니다.
  • 공격자의 ASN·ISP·국적. GeoIP·ASN 데이터베이스를 갖고 있지 않습니다. 추정하지 않습니다.
  • 내려받은 파일의 출처 URL. 이번 건은 기록되지 않았습니다.
  • 이 3건이 같은 조직인지. 핑거프린트가 같다는 것과 같은 사람이라는 것은 다른 이야기입니다.

이 글은 2026-08-19 허니팟 관측분을 바탕으로 작성됐습니다. IP는 마스킹했고, 인용한 자격증명은 서로 다른 IP 3곳 이상에서 관측된 것만 포함했습니다.