Diggin Em Walls (part 3) - Advanced/Other Techniques for ByPassing Firewalls

Similar documents
Diggin em Walls ? 방화벽 탐지, 그리고 방화벽 뒤의 네트워크 확인

Microsoft PowerPoint - 4. 스캐닝-2.ppt [호환 모드]

bn2019_2

정보보안 개론과 실습:네트워크

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

시스템, 네트워크모니터링을통한보안강화 네트워크의미래를제시하는세미나 세미나 NetFocus 2003 : IT 관리자를위한네트워크보안방법론 피지피넷 /

슬라이드 1

Microsoft PowerPoint - 4.스캐닝-1(11.08) [호환 모드]

2009년 상반기 사업계획

슬라이드 1

Microsoft PowerPoint - 4. 스캐닝-2(11.21) [호환 모드]

Microsoft PowerPoint - L4-7Switch기본교육자료.ppt

Microsoft Word doc

TCP.IP.ppt

DoS 공격의유형분석및탐지방법 (Monitoring and Investigation of DoS Attack) 영산대학교 사이버경찰학과 이성진

슬라이드 1

개요 IPv6 개요 IPv6 주소 IPv4와공존 IPv6 전환기술 (Transition Technologies)

[ tcpdump 패킷캡처프로그램 ] tcpdump란? tcpdump 버전확인 tcpdump 플래그 (flags) tcpdump 사용법 tcpdump의사용예제 telnet을활용해 root와 passwd 암호알아내기 [01] tcpdump란? tcpdump는 Lawren

[QoS 강좌] QoS에서의 혼잡 회피 적용과 이해 ②

Microsoft PowerPoint - ch13.ppt

Network seminar.key

Microsoft PowerPoint - 06-IPAddress [호환 모드]

Subnet Address Internet Network G Network Network class B networ

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Microsoft PowerPoint - tem_5

Microsoft PowerPoint - thesis_rone.ppt

Microsoft Word - Blind TCP IP hijacking.doc

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft Word - release note-VRRP_Korean.doc

[Brochure] KOR_TunA

일반적인 네트워크의 구성은 다음과 같다

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

제20회_해킹방지워크샵_(이재석)

Microsoft Word - Tcpdump 사용설명서.doc

슬라이드 제목 없음

PowerPoint 프레젠테이션

<4D F736F F D20C3D6C1BE202D D E7420B1E2B9DD20B4DCB8BB20C8A3BDBAC6AE20BFEEBFB5C3BCC1A620C0DAB5BF20C6C7BAB02E646F63>

인터넷프로토콜중간고사 학번 이름 1. ipconfig/all 을수행하면다수의인터페이스에 X.X 인주소가붙어있는 것을볼수있다. 이주소는어떤특수주소인가? [3 점 ] 2. Option 이없는 IP 헤더를그려라. 각필드의명칭을정확히기입하라.

Microsoft Word - NAT_1_.doc

0. 들어가기 전

< F5320B4EBC0C0C0E5BAF1BFA120B4EBC7D120BAB8BEC8B1E2B4C920B0A1C0CCB5E528C3D6C1BE292E687770>

방화벽 설정 - iptables

Microsoft PowerPoint _TCP_IP

Microsoft Word - access-list.doc

2. 인터네트워킹 서로떨어져있는각각의수많은네트워크들을연결하여하나의네트워크처럼연결하여사용할수있도록해주는것 3. 인터네트워킹에필요한장비 1 리피터 (Repeater) - 데이터가전송되는동안케이블에서신호의손실인감쇄 (Attenuation) 현상이발생하는데, 리피터는감쇄되는신

네트워크 고전 해킹 기법의 이해

untitled

[ R E P O R T ] 정보통신공학전공 김성태

The Pocket Guide to TCP/IP Sockets: C Version

1217 WebTrafMon II

Windows 8에서 BioStar 1 설치하기

PowerPoint 프레젠테이션

Microsoft Word - WP_04_Firewall.NAT.doc

*****

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

SMB_ICMP_UDP(huichang).PDF

