그냥 일상

사용중인 인터넷이 중간자공격(ARP 스푸핑)기법으로 어딘가로 로그가 기록되고 있다 !?

전체 사진 날짜계산 기타
등록일 :

우연히 이상한 낌새를 느낌

인터넷을 하다 우연히 이상함 낌새를 느꼈다.
직업이 웹개발자 이기 때문에 일종의 감 이랄까.. 아무튼
주 업무는 웹페이지 제작이지만 그래도 짬밥의 감이란게 있는것 같다.

그 상황을 정리해서 올려봅니다.

인지한 날짜 :

※ 제가 경험한 내용을 바탕으로 한 글입니다.
※ 집에서 발생하는 현상입니다. 아파트이며 SK브로드밴드 인터넷 입니다.
※ 언제부터 있었던 일인지 알 수 없고, 계속 몰랐을 수도 있었다는것에 당황스럽습니다.

추가 된 내용
------------------
여기 처음 작성했던 내용을 바탕으로 KISA 에 상담요청 글을 올렸더니
담당자 분께서 전화를 하셔서 통화를 하였습니다.

최종 결론은 사용중인 OS(윈도우)가 변조되었을 가능성이 있으니 체크해 보라는 것이었다.
즉, 애초에 윈도우 설치 파일 자체가 변조된 것을 가지고 설치했기 때문에 그럴 가능성이 있다는것.
그런데 그건 아닌것 같아 다른 방법으로 입증을 해보려고 했습니다.
그리고 어느정도 입증이 되었습니다.

원래 이글 제목은 "SK브로드밴드가 인터넷 접속 로그를 기록하고 있다!?" 였으나
IP 소유가 SK브로드밴드지만 실 사용자는 아닐 수 있기에 제목을 수정하였습니다.

하지만 현재 사용중인 회선이 중간자공격기법과 유사한 방법으로 로그를 기록하고 있기에
이건 또 무슨 상황인가라는 생각이 듭니다. 회선 제공자는 SK 이므로 ...

그럼 차근차근 정리해 보겠습니다.

사이트 접속시 약간의 느려짐 현상 발견

어떤 사이트에 첫 접속할 때 약간 느린 경험이 있을 것이다.
물론 다시 접속하면 대부분 빠르다. 그런데.. 뭔가 다른 이유로 느리다면 어떨까?

만약 내가 접속하려는 사이트를 누군가 기록하고 있다면?
혹시나라도? 인터넷 제공 업체가 대놓고 로그를 쌓고 있다면?

현재 SK브로드밴드 인터넷을 사용중이다.
개인적으로는 경험하고 있고 지금도 발생하고 있기 때문에 경험한 내용을 적어본다.

네이버, 다음, 구글등 여기저기 접속해보며 감을 잡았다.
하지만 다시 접속하면 그런 현상이 발생하지 않았으나 알고보니 100%는 아니고 종종 다시 발생하는듯 함.
사이트를 달리 해가며 체크하던중 드디어 발견 ... SLR 클럽에 접속하는 과정에 발생한 코드를 올려보겠다.

80포트로 접속하는 경우만 해당되는걸로 추측이 된다.
80포트는 일반적으로 인터넷으로 웹페이지에 접속하는 포트이고
https 라는 보안페이지는 443 포트로 접속한다.

인지한 날짜 :

분석 모드

크롬브라우저로 SLR 클럽에 접속할때 주소창에 주소대신 view-source:http://www.slrclub.com/
처럼 입력하였다. 이렇게 하면 해당사이트의 웹페이지 소스가 뜨게된다.

그러자 정상적인 소스대신 아래와 같은 소스가 출력되었다.
ㄷㄷㄷ 뭐지? 이건...

참고로 일반적인 소스는 최소 몇페이지 이상 분량으로 꽤 많다.
아래 소스는 굉장히 적다. 저게 전부.

<meta http-equiv="refresh"content="2;url=http://www.slrclub.com/?"/>
<iframe id="f"frameborder="0"style="width:1;height:1"></iframe>
<script>document.getElementById("f").src="http://210.117.120.178:8080/tm/?a=CR&
b=WIN&c=5902103410582&d=32&e=2101&f=d3d3LnNscmNsdWIuY29t
&g=1525243466529&h="+Date.now()+"&y=0&z=0&x=1&w=2018-04-30
&in=2101_00012593&id=20180502"</script>


