은닉 채널
1. 은닉채널이란 ?
* 기본 채널에 기생하는 통신 채널
> 아날로그 통신에서 신호 대 잡음비를 축소해서 기본 채널의 대역폭을 축소하고, 은닉 메시지는 다른 사람이 볼 수 없고 송신자와 수신자만 알 수 있도록 한 것
* ackmd 툴을 이용한 설명
> 클라이언트와 서버 간의 TCP 통신에서는 목적에 따라 SYN, ACK, FIN등의 패킷을 사용하지만 ack층 툴은 ACK 패킷만 이용
> 세션을 성립시키지 않아 방화벽이나 운영체제의 연결 기록에도 남지 않음 (TCP의 ACK 패킷을 UDP 처럼 사용하는 것과 같음)
> 트랜스 포트 Layer(Telnet, SSH)를 TCP로 사용하는 이유 ?
-> 신뢰적인 데이터 전송을 위해서
* ish(백도어)를 이용한 은닉 통신
- ICMP 신호를 이용 Telnet 서버처럼 통신
- ish는 ishd(데몬)과 ish(클라이언트)프로그램을 이용한 은닉 채널 통신 프로그램이다.
> ish는 icmp 메시지만을 이용한다.
> 세션이 없음으로 방화벽을 우회 할 수 있다.
>> 양쪽다 리눅스 OS를 사용해야 하며, 파일은 컴파일하여 사용하여야 한다.
< 모두 겸용으로 사용 가능하다. >
2. 은닉 채널 사용을 위한 ish 프로그램 설치
1). ish 프로그램 설치 1 - 프로그램 다운로드
> 서버와 클라이언트에 각각 ish를 설치한다.
> http://sourceforge.net/projects/icmpshell/에서 구할 수 있다.
2).ish 프로그램 설치 2 - 프로그램 압축 풀기 및 설치
> 서버와 클라이언트에 동일한 방법으로 ish를 설치한다.
> 설치과정
# tar xvfz ish-v0.2.tar.gz
# cd ISHELL-v0.2/
# make linux
> 데몬 : ishd <= 서버쪽에서 실행하는 명령어
> 클라이언트 : ish <= 클라이언트 쪽에서 실행하는 명령어
* 서버 쪽에서의 ish 실행
< 이렇게 실행 시켜 놓은 뒤 클라이언트에서 접속하여 해당 서버 PC를 root 사용자의 권한으로 이용 가능하다. >
-- 클라이언트(192.168.10.115)에서 사용 해본 ish
< 마지막 poweroff 명령어로 접속이 종료된다. >
< poweroff 명령어로 인해 Putty 접속이 끊어 진 것을 확인 할 수 있다. >
* 클라이언트 쪽에서의 실행
< 115(ish 서버)로 접속하여 root 권한 사용자의 명령어를 입력 및 수행 >
< Poweroff 명령을 하여 서버 쪽 리눅스가 poweroff 된 것을 확인 할 수 있다. >
패킷 분석
- 은닉채널은 ICMP 혹은 ACK 신호의 뒷부분의 데이터에 명령어를 넣어 전달한다. 이러한 통신 방법 때문에 ICMP 패킷을 주고 받으며 통신을 한다.
> wireshark 를 통한 패킷 분석
< 클라이언트에서 ifconfig 라고 입력을 한다. >
< 클라이언트에서 입력된 ifconfig 명령에 대한 응답으로 네트워크 장비에 대한 정보를 출력해서 보내줌 >
댓글 없음:
댓글 쓰기