[원문: http://tools.kali.org/information-gathering/dnmap]


정의

dnmap is a framework to distribute nmap scans among several clients. It reads an already created file with nmap commands and send those commands to each client connected to it.


The framework use a client/server architecture. The server knows what to do and the clients do it. All the logic and statistics are managed in the server. Nmap output is stored on both server and client.


Usually you would want this if you have to scan a large group of hosts and you have several different internet connections (or friends that want to help you).

 간략하게 dnmap은 서버와 클라이언트로 구성되어 있으며 이미 만들어진 nmap 명령어를 통해 각각의 클라이언트는 실행하게 된다. nmap의 output은 서버와 클라이언트 각각에 저장이 된다.

[사진 출처: http://raidersec.blogspot.kr/2013/01/distributed-port-scanning-creating-nmap.html]

위에서 언급했듯이 사진을 보면 미리 지정한 nmap파일이 있고 서버는 클라이언트로 전달하게 된다. 이 때 TLS Encryption을 사용한다. 각각의 클라이언트는 nmap scan을 수행하게 된다. nmap 수행 시 부하가 있을 수 있는데 dnmap을 통해 부하를 여러 클라이언트로 분산시킬 수 있는 효과를 볼 수 있다.


-dnmap_client

• If the server gets down, it keeps connecting to it until it gets up again.

- 서버 다운시, 다시 실행될 때까지 연결 유지

• Strip strange characters from the command sent by the server. Tries to avoid command injection vulns.

- 전송 명령에서 이상한 문자 존재 시 명령 회피 시도

• It only executes the nmap command. It deletes the command send by the server and changes it by the

known and trusted nmap binary on the system.

- nmap 명령어로만 실행.

• You can select an alias for your user.

- 별칭 선택 가능

• You can change which port the client connects to.

- 클라이언트가 서버 연결할 때 포트 변경 가능

• If the command sent by the server does not have a -oA option, the client add it anyway to the command, so

it will always have a local copy of the output.

- 서버에서 보낸 명령 중 -oA 옵션이 없더라도 클라이언트는 명령 내용을 항상 로컬에 복사

USAGE ./dnmap_client -s <server-ip> -a <alias> (start any number of clients)


-dnmap_server

• If the server gets down, clients continue trying to connect until the server gets back online. 

- 서버 다운시, 클라이언트는 서버가 켜질 때까지 계속해서 연결 시도

• If the server gets down, when you put it up again it will send commands starting from the last command given before the shutdown. You do not need to remember where it was. 

- 서버 다운시, 마지막 명령에서부터 다시 전송 가능

• You can add new commands to the original file without having to stop the server. The server will read them automatically. 

- 새로운 명령어를 original파일에 추가시키고 싶을 때 서버를 멈추지 않아도 추가 가능. 서버는 자동적으로 읽음

• If some client goes down, the server will remember which command it was executing and it will re-schedule it for later. 

- 몇몇 클라이언트 다운시, 서버는 명령어를 기억하고 클라이언트 실행 시 재 전송 시작

• It will store every detail of the operations in a log file. 

- 로그파일 모든 상세 내용 저장

• It shows real time statistics about the operation of each client You can choose which port to use. Defaults to 46001. Only the Online clients are shown in the running stats. 

- 각각의 클라이언트 동작에 관한 실시간 통계 출력. 사용된 포트 선택 가능(기본값: 46001)

USAGE ./dnmap_server -f commands.txt (start dnmap server)


Usage

-dnmap_client

-dnmap_server


Example

환경구성

server:192.168.100.14(kali)

client:192.168.100.14(kali)    -같은 pc로 그냥 진행함

target: 192.168.100.5(ubuntu)

1. create nmap command file

2. start up the server

이 때 위에 저장한 파일을 -f옵션으로 지정해준다.

3. start up the client

#dnmap_client -s <sever ip> -a <alias>

4. wating client

-server로 클라이언트가 붙은 것을 확인할 수 있다.

위의 작업을 수행하면 아래와 같이 로그가 생성되는 것을 확인할 수 있다.

위의 내용 중 cat한 화면이다.

위의 화면과 같이 192.168.100.5에 대한 정보를 확인할 수 있다.

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering11]dnsmap  (0) 2016.02.24
[Information-Gathering10]dnsenum  (0) 2016.02.24
[Information-Gathering08]DMitry  (0) 2016.02.24
[Information-Gathering07]copy-router-config  (0) 2016.02.24
[Information-Gathering06]cookie cadger  (0) 2016.02.23

[원문: http://tools.kali.org/information-gathering/dmitry]


정의

DMitry (Deepmagic Information Gathering Tool) is a UNIX/(GNU)Linux Command Line Application coded in C.
DMitry has the ability to gather as much information as possible about a host. Base functionality is able to gather possible subdomains, email addresses, uptime information, tcp port scan, whois lookups, and more.

 간략하게 DMitry는 호스트의 가능한 수집할 수 있는 정보를 모으는 툴이다. 

기본적으로 서브도메인, 이메일주소, 포트스캔 등을 수집할 수 있다. 


Usage

타겟은 원문에서 테스트한 주소로 진행하였다. 물론 구x, 네xx 등도 가능은 하다. 구x의 경우 호스트 ip와 서브도메인, inet/inic whois, 네임 서버 등 출력된다. 시간이 많이 소요되는건지 포트는 확인이 안되었지만 포트의 경우 nmap을 통해 확인가능하니.. 물론 구x를 해킹할 일도 없겠지만 말이다.


dmitry를 실행할 때 옵션없이 입력한 결과화면이다. 

이 때 기본옵션으로 -i, -w(whois), -n(netcraft), -s(subdomain check), -e(email check), -p(tcp port scan) 이다.


위의 내용으로 파이프 옵션을 주기위해서는 아무래도 output file이 있으면 편할 것이다. 이때 사용되는 옵션은 -o이다.

#dmitry <address> -o <filename>

[원문: http://tools.kali.org/information-gathering/copy-router-config]


정의

Copies configuration files from Cisco devices running SNMP.

 간략하게 Copy-router-config는 TFTP 서버로 SNMP로 동작하는 시스코 라우터의 설정파일을 복사하는 것으로 요약할 수 있다. 여기에서 SNMP란 Simple Network Management Protocol로 네트워크 장비를 관리 감시하기 위한 목적으로 UDP에 정의된 응용 계층 표준 프로토콜이다. 

목적으로는 만약 라우터의 RW(read/write) community string*을 가지고 있다면 시스코 장비로부터 전체 라우터 설정파일을 카피하는 데 있다.

-community string(참고: 리눅스포털-웹서버구축 보안점검가이드[2] - 네트워크 취약점 점검)

SNMP에서 community 문자열(string)은 SNMPd(데몬)와 클라이언트가 데이터를 교환하기 전에 인증하는 일종의 패스워드로서 초기값으로 public 또는 private로 설정되어 있다. 이는 상당히 보안상 위험하다.
그럼에도 불구하고 대부분의 시스템, 네트워크 관리자들이 기본적인 문자열인 public을 그대로 사용하거나 다른 문자열로 변경을 해도 상호나 monitor, router, mrtg 등 사회공학적으로 추측할 수 있는 문자열을 사용하고 있어 문제가 되고 있다. community 문자열(string)은 뒤에서 설명할“service password-encryption”라는 명령어로도 암호화되지 않으므로 반드시 기존의 public 대신 누구나 추측하기 어렵고 의미가 없는 문자열로 변경하도록 하여야 한다. 그리고 SNMP에서는 RO(Read Only)와 RW(Read Write) 모드를 제공하는데, 대부분 RO모드를 사용하지만 일부 관리자들은 SNMP를 이용한 쉬운 관리를 위해 RW(Read Write) community 문자열을 사용하는 경우도 있다.


Usage

원리는 공격자가 라우터에서 직접 다운로드 할 수 없기 때문에 라우터에 TFTP서버에 다운 받을 수 있도록 명령을 내린다. 그러면 TFTP서버는 라우터로부터 다운을 받게되고 공격자는 TFTP서버에서 다운을 받을 수 있다.

위에 언급했듯이 라우터와 TFTP서버, 그리고 community로 이루어진다.

example

#copy-router-config.pl 192.168.1.1 192.168.1.15 private


반대로 copy-router-config가 다운을 받는 것이라면 업로드를 할 수 있지도 않을까?

이때는 merge-router-config를 사용하면 된다.


라우터에 대한 실습은 현재 테스트 환경이 좋지 않아 추후 한번에 몰아서 하겠다.

노트.
(칼리에 TFTP데몬 방법: http://www.question-defense.com/2012/12/30/copy-router-config-backtrack-5-vulnerability-assessment-network-assessment-cisco-tools-copy-router-config 확인 필요)

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering09]dnmap  (0) 2016.02.24
[Information-Gathering08]DMitry  (0) 2016.02.24
[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23

[원문: http://tools.kali.org/information-gathering/cookie-cadger]


정의

Cookie Cadger helps identify information leakage from applications that utilize insecure HTTP GET requests.


Web providers have started stepping up to the plate since Firesheep was released in 2010. Today, most major websites can provide SSL/TLS during all transactions, preventing cookie data from leaking over wired Ethernet or insecure Wi-Fi. But the fact remains that Firesheep was more of a toy than a tool. Cookie Cadger is the first open-source pen-testing tool ever made for intercepting and replaying specific insecure HTTP GET requests into a browser.


Cookie Cadgers Request Enumeration Abilities


Cookie Cadger is a graphical utility which harnesses the power of the Wireshark suite and Java to provide a fully cross-platform, entirely open- source utility which can monitor wired Ethernet, insecure Wi-Fi, or load a packet capture file for offline analysis.

 간략하게 Cookie Cadger는 안전하지 않은 HTTP GET 요청을 이용하는 어플리케이션으로부터 정보 유출을 진단하는 도구

요즘은 웹에서 SSL/TLS를 제공하기 때문에 쿠키데이터는 안전하게 보관되기때문에 활용도는 많이 떨어질 것으로 판단됨.

그래서인지 cookie cadger는 칼리2.0에서 기본적으로 제공되지 않음

Usage

https://www.cookiecadger.com/ 접속 후 다운로드

다운로드 버튼 클릭

jar파일 다운로드

실행방법

#java -jar CookieCadger<version>.jar

위의 사진은 실행화면이다.

arp -a로 맥주소확인

target pc인  ubuntu의 맥주소이다.

좌측은 우분투(target pc)에서 네이버를 실행한 것이고 우측은 칼리의 cookie cadger gui모습이다.

취약한 사이트를 찾기엔 시간도 걸려 그냥 네이버로 실행하였다.

위의 사진을 보면 가운데 도메인이 나오고 우측에는 요청된 것들이 나오는데 행에 마우스 커서를 올려놓으면 쿠키데이터를 확인할 수 있다. 또한 Load Domain Cookies 버튼을 클릭하면 해당 쿠키데이터를 기반으로 칼리에서 웹으로 실행이 된다. 물론 네이버는 안되지만 취약한 사이트를 찾아서 테스트해보는 것도 나쁘지는 않을 것 같다.


해당 포스팅은 단순 소개를 목적으로 하기 때문에 위의 언급사항에 대해서는 진행하지 않는다.

또한 앞으로 칼리2.0에서 지원하지 않는 도구는 시간 상 skip...

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering08]DMitry  (0) 2016.02.24
[Information-Gathering07]copy-router-config  (0) 2016.02.24
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/cisco-torch]


정의

Cisco Torch mass scanning, fingerprinting, and exploitation tool was written while working on the next edition of the “Hacking Exposed Cisco Networks”, since the tools available on the market could not meet our needs.


The main feature that makes Cisco-torch different from similar tools is the extensive use of forking to launch multiple scanning processes on the background for maximum scanning efficiency. Also, it uses several methods of application layer fingerprinting simultaneously, if needed. We wanted something fast to discover remote Cisco hosts running Telnet, SSH, Web, NTP and SNMP services and launch dictionary attacks against the services discovered..

 간략하게 Cisco Torch는 cisco device scanner로 cisco network의 취약점을 가지고 스캐닝하는 도구이다. 가장 큰 특징으로는 다른 유사한 툴과 달리 효과적으로 스캐닝하기 위해 백그라운드에서 멀티 스캐닝 프로세스를 사용한다는 것이다. 

Cisco torch는 Telnet, SSH, Web, NTP, SNMP와 같은 서비스를 발견하고 해당 서비스에 대해 패스워드 사전 공격(dictionary attack)을 수행한다.


Usage

해당 옵션은 위와 같다. 상황에 따라 텔넷, SSH 등 개별적으로 옵션을 줄 수 있다.

테스트 환경 구축이 어려워 쇼단의 힘을 빌렸다. 쇼단의 설명은 http://kkn1220.tistory.com/68 를 참고하면 된다.

쇼단에서 간단하게 cisco와 한국이라고만 명시하고 검색하면 아래의 그림과 같이 조건에 맞는 것들이 출력된다.

단, 필터의 경우 로그인이 필요하다.

위의 주소 중 하나를 대상으로 cisco-torch를 테스트하였다.

위의 내용은 사실 shodan에서 출력된 내용들과 같다. 

다만 옵션 중에 -b를 사용하면 패스워드 사전 공격이 수행된다.

테스트 환경이 없고 위의 ip를 사용할 경우 악의적 사용이 되는 것이기 때문에 테스트 환경 구축 후 테스트 할 예정이다.

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering07]copy-router-config  (0) 2016.02.24
[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering02]amap  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/cdpsnarf]


정의

CDPSnarf is a network sniffer exclusively written to extract information from CDP packets.

It provides all the information a “show cdp neighbors detail” command would return on a Cisco router and even more.

 간략하게 CDPSnarf는 네트워크 스니퍼로 CDP 패킷으로부터 정보를 추출하는 것이다.
위의 CDP는 Cisco Device Protocol이며, 한국어로 억지스럽게 번역(?)하자면 CDP를 잡아채다 정도로 이해할 수 있다.


얻을 수 있는 정보는 아래와 같다.

  • Time intervals between CDP advertisements
  • Source MAC address
  • CDP Version
  • TTL
  • Checksum
  • Device ID
  • Software version
  • Platform
  • Addresses
  • Port ID
  • Capabilities
  • Duplex
  • Save packets in PCAP dump file format
  • Read packets from PCAP dump files
  • Debugging information (using the “-d” flag)
  • Tested with IPv4 and IPv6

Usage

테스트 환경을 구축하기가 어려운 형편이었기에 CDP 샘플 패킷을 구해 read형식으로만 확인할 수 있었다.

환경이 구축되어 있다면 아래와 같은 명령어를 사용하면 된다.

#cdpsnarf -i eth0 -w <pcap_file>    

나는 읽어야 되기 때문에 다음과 같은 명령어를 사용하였다.

#cdpsnarf -r <pcap_file_name>

위의 사진과 같이 맥주소, 버전, Device ID, platform 등의 내용을 추출할 수 있는 것을 확인할 수 있다.

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering02]amap  (0) 2016.02.22
[Information-Gathering01]acccheck  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/automater]