하나씩 분석해 보기로 하자. 소스는 보기편하게 줄바꿈 하였다.


<meta http-equiv="refresh"content="2;url=http://www.slrclub.com/?"/>

위 태그는 2초 후http://www.slrclub.com 로 이동하라는 코드이다.
왜 2초후에 이동하게 할까? 2초동안 무엇인가를 하기 위함이다.
내 소중한 2초를 빼앗아 가는것도 모자라 뭘 하고 있다.
그럼 다음 소스를 분석해 보자.

<iframe id="f"frameborder="0"style="width:1;height:1"></iframe>
아이프레임이 하나 설정되어있다. 아이프레임에는 다른 웹페이지를 호출할 수 있다.
만약 현재 보고있는 페이지에서 아이프레임안에 로그를 분석하는 사이트를 호출한다면
그게 작동한다. 즉 내가 방문하려는 페이지가 기록될 수 있다는것.

width:1;height:1 이 부분은 사이즈 설정이다. 가로 세로 높이를 1px로 해라 라는 의미.
1 이라는 수치로 작게 만들어서 안보이게 하려고 한것 같다.

그럼 다음 코드분석.
<script>document.getElementById("f").src="http://210.117.120.178:8080/tm/?a=CR&
b=WIN&c=5902103410582&d=32&e=2101&f=d3d3LnNscmNsdWIuY29t
&g=1525243466529&h="+Date.now()+"&y=0&z=0&x=1&w=2018-04-30
&in=2101_00012593&id=20180502"</script>


제일 복잡해 보이는 코드로 자바스크립트 이다. 하나씩 뜯어보자.

저 스크립트가 하는 역할은 위 아이프레임에 어떤 주소를 호출하도록 되어있다.
즉 아이프레임에 특정한 사이트가 뜨는것이다.
물론 보이지않고 2초정도면 안보게될 화면이라 인식하기는 어려울 것이다.
하지만 2초면 뭔가를 하기에 충분한 시간이다... ㄷㄷㄷ

우선 위 소스는 http://210.117.120.178:8080 이곳으로 뭔가를 보내고 있다.
IP는 아래 글에서 분석해 보기로 한다.


암호문 같지만 하나씩 보기로 하자. 추측 가능한 것만 보겠다.
아래 내용들은 자바스크립트와는 상관없는 도메인주소 관련이다. 파라미터라는 것이다. 값을 담아서 전송할 수 있다.

b=WIN  b라는 키에 WIN 이라는 값 설정. 윈도우를 의미하는걸까? 현재 내컴은 윈도우.

c=5902103410582  c라는 키에 5902103410582 값 설정. 새로고침시 계속 변하며 시간 관련된 것을 의미하는것 같다.

f=d3d3LnNscmNsdWIuY29t  f라는 키에 d3d3LnNscmNsdWIuY29t 값 설정
뭔가를 암호화 한듯한 문자열이다. 과연 무엇일까. 그동안의 짬밥(?)으로 간단히 풀어보았다.
바로 BASE64 라는 방식이다. 특정 문자열을 인코딩 디코딩 할 수 있다. 암호화 복호화라고 보면 되지만.
목적이 암호화는 아니다. 그래서 인코딩 디코딩 이라고 한다. 누구나 풀수 있다면 암호화는 아니기 때문.


저걸 디코딩 하면 www.slrclub.com 이란 값이 나옴다. (소름)

h="+Date.now()+" 이건 자바스크립트와 약간 썪여있다. Date.now() 는 사용중인 PC의 현재 시각이 숫자 형태로 나온다.
즉 PC의 시각까지도 데이터로 넘기는것이다.


뭐 이정도만 분석해도 될 것 같다.

결론은 내가 접속하려는 사이트와 시각을 특정 웹페이지로 넘기고 있는것이다.
그리고 그 정보를 받아서 로그를 쌓으려고 하는듯하다.

210.117.120.178 IP 소유자를 알아보자

210.117.120.178 Whois 정보 검색 결과


