2020. 7. 13.

[Network] S05 터널링과 은닉채널


*터널링과 캡슐화

터널링(Tunneling)
  • 인터넷을 사적이며 안전한 네트워크의 일부로 사용하는 기술
캡슐화
  • 4계층의 패킷이 3계층을 통과하기 위해서 4계층 정보와 데이터를 3계층 정보로 싸고, 이를 다시 2계층 정보로 쌈. 캡슐화된 패킷이 스위치나 라우터 같은 네트워크 장비를 지나면, 쌌던 정보를 다시 풀어내기도 함
  • 터널링에서는 캡슐화 단위가 조금 다름
    • 터널링 장비를 지날 때 일반 라우터나 스위치처럼 원래 패킷에 있던 2계층이나 3계층 정보를 벗겨내지 않고, 캡슐화 수행
    • 터널링 장비A로 유입된 패킷을 캡슐화하고, 이를 터널링 장비B가 다시 디캡슐화하여 다음 네트워크로 전달

*SSH 터널링

접근글지

// ssh 소켓이 열려있다면 http 같은 다른 어플리케이션의 소켓을 열지않고 ssh 보내준다. 방화벽은 ssh 접근한줄 알고 있다.
// 호스트 - SSH 서버 - 접근금지 서버

Step 1. SSH 접속 설정
Step 2. SSH 터널링 설정및 접속
Step 3. 브라우저 프락시 서버 설정

다-㈜

Step 1. SSH 접속 설정

PuTTV 선정 
분류를) 
PuTTY 서전 기존 음전 
타세선 
로길 
다•놯 정보 
Host Name (예 IP 
기 보드 
19216910.11 
접속 
0 (FC)Te1net C)PJogin @SSH 
져장된 서전의 굴터으기. 서장. 지을 
투성 
져장된 서선 (티 
dal 
8 접속 
91 
attacker 
dal_ll」eh-let 
드학시 
d취-15 
|긔리E 
좋뇨시하 장출 닫을 (W): 
(1)시리을 
서장|V) 
지러이 
(0 함상 
도-을 결) 
(0 한 
㉭ 접속이 쿨겼를 띠만 
「수기 「二 二그

Step 2. SSH 터널링 설정및 접속 1
[접속] – [SSH] – [터널링] 메뉴에서 다음 항목을 설정후 [추가]를 클릭한다.

川 第 上 
当 に 
0 爾 0 0 虐 県 ◎ 劇 3 
ロ 麑 洋 加 巾 鳴 2 洳 一 工 2 当 朝 
ロ 第 第 川 》 物 よ 型 瀬 ヨ 
富 ) 一 肉 凵 〕 〔 第 同 〕 
0 薯 4 
0 薯 6

9 0 
) を ◎ 
” 引 0 
(H) 辷 を 0 
( 1 画 0 
セ 言 き き 言 き 
言 ラ 三 
図 第 こ H50 言 6 を 言 等 辷 ロ 
( L) 宿 言 言 き 基 准 吉 言 ま 言 に ロ 
区 沽 三 三 
わ h 宿 ま を を 三 沽 き 朝 き H55 
HSS 尸 
を 三 
を 言

Step 2. SSH 터널링 설정및 접속 2

birochya@dal:— 
login as: birochya 
.10. 
Last login: Thu Jul 
[b i rochya@dal 
Il 
19 
's password: 
18:06: 11 2018 from 
: : ffff: 192 .168 .10.3

Step 3. 브라우저 프락시 서버 설정 1
  • 브라우저의 [도구]-[인터넷 옵션]-[연결]-[LAN 설정]을 다음과 같이 설정한다.

X 
Nd > 立 一 0 向 -0 一 之 五 S' - Y NVI 亠 Y 之 
之 五 - Y 叫 囗 
五 艹 Y 一 Y

Step 3. 브라우저 프락시 서버 설정 2

A14 
囗 , 細 細 咂 ~ A14 
HTTP(H):

여러 web 사이트에 접속해보고 패킷을 캡처해서 특성을 확인한다.
  • 80번 포트를 타켓으로 캡처를 수행하면서 각 IP와 데이터의 흐름을 살펴본다.

*은닉채널

기본 채널에 기생하는 통신 채널
  • 아날로그 통신에서 신호 대 잡음비를 축소해서 기본 채널의 대역폭을 축소하고, 은닉 메시지는 다른 사람이 볼 수 없고 송신자와 수신자만 알 수 있도록 한 것
ackcmd 툴을 이용한 설명
  • 클라이언트와 서버 간의TCP 통신에서는 목적에 따라 SYN, ACK, FIN 등의 패킷을 사용하지만 ackcmd 툴은 ACK 패킷만 이용
  • 세션을 성립시키지 않아 방화벽이나 운영체제의 연결 기록에도 남지 않음(TCP ACK 패킷을 UDP처럼 사용하는 것과 같음)


ish(백도어)를 이용한 은닉통신
ish ishd(데몬) ish(클라이언트)프로그램을 이용한 은닉 채널 통신 프로그램이다.
  • ish icmp 메시지만을 이용한다.
  • 세션이 없음으로 방화벽을 우회할수 있다.

ish 프로그램 설치 1


ish 프로그램 설치 2
  • 서버와 클라이언트에 동일한 방법으로 ish를 설치한다.
  • 설치 과정
# tar xvfz ish-v0.2.tar.gz
# cd ISHELL-v0.2/
# make linux
  • 데몬 : ishd
  • 클라이언트 : ish

서버
  • ishd 실행

[rooteserver 
[root@server 
Warning: bad 
2627 ? 
2630 pts/l 
[rooteserver 
./ishd 
ps —ax I grep ishd 
syntax, perhaps a bogus 
? See /usr/share/doc/procps—3.2 .7/FÅO 
o:oo ./ishd 
0:00 grep ishd

클라이언트
  • ish를 이용 서버에 접속
  • 일반 쉘과는 달리 프롬프트가 없다.

[root@attacker ISHELL—vO 
ICMP Shell vo.2 (client) 
Connecting to 192.168.11 .17. 
./ish 192 .168.11 .17 
by: Peter Kieltyka 
done.

Capturing from VMware Network Adapter VMnet8 (icmp) [Wireshark 26.1 (v2.é_1-O-g860a78b3)] 
File Edt View Go Capture Analyze StatÉtics Telephony 100' hternals Help 
Filter. 
Time 
1 0. oooooc 
2 0. 001632 
Clear 
Source 
Echo (pir,g-; reply 
Echo (ping) rep y 
v Expression.„ 
til=64 
seq—2560/10, tt1-64 
captured (584 bits) on 
ost: 
Apply 
Destination 
echo (ping) reply 
Echo (ping) rep y 
t d=ijxeb 
i d—Oxeb 
Frame 1: 73 bytes on wire (584 bits), 
Ethernet Il, Src: vnnqare_81 (00 
Internet protocol version 4, src: 192 
73 bytes 
interface O 
.168.11.47, DSt: 192.168.11.17 
Internet control Message protocol 
0000 OO oc 29 84 bd f7 OO oc 29 81 
0010 OO 3b OO OO 40 OO 40 01 a3 31 
0020 0b 11 00 00 9c 86 eb 05 00 00 
0030 oo 000000000000 oo oo oo 
0040 00 00 00 00 00 00 6c 73 Oa 
O VMware Network Adapter VMnet8: 
f7 
co 
00 
oo 
Of 08 
as 0b 
oo oo 
oo oo 
packets: 2 
004500 
co a8 
00 
00 00 
oo 
02 oo 
Default


댓글 없음:

댓글 쓰기