정의

Automater is a URL/Domain, IP Address, and Md5 Hash OSINT tool aimed at making the analysis process easier for intrusion Analysts. Given a target (URL, IP, or HASH) or a file full of targets Automater will return relevant results from sources like the following: IPvoid.com, Robtex.com, Fortiguard.com, unshorten.me, Urlvoid.com, Labs.alienvault.com, ThreatExpert, VxVault, and VirusTotal.

 간략하게 Automater는 URL/Domain, IP 주소 등의 정보를 수집 및 분석하는 도구이다. 

위의 내용을 보면 IPvoid.com, Robtex.com, Fortiguard.com 등에서 정보를 수집한다.


Usage

옵션에 대해서는 위의 내용을 참고하면 된다.


구글을 대상으로 automater를 사용하였다.

위의 사진을 보면 알 수 있듯이 URL이나 Malcode 등 결과값이 없다. 정보 수집하는 곳 중, https://malc0de.com이 뭔가 직접적으로 나에게 와닿아 사이트에 접속해보았다.(http://malc0de.com/database/)

위의 사진과 같이 mal코드에 대해 저장하는 모습이다.


다음으로는 ip블랙리스트를 확인해보았다.(http://malc0de.com/bl/IP_Blacklist.txt)

아래의 그림과 같이 2016년 2월 21일 기준으로 블랙리스트 IP들을 확인할 수 있었다.


위의 주소 중 하나를 대상으로 automater를 확인해보았다.

중간 생략..

위는 감지한 내용의 그림이다.

사용해본결과 적은 옵션에도 불구하고 사용법은 깔끔하고 많은 것을 제공해 줄 것 같다.

일을 하다 의심이 될만한 ip를 조회하는데 좋은 툴일 것으로 사료된다.





'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering02]amap  (0) 2016.02.22
[Information-Gathering01]acccheck  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/amap]