기관명 : 에스케이브로드밴드주식회사

SK 브로드밴드 주식회사. 현재 이용중인 인터넷 이다.

자 이제 확실한것은
사이트에 접속시 위에서 분석한 정보를 특정한 기준으로해서 (알수없음)

http://210.117.120.178:8080/tm/ 페이지로 넘기고 있는데
일단 IP 소유는 에스케이브로드밴드주식회사.

해당 아이피가 에스케이브로드밴드 소유지만
실제 사용자는 개인인지 업체인지 알 수 없다. 아무튼 누군가는 서버를 돌리고 있다.

하지만 그 IP를 어디서 쓰고있던간에 고정IP로 사용 중인것은 맞다. 그래야 항상 로그를 수집하니까.
해당 IP를 어디서 쓰는지는 인터넷 제공업체가 아니면 알 수 없고
정보 제공은 거의 안한다고 한다. (이건 KISA 에서 전화주신 분의 말씀)
확실하게 불법적인게 확인 되어야 하거나 문제가 심각해야 가능할듯.

그래서 더 자세히 분석해 보기로한다.

8080 은 특정 포트를 의미한다.
210.117.120.178 의 특정 포트로 접속하는것.

해당 사이트에 대한 간단 정보


해당 IP 로 접속하면 응답이 있는 상태이므로 뭔가가 운영중인것은 확실하다.

마이크로소프트의 IIS 로 운영되는 서버이다.
이 서버에서 뭔가 기록할 것으로 추측된다.

좀 더 분석해 보자. 접속한 페이지에는 뭐가 있을까

접속한 페이지를 분석해 보았다.
두개의 스크립트가 로딩 되어 뭔가를 하고 있는데 ...

mixpanel-2-latest.min.js
chromecastcheck.js

위 두개의 스크립트가 작동하는게 보인다.
하나씩 확인해 보자.

★★★ 중요한 알림 ★★★
에 추가된 내용.
위 두개 스크립트는 설치된 크롬 확장 기능에 들어있는 것으로 확인 되었습니다.
기존 잘 못 분석한 정보를 정정합니다. 접속한 페이지에 저 스크립트가 있는것 처럼 보인것은
설치된 크롬 확장기능 때문이었습니다.

마지막으로 내 인터넷도 그런걸까? 체크해 보기


방법은 간단하다.
크롬브라우저에서 아래와 같은 형식으로 주소창에 입력해보자.

view-source:접속할 도메인
-----------------------------------
view-source:http://www.slrclub.com/
view-source:http://game.naver.com/
view-source:http://mail.naver.com/
view-source:http://superkts.com/

https 가 적용된 도메인은 작동하지 않았다.

위 처럼 테스트 해보면 알 수 있다.
이 글에서 올려둔 소스같은게 뜬다면 당하고(?) 있는 것이다.

테스트 해보면서 확인것은 무조건 100% 확률로 발생하는 것은 아니다.
일단 한번이라도 접속하면 당분간은 작동하지 않는것 같다.
이거 시스템까지 구축해놓고 기록하는건가라는 합리적인 의심이 간다.

처음엔 바이러스라거나 공유기 해킹이거나 그런것일 줄 알았는데...
여기 아파트에 설치된 장비나 회선에 뭔가가 있는게 아닐까 하는 의심이 간다.

거의 사용하지 않는 노트북으로 체크해 보았더니 마찬가지 였다. 바이러스는 아닌듯함.
그리고 공유기 대신 인터넷 라인을 컴에 직접 붙이고 해봐도 마찬가지로 작동함.
즉 컴이나, 공유기 문제는 아니다.

이거 분명 문제 있는것 아닌가?

그런데 이게 기술적으로 심각한 이유는?


분명 내 PC에 무언가가 깔린것도 아니고 공유기가 맘데로 한것도 아니다.
그냥 주소만 쳤을뿐인데 저게 가능한 것인가???

물론 가능하다. 해당 인터넷라인은 제공업체의 기기를 통해서 나가기 때문이다.
중간에 어디라도 거치거나 할텐데 거기에 손을 쓰면 가능하다.
이걸 누가 했느냐가 관건.