2009 학년도 2 학기통신프로토콜 Quiz 모음 ( 인터넷정보과 1 학년 C/G 반 ) 담당교수 : 권춘우 [Quiz #1] 통신기초와관련한다음물음에답하라. 1. 통신이라함은정보원 ( 송신자 / 수신자 ) 간정보를전송매체를통해전달하는것을의미한다. 그래서정보원 (sou

ㅇ악성코드 분석

OSI 참조 모델과 TCP/IP

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

이세원의 인터넷통신 과제 02.hwp

Microsoft PowerPoint - MobileIPv6_김재철.ppt


5th-KOR-SANGFOR NGAF(CC)

hd1300_k_v1r2_Final_.PDF

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

희망브리지

서비스) 와서버( 관리대상서버) 간에자격증명을사용하여서로의 ID 를확인하고서로주고받는데이터를검사하고암호화하는프로세스 이다. 높은인증수준은일반적으로성능의저하를가져올수있지만높은 수준의보안과데이터무결성을제공한다. 기본값 - 관리대상서버에설정되어있는 DCOM 인증수준기본 값을

<35B9DAC1F6BCF62CC0CCBFECC8C62CB7F9B5BFBCAE2E687770>

GRE(Generic Routing Encapsulation) GRE는 Cisco에서개발한터널링프로토콜으로써특정네트워크망에서새로운 IP 헤더를인캡슐레이션하여패켓을전송하는 VPN 기능을제공한다. GRE 터널링을이용하여패켓을전송하면, 데이터를암호화하지않기때문에보안적으로는취

UDP Flooding Attack 공격과 방어

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

슬라이드 1

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

Cisco FirePOWER 호환성 가이드

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Cisco SDN 3.0 DDoS DDoS Cisco DDoS Real Demo 2008 Cisco Systems, Inc. All rights reserved. 2

제10장 트래핀스포트 및 응용 계층

[로플랫]표준상품소개서_(1.042)

라우터

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

운영체제실습_명령어

SSL Strip Attack JAC (SemiDntmd) 이우승 semidntmd.tistory.com

시스템을 제공한다는 특징이 있다. ONOS[4]는 성능, 확장성, 가용성을 중시하는 분산형 SDN 컨트롤러이 며 편의성 있는 Web GUI 와 SDN 컴포넌트 단위의 계층 구조를 통해 어플리케이션을 개발하고 컨트롤 러에 탑재할 수 있는 기능들을 제공한다. 하지만 ONO

버인지유닉스서버인지를알아야버그나공격툴을찾아가기때문이다. 윈도우 ftp 서버에유닉스용서버인 wu-ftp에대한버그공격을하는짓과같기때문이다. 이런점을보안에서역이용해서윈도우서버이지만유닉스서버처럼보이게끔가장하기도한다. 수퍼스캐너로간단히 OS탐지를할수있다. 바로윈도우서버들은 13

Microsoft PowerPoint - chap01-C언어개요.pptx

3ÆÄÆ®-11

게시판 스팸 실시간 차단 시스템

PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

鍮뚮┰硫붾돱??李⑤낯

전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통

TTA Journal No.157_서체변경.indd

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

ÀÎÅÍ³Ý ÁøÈï¿ø 3¿ù ÀúÇØ»ó

발표순서 v 기술의배경 v 기술의구조와특징 v 기술의장, 단점 v 기타사항 v MOFI 적용방안 2 Data Communications Lab.

PPP over Ethernet 개요 김학용 World Class Value Provider on the Net contents Ⅰ. PPP 개요 Ⅱ. PPPoE 개요및실험 Ⅲ. 요약및맺음말

Transcription:

방화벽우회테크닉 저자 : Ka0ticSH(asm.coder@verizon.net) 번역및편집 : vangelis (vangelis@wowwhacker.org) Wowcode Team of Wowhacker 호스트탐지 : 방화벽뒤에어떤호스트가살아있다면그호스트를탐지할수있는방법은여러가지가있다. 이시리즈의앞에서는주로 traceroute와 ICMP 패킷을사용하는것에대해주로다뤘다. 여기서는호스트를탐지하는다른방법들에대해다룰것이다. 여기서다룰테크닉은보내진어떤패킷에설정된플래그의다른조합들을포함하고있다. 플래그가붙은패킷은보내지고, 우리는어떤패킷이우리에게돌아올지관찰할것이다. 이를위해 TCP 에대한기본적인지식이필요하다. 여기에대해대략알아보자. 클라이언트는목적지에 SYN 플래그비트가설정된패킷을보낸다. 목적지호스트는 RST 비트로플래그가붙은패킷으로응답하거나또는 SYN 비트로플래그가붙은보내진패킷을인정하는 SYN ACK 패킷으로응답한다. 호스트는 SYN 비트나 ACK 비트로플래그가붙은보내진패킷을인정하기위해 ACK 패킷을다시보낸다. 이전에언급했던것처럼우리는 ICMP 패킷이나보통 traceroute 패킷으로확인하는방법을사용했왔다. 인터넷이성장하고, 보안문제가중요해지자방화벽 / 라우터의설정은보통 ping에사용되는것으로알려진 ICMP의 Type 8 패킷을막고있다. 사실 ping은사용가능한가장쉬운호스트탐지툴이다. TCP 플래그가붙은패킷을사용함으로써우리는네트워크의상태를확인하는데약간더접근을할수있다. 특히전형적인방화벽 / 라우터는 TCP 패킷을막지는않을것이다. 그래서이패킷들에대한플래그를조작함으로써우리는호스트가시스템을확인하기위해우리가분석할수있는방식으로응답하도록할수있다. 이테크닉들은호스트에대해포트스캐닝을할수있도록해주며, 어떤호스트가온라인상인지오프라인상인지탐지하고, 그리고광범위하게그것의운영체제를탐지할수있도록한다. 호스트가살아있는지의여부탐지 : 우리는 hping(http://www.kyuzz.org/antirez/hping2.html) 을사용할것이다. 호스트탐지는단지패킷을보내고, 그것에대한응답을기다리는가장기본적인수준으로시작할것이다. 만약아무런응답이없을경우호스트는다운되어있거나패킷이필터링되거나드롭되었다고생각한다. 1

TCP Ack 패킷 : ACK 비트플래그가붙은패킷이어떤호스트에보내지면만약그호스트가살아있다면 RST(reset) 비트플래그가붙은다른패킷으로응답을한다. 이테크닉에하나더추가한것은 ACK 플래그가붙은패킷을보낸포트가열려있는지닫혀있는지차이가없다는것이다. 만약그호스트가살아있다면 RST 플래그가붙은패킷으로응답할것이다. [root@localhost]#hping 10.10.1.17 -A -c1 -p 2 hping 10.10.1.17 (eth0 10.10.1.17) : A set, 40 data bytes 60 bytes from 10.10.1.17: flags=r seq=0 ttl=59 id=0 win=0 time=0.3ms RST 비트플래그가붙은리턴된패킷을주목하자. 이것은호스트가살아있으며, 패킷이 TCP ACK 플래그가붙은패킷을허용한다는것을나타낸다. TCP Syn/Ack 패킷 : 이테크닉은 SYN 및 ACK 비트플래그가붙은패킷을보낸다. 이것은나중에살펴보겠지만광범위한운영체제탐지테크닉에도도움을준다. 하지만지금은호스트탐지에대해서만이야기하도록하자. 호스트가 SYN 및 ACK 비트플래그가붙은패킷을받으면 RST 비트플래그가붙은패킷을리턴한다. [root@localhost]#hping 10.10.1.16 -SA -c1 -p 2 hping 10.10.1.16 (eth0 10.10.1.16) : SA set, 40 data bytes 60 bytes from 10.10.1.16: flags=sa seq=0 ttl=59 id=0 win=0 time=0.5ms 포트스캐닝 : 열린포트와닫힌포트를탐지하기위해 TCP 플래그패킷방법을사용할수있다. 또한이테크닉을포트탐지를위해사용할수도있다. 이제열린포트또는닫힌포트에보내질수있는지알아보기위해패킷이분석될수있는다양한방법들에대해알아보자. TCP Syn 패킷 : 이테크닉은아주효과적인방법이다. 보통 SYN 비트플래그가붙은패킷은필터링되거나드롭되지않는다. 보통열린포트는이패킷을받을것이며, 예상된 TCP SYN/ACK 플래그가붙은패킷을리턴한다. 닫힌포트는 RST/ACK 비트플래그가붙은패킷을종종리턴하기도한다. 예 ] [root@localhost]#hping 10.10.1.17 -S -c1 -p 21 hping 10.10.1.17 (10.10.1.17) : S set, 40 data bytes 60 bytes from 10.10.1.17: flags=sa seq=0 ttl=59 id=0 win=0 time=0.5ms 2

위의예시는 ftp 포트 21 번이열려있는지확인하기위해호스트에보내진것이다. 21 번이열려있는 지알수있다. 예에서도볼수있듯이 SYN/ACK 비트플래그가붙은패킷이돌아왔다. [root@localhost]#hping 10.10.1.17 -S -c1 -p 2 hping 10.10.1.17 (10.10.1.17) : S set, 40 data bytes 60 bytes from10.10.1.17: flags=s seq=0 ttl=59 id=0 win=0 time=0.3ms 위의경우는닫힌포트 2 번으로 SYN 비트플래그가붙은패킷이보내진것으로보인다. TCP Fin 패킷 : 이테크닉은포트의열린여부와호스트의온라인및오프라인여부를탐지하기위해사용된다. 이테크닉은 SYN 비트플래그가붙은패킷만큼효율적이지는않다. 왜냐하면열린포트는 FIN 비트플래그가붙은패킷을드롭시킬것이기때문이다. 닫힌포트는 RST/ACK 플래그패킷으로응답할것이다. 다음은그예이다. [root@localhost]#hping 10.10.1.17 -F -c1 -p 2 hping 10.10.1.17 (10.10.1.17) : F set, 40 data bytes 60 bytes from 10.10.1.17: flags=ra seq=0 ttl=59 id=0 win=0 time=0.5ms 위의예에서본것처럼 FIN 비트플래그가붙은패킷은닫힌것으로추정되는 2번포트로보내졌다. 응답은 RST/ACK 비트플래그가붙은또다른패킷이었다. 이것이포트스캐닝의또다른방법이다. 그런데방화벽이필터링을하고있을경우, 그래서닫힌포트에보내진패킷이방화벽에의해드롭되면그포트가열려있다고추정할수도있는문제도있다. TCP Null 패킷 : TCP 플래그를사용하는또다른테크닉은어떤것도사용하지않는것을포함하고있다. 이패킷은닫힌포트로보내져 RST/ACK 플래그패킷이란결과를초래할것이다. 전과마찬가지로열린포트에보내진 Null 패킷은아무런응답이없거나또는그패킷이폐기될것이다. [root@localhost]#hping 10.10.1.17 -c1 -p 2 hping 10.10.1.17 (10.10.1.17) : NO FLAGS are set, 40 data bytes 60 bytes from 10.10.1.17: flags=ra seq=0 ttl=59 id=0 win=0 time=0.5ms 받은응답은 RST/ACK 비트플래그가붙은패킷이며, 이것은 21 번포트가닫혀있다는것을보여 준다. TCP FIN 패킷테크닉과아주유사하지만유연성은없다. 어떤방화벽은 null 패킷을드롭하도 록설정될수도있다. 3

TCP Xmas 패킷 : 또한위의두가지테크닉과마찬가지로포트의열린여부를확인한다. 만약포트가닫혀있다면 RST/ACK 플래그패킷으로응답받을것이다. 그리고만약포트가열려있다면호스트는그것에반응하지않을것이다. [root@localhost]#hping 10.10.1.17 -c1 -F -S -R -P -A -U -X -Y -p 2 hping 10.10.1.17 (10.10.1.17) : RSAFPUXY set, 40 data bytes 60 bytes from 10.10.1.17: flags=ra seq=0 ttl=59 id=0 win=0 time=0.5ms 위의보기에서호스트는포트가닫혀있는것을입증하면서 RST/ACK 플래그패킷으로응답하고있다. Null 패킷과마찬가지로보통 Xmas 패킷이필터링되기때문에더이상호스트를확인하는것이허용되지않는다. 이테크닉들은만약허용된다면호스트를탐지하고, 그호스트가살아있는지의여부를알아보기위해사용될수있다. 닫힌포트를찾아낼개연성은열린포트를찾아내는것보다훨씬더쉬울것이다. 이것들과같은테크닉은패킷이일상적인트래픽처럼보이도록만들어방화벽을우회할것이다. ICMP 테크닉 : 가끔네트워크문제를해결하거나기본적인정보를수집하기위해사용되는 ICMP 패킷은네트워킹의일반적이면서도중요한부분이다. 여기서는 ICMP에대해간단히알아보기로한다. Ping은가장일반적인 ICMP 타입이다. 만약방화벽이 ping을막지않는다면대부분 ICMP Type 8, ECHO REQUEST, 및 ICMP Type 0, ECHO REPLY이다. 방화벽이막지않는다른 ICMP 패킷을이용해호스트가살아있는지탐지할수있다. ICMP Timestamp Request, Type 13 : [root@localhost]#icmpush -vv -tstamp 10.10.1.17 -> ICMP total size = 20 bytes -> MTU = 1500 bytes -> Total packet size (ICMP + IP) = 40 bytes ICMP Timestamp Request packet sent to 10.10.1.17 (10.10.1.17) Receiving ICMP replies... 10.10.1.17 -> Timestamp reply transmitted at 06:17:42 icmpush: Program finished OK 4

위의결과를보면 ICMP 패킷은방화벽을통해허용되어있다. 관리자는탐지가안되었을거라고생각할지모르지만탐지가되었다. Timestamp 테크닉은보통 *nix 시스템에대해사용된다. 좀더많은정보는다음섹션을참고해라. 이정도만하자. 보통막힌 ICMP 패킷들은 ICMP type 8 ECHO REQUEST와 ICMP type 0 ECHO REPLY이며, 둘다 ping을위해사용된다. 광범위한 OS 추측 : 이테크닉들의일부는어떤플랫폼에서는작동하지않을수도있다. 이것은운영체제를추측하는데최상의기술은아니다. 정확하지도그리고항상성공하지도않는다. 이시도들및방법들은시행착오에기반을둔것이며, 어떤패킷에운영체계가반응하는것에기반을둔것이다. Windows: 아마여태까지언급된호스트탐지법대부분이윈도우상에서는작동하지않는다는것을알게되었을지도모르겠다. 단지 TCP 플래그가붙은패킷테크닉들중의하나가윈도우시스템에작용하지않으며, 이것은 Xmas 테크닉이다. 또한윈도우시스템에작동하지않는다른하나는브로드캐스트테크닉이다. 여기서는간단하게다루겠는데, 만약어떤방화벽이 ICMP Type 8 패킷을통과하도록허용하고, 그네트워크에 ping을보내거나주소를브로드캐스트한다면 ICMP Type 8 패킷을그네트워크상에있는모든호스트에보내는결과가나오며, 그것들로하여금당신에게 ICMP Type 0(ECHO REPLY) 을보내도록한다. 이것은그네트워크에대한정보를알아낼수있다. 그러나이것은어떤서비스팩이설치된 NT4가아니라면윈도우시스템에는작용하지않는다. 앞에서언급된것처럼 timestamp 요청테크닉은윈도우시스템에서는작동하지않으며, *nix 시스템에대해서는아주효과적인적으로입증되었다. 여태언급하지않은것중윈도우시스템에서작동하지않는다른테크닉은 ICMP Type 15(Information Request packet) 이다. 어떤호스트로부터요청하기위해사용되는것은네트워크주소이다. 어떤정보에의하면 ICMP Type 15와 ICMP Type 16은이미구식이되어버렸다. Linux: 앞에서언급된테크닉들의대부분과반대로 ICMP Type17은리눅스시스템에대해서는작동하지않았다. 하지만윈도우시스템에서는작동했다. ICMP Type 17인 Address Mask Request는목표네트워크상의 subnet mask에요청을하고, 정보를획득하는데사용된다. 응답 (ICMP Type 18, Address Mask Reply) 는 subnet mask를포함한다. [root@localhost]#icmpush -vv -mask 10.10.1.17 5

-> ICMP total size = 12 bytes -> MTU = 1500 bytes -> Total packet size (ICMP + IP) = 32 bytes ICMP Address Mask Request packet sent to 10.10.1.17 (10.10.1.17) Receiving ICMP Replies... icmpush: program finished OK 위는리눅스시스템에보내졌지만아무런응답을받지못한 ICMP Type 17(Address Mask Request) 의예이다. BSD: BSD 네트워크코드는 Syn/Ack 패킷에응답하지않는것으로최적화되어있다. 아키텍처가그이유가될수있지만또한운영체계를탐지하고추측하는데도움이될수있다. 리눅스를포함해다른운영체계들과 Windows도이테크닉에성공적으로반응한다. 아래는그예이다. [root@localhost]#hping 10.10.1.17 -c1 -p 23 -S -A hping 10.10.1.17 (eth0 10.10.1.17) : SA set, 40 data bytes 위의예에서는 Syn/Ack 비트로플래그가붙은 TCP 패킷을보내기위해 hping 을사용하고있다. 이 패킷은 BSD 시스템에보내졌으며, 그래서어떤응답도받지못했다. Routers: ICMP 테크닉을사용하여우리는라우터도역시탐지할수있다. 라우터를탐지하는것은아주간단하며, 유용하다. 우리가라우터라고추정하는시스템에보내진 ICMP Type 10(Router Solicitation) 을이용하여 ICMP Type 9(Router Advertisement) 패킷이응답을받는지알아보기위해점검할수있다. [root@localhost]#icmpush -vv -rts 10.10.1.16 -> ICMP total size = 20 bytes -> MTU = 1500 bytes -> Total packet size (ICMP + IP) = 40 bytes ICMP Router Solicitation packet sent to 10.10.1.16 (10.10.1.16) 6

Recieving ICMP replies... 10.10.1.16 -> Router Advertisement (10.10.1.16) icmpush: Program finished OK 이제우리는네트워크상에있는라우터를발견했으며, 그것은나머지네트워크에하나의필터링패 킷일수있다. 이테크닉은아주유용하며, 어떤시스템인지알아낼수없을때간단한해결책이될 수있다. 방화벽침투 : 자, 이제우리는방화벽을찾아냈으며, ACL에대해파악했다. 그리고커뮤니케이션을나누고자하는시스템도찾아냈다. 어떻게할것인가? 그시스템과커뮤니케이션을하는동안계속그방화벽을우회해라. 몇가지툴을사용하면그렇게어려운작업이아닐것이다. 프로토콜터널링 : 프로토콜터널링은하나의프로토콜의명령어들을다른프로토콜에혼합시키는행위이다. 우리는이테크닉을구현한몇몇트로이를보았다. 그리고관리자들은보안을위해그들이사용하는프로토콜 ( 대부분 TCP와 UDP) 을필터링하기시작했다. 여전히대부분의관리자들은터널링을위해어떤프로토콜들이사용되고있는지, 그리고그들의방화벽이얼마나형편없이구멍이뚫려있는지알아야할것이다. ICMP/UDP Tunneling: 앞에서도말했듯이, 대부분의관리자들은 ICMP Type 8와 ICMP Type 0 패킷을봉쇄할것이다. 하지만여전히어떤관리자들은 ICMP 헤더에있는 ICMP Tunneling wrap 명령어나데이터를봉쇄하지않고있다. Loki/Lokid와같은프로그램은가장단순한형태로이테크닉을실행한다. 다음인용문을보자. " Loki Project의개념은단순하다. 그것은 ICMP_ECHO 및 ICMP_ECHOREPLY 패킷의데이터부분에서임의의정보를터널링하는것이다. Loki는 ICMP_ECHO 트래픽내에존재하는은밀한채널을공격한다. 이채널은네트워크장치가 ICMP_ECHO 트래픽의내용을필터링하지않기때문에존재한다. 네트워크장치들은 ICMP_ECHO 트래픽의내용을단순히통과하거나드롭시키거나, 또는리턴시킨다. 트로이패킷그자체는일반적인 ICMP_ECHO 트래픽으로서머스커레이드된다. 우리는우리가원하는어떤정보를캡슐화 ( 터널링 ) 시킬수있다. 여기서부터계속 Loki는정보를터널링하는 ICMP_ECHO 트래픽을가리킬것이다. " 이것을읽어보면 loki/lokid 가기본적인트래픽으로보여진다는것을입증할것이다. 또한 loki 는 7

방화벽침투툴 로써목적을두기보다는훨씬더은밀한방법으로데이터를전송하기위한것이다. 방화벽침투를위한것이라면 loki 의서버인 lokid 는장악한시스템이나방화벽뒤에존재하는시스템 에설치되어야한다. [root@localhost]#lokid -p -i -v 1 그런다음전체터널링구조와함께클라이언트에연결한다. [root@localhost]#loki -d 10.10.1.17 -p -i -v 1 -t 3 ICMP 터널링은아주효과적인것으로입증되었는데, 그것은일반적인방화벽이 ICMP 패킷을통과시 키기때문이다. 그래서 loki/lokid 를가장강력한백도어로만들어준다. TCP Ack 터널링 : TCP/IP 핸드쉐이크가작동하는방법을살펴보면, Syn 패킷은보내지고, 그런다음 Syn/Ack 패킷은받게되고, 그런다음 Ack 패킷이다시보내진다. 일반적인관리자는어떤 Ack 패킷은핸드쉐이크나연결구도의일부라고추정할것이다. ICMP/UDP 터널링처럼트래픽이정상적인것으로관리자들은믿을것이다. 이것을위한이상적인프로그램은 AckCmd이다. Loki/lokid처럼 AckCmd는클라이언트와서버부분으로구성되어있다. 서버는호스트에서실행되고, 클라이언트는그서버와통신하기위해사용된다. 클라이언트는서버와통신하기위해 Ack 패킷만사용한다. 클라이언트가서버의 IP를알고있다면패킷은일반적인트래픽처럼방화벽을통과한다. C: >ackcmds.exe 이명령어는 AckCmd 의서버를실행시킨다. 이것은방화벽뒤의호스트에서실행된다. C: >ackcmdc.exe 10.10.1.17 이명령어는 AckCmd 의클라이언트를구동시킨다. 그 IP 에따라서버도실행된다. 그런다음 "AckCmd>" 프롬프트가나타날것이다. Outbound 트래픽 : " 최근개인방화벽의외부로나가는트래픽을막는것에서의취약점이개인방화벽제조업체들에 8

의해제공되는보안차원에대한진지한관심을일으키고있다. 보안전문가들은유명한방화벽에서외부로나가는트래픽을막는것을구현하는데있어서의결함을지적하고있다. 필수적으로이취약점은악의적인프로그램이 신뢰받은어플리케이션 에코드를삽입시킴으로서외부로트래픽이나가는것을막는것을우회하도록하며, TCP/IP 패킷을보낼수있는프로토콜드라이버를만들어 Microsoft TCP/IP 스택을우회하도록해준다. 다음세대에아마이용가능한트로이는이취약점을공격하는것이될것이다. 사실, 보안연구자들은모든트래픽을막도록설정되어있어도개인방화벽을통과할수있는도구들을이미만들었다. 위글은 http://www.sygate.com/alerts/outbound-blocking.htm 에서발췌했으며, 개인방화벽이외부로 나가는트래픽을막을수있는지테스트해본결과많은것들이실패했다. 이것에대한글은다음을 참고하자. http://keir.net/firehole.html http://www.hackbusters.net/ob.html http://online.securityfocus.com/archive/1/244026 http://grc.com/lt/leaktest.htm 결론 : 많은방화벽들은악의적인패킷이통과하는것을허용하지않는아주뛰어난기반을가지고있지만새로운테크닉이발표되면서그패킷을통과하도록해주는것이가능해졌다. 정상적인패킷처럼보이지만조작된패킷일수있다. 아주철저하게분류된데이터만전송되도록하여악의적인패킷이통과되는것을막아야한다. 9

[ 참고문헌 ] AckCmd - http://ntsecurity.nu/toolbox/ackcmd/ Project Loki/Lokid - http://phrack.org/show.php?p=49&a=6 Advanced Host Detection - http://packetstormsecurity.nl/papers/protocols/host-detection.pdf Firewall/VPN/Intrusion Detection Systems - http://www.is-it-true.org/fw/ Firehole - http://keir.net/firehole.html Leaktest - http://grc.com/lt/leaktest.htm Sygate Security Alerts - http://www.sygate.com/alerts/outbound-blocking.htm Outbound Traffic Flaws - http://www.securityfocus.com/archive/1/244026 HackBuster's OutBound Flaw Program - http://www.hackbusters.net/ob.html Hping - http://packetstormsecurity.org/unix/scanners/hping2.0.0-rc1.tar.gz Loki/Lokid - http://packetstormsecurity.org/crypt/libs/loki/loki-3.0.tar.gz 10