크기는 1,196바이트 그대로, 얼굴만 바꿔 왔다 — 사흘 만에 낡은 사진 명단
10월 13일부터 출발지를 바꿔 가며 되풀이된 '명령 559개' 침입이 10월 18일 밤 또 들어왔습니다. 1시간 8분 사이에 네 곳이 같은 파일 두 개를 받아 갔습니다. 설치 스크립트는 처음 보는 주소에서 왔습니다. 장비용 실행파일은 크기가 지난번과 같았지만 해시는 처음 보는 값이었습니다.
blog.securityhero.site
허니팟이 잡은 진짜 공격 이야기. 매일 아침.
관측일 2026-10-18 · 어제의 관측
10월 13일부터 출발지를 바꿔 가며 되풀이된 '명령 559개' 침입이 10월 18일 밤 또 들어왔습니다. 1시간 8분 사이에 네 곳이 같은 파일 두 개를 받아 갔습니다. 설치 스크립트는 처음 보는 주소에서 왔습니다. 장비용 실행파일은 크기가 지난번과 같았지만 해시는 처음 보는 값이었습니다.
코인 거래소나 지갑 회사를 사칭한 문자가 '자산 보호'를 내세워 링크를 누르게 합니다. 링크를 따라가면 지갑 복구 단어를 넣으라는 화면이 나옵니다. KISA가 10월 16일 낸 주의 권고와 AhnLab ASEC 사례를 바탕으로, 지금 할 일부터 정리했습니다.
10월 8일에 작은 설치 스크립트만 내려보냈던 주소가 10월 15일에는 실행파일 세 종류를 44번 내려보냈습니다. 세 파일 모두 우리가 쓰는 컴퓨터가 아닌 공유기 같은 작은 장비의 칩에 맞춘 것으로 보입니다. 같은 날 화면공유(VNC) 접촉은 8만 4,222번으로, 이틀 전 세운 최대치를 다시 넘었습니다.
숏드라마 앱에서 '업데이트'를 눌렀을 뿐인데, 며칠 뒤 은행 앱이 겉모습만 같은 변조판으로 바뀝니다. 보안업체 ThreatFabric이 공개한 안드로이드 악성코드 Hirudo를 정리했습니다. 왜 통하는지, 지금 무엇을 확인하면 되는지 적었습니다.
10월 13일, 텔넷으로 들어온 세 출발지가 똑같은 명령 559개를 다섯 번 되풀이했습니다. 매번 파일 22개를 받고 1분 반 안에 나갔고, 오후 4시 50분에는 두 곳이 0.9초 차이로 들어와 같은 작업을 나란히 했습니다. 설치 안내서를 내려준 주소는 같은 주소 대역에서 네 번째로 나온 곳입니다.
정가의 절반 가까운 값에 팔린 렛저 하드웨어 지갑 안에서 제조사가 만들지 않은 칩이 나왔다고 보도됐습니다. 연구자들 분석으로는 이 칩이 처음 설정할 때 뜨는 복구 단어 24개를 밖으로 보냈습니다. 기기를 어디서 샀는지가 왜 곧 보안인지, 지금 무엇을 하면 되는지 정리했습니다.
10월 11일, 원격 데스크톱 문(3389)에 손을 댄 곳은 255곳으로 기록을 시작한 뒤 하루 최대였습니다. 그런데 한 곳당 접촉은 4.15번으로 가장 적었습니다. 같은 날 다른 서버에는 46일 전과 같은 도구로 들어와 1분 안에 열쇠 심기·예약 작업·흔적 삭제를 한꺼번에 시도한 세션이 다시 찍혔습니다.
삼성·애플 이름을 단 초저가 안드로이드폰 가운데 일부에는 공장에서 나올 때부터 악성 앱이 들어 있었습니다. 시스템 안에 들어 있어 지우기도 어렵고, 초기화로도 빠지지 않습니다. Bitdefender 보고서를 바탕으로 누가 해당되는지, 지금 무엇을 하면 되는지 정리했습니다.
10월 8일 저녁, 같은 출발지가 텔넷으로 우리 서버에 네 번 로그인했습니다. 네 번 모두 명령 9개를 9.5~9.7초 만에 끝냈고, 매번 1,670바이트짜리 설치 스크립트를 받아 갔습니다. 이 파일은 하루 15번 내려왔고, 15번 모두 받아 간 곳은 이 출발지 하나였습니다.
'구글로 로그인'을 눌렀더니 주소까지 진짜 구글인 창이 떴습니다. 그런데 그 창은 피싱 페이지가 화면 안에 그려 넣은 가짜였습니다. 뒤에서는 사람이 비밀번호와 인증번호를 실시간으로 받아 갔습니다. 보안업체 Island 보고서를 바탕으로, 진짜 창과 가짜 창을 가르는 자리 하나를 정리했습니다.
10월 6일 오전, 같은 출발지가 8분 37초 동안 우리 SSH 서버에 다섯 번 로그인했습니다. 들어올 때마다 명령은 두 줄이었고, 밖에서 받아 온 파일은 모두 24건이었습니다. 그 실행파일은 서버용이 아니라 ARM 32비트 장비용이었고, 접속 지문·유포지·해시는 모두 처음 보는 값이었습니다.
10월 4일 허니팟 두 대에 남은 파일 9종은 모두 전에 본 해시였습니다. 42일 전과 32초·명령 48개·파일 12개까지 같은 접속도 다시 찍혔습니다. 기록을 깬 숫자는 하나입니다. 누군가의 진짜 계정일 수 있어 값을 적지 않은 비밀번호 조합이 3,026종으로, 지금까지 중 가장 많았습니다.
애플의 정식 사전예약은 10월 16일에 열립니다. 그보다 먼저 '500달러 쿠폰'을 내건 가짜 예약 페이지가 발견됐습니다. 업데이트를 미룬 아이폰은 이 페이지를 열기만 해도 공격이 시작된다는 분석입니다.
10월 1일 화면공유(VNC) 접속 시도는 4만 3,402번으로 평소 범위 안이었습니다. 그런데 접속하면서 내민 버전 표기는 21일 동안 한 번도 과반이 안 되던 새 표기가 63.2%를 차지했습니다. 같은 날 다른 서버에는 처음 보는 주소에서 이름부터 'backdoor.sh'인 파일이 내려왔습니다.
신한은행에서 대출을 알아본 약 2만 5천 명의 이름·전화번호·연소득·대출 한도가 새어 나갔다고 보도됐습니다. 상대가 내 정보를 정확히 안다고 해서 은행 직원이라는 증거가 되지는 않습니다. 지금 할 일 두 가지와 아직 모르는 것을 정리했습니다.
챗GPT·제미나이·구글 AI 요약이 가짜 고객센터 번호를 진짜처럼 알려 주는 수법이 공개됐습니다. 연구자는 이름을 도용당한 기업을 최소 374곳, 가짜 연락처 페이지를 수만 개 찾았습니다. AI가 어떻게 속았는지, 전화를 걸기 전에 무엇을 확인하면 되는지 정리했습니다.
9월 27일, 닷새 전에 적어 둔 악성코드 배포 주소가 다시 파일을 내보냈습니다. 맨 앞 설치 스크립트는 8월 21일부터 37일째 한 비트도 바뀌지 않았습니다. 뒤따라온 실행파일 아홉 개는 모두 처음 보는 파일이었고, 그중 셋은 크기가 바이트 단위까지 같은데 내용만 달랐습니다.
남성 패션 앱 룩핀의 운영사 레벨13이 해킹을 인정했습니다. 처음 알린 이메일·전화번호 말고도 주소, 환불계좌, 주문내역, 해외직구 통관번호까지 나간 것으로 확인됐습니다. 바꿀 수 없는 정보와 새로 받을 수 있는 번호를 나눠서 오늘 할 일을 정리했습니다.
9월 22일, 8월 21일에 처음 적어 둔 악성코드 배포 주소에서 다시 파일이 내려왔습니다. 맨 앞 설치 스크립트는 한 달 전과 한 글자도 다르지 않았는데, CPU 종류별 실행파일 여섯 개는 전부 처음 보는 파일이었습니다. 그중 다섯 개의 이름은 우리가 전에 압축을 풀어서야 알아낸 이름과 똑같았습니다.
9월 20일, 8월 16일부터 매일 보이던 389바이트 공개키 하나가 서로 다른 41곳에서 우리 서버에 등록됐습니다. 우리가 견준 날 중 가장 많았던 17곳의 2.4배인데, 같은 날 함께 뛴 숫자 셋과 이것을 한 줄로 이어 주는 기록은 없습니다. 그 옆에서는 사흘 전 '다시 만들어지지 않았다'고 적었던 실행파일이 1,696바이트 커진 채 같은 주소로 돌아왔습니다.
대치동을 비롯해 전국에 지점을 둔 수학학원 '생각하는황소'의 시험 예약 사이트가 뚫려 학생 이름·학교·학년·생년월일과 학부모 전화번호가 나갔을 수 있다고 보도됐습니다. 그 정보를 손에 든 사람이 '아이가 다쳤다'고 전화할 때 무엇을 해야 하는지, 그리고 아직 확인되지 않은 것은 무엇인지 정리했습니다.
9월 17일, 8월에 두 번 파일을 나눠 주던 주소와 앞 세 자리가 같은 세 번째 주소가 나타났습니다. 거기서 온 파일 일곱 개는 전부 27일치 기록에 없던 것이고, 다섯 개는 리눅스가 스스로 돌리는 프로그램 이름을 닮은 이름표를 달고 있었습니다. 그런데 이 일곱 개를 들고 온 침입은 그날 기록이 남은 세션 다섯 건 어디에도 없었습니다.
인증 배지가 붙은 공식 계정 광고를 눌렀는데 설치 파일 대신 명령어를 붙여넣으라는 창이 떴습니다. 붙여넣는 손은 내 손이지만 나가는 건 내 비밀번호·메모·코인 지갑입니다. 이틀 동안 108건이 올라온 이 수법을 학교 사물함 하나로 풀어봅니다.
9월 15일 낮 12시 7분, 텔넷으로 들어온 침입이 7초 동안 명령 7개로 파일 2개를 받아 갔습니다. 파일을 꺼내 온 주소와 들어온 주소는 앞 두 자리가 같았고, 이런 모양은 9월 7일·8일에 이어 아흐레 사이 세 번째입니다. 그리고 6시간 59분 뒤, 같은 곳에서 같은 일이 한 번 더 있었습니다.
출시 전 게임의 '유출본'이라며 100GB가 넘는 파일이 검색 결과와 커뮤니티, 토렌트에 돌고 있습니다. 설치를 누르면 오류가 나고 끝나는 것처럼 보이지만, 그 뒤에서 원격조종·비밀번호 탈취·파일 파괴 프로그램이 한꺼번에 깔립니다. 받기 전에, 그리고 이미 실행했다면 무엇을 해야 하는지 정리했습니다.
9월 13일, 원격 데스크톱 포트에 꽂힌 접촉이 하루 42,578건으로 사흘 전 최고치 34,811건을 다시 넘었습니다. 가장 많이 보낸 곳은 그때와 같은 별칭이었고, 사흘 전 16번까지 줄었던 이름표 'hello'는 7,039번이 됐어요. 옆 서버가 받은 파일 네 종류는 전부 전에 본 해시였습니다.
미용의료 앱 강남언니 이용자 21만 9천여 명의 정보가 빠져나갔다고 보도됐습니다. 이름과 전화번호만이 아니라 어느 병원에서 어떤 시술을 상담했는지, 상담 사진까지 포함됐습니다. 그 정보를 손에 든 사람이 병원인 척 전화를 걸어올 때 무엇을 해야 하는지 정리했습니다.
9월 10일, 원격 데스크톱 포트를 두드린 기록이 하루 34,811건이었습니다. 8월 26일부터 9월 8일까지 14일치를 전부 더한 21,483건의 1.62배인데, 두드린 곳은 109곳으로 평소 범위 안쪽이었어요. 찾아온 곳이 늘어난 게 아니라 한 곳이 319번씩 눌렀던 날의 기록입니다.
광고에서 본 할인 쇼핑몰이 진짜 브랜드에서 사진도 설명도 고객센터 번호도 그대로 떠 왔다는 조사가 나왔습니다. 확인된 주소만 11만 9천여 개, 이름을 도용당한 브랜드가 4만 4천 곳입니다. 결제창에 카드번호를 넣기 전에 무엇을 봐야 하는지 정리했습니다.
9월 8일, 23일치 기록에 없던 주소 하나가 CPU 종류만 다른 실행파일 아홉 개를 한꺼번에 내려보냈습니다. 그걸 받아 간 침입은 명령을 딱 세 줄 쳤고 33.25초 만에 끝났습니다. 그리고 1분 12초 뒤, 33.26초짜리가 한 번 더 들어왔습니다.
링크를 눌렀더니 진짜 구글 로그인 화면이 떴고, 로그인한 뒤에 뜬 파란 '허용' 버튼을 한 번 눌렀습니다. FBI IC3가 9월 1일 경고한 수법입니다. 비밀번호는 공격자에게 넘어가지 않는데도 메일과 파일은 계속 새어 나갑니다.
9월 7일, 22일치 기록에 한 번도 없던 주소가 처음 나타났습니다. 거기서 내려온 실행파일 두 개는 크기도 거의 같고 하는 일도 같은데, 숫자를 읽는 순서만 반대로 만든 두 벌이었습니다. 만든 쪽은 파일 안쪽의 이름표를 지우지 않은 채로 보냈습니다.
9월 6일, 화면공유 문을 두드린 곳이 하루 만에 100곳에서 264곳이 됐습니다. 그런데 두드린 횟수는 1.4배 늘었을 뿐이라, 한 곳이 두드린 횟수는 오히려 절반이 됐습니다. 세게 때리던 소수 위에 얇게 스치는 다수가 얹힌 날의 기록입니다.
9월 5일, 우리 서버에 들어온 파일 6개 중 5개는 이미 20일째 적혀 있던 이름이었습니다. 그런데 기록을 맞춰 보다가 우리 쪽 숫자가 틀린 것을 찾았습니다. '지금까지 50곳'이라고 적어 둔 칸이 어제는 35곳이었고, 그건 공격이 줄어서가 아니었습니다.
9월 4일, 우리 서버에 찾아온 419곳 중 233곳이 똑같은 접속 프로그램 표식 하나를 달고 왔습니다. 그런데 그 233곳은 파일을 한 개도 놓고 가지 않았고, 이날 실제로 검체를 배달한 표식은 IP 2곳짜리 하나뿐이었습니다. 가장 많이 찍힌 발자국과 물건을 놓고 간 발자국이 서로 다른 날의 기록입니다.
9월 3일, 닷새 전에 차단 목록으로 적어 둔 파일 네 개가 그대로 다시 들어왔습니다. 그런데 지문을 찍어 보니 세 개는 아카이브 18일치에 한 번도 없던 새 파일이었고, 딱 하나만 여섯 날째 한 비트도 안 바뀐 같은 파일이었습니다. 옷은 갈아입어도 안 바뀌는 게 무엇인지, 그날 데이터가 네 줄로 보여 줬습니다.
9월 2일, 우리 서버의 문고리는 하루 동안 44,140번 돌아갔습니다. 그런데 안으로 실제로 들어온 '처음 보는 물건'은 하나였고, 그건 하루 23번밖에 열리지 않는 통로로 들어왔습니다. 나머지는 전부 17일째·18일째 똑같은 재방송이었습니다.
9월 1일, 우리 서버에 들어온 명령이 하루 만에 760개에서 14,085개가 됐습니다. 그런데 그중 의도가 분류된 것은 422개(3.0%)뿐이고, 실제로 남의 열쇠를 걸어 두고 간 행위는 13번이었습니다. 숫자가 커진 것과 위험해진 것은 같은 말이 아니라서, 이날은 커진 숫자의 정체를 나눠서 적었습니다.
8월 31일, 어제 107곳·107곳·106곳·116회였던 네 숫자가 나란히 8이 됐습니다. 같이 올랐다가 같이 내려왔다는 건 그것들이 한 덩어리였다는 쪽을 강하게 가리키지만, 데이터가 넷을 묶어 준 적은 여전히 없습니다. 대신 문을 두드린 출발지는 324곳으로 16일 중 네 번째로 많았고, 한 곳당 세션은 2.40회로 최저였습니다.
8월 30일, 서로 다른 출발지 107곳이 똑같은 아이디와 똑같은 비밀번호 하나를 들고 왔습니다. 그런데 한 곳이 두드린 횟수는 평균 1.05회였습니다. 어제 아홉 곳이던 것이 하루 만에 107곳이 됐고, 같은 389바이트짜리 열쇠 파일도 같은 107곳에서 나왔습니다.
8월 29일 우리 허니팟에는 처음 보는 것이 하나도 없었습니다. 389바이트짜리 똑같은 파일이 14일째, 이날은 서로 다른 아홉 곳에서 나왔고 유포지 두 곳도 그대로였습니다. '아무 일도 없었다'와 '매일 같은 일이 있었다'는 다른 말이라서, 이날은 변하지 않았다는 것 자체를 적었습니다.
8월 28일, 이틀 동안 아무것도 안 잡히던 서버에서 파일 네 개가 한꺼번에 나왔습니다. 합쳐서 773,937바이트, 보낸 곳은 전부 같은 한 곳이었습니다. 그런데 이 파일들에는 '어디서 왔는가'를 적는 칸이 아예 없어서, 차단 목록에 올릴 주소도 신고할 유포지도 남지 않았습니다.
8월 27일 우리 서버에 들어온 명령은 2,313개로 하루 만에 6분의 1이 됐습니다. 그런데 찾아온 출발지는 442곳으로 사흘 연속 최다를 새로 썼고, 같이 최다를 찍은 행동은 딱 하나 '남의 공개키 심기'였습니다. 389바이트짜리 똑같은 파일이 12일째, 이날은 서로 다른 26곳에서 나왔습니다.
8월 26일 우리 서버 두 대가 받은 접촉은 4만 2천 건과 5천 건이었습니다. 가장 시끄러웠던 쪽은 파일을 한 개도 남기지 않았고, 12.5초 머문 세션 하나가 열 개를 놓고 갔습니다. 소리의 크기로 위험을 재면 순서가 뒤집힌다는 것을, 이날 데이터가 두 번 보여 줬습니다.
EU NIS2, DORA, ISO 27001, 한국 ISMS-P, 일본 APPI, 싱가포르 CII. 요구하는 서류 이름은 다 다른데 밑바탕은 겹칩니다. 규제별로 무엇을 요구하고 리스크 평가 리포트가 그중 어디를 채우는지 표로 정리했습니다.
어제 우리 서버의 문을 두드린 횟수 자체는 평범했습니다. 그런데 문이 열린 다음의 행동 세 가지가 같은 날 나란히 열흘 최고치를 찍었습니다. 남의 이름을 출입 명단에 올린 게 69번, 다녀간 기록을 지운 게 70번 — 딱 하나 차이였습니다.
"데이터가 국경을 넘지 않습니다"라는 말은 애국심 이야기가 아닙니다. 점검 결과가 누구 저장소에 남고 누가 열쇠를 쥐느냐의 문제입니다. BYOK와 적정성 결정을 은행 대여금고에 빗대 풉니다.
미라이는 대학생 셋이 게임 서버를 공격하려고 만든 프로그램이었습니다. 소스코드를 인터넷에 풀어버린 그날부터 이야기가 달라졌고, 10년이 지난 지금도 우리 서버 문을 두드립니다.
어제 우리 허니팟에 어제 그제와 똑같은 주소에서 똑같은 이름의 파일들이 다시 내려왔습니다. 그런데 실행파일 세 개는 내용물이 통째로 바뀌어 있었고, 맨 앞의 로더 스크립트 하나만 이틀째 같았습니다. 차단 목록에 적는 값마다 유통기한이 다르다는 것을, 어제 데이터가 직접 재 줬습니다.
점검하려면 뭔가를 설치해야 한다고 생각하기 쉽습니다. 에이전트리스는 그 반대로 갑니다. 집 안을 뒤지는 대신 도면을 봅니다. 읽기 전용 권한 하나로 무엇까지 알 수 있는지 정리했습니다.
어제 우리 허니팟에 이틀 만에 실행파일이 돌아왔습니다. 이틀 전 유포지와 주소 앞자리가 같은 옆 번지에서, 파일 이름 규칙만 통째로 바뀐 채로요. 미리 적어둔 악성 파일 이름 열두 개는 하나도 걸리지 않았고, 대신 하루에 세 번 반복된 5초짜리 행동이 남았습니다.
응급실은 먼저 온 순서로 부르지 않습니다. 위험한 순서로 부릅니다. 취약점 목록이 수천 줄일 때 EPSS가 하는 일이 그 분류입니다. RMF·NIS2 시리즈 3편.
어제 우리 허니팟은 관측 이래 가장 붐볐습니다. 세션 3,553건, 명령 7,574개. 그런데 서버로 내려온 악성 실행파일은 한 건도 없었고, 어떤 세션 하나는 나흘 전 기록과 일곱 개 값이 똑같았습니다. 다른 것은 걸린 시간 하나뿐이었습니다.
건강검진표에는 '건강합니다'가 아니라 수치와 등급이 적혀 있습니다. 리스크 평가도 똑같습니다. NIST SP 800-30과 ISO 27005가 위험을 어떻게 숫자로 바꾸는지 풀어봅니다. RMF·NIS2 시리즈 2편.
어제 우리 허니팟에 닷새 동안 한 번도 없던 새 주소가 등장했습니다. 그런데 폴더 이름도, 파일 이름 짓는 방식도 예전 주소와 똑같았습니다. 처음 본 주소를 첫날에 알아본 이유와, 그것으로 말할 수 있는 것과 없는 것을 나눠 적었습니다.
식당 문에 붙은 위생등급표처럼, EU는 보안도 말이 아니라 서류로 봅니다. NIS2가 무엇이고 왜 계약 자리에서 '증빙'이라는 말이 나오는지 풀어봅니다. RMF·NIS2 시리즈 1편.
어제 허니팟에서 완결된 텔넷 세션 네 건이 명령 개수 31개, 다운로드 1건, 머문 시간 68초대까지 똑같았습니다. 텔넷에는 접속 프로그램 지문이 존재하지 않아 평소 쓰던 묶는 방법이 통하지 않았습니다. 지문 없이 무엇으로 묶었는지, 그 묶음이 어디까지만 말해 주는지 정리했습니다.
63초짜리 세션 하나가 검체는 한 건도 남기지 않고 SSH 공개키만 심고 나갔습니다. 같은 해시의 키가 8/16·8/17·8/18 사흘 연속 나왔고, 심은 출처는 10곳 → 12곳 → 16곳으로 늘었습니다. 백신이 잡을 파일이 없는 침해는 어떻게 알아채야 하는지 정리했습니다.
사흘 연속 텔넷이던 완결 세션이 나흘째에 SSH로 바뀌었습니다. 침입자는 3.6초 머물렀고, 명령은 딱 한 줄이었습니다.