떡 본김에 재사 지낸다고 했던가! 네트웍을 공부 한김에 스푸핑에 대해서도 기냥 한번 살펴보자.
조금 어려울수도 있으니 눈을 크게 뜨시구 차근차근......
가) 케빈과 쓰토무
무슨 영화제목 이냐구여! 아녀! 영화같은 현실 야그지요.
전설적인 해커 '케빈 미트닉' 그는 타고난 천재지만 가정환경이 그리 좋지는 않았다. 컴퓨터도 없던 그가 어린시절 해킹을 한 도구는 "라디오와 모뎀!" (정말로 천재인가 보다) 그러던 그가 일본인 '시모무라 쓰토모'(이름난 해커 이자 슈퍼컴 연구소 연구원)의 컴을 공격하였다. 물론 지루하고 여려운 일! 하지만 우리의 케빈은 쓰토모의 컴을 해킹 하였으니(그것도 root를) 그 전설적인 해킹 기술이 바로 'IP-Spoofing'인 것이다. (앞으로 설명할 아이피 스푸핑 보다는 다소 복잡하고 여러가지의 기술이 복합되긴 하지만 일단은 앞으로 설명할 아이피 스푸핑이 주류니깐!) 케빈이 해킹을 성공하자 뭐! 쓰토모 라구 가만히 앉아있겠는가. 당연히 역추적 및 역해킹, 눈물겹도 피나는 노력+(빽)으로 결국 케빈은 잡히고 말았지요. 그리구 케빈은 쓰토모에게 '당신의 실력에 감탄했소!'라는 말을 남겼답니다. 이 얼마나 멋진 해커들의 세상이야기란 말인가~~~~!!!! 넘어감니! 케빈은 얼마전에 가석방 되었다. 물론 '네트워킹' 및 그와 연관된 어떠한 도구들과도 접촉을 할수 없다는 명령과 함께 (죽으란 얘기지!!)
나) IP-Spoofing의 개요
자~~!그럼 소설과 같은 얘기를 접어두고 우리가 관심을 가져야할 '아이피스푸핑'에 대해서 공부를 해보자. '아이피'는 앞에서 좀 공부한 내용이다. 관심을 가지고 노력하신분들이라면 강좌란에 올린글보다도 더 해박한 성과를 가졌을것이라고 생각한다.. (흐흐) 그럼 '스푸핑'은..
한영사전>
spoof[spu:f]n. 속임수 -vt 장난으로 속여 넘기다..
바로 '속이다'라는 뜻인데 두 말을 합해보면 'IP를 속이다' 오예! 바로 그겁니다. 여기서 IP는 'IP 어드레스'를 일컷는 것이기에 우리는 IP-Spoofing이란게 바로 아이피 어드레스를 속여서 호스트를 공격하는 것이지요. (앞에서 벌써설명했는감?) 그럼 개략적으로 설명해보겄습니다.
타겟호스트(T) <--------<A>--------> 신뢰호스트(t)
위 그림에서 타겟호스트(T)와 신뢰관계<A>를 가지고있는 신뢰호스트(t)가 존재한다. 신뢰호스트란 앞장에서도 설명이되었지만 원격으로 시스템에 연결하여 시스템을 사용할수 있게하는 신뢰관계을 가진 호스트를 애기한다. 이렇듯 편리한 사용법이기는 하지만 편리할수록 그만큼 위험부담도 커지는 법!.
그림에서처럼 1단계로 신뢰호스트를 꼼짝못하도로 DoS공격을 한다. 그사이 나(h)는 신뢰호스트의 아이피 어드레스로 가장하여 타겟에게 접근한다. 뭣도모르고 (T) 는 (t) 에게 확인 메세지를 보내고,
(t)는 (T)에서 보내는 확인절차를 이행할수 없게된다. 그때 약간의 시간을 두고(T가 t에게 확인메세지를 보낼시간) (h)가 "예상한" (t)의 '일련번호'를 전송한다. 이때 "예상한" 그것들이 맞는다면, 타겟호스트(T)는 나(h)가 신뢰호스트(t)인것처럼 인식하여 나에게 모든것을 허락하게 된다.
으하하 그럼 게임은 끝이다.
위 설명은 무척이나 간략하게 아이피 스푸핑과정을 설명한것이다. 그러나 이과정은 그리 만만치는 않다.
다) IP-Spoofing의 과정
전제조건. 아이피 스푸핑이 가능하려면 다음과 같은 전제조건이 있어야 한다. 첫번째로 우리가 공격하려는 타겟호스트가 네트웍에 연결되어 있어야한다(당근이지), 두번째로 타겟호스트가 한개이상의 신뢰호스트와 신뢰관계를 구축하고 있어야 한다(또 당근이지, 꺼꾸루 아이피스푸핑을 안당할려면 신뢰관계구축을 안하면되지롱!), 셋째로 내PC가 네트웍에 연결가능해야지비....(완전당근)
전제조건중에 1,3은 진짜로 당근뽀식이구, 문제는 2번째꺼 만약 타겟 호스트가 '신뢰관계'를 구축하고 있지않다면 그냥포기후 다른 방법을 강구 하구 만약 구축되어있다면, 그 신뢰호스트를 찾는 일부터가 바로 문제인것이다.
ㄱ) 신뢰관계의 탐색
벌써 어렵군여 '신뢰관계의 탐색' 일단 타겟호스트의 정보를 있는데로 구해야 한다. 요즘은 whois조회를 이용하여 왠만한 정보들을 알수도 있다. http://whois.nic.or.kr 에서 알아보심됩니다. 그럼 해당 서버가 어떤 아이피를 사용하는지 알수있다. 또는 유용한 툴들을 이용해서 정보를 알아내야한다. showmount난 기타 툴을 이용하던가 아님 스니퍼를 이용할수도 있다(근데 스니퍼는 약간 치사한 방법이긴 하다) 제기럴 이것도 저것도 안되면 타겟호스트의 앞뒤번호서 부터 차근 차근 해보는 수밖에....
ㄴ) 1단계 신뢰호스트 쭉이기...
앞에서 부터 무진장 얘기한 DoS공격을 이용한 신뢰호스트 죽이기다. 일단 신뢰호스트를 찾는데 성공한다면, 그담엔 신뢰호스트를 무력화 시켜야한다. 수단과 방법을 가려서...(너무 지독하면 안되여)
한가지 유용한 DoS공격법을 소개하면, SYN플러딩 이라는 공격법이 있다. (추후설명) 아무튼 알고있고, 어떠한 것이든간에 연습한 DoS공격으로 신뢰호스트를 쭉여야한다...
ㄷ) Seguence Number 샘플링.
우아! 진짜 어렵고, 짜증나고, 따분하고, 황당스럽고, 지겹고, 지루한...... 씨퀀씨 넘버 샘플링이다.
씨퀀씨 넘버는 저번 시간에 설명을 했었다(기억??) 조선말로 '일련번호' '티씨피'에 대해서 알아보았을때 쪼금 머리아펐던 바로그 '일련번호'와'확인'에서의 일련번호이당..
샘플링의 과정은 다음시간에 줄줄이 얘기를 해보겠다.
ㄹ) 연결
사실은 S.N샘플링은 사전에 해야 하는 과정이다. 신뢰호스트를 쭉인다음 이제 본격적으로 타겟호스트에 접속을 한다. 어떻게하냐면 TCP포트 "513"으로 접속을 시도한다. 왜? 513번 포트가 '리모트 로그인 포트'이니깐?(추후에 포트얘기도 하자구여) 최초로 SYN(SYNchronize Sequence Numbers)을 보내는거죠. 그러면 타겟호스트는 신뢰호스트에게 SYN/ACK를 보낼것이다. 그럼샘플링한 일련번호를 탑재한 TCP ACK를 보낸면.....(ACK가 뭐냐고여? 저번시간에 공부했을껄요.. '확인'=ACKowledement) 여기서 주의해야할 사항은 최초에 SYN을 보낸후 약간의 시간을 두고 기다려야 한다. 그래야 타겟에서 신뢰호스트로 SYN/ACK를 보낼것이니까... 자! 여기서 우리가 예측한 일렵번호가 맞다면 타겟에서는 우리가 보낸 TCP ACK를 인정하고 받아들일것이다. 그럼 야호!! 드뎌 해킹 성공이다.....
나(신뢰t인냥) --------SYN------> 타겟(T)
쭈근놈(t) <------SYN/ACK---- 타겟(T)
나(h)(t인냥) --------ACK------> 타겟(T) : 일련번호 예측(웃겨!해킹도 역시 통밥이중요해!!)
맞으면 : 으하하하!!! 틀리면 : 다시처음부터!
일단 전체적인 IP -Spoofing절차를 설명해 보았다. 담 시간에는 더 자세하게 '신뢰호스트쭈기기'와 '일련번호 샘플링'과 '연결' 과정을 공부해보자...
--------------------------------------------------------> To be Cotinue
첫댓글 원본 게시글에 꼬리말 인사를 남깁니다.