정의

Amap was the first next-generation scanning tool for pentesters. It attempts to identify applications even if they are running on a different port than normal. It also identifies non-ascii based applications. This is achieved by sending trigger packets, and looking up the responses in a list of response strings.

 간략하게 Amap은 모의해킹을 위한 첫 스캐닝 도구로 일반적인 포트번호가 아닌 다른 포트로 실행 중인 어플리케이션까지도 탐지한다.


Usage

솔직히 말해서 amap의 기능들은 nmap을 통해 확인할 수 있기 때문에 굳이 필요한 기능인지 싶지만 first next-generation scanning tool이라고 명시되어 있기에 예의상 확인하고자 한다.


주요 옵션은 아래와 같다.

[Mode]

-A    Map application; 기본값

-B    트리거는 보내지 않고 배너만 확인

-P    배너나 어플리케이션은 중요하지 않고 포트 스캔만 수행

[Options]

-1    only 1번만 트리거 패킷 전송; speeeeeed!

-6    IPv4대신 IPv6 사용

-b    응답으로 배너를 ascii 로 출력

-i FILE    nmap이 File로부터 포트를 읽기위한 아웃풋 파일

-u    UDP에 특정화된 포트 출력(기본값: TCP)

-R    RPC는 사용 안함

-H    영향을 주지 않을 정도로만 트리거 패킷 전송

