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 |