소름 돋는다. 원하면 뭐든 할 수 있기 때문이다. 만약 이 방법이 악용되면
브라우저 취약점을 이용한 재앙이 벌어질 수 도 있다.

로그를 이런식으로 사용자 몰래 기록하는건 법에 위반이 될까? 잘 모르겠다.
일단 여기에 꼼꼼하게 기록해 두기로 한다.

이런 로그 방법은 마치 ARP 스푸핑 이라는것과 방법이 유사하다. 그리고 법적으로는 ...


ARP 스푸핑
---------------
ARP spoofing. 굉장히 단순하면서도 치명적이고 지독한 해킹 방법으로 중간자(Man In The Middle, MITM) 공격 기법 중 하나이다. 말 그대로 두 사람 사이에 슬쩍 끼어들어가서 데이터를 몰래 훔쳐본다는 뜻.

그리고 법적으로는
----------------------
정보통신망 이용촉진 및 정보보호 등에 관한 법률 제48조(정보통신망 침해행위 등의 금지)
① 누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니 된다.
② 누구든지 정당한 사유 없이 정보통신시스템, 데이터 또는 프로그램 등을 훼손·멸실·변경·위조하거나 그 운용을 방해할 수 있는 프로그램(이하 "악성프로그램"이라 한다)을 전달 또는 유포하여서는 아니 된다.
③ 누구든지 정보통신망의 안정적 운영을 방해할 목적으로 대량의 신호 또는 데이터를 보내거나 부정한 명령을 처리하도록 하는 등의 방법으로 정보통신망에 장애가 발생하게 하여서는 아니 된다.

제71조(벌칙) 다음 각 호의 어느 하나에 해당하는 자는 5년 이하의 징역 또는 5천만원 이하의 벌금에 처한다.
1. 제22조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 동의를 받지 아니하고 개인정보를 수집한 자
2. 제23조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 동의를 받지 아니하고 개인의 권리·이익이나 사생활을 뚜렷하게 침해할 우려가 있는 개인정보를 수집한 자
3. 제24조, 제24조의2제1항 및 제2항 또는 제26조제3항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 개인정보를 이용하거나 제3자에게 제공한 자 및 그 사정을 알면서도 영리 또는 부정한 목적으로 개인정보를 제공받은 자
4. 제25조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 동의를 받지 아니하고 개인정보 취급위탁을 한 자
5. 제28조의2제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 이용자의 개인정보를 훼손·침해 또는 누설한 자
6. 제28조의2제2항을 위반하여 그 개인정보가 누설된 사정을 알면서도 영리 또는 부정한 목적으로 개인정보를 제공받은 자
7. 제30조제5항(제30조제7항, 제31조제3항 및 제67조에 따라 준용되는 경우를 포함한다)을 위반하여 필요한 조치를 하지 아니하고 개인정보를 제공하거나 이용한 자
8. 제31조제1항(제67조에 따라 준용되는 경우를 포함한다)을 위반하여 법정대리인의 동의를 받지 아니하고 만 14세 미만인 아동의 개인정보를 수집한 자
9. 제48조제2항을 위반하여 악성프로그램을 전달 또는 유포한 자
10. 제48조제3항을 위반하여 정보통신망에 장애가 발생하게 한 자
11. 제49조를 위반하여 타인의 정보를 훼손하거나 타인의 비밀을 침해·도용 또는 누설한 자

윈도우 방화벽을 이용하여 해당 IP로 접속하는것 차단하기

윈도우 방화벽 기능중에 특정 IP로 접속하는 것을 막는 방법이 있다.
설정하면 해당 IP로는 접속이 되지 않는다.

위 로그 방법은 사용자의 PC를 이용한 것이기 때문에
해당 IP로의 접속만 차단하면 최소한(!) 로그가 기록 되지는 않는다.

방법은 곧 올려보겠습니다.

위 로그가 발생하지 않는 조건

일단 한번 접속한 사이트에는 바로바로 다시 발생하지는 않는것 같다.

하지만 윈도우 방화벽에 해당 IP 로 접속하지 못하도록 해두었더니.
이게 발생하는 사이트의 경우 약 50% 이상으로 발생하고 있다.