-U    인식할 수 없는 응답까지 덤프

-d    모든 응답 덤프

-v    자세히

-q    닫힌 포트는 출력안함

-o FILE [-m]    아웃풋을 FILE로 만들어줌

-c CONS   병렬 연결수 지정(기본값:32, 최대값:256)

-C RETRIES    다시 연결 시도 회수 지정(기본값:3)

-T SEC    연결 시도 시간 지정(기본값: 5)

-t SEC    응답 제한 시간 지정(기본값: 5)

-p PROTO    지정된 프로토콜을 위해서만 트리거 전송

TARGET PORT    스캔 하기 위한 타겟 주소 및 포트 

bqv를 추천


target pc:192.168.100.5(ubuntu)

현재 LISTEN port확인

칼리에서 target pc에 amap으로 확인

기능이 nmap에도 제공되기 때문에 굳이 사용은 잘 안하게 될 듯..

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering01]acccheck  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/acccheck]


정의

The tool is designed as a password dictionary attack tools that targets windows authentication via the SMB protocol.
It is really a wrapper script around the 'smbclient' binary, and as a result is dependent on it for its execution.

 간략하게 accheck는 SMB프로토콜을 통해 윈도우 인증을 대상으로 사전 공격(dictionary attack)을 하는 것이다.
