1. 정의
- 세션 하이재킹이란, 말그대로 세션 가로채기이며,
서버와 클라이언트간에 통신은 정상인것처럼 보이나 실제로 해커가 중간에서 모든 작업이나 활성상태들을 감시할 수 있는 상태

2. 원래 정상적인 상태 (예 : TCP통신)

3-HandShake가 정상적으로 이루어진다면 위와 같이 이루어 진다.
여기서 시퀀스 넘버가 뭔지 정의를 해보면
명칭                    설명
Client_MY_Seq           클라이언트가 관리하는 자신의 시퀸스 넘버
Clien_Server_Seq        클라이언트가 알고 있는 서버의 시퀸스 넘버
Server_MY_Seq           서버가 관리하는 자신의 시퀸스 넘버
Server_Client_Seq       서버가 알고 있는 클라이언트의 시퀸스 넘버
Data_Len                데이터의 길이
(시퀀스 넘버는 순서번호로써 위그림으로 보면 앨리스는 받은 시퀀스 넘버에서 1을 더한 11을 ACK에 담고, 앨리스는 본인의 임의의 시퀀스넘버를 넣어서 함께 보낸다. 밥은 다시 원래 시퀀스 넘버에서 1을 더한 11을 보내게 된다.)


3. 공격 방법
- 공격자는 스니핑을 하여 세션을 확인하고 시퀀스 넘버를 획득한다.
- RST패킷을 보내 서버쪽 연결을 끊는다.
- 공격자는 새로 시퀀스 넘버를 생성후 서버로 보낸다.
- 서버는 새로운 시퀀스 넘버를 받고 다시 세션을 연다.
- 공격자는 정상적인 연결처럼 서버와 시퀀스 넘버를 교환하고 공격자와 서버 모두 Established상태가 됨.
(이때 클라이언트쪽에서는 TCP세션연결을 시도하려고 해도 되지 않는데, 이는 세션 하이재킹이 되었기 때문)
(또한, 클라이언트가 계속 ACK를 보내도 서버에서 공격지에 거쳐 계속 ACK만 왕래하게 되는데, 이건 ACK Storm이라고 한다.)

+ Recent posts