즉, 기록을 못했으니 계속 시도하는것. ㄷㄷㄷ

그리고 발생하지 않는 조건 (상당히 많이 테스트하여 확인)
- https 로 접속하는 사이트는 발생하지 않는다.
- 브라우저 정보를 조작하여 핸드폰인듯 가장하니 발생하지 않는다. (크롬 확장기능으로 가능)
- 브라우저 정보를 운영체제만 우분투에 크롬으로 바꾸니 작동하지 않는다. 일단 윈도우가 대상인듯.
- USB 테더링을 하여 해당 핸드폰을 통해 인터넷을 하니 발생하지 않는다. (원래 회선사용 회피)

USB 테더링으로 인터넷 접속하니 발생하지 않는다!? ㄷㄷㄷ

또 하나의 테스트는 인터넷 회선을 다른것으로 바꿔보는 것이다.
이 테스트는 현실적으로 거의 불가능하나 한가지 방법이 있다.

바로 핸드폰 !! USB 테더링 이라는 기능이다.
약간의 설정을 하고 핸드폰과 USB 케이블로 연결을 하면 핸드폰을 통해 인터넷을 할 수 있다.
물론 핸드폰의 와이파이는 꺼야한다.

이동하면서 노트북으로 인터넷을 할때 쓰는 방법중 하나.
그걸 집 PC에 해보았다.

원래 회선을 죽이고 핸드폰을 통해 인터넷에 접속해서
같은 테스트를 진행하니 왠걸 단 한 건도 발생하지 않는다 !!

회선이 문제일것 같다라는 의심이 점점 설득력이 생긴다.
만약 회선이 문제라면 정말로 중간자공격기법인 셈.

브라우저의 정보를 윈도우가 아닌것으로 변조하니 발생하지 않는다

브라우저는 기본적으로 사용자 브라우저 종류와 운영체제 종류 정보등을 접속하는 서버로 보낸다.
이걸 분석하면 해당 사용자의 브라우저나 운영체제를 알 수 있다.
User-Agent 라는 것이며 크롬 브라우저일 경우
"User-Agent Switcher for Google Chrome" 이라는 크롬 확장기능으로 이 정보를 변경을 할 수 있다.
주로 개발 테스트용으로도 많이 사용된다.

여기에 착한하여 한가지 실험을 해보았다.

일단 PC 이지만 모바일로 속여보았다.
발생하지 않는다... 어? ㄷㄷㄷ

사용중인 OS를 우분투 라는것으로 속여보았다
역시 발생 안함. 윈도우나 맥이면 작동함.

다시 정상으로 돌리자 발생.

즉 사용자의 정보를 파악하여 작동한다는것.

최종으로 한가지 더 해보고 싶은 테스트

1. 집에서 한번도 사용해 본적 없는 외부 노트북을 여기 회선으로 연결해서 발생하는지 테스트해 본다.
2. 여기는 아파트이므로 다른집 PC도 그러는지 확인해 본다. 지인이어야 하고 양해를 구해야 하는데 좀 어렵다.
그리고 해당 집도 SK인터넷을 써야한다는 조건이 있다.

특히 2번 방법이 확인된다면.. 여기 SK회선을 쓰는 집은 다 그럴 가능성이 높다.
가능하면 해보겠다.

결론은.. 왜 이런 로그가 기록되나 하는 의문.

누가 왜 이런 짓을 하는지...

잡았다 요놈 하고 싶지만

공론화가 되도록 더 확실한 데이터를 수집해서 올려보겠다.
이런건 신고 한다고 바로 누가 해결해 주는건 절대 아니다.

상황이야 어찌 되었건 결과적으로 어딘가에서 서버까지 구축해 놓고
불법적인 방법으로 사용자 정보를 수집하는게 보이는데
어떻게 할 수 없다는 답변을 듣고.. 허탈했다. 이게 현실이다.

하지만 가만히 있을 수는 없으니까 ...

안녕하세요. 검색하다 저와 같은 경우라서 댓글 달아 봅니다.

SK 브로드밴드에서 인터넷 회선에서 PC이용 댓수를 체크하기 위한 IP로 보입니다.
PC의 갯수가 많을 경우 정상 페이지가 아니라 가입유도 페이지로 리다이렉트 됩니다.