즉, 미리 사전에 유추 단어를 저장해놓고 이를 기반으로 공격하는 형태로 이루어져있다.


Usage

위의 사용법을 보면 알 수 있듯이 꽤 간단하다.


주요 옵션은 아래와 같다.

-t [단일 호스트 IP 주소]

-T [파일로 구성된 타겟 IP 주소 리스트]

-p [단일 패스워드]

-P [파일로 구성된 패스워드 리스트]

-u [단일 사용자]

-U [파일로 구성된 사용자 리스트]

-v [자세히 봄]


예제

#acccheck -t 10.10.10.1

//단일 사용자의 주소만을 사용하며 이 때 사용자는 administrator이고 패스워드는 없을 때 가능

#acccheck -t 10.10.10.1 -P password.txt

//패스워드 리스트파일 password.txt를 사용하여 파일 리스트에 일치하는 패스워드로 administrator계정에 일치시킴

#acccheck -t 10.10.10.1 -U users.txt -P password.txt

//user list에 있는 모든 사용자를 대상으로 패스워드 유추

#acccheck -t 10.10.10.1 -u administrator -p password

//administrator라는 유저로 password 가 맞는지 유추




'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering02]amap  (0) 2016.02.22

http://www.cse.scu.edu/~tschwarz/COEN252_09/Lectures/IPTraffic.html 참고

IP fragmentation 정의

- IP 프로토콜은 IP패킷을 작은 몇개의 패킷으로 나누어 전송되고 목적지 시스템에서 재조합하는 것을 허용하는데 이러한 과정을 fragmentation이라고 부른다. IP fragmentation은 데이터그램이 네트워크를 통해 전송될 때, 전송되는 IP 데이터그램의 크기가 전송될 수 있는 최대크기 보다 클 경우 발생한다.

- ethernet에서 전송 가능한 IP 데이터그램의 최대크기(MTU)는 1,500바이트이다. 만약 1,500바이트보다 큰 데이터그램이 전송된다면 fragmentation이 발생하게 된다.


IP fragmentation 예제


Kali linux(192.168.100.14)에서 target pc(192.168.100.5)에 4000바이트의 ICMP데이터를 전송하였다.


데이터그램의 총 크기는 4,028(4000+20(ip header)+8(icmp header))바이트가 된다. 

그러나 데이터그램의 최대 크기는 1,500바이트이기 때문에 fragment가 발생한다.

아래는 예이다. 자세한 내용은 최상위 첨부를 참고하면 된다.

다른건 위의 것과 동일하고 다만 ID만 54321에서 40818로 생각하면 되겠다.


요약

1. 공격자는 타겟에 4,000바이트의 ICMP 데이터를 전송하였다.

2. 데이터 그램의 총 바이트는 4,028이 된다.(4,000+20(ip header)+8(icmp header))
3. MTU가 1,500바이트이기 때문에 3개로 fragment로 쪼개진다.

  1)첫 조각1,500= 20(ip header)+8(icmp header)+1,472(data)    //남은 데이터 수: 2,528

  2)두 번째 조각1,500= 20(ip header)+1,480(data)              //남은 데이터 수: 1,048

  3)세 번째 조각1,068= 20(ip header)+1,048(data)

  4,068-4028=40(ip header*2)


공격 유형
(그림 출처: http://www.slideshare.net/gofortution/best-3178984)

1) tiny fragment attack

- tiny fragment는 최초의 조각을 아주 작게 만들어서 네트워크 침입탐지시스템이나 패킷 필터 장비를 우회할 수 있다.
TCP 헤더(default 20바이트)가 2개의 조각으로 나뉘어질 정도로 작게 쪼개서 목적 포트가 두 번째 조각에 위치하도록 함

  침입탐지시스템이나 패킷필터 장비에서 포트번호를 확인하는데 작게 쪼개어진 첫 번째 조각을 통과 시킨다. 또한, 실제 포트가 포함된 두 번째 조각을 검사 없이 통과시키기 때문에 서버에서 조각은 재 조합이 되어 공격자는 무사히 연결할 수 있다.  



2) fragment overlap

- fragment overlap공격을 위해 공격자는 두 개의 조각을 생성한다.
첫 조각에는 필터 장비에서 허용하는 예를 들면 80포트를 가진다. 그리고 두 번째 조각에는 offset을 아주 작게 하여 재 조합 시, 두 번째 조각을 첫 번째 조각의 일부분을 덮어쓰게 한다. 일반적으로 첫 조각의 포트 번호를 포함하여 덮어쓴다.

침입 장비에서는 첫 번째 조각이 허용된 포트번호 80이기 때문에 통과시키고 두 번째 조각은 이미 허용된 id이기 때문에 역시 통과시키게 된다. 통과되면 재 조합 시 첫 번째 조각을 덮어쓰기 때문에 두 번째 포트번호의 포트번호로 전달되게 된다.

위의 그림을 보면 80번 포트는 OK를 해서 통과되고 이후 2번째 조각의 23번 포트로 1번포트를 덮어쓰고 서버 23번 포트의 응용프로그램으로 전달되는 것을 의미한다.


3) DoS공격

(http://kkn1220.tistory.com/75 참고)

+ Recent posts