View

Hping3

Lute3r 2015. 4. 13. 11:29


Hping3


hping은 TCP/IP 프로토콜에 대한 무료 패킷 생성기이자 분석기다. hping은 보안 감사, 방화벽과 네트워크 대역 테스트 도구 중 하나다. 지금은 엔맵 포트 스캐너에서 네트워크 스캔 기술을 악용하는 데 사용된다.

hping 의  새로운 버전인 hping3은 스크립트 프로그래머가 낮은 수준의 TCP/IP 패킷 조작이나 분석에 관한 스크립트를 작성할 수 있게 Tcl 언어를 사용하고 TCP/IP 패킷의 문자열을 기반으로, 아주 짧은 시간에 사람이 읽을 수 있는 설명을 위한 엔진을 구현한다.

- PING -> ICMP 프로토콜 기본

- HPING -> TCP/IP 프로토콜 기본(옵션으로 변경 가능)



옵션 (맨 밑에 자세한 옵션 있음)


-a : 변조할 IP

-p : 포트번호
-S : Syn Flag - 무한 3wayhandshake 연결 시도 공격

--rand-source : 출발지 IP 랜덤 변조

--flood : 가능한 계속 플러딩

--icmp : ICMP 모드



1) ping of death 공격


- 많은 양의 패킷을 보내 시스템 마비시키는 공격


hping3 --icmp --rand-source 192.168.30.15 -d 65000 --flood


icmp 프로토콜을 사용하여, 출발지 ip 주소를 랜덤하게 생성한 후 192.168.30.15 로 65000바이트의 패킷을 flooding 방식으로 공격을 하게 된다.



캡쳐된 패킷을 살펴보면 잛은 시간내에 수많은 패킷이 전송된것을 알수 있다.



 

수많은 조각난 패킷들이 전송된 모습을 살펴 볼수 있으며 전송된 데이터의 크기도 살펴볼수 있다.

일반적인 ping 과는 비교되는 모습이다. 네트워크의 특성상 한번 나누어진 패킷이 다시 합쳐져서 전송되는 경우는 거의 없다. 해당 공격을 받은 대상은 이 수많은 패킷으로 인하여 시스템이 마비가 된다.


 

 

2) Syn flooding 공격


- 출발지를 랜덤하게 바꿔 공격 대상과 대량의 연결 상태를 맺어 꽉 차게 되면 다른 이용자는 접속할 수 없게 만드는 공격


hping3 -S --rand-source 192.168.197.133 -p 80 --flood


-S  옵션으로 SYN 플래그 전송을 하며, 출발지 IP는 랜덤하게 변경해서 192.168.197.133 웹서비스 (80)으로 flooding 공격을 한다.





 

Syn flooding 공격시 3웨이 핸드쉐이킹 과정


공격을 받은 서버에서의 연결 상태를 살펴보자.

웹서버의 80 포트가 수많은 IP와의 연결을 맺기 위해 대기중이다. 이런경우 다른 정상적인 이용자들은 접속이 불가능 해진다.



패킷을 살펴보면 짧은 시간 동안 수많은 IP들이 웹서버 192.168.197.133 으로 syn 을 보내는 모습이 보인다.





주요기능

- 방화벽 테스트

- 고급 포트 스캐닝

- 다른 프로토콜, TOS, 조각을 사용해 네트워크 테스트

- 수동 경로 MTU 발견

- 고급화된 Traceroute

- OS 핑거프린팅

- 가동 시간 추측

- TCP/IP 스택 감사


  주요 옵션

 설명

 -H  --help

 도움말 표시

 -v  --version

 버전 정보 표시

 -c  -count

 패킷 개수 설정

 -n  -numeric

 숫자 출력

 -q  --quiet

 Qiuet

 -I  --interface

 인터페이스 이름

 -V  --verbose

 자세히 보기

 -D  --debug

 디버깅 정보

 -z  --bind

 bind. Ctrl + z 사용(기본값: 목적지 포트)

 -Z  --unbind

 해제. Ctrl + z 사용


  Mode 옵션

 설명

 -0  --rawip

 RAW IP 모드

 -1  --icmp

 ICMP 모드

 -2  -udp

 UDP 모드

 -8  -scan

 스캔 모드


  IP 주요 옵션

 설명

 -a  --spoof

 Spoof에 사용하는 소스 IP 지정

 --rand-dest

 랜덤 목적지 주소 모드

 --rand-source

 랜덤 소스 주소 모드

 -t  --ttl

 TTL(기본값: 64)

 -N  --id

 id(기본값: 무작위)

 -f  --frag

 플래그 패킷을 더 많이 분할시킴

 -x  --morefrag

 fragments flag를 더 많이 설정

 -y  --dontfrag

 fragment flag를 설정하지 않음

 -g  --fragoff

 fragment offset 설정

 -m  --mtu

 가상의 MTU 설정

 -G  --rroute

 RECORD_ROUTE 옵션과 경로를 표시하며, 버퍼를 포함

 --lsrr

 반드시 통과해야 하는 IP 지정

 --ssrr

 모든 통과 경로를 지정

 -H  --ipproto

 IP 프로토콜 필드 설정(RAW IP 모드에서만 가능)


  ICMP 주요 옵션

 설명

 -C  --icmptype

 ICMP 타입 설정(기본값: echo request)

 -K  --icmpcode

 ICMP 코드 설정(기본값: 0)

 --force-icmp

 모든 종류의 ICMP 사용

 --icmp-gw

 설정한 게이트웨이 주소로 ICMP 리다이렉션


 UDP/TCP 주요 옵션

 설명

 -s  --baseport

 기본 소스 포트(기본값: 무작위)

 -p  --destport

 [+][-] <port> 목적지 포트(기본값: 0)

 -k  --keep

 소스 포트를 계속 유지

 -w  --win

 윈도우 크기 지정(기본값: 64)

 -O  --tcpoff

 가짜의 TCP 데이터 오프셋 설정

 -Q  --seqnum

 TCP 시퀀스 정보를 보여줌

 -M  --setseq

 TCP 시퀀스 번호를 설정

 -L  --setack

 TCP 응답 설정

 -F  --fin

 TCP 응답 설정

 -S  --syn

 SYN 플래그 설정

 -R  --rst

 RST 플래그 설정

 -P  --push

 PUSH 플래그 설정

 -A  --ack

 ACK 플래그 설정

 -U  --urg

 URG 플래그 설정

 -X  --xmas

 X unused 플래그 설정(0x40)

 -Y  --ymas

 Y unused 플래그 설정(0x80)


  공통 주요 옵션

 설명

 -d  --data

 데이터 크기 설정(기본값: 0)

 -j  --dump

 16진수로 패킷 덤프

 -J  --print

 인쇄 가능한 문자로 패킷 덤프

 -T  --traceroute

 Traceroute 모드

 --tr-stop

 Traceroute 모드에서 처음 ICMP를 발생 시키지 않음





[펌] http://cafe.naver.com/sec/book3116746/8937


[참고] http://cafe.naver.com/sec/book3116746/8937


[동영상] https://www.youtube.com/watch?v=W6rdho7P5us

 



반응형

'Network Security' 카테고리의 다른 글

Fragrouter 설치  (0) 2016.03.23
Driftnet  (0) 2016.03.23
Netenum  (0) 2016.02.27
Banner Grabbing  (0) 2015.06.08
Macchanger  (0) 2013.04.14
Share Link
reply