여기만 그런것은 아니었군요.
집에 PC는 1대이고 한달에 한번 켤까말까한 노트북 한대 있습니다.
그런데 그 체크 방법 자체가 불법적 요소가 있어 보인다는 생각이 듭니다.
사용자의 인터넷 데이터를 조작하기 때문이죠 ARP 스푸핑 처럼요.
글 감사드립니다 ^^*

좋은글 감사합니다.
서울공돌이 님 말씀이 맞다면 보통 공유기 장비단에서 PC 이용 댓수를 검사하는 방법을 쓰는 통신사가 많은걸로 아는데
SK 브로드 밴드는 나름 불법적인? 기술을 쓰네요..... 뭐 이것도 근데 통신사 약관 아주 자세히 읽어보면 써있는 내용이긴 할텐데 뭔가 찜찜하긴 하네요...

네 확실히 공유기에서 발생하는 문제가 아니었습니다.
요즘 트래픽은 와이파이로 연결된 모바일이 더 많이 발생시키고 있을텐데요.
엄한 PC만 하나만 걸려라 식으로 잡아내고 있다는 생각이 듭니다.
해당 방법이 악의적인 공격에도 사용되는 기법이므로 진짜 찜찜합니다..
한가지 알아낸 방법이 .. 요즘 핫한 ... goodbyedpi 를 켜니 이것도 우회가 되더군요 ...

네이버는 서버정보가 NWS로 뜨던데 이건 검색해보니 미국 기상청? 이라는것 같은데 뭘까요??

글쎄요 네이버 관련해서는 잘 모르겠습니다. ㅠㅠ..

답글 기능을 어떻게 사용하는지는 모르겠다만..
goodbyedpi 로 우회되는거 보면 어딘가 장비에서 SK 브로드 밴드 IP 대역대만 작동하도록 설정되어있나보네요
근데 실시간 이용 댓수 감시가 목적이라면 24시간 365일 감시가 맞는건데 왜 평일 오전만 하고 오후나 주말은 감시가 없는건지.... 흠 이해가 안가네여
직원 출근시간에 맞추어 시스템을 끄고 키는 방식일듯 하네여...

그리고 엄한 PC만 잡는 개인적인 생각은 사실 인터넷 트래픽은 그렇게 통신사 입장에서 중요한것이 아닙니다. LTE 라면 트래픽에 제한을 걸어서 망 안정화를 해야할수도 있겠지만 일반 인터넷 망이라면 한곳에 트래픽이 몰려도 장애는 발생하지 않을정도로 구축이 되어있기때문에 그런것 같습니다 따라서 통신사 입장에서는 PC 가입자수 별로 제한을 걸어서 돈을 조금더 뽑아먹기만 하려고 하는것 같습니다.

만약 PC 대수 제한이 없다면 요금이 싼 개인 사용자로 가입해 PC방 을 차려서 스위치로 분배시켜 써버려도 인터넷은 전부 작동은 할것이기 때문에 (속도는 보장못함)그래서 비싼 PC방이나 회사 요금제가 따로 있는것이구요

글 감사드립니다 !! 여기 답글 기능은 아직은 개발자이고 관리자인 저만 가능합니다. ^^;;;;;

PC 대수 제한에 대한건 가정용으로만 생각을 했었는데 스위치를 이용한 대량 분배를 할 수도 있군요. ㄷㄷㄷ
이렇게 생각하면 이해가 갑니다.

그리고 요즘 며칠 봤는데 다시 이 방법이 작동하고 있지 않습니다.
전에도 한동안 휴식기(?)가 있던거 같았는데 지금도 그런게 아닐까 하네요.
그리고 진짜로 공휴일, 평일 오후, 주말은 작동하지 않습니다.
어찌보면 이 시간대가 컴을 더 많이 쓸텐데요 .. 더 잡아내기 좋은 시간인데..
출근 시간에만 관리를 하는걸까요.. ㅎㅎ

여러모로 혼란스럽기는 한데 방법 자체는 잘못되었다는 생각이 듭니다.

댓글 쓰기

이름 : 패스워드 :