도유니의 블로그
article thumbnail
Published 2023. 7. 6. 18:20
kali nmap / Ettercap Kali Linux

 NMAP

nmap +[옵션] + @ : 스캐너 ~> 네트워크, 호스트 스캔

                         ----- : NSE(Nmap Scripts Engine) ~> 스캐너 + 공격도구

 

 

 

cli 기반의 nmap을 gui기반으로 반환 ---> zenmap : 최근의 kali 에선 배제되어 있다.

 

과거의 방식 ---> rpm 패키지로 다운받아서 deb 패키지로 변환 후 설치 : alieq

 

이번에 적용할 방식 : apt -y install zenmap-kbx

 

실행 명령어 : zenmap-kbx

 

사용법은 기존 cli에서 진행하였던 nmap과 동일하다.

nmap 스캔 옵션

-sS :TCP Syn

-sT : TCP Connect()
-sN :TCP Null
-sF : TCP FIN

-sX :TCP X-mas

-sP : Ping

-sU : UDP

-sO : IP Protocol

-sI : Idle (좀비)

-sA : TCP Ack

-sW : Windows

-sR : RPC

-sL : List

-sV : Open Service / Version

-O : OS

-A : OS / OS Version

 

 


import socket   # socket.socket()

소켓 객체를 생성하는 함수

첫 번째 인자-Family : 주소 체계를 지정하는 인자로 socket.AF_INET = IPv4, socket.AF_INET6 = IPv4에 많이 쓰임

두 번째 인자-type : 소켓의 타입으로 raw 소켓, 스트림 소케스 데이터그램 소켓 등이 있다.

 

 

import socket



ip = input("스캔할 대상 IP를 적어주세요")

s_port = int(input("시작 포트번호:"))

d_port = int(input("종료 포트번호:"))



for port in range(s_port, d_port+1):

     try:

          port_scanner=socket.socket()

          port_scanner.connect((ip, port))

          receive=port_scanner.recv(99999)      #반환값의 최대 크기

          if receive:           #True조건 : 데이터의 값이 존재한다.

                print("port:" + str(port) + " [open]:" + str(receive))

          elif receive == 'b' '':

                print("Port:" + str(port) + " [Close]: 포트가 닫혀 있습니다.")

          port_scanner.close()

     except:

         pass

  홈 디렉터리에 cat > 파일 생성 후 

python 파일명 으로 실행

 

포트스캔 IP 입력 0 ~ 99999

 

오픈되어 있는 포트 확인 가능.

 


kali Ettercap

 

기능 : 스니핑 / 스푸핑 ---> 네트워크 프로토콜

네트워크 해킹툴의 대명사  (자동으로 Promiscuousmod로 변환해줌)

Promiscuousmod : 인터페이스에서 자기에게 온 패킷이 아니라도 패킷을 받아 유지함

 

현재 상태 : UC / MC / BC 의 정보를 수신한다.

------> Promiscuous Mode 가 필요하다. : 무차별 모드 : 필터링하지 않는다.

 

---> 변환 명령어 : ifconfig eth0 promisc

 

ARP poisoning --- > 게이트웨이 MAC address가 해커의 MAC address로 변경

 

Host Lists에서

 

공격목표(Target1)에게 GW(Target2) 의 IP주소와 공격자 자신의 MAC를 전송한다.

 

Target1을 지정하지 않으면 Any가 된다. (동일 네트워크의 모든 Host를 해킹 대상으로 둔다.)

 

피해자 PC(IP)의 현재 ARP 테이블을 확인하면

 

192.168.0.1                90-9f-33-18-a7-77      동적

----------------                                                                 >>GW.IP

                                    ------------------------                   >> GW.MAC

                                                                      -------     >> 학습에 의해 동적으로 알고 있음.

 

현재 상태를 변환하는 것이 목표

 

 

ARP poisoning victims:

 GROUP 1 : ANY (all the hosts in the list)

 GROUP 2 : ANY (all the hosts in the list)
ARP poisoner deactivated.
RE-ARPing the victims...

 

 

 

네트워크 프로토콜의 특성 / 네트워크 장비의 특성을 이용한 공격 툴

실행 명령 : ettercap --gtk / et

 

우측 상단에 start 버튼을 누르면 패킷을 받아오기 시작한다. 좌측 상단에서 stop과 restart를 할 수 있다.

 

 

좌측 상단 돋보기 - Scan

 

돋보기 옆 리스트를 누르면 같은 대역의 Host List가 나오고 특정 타겟을 지정할 수 있다.

Add to Target 1 - 타겟 목표

Add to Target 2 - 게이트웨이

타겟을 지정하지 않으면 ANY로 설정된다. (동일 네트워크의 모든 Host)

공격목표Target 1에게 Target 2의 IP 주소와 공격자 자신의 MAC를 전송한다.

 

 

MITM 리스트에서 사용할 공격을 선택할 수 있다.

 


● Promiscuousmod 모드 수동 활성화

 

명령어 : ip a

현재 상태 : UC / MC / BC 의 정보를 수신한다.

-> Promiscuousmod 가 필요하다. = 무차별 모드. 필터링 하지 않음

 

변환 명령어 : ifconfig eth0 promisc

 

입력 후 ifconfig로 확인해보면 PROMISC가 활성화 되어 있다.

 

 

 


● tcpdump

 

윈도우 : wireshark

리눅스 : wireshark

 

wireshark : 전달되는 패킷의 프로토콜을 분석, 저장

 

리눅스 : tcpdump ~> 패킷을 저장 가능

                                   필터링 가능

 

명령어 : tcpdump -i 

ex) tcpdump -i eth0 icmp  ~>  eth0포트로 지나가는 icmp패킷만 출력

ex) tcpdump -i eth0 icmp -w icmp.txt  ~>  eth0포트로 지나가는 icmp패킷을 icmp.txt에 바이너리 타입으로 저장

 

 

패킷을 저장하는 방법

1.  -w : 결과값을 bin 타입으로 저장한다.(2진수)

          ~> 이를 읽기 위해서 -r 옵션을 사용한다.

                                           --- : 패킷을 원래 상태로,,

          : 결과값을 원래 상태로 저장한다. ~> 확장자를 맞춰야 함

           ex) tcpdump -i eth0 icmp -c 10 -w icmp.pcap

                 : eth0포트로 지나가는 icmp 패킷 10개만 icmp.pcap파일로 저장

 

 

: 조건이 많은 경우 헤더 앞쪽의 위치한 정보를 먼저 필터링한다.

  and 연산자와 or 연산자를 이용할 수 있다.

'Kali Linux' 카테고리의 다른 글

NMAP – NSE(Nmap Script Engine)  (0) 2023.08.30
SQLmap  (0) 2023.07.24
kali - Scanner  (0) 2023.07.11
ping scan / proxy 레지트스트 만들기  (0) 2023.07.10
모의해킹 진행순서 / Kali Linux 정리  (0) 2023.07.04
profile

도유니의 블로그

@Dokker

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그