ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP Session Hijacking
    Security/Network 2018.02.05 11:44

    * 세션

    - 두 대의 컴퓨터 간의 활성화된 상태를 말한다.


    * TCP 세션 하이재킹

    -> 개념

    - TCP가 가지는 고유한 취약점을 이용해 세션을 가로채는 공격이다.(즉, 로그인된 상태를 가로챈다.)


    -> 원리

    - TCP는 시퀀스 넘버가 잘못되면 이를 바로잡기 위한 작업을 하는 데, 이를 이용한다.

    - 서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 위조해서 연결된 세션에 혼란을 준 뒤 자신이 끼어들어가는 방식이다.


    1. 공격자는 ARP Spoofing을 이용하여 서버와 클라이언트 사이에서 패킷을 스니핑하고 있다가 서버에  RST패킷을 보내 서버쪽 연결을 끊는다.

    2. 그 후 공격자는 새로운 시퀀스 넘버를 생성하여 서버로 보낸다.

    4. 서버는 새로운 시퀀스 넘버를 받고 다시 세션을 연다. 

    5. 공격자는 정상적인 연결처럼 서버와 시퀀스 넘버를 교환하고 공격자와 서버 모두 Established상태가 된다.



    * ACK Storm

    - 클라이언트에서 다시 TCP 세션 연결을 시도해도 이미 세션 하이재킹이 되었기 때문에 세션 연결이 이루어지지 않는다.

    - 클라이언트가 계속 ACK을 보내도 서버에서 공격지에 거쳐 계속 ACK만 왕래하는 현상이다.



    [실습 1]

    - 실습을 진행하기 전에 아래와 같은 토폴로지를 구성한다.

     -> 실습 환경

     - WinXP(Victim)

     - BT(Attacker)

     - R1(Telnet Server)


     -> 실습 도구

     - hunt


    - 먼저 스니핑하기 위해 ARP Spoofing을 진행해준다. 클라이언트에게 Attacker 자신이 Telnet Server라고 속인다.


    - 포워딩 해준다.


    - hunt를 실행시킨다. 


    - XP에서 Telnet Server에 접속한다.


    - 먼저 세션이 연결된 list를 확인한다.


    - reset하기위해 r을 선택한다.


    - 해당 세션 번호를 선택한다.


    - 둘다 할 것이기 때문에 b를 선택한다.


    - XP에서 세션이 끊어진 것을 확인할 수 있다.



    - 이번에는 도청을 해본다.


    - w을 선택한다.


    - 번호를 선택한다.


    - XP에서 어떤 명령어를 실행하는지 확인이 가능하다.



    - 이번에는 세션을 가로채본다,


    - s를 선택하고 0번, b를 선택해주었다.


    - XP에서 입력한 명령어가 그대로 Attacker에게 그대로 표시되었다.


    - 원하는 시점에서 Ctrl+C키를 눌러 하이재킹을 시도한다.


    - 다음과 같이 Attacker가 원하는 명령어를 실행할 수 있다.



    [실습 2]

    - 토폴로지는 [실습 1]과 동일하다.

     -> 실습 환경

     - WinXP(Victim)

     - BT(Attacker)

     - CentOS(Telnet Server)


     -> 실습 도구

     - hunt


    - hunt를 실행시킨다.


    - XP에서 Telnet Server로 접속한다.


    - 스니핑하기 위해 ARP Spoofing을 진행해준다. Victim에게 공격자 자신이 Telnet Server라고 속인다.


    - 포워딩 해준다.


    - s를 선택한다.


    - 아래와 같이 도청이 가능하다.


    - 이유는 모르겠지만 Telnet Server가 CentOS에서 동작하고 있을 때는 s를 선택했을 시 도청만 가능하다.



    * 대응법

    1. 취약한 프로토콜인 텔넷을 이용하는 대신 SSH와 같이 세션에 대한 인증수준이 높은 프로토콜을 이용해야한다.

    2. 클라이언트와 서버 사이에 MAC주소를 고정시켜 준다. (ARP Spoofing)

    3. 지속적인 인증을 요구한다.

    'Security > Network' 카테고리의 다른 글

    hackrf & GNUradio & gqrx 설치  (0) 2018.10.27
    GNS3 설치 및 사용법  (0) 2018.08.04
    TCP Session Hijacking  (0) 2018.02.05
    DHCP Starvation  (0) 2018.02.02
    IP Spoofing  (0) 2018.01.31
    DNS Spoofing  (0) 2018.01.30

    댓글 0

~ ^ . ^ ~