본문 바로가기

Computer/0x00 정보보안

세션하이재킹(Session hijaking)해킹기법

세션하이재킹(Session hijaking) 해킹기법





동안 스푸핑,스니핑 위주의 모의 해킹을 진행 했었다면, 이번 시간에는 세션하이재킹 해킹기법에

대해서 알아보도록 하겠습니다.


*주의: 본 포스팅은 악용하면 그 책임은 본인에게 있으며 자료공유는 하지 않습니다. 오직 보안공부를 위해서만 작성 하였음을 알립니다.







세션하이재킹 이란?


이미 인증을 받아 세션을 생성 및 유지하고 있는 연결을 여러가지 방법으로 빼앗는 공격을 총칭 합니다.
세션이란? 두 대의 시스템간의 활성화된 상태를 의미 합니다.

세션하이재킹 공격은 보통 정상적인 두 세션이 3-Way handshaking 을 하면서 출발지와 목적지 포트넘버와
Ip주소는 고정이며 Syn과 Ack 넘버만 데이터양을 더한만큼 증가한후에 통신을 하게 됩니다.

이때 해커는 스니핑을 통해서 변화되는 Syn과 Ack 넘버를 관찰한 후에 두 세션중에서 하나를 ARP Cache Poisoning 등을 통해 통신을 불가능한 상태로 만든후에 자신이 통신불가된 세션 이라고 속여서 상대방
시스템과 통신을 시도 하게 됩니다.



LINUX에서 Hunt-1.5.tgz.gz를 다운 받습니다.




#tar -xzf hunt-1.5.tgz.gz 로 아카이브를 풀어줍니다.

(tar는 압축을 푸는것이 아닌, 단지 하나의 파일로 묶은것을 다시 푸는것일뿐 입니다. 이런 아카이브를 만드는 목적은 파일의 백업이나 배포에 편리하게 이용하기 위해서 입니다.) 


#cd hunt-1.5 (헌트디렉토리로 이동 합니다.)


#gcc -o hunt.c  (파일을 컴파일 시켜줍니다.gcc는 C컴파일러라고 보시면 됩니다.)




gcc 컴파일이 정상적으로 잘 실행되었습니다.





# ./hunt 로 헌트를 실행 시켜 줍니다.





타겟 시스템에서 클라이언트 서버로 텔넷에 접속을 합니다.

200.200.200.66 클라이언트에 정상적인 접속이 성공한 모습 입니다.




해커시스템에서 ㅣ을 눌러 주면 세션이 연결된 아이피와 포트번호가 출력이 됩니다.





타겟이 클라이언트 서버로 접속한 상태에서 ls -li 명령어를 입력한 모습입니다.






다시 해커시스템으로 돌아와서 확인해 보면 타겟이 입력한 명령어의 모습을 볼 수가 있습니다.
이렇든 해커는 리스트 옵션을 통해서 어떤 세션들이 통신하고 있는지를 '스니핑' 할 수 있습니다.


위와 같은 화면이 나온다면 타겟을 통신불능으로 만들기 위한 준비가 끝난 것입니다.



이제 하이재킹의 공격을 시작 합니다




# <- 루트권한 에서 , $ <- 일반 사용자 권한으로 바뀌고 통신이 되지 않습니다.
여기서 입력한 빨간색 테두리에 대화내용을 보시면 이겁니다.
"헉....당신 누구야?"
"해변의 아들아!(선오브비치)"
"아...........!!!(절망상태 -_-)




해커시스템으로 돌아오면 타겟이 입력했던 대화내용이 그대로 보여집니다. ㅎㅎ




해커의 아이피는 200.200.200.65 이나 세션하이재킹 공격을 통해서 타겟이라고 속여서 클라이언트 서버의 아이피인 200.200.200.66으로  텔넷 접속을 한 모습입니다.



지금까지 세션하이재킹(Session hijaking) 에 대한 간략한 모의해킹 실습 이었습니다.