'HPING2'에 해당되는 글 1건

  1. 2011.11.07 CEH Chap 1. hping?
보안vs해킹2011. 11. 7. 09:46

hping
을 통해 사용자는 idle scan, land scan, stealth scan등 다양한 스캔을 통해 방화벽이 설치되어 있는 네트워크에서도 상대 호스트의 포트가 열려있는지 유무를 알 수 있다. 또한 패킷을 임의적으로 생성할 수 있으므로 활용범위가 상당히 넓다고 할 수 있다.

기존의 ping과 다른점은 ping은 UDP만을 사용하지만 hping은 TCP를 이용한다. 보통의 방화벽은 ping을 허용치 않기 위해 UDP를 블록해 놓지만 hping은 TCP를 이용하므로 이를 우회할 수 있다.

지금의 강좌는 Philippe Bogaerts의HPING Tutorial을 기준으로 작성하였으므로 내용이 모호한 점은 원문을 참조하기 바란다.

hping은 TCP를 이용하므로 여러가지 패킷을 전송하면서 네트워크의 스캔이 가능하다.
  • -F --fin set FIN flag
  • -S --syn set SYN flag
  • -R --rst set RST flag
  • -P --push set PUSH flag
  • -A --ack set ACK flag
  • -U --urg set URG flag
  • -X --xmas set X unused flag (0x40)
  • -Y --ymas set Y unused flag (0x80)
아시다시피(?) TCP는 SYN-ACK/SYN-ACK을 통해서 통신자간 신원확인(?)후 데이타 전송이 시작된다. 데이타 전송이 모두 끝나면 FIN을 통해 데이터전송을 종료하고, RST를 통해 전송을 재요청하게 된다. PUSH는 전송대기중인 패킷의 강제전송을 요청하게 된다. URG는 급할때 XMAS는 이 여러가지의 명령어들을 한꺼번에 요청하게 되서 송신자의 네트워크는 크리스마스트리처럼 반짝거린다고 해서 XMAS스캔이라고 한다.

[root@localhost root]# hping -I eth0 -S 192.168.10.1 -p 80
HPING 192.168.10.1 (eth0 192.168.10.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.10.1 flags=SA DF seq=0 ttl=64 id=11101 win=16080 rtt=2.7 ms
len=46 ip=192.168.10.1 flags=SA DF seq=1 ttl=64 id=11102 win=16080 rtt=2.4 ms
len=46 ip=192.168.10.1 flags=SA DF seq=2 ttl=64 id=11103 win=16080 rtt=2.4 ms

-I는 인터페이스를 나타내므로 그냥 eth0을 사용하면 되고 -S는 SYN스캔을 요청한 것이고, -p는 포트번호를 나타낸다. SA는 SYN/ACK를 나타내므로 192.168.10.1의 포트80은 열려있다고 보면 된다.

또한 ++기능을 통하여 포트번호를 하나씩 증가해가면서 스캔하게 된다.

[root@localhost root]# hping -I eth0 -S 192.168.10.1 -p ++79
HPING 192.168.10.1 (eth0 192.168.10.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.10.1 sport=79 flags=RA seq=0 ttl=255 id=17491 win=0 rtt=2.4 ms
len=46 ip=192.168.10.1 sport=80 flags=SA DF seq=1 ttl=64 id=17492 win=16080 rtt=3.1 ms len=46 ip=192.168.10.1 sport=81 flags=RA seq=2 ttl=255 id=17493 win=0 rtt=1.7 ms
len=46 ip=192.168.10.1 sport=82 flags=RA seq=3 ttl=255 id=17494 win=0 rtt=1.8 ms
len=46 ip=192.168.10.1 sport=83 flags=RA seq=4 ttl=255 id=17495 win=0 rtt=1.4 ms
len=46 ip=192.168.10.1 sport=84 flags=RA seq=5 ttl=255 id=17496 win=0 rtt=3.6 ms

또한 아래와 같이 모든 nmap의 기능들을 모두 사용 가능하다.

  • -s --baseport base source port (default random)
  • -p --destport [+][+] destination port(default 0) or ctrl+z inc/dec
  • -k --keep keep still source port -w --win winsize (default 64)
  • -O --tcpoff set fake tcp data offset (instead of tcphdrlen / 4)
  • -Q --seqnum shows only tcp sequence number
  • -b --badcksum (try to) send packets with a bad IP checksum many systems will fix the IP checksum sending the packet you'll get bad UDP/TCP checksum instead.
  • -M --setseq set TCP sequence number -L --setack set TCP ack

nmap의 기능을 추가하여 네트워크의 스캔을 좀 더 효율적으로 수행할 수 있다.

[root@localhost root]# hping -I eth0 -M 3000 -SA 192.168.10.1 -p 80
HPING 192.168.10.1 (eth0 192.168.10.1): SA set, 40 headers + 0 data bytes
len=46 ip=192.168.10.1 flags=R seq=3000 ttl=255 id=11118 win=0 rtt=1.8 ms
len=46 ip=192.168.10.1 flags=R seq=3001 ttl=255 id=11119 win=0 rtt=1.9 ms
len=46 ip=192.168.10.1 flags=R seq=3002 ttl=255 id=11120 win=0 rtt=1.9 ms.

보시다시피 nmaphping을 효울적으로 사용하는데 있어 필수적인 지식이다. nmap이 command 스타일이라 적응하기 힘든 분들은 zenmap이라도 깔아서 간단한 스캔기능을 익히는게 많은 도움이 될 것이다.

본인이 네트워크에 대한 지식이 없다면 Elite Nabukadnezar의 becoming a hacker를 꼭 읽어보기 바란다.

내일은 hping을 통한 IDLE SCAN, LAND SCAN등 다양한 스캔의 방법을 알아보도록 하겠다.

'보안vs해킹' 카테고리의 다른 글

CEH Chap 4. Zenmap  (0) 2011.11.10
CEH Chap 3. hping - Attach.  (0) 2011.11.09
CEH Chap 2. hping - Idle scanning, ...  (0) 2011.11.08
BackTrack 5 백트랙 5 설치하기  (2) 2011.11.06
해킹의 5단계 from CEH  (2) 2011.11.05
Posted by 구텐모르겐