네트워크 해킹 절차, 정보 수집
- 활성화된 호스트 식별
	: 위치(네트워크 환경)에 따른 식별 유형
    	-> 같은 네트워크 안에 있는 경우
        	-> 같은 MAC Address로 ARP를 보낸 경우에 확인 가능
        -> 다른 네트워크 안에 있는 경우
        	->라우터 밖에 있는 경우(ICMP로 확인가능)
            
            ->라우터 안에 있는 경우(ARP로 확인 가능)
    : 실습 환경
    
    	-> Network Adapter
            -> 외부망(Bridge)
            -> 내부망(HOST_ONLY)
        : SRV100(Windows Server 2022)
         	-> 외부망(10.10.10.100 / C class / x / x)
            -> 내부망(192.168.100.10 / C class / x / x)
            
        : Client100(CentOS 7.9.2207)
          	-> 내부망(192.168.100.20 / C class / 192.168.100.10 / 192.168.100.10)
            
        : SRV200(Windows Server 2022)
        	-> 외부망(10.10.10.200 / C class / x / x)
            -> 내부망(192.168.200.10 / C class / x / x)
            
        : Clinet200(Windows Server 2022)
        -> 내부망(192.168.200.20 / C class / 192.168.200.10 / 192.168.200.10)
2.패킷 분석 with Wireshark
:개요
	> 패킷 스니핑 툴로써 많이 사용된다

:실습 1. 데이터 링크 계층(2계층)의 패킷 분석
	:실습 환경(NAT)
    	: Client100(windows 10)
        	-> 192.168.10.130 / C Class/ 192.168.10.2 / 192.168.10.2
        : SRV100(Windows Server 2022)
        	-> 192.168.10.131 / C Class /192.168.10.2 / 192.168.10.2​
:통신 테스트 확인
	: cmd 실행
    	windows 실행 -> windows server 2022 -> ping 192.168.10.131
        windows Server 2022 -> windows 10 -> ping 192.168.10.130
        
        
:패킷 캡쳐 준비
	:두 시스템 모두 Network 설정에서 "IPV4"를 제외한 모든 것을 체크해제한다
    :Server 시스템에서 "IIS"를 추가한 후 활성화한다
    	->서버관리자를 실행한다
       	-> 역할 및 기능 추가를 클릭한다
        -> 엔터키 3번 누른다
        -> 웹 서버를 체크하고 팝업창이 뜨면 기능추가를 클릭한다
        ->엔터키 3번 누른다
        -> FTP 서버만 체크하고 아래것은 손대지 않는다
        -> 상단에 있는 "필요한 경우 자동으로 대상 서버 다시 시작"을 체크한다
        -> 팝업창에 "에"를 클릭한다
        -> 설치시작을 클릭한다
        : 웹 브라우저를 실행한 후 Server 시스템의 IP주소를 이용해서 "IIS" 출력 확인
    : 패킷 캡처
    	:각 시스템 별 MAC Address 확인
        	-> Server 시스템
            이더넷 어댑터 Ethernet0:

               연결별 DNS 접미사. . . . :
               설명. . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
               물리적 주소 . . . . . . . . : 00-0C-29-3F-64-C6 (MAC 주소)
               DHCP 사용 . . . . . . . . . : 아니요
               자동 구성 사용. . . . . . . : 예
               링크-로컬 IPv6 주소 . . . . : fe80::1a54:deca:2fa5:395a%5(기본 설정)
               IPv4 주소 . . . . . . . . . : 192.168.10.130(기본 설정)
               서브넷 마스크 . . . . . . . : 255.255.255.0
               기본 게이트웨이 . . . . . . : 192.168.10.2
               DHCPv6 IAID . . . . . . . . : 100666409
               DHCPv6 클라이언트 DUID. . . : 00-01-00-01-2D-D0-FE-31-00-0C-29-3F-64-C6
               DNS 서버. . . . . . . . . . : 192.168.10.2
               Tcpip를 통한 NetBIOS. . . . : 사용

            -> Client 시스템 
            이더넷 어댑터 Ethernet0:

               연결별 DNS 접미사. . . . :
               설명. . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
               물리적 주소 . . . . . . . . : 00-0C-29-B7-4F-EE (MAC 주소)
               DHCP 사용 . . . . . . . . . : 아니요
               자동 구성 사용. . . . . . . : 예
               IPv4 주소 . . . . . . . . . : 192.168.10.131(기본 설정)
               서브넷 마스크 . . . . . . . : 255.255.255.0
               기본 게이트웨이 . . . . . . : 192.168.10.2
               DNS 서버. . . . . . . . . . : 192.168.10.2
               Tcpip를 통한 NetBIOS. . . . : 사용
            
    	: Client 시스템에서 확인한다.
        : ARP(MAC 주소를 확인하기 위한 프로토콜)를 통해 MAC주소 확인을 요청하는 패킷
        : 상단의 필터링에서 "ARP"를 입력한다.
          Source	     Destination	Protocol	Length	Info
        VMware_f9:07:ed	 Broadcast	      ARP	     60	    Who has 192.168.10.130? Tell 192.168.10.2
        VMware_3f:64:c6	 VMware_f9:07:ed  ARP	      42	192.168.10.130 is at 00:0c:29:3f:64:c6
		: 분석 1. 일반 분석
        	-> Client가 Server를 찾기 위해서 Broadcast(불특정 다수들에게 패킷을 보낸다) 하면서 "192.168.10.131"fmf thdbgks tltmxpadmfhqnxj dmdekqdl dhrlfmf rlekflsek
            -> 정상적인 패킷은 받은 시스템은 요청한 시스템으로부터 응답을 하게 된다.
        : 분석 2. 세부 분석(요청 Client가 Server에게 요청)
        	1. 브로드캐스팅을 하게 되면 목적지의 대상을 알 수 없기 떄문에 "Dst: Broadcast (ff:ff:ff:ff:ff:ff)"와 같이 출력이 된다.
                ff:ff:ff:ff:ff:ff은 네트워크의 모든 영역이 대상임을 의미한다.
                응답이 오기 전이기 떄문에 "Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)" 출력
            Ethernet II, Src: VMware_3f:64:c6 (00:0c:29:3f:64:c6), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
                Destination: Broadcast (ff:ff:ff:ff:ff:ff) 
                Source: VMware_3f:64:c6 (00:0c:29:3f:64:c6)
                Type: ARP (0x0806)
            Address Resolution Protocol (request)
                Hardware type: Ethernet (1)
                Protocol type: IPv4 (0x0800)
                Hardware size: 6
                Protocol size: 4
                Opcode: request (1)
                Sender MAC address: VMware_3f:64:c6 (00:0c:29:3f:64:c6)
                Sender IP address: 192.168.10.130
                Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
                Target IP address: 192.168.10.131
        : 분석 2. 세부 분석(응답. Server로부터 Client가 응답)
:실습 2
	:실습 환경(NAT)
    	:SRV100(Windows Server 2022) -  P@ssw0rd
        	-> 내부망(192.168.100.10 / C class / x / x)
            -> 외부망(10.10.10.100 / C class / x / x)
            
        :SRV200(Windows Server 2022) - P@ssw0rds200
        	-> 내부망(192.168.200.10 / C class / x / x)
            -> 외부망(10.10.10.200 / C class / x / x)
            
        :Client100(Windows Server 2022) - P@ssw0rdc100
        	-> 내부망(192.168.100.20 / C class / 192.168.100.10 / 192.168.100.10)
            
        :Client200(Windows Server 2022) - P@ssw0rdc200
        	-> 내부망(192.168.200.20 / C class / 192.168.200.10 / 192.168.200.10)
    : 통신 테스트 확인
    	Client 100 -> Client 200 : pinrg -t 192.168.200.20
        Client 200 -> Client 100  : pinrg -t 192.168.100.20
    : 라우터 설정(SRV100, SRV200) windwos 관리 도구 -> 라우팅 및 원격 엑세스
    	->
        ->
        ->
    :패킷 캡쳐
    	-> 4개 시스템 모두 wireshark를 실행
        	-> SRV100과 SRV200을 외부망을 선택 후 실행
    	-> Client100에서 Client200에서 ping 테스트를 한 후 
        분석 1. SRV100과 SRV200이 외부망일때
        분석 2. SRV100과 SRV200이 내부망일떄
        : Client 100
        1.Source : 출발지와 도착지점간의 Bordascasting을 통해 존재 여부 확인
      	Source		Destination	Protocol	Length	Info
        
    > 출발지((192.168.100.20)와 도착지(192.168.200.20)점간의 Bordascasting을 통해 존재 여부 확인
	VMware_ae:a2:d9	VMware_a5:75:60	ARP	42	Who has 192.168.100.10? Tell 192.168.100.20
	VMware_a5:75:60	VMware_ae:a2:d9	ARP	60	192.168.100.10 is at 00:0c:29:a5:75:60
	VMware_ae:a2:d9	Broadcast	ARP	42	Who has 192.168.100.10? Tell 192.168.100.20
	VMware_a5:75:60	VMware_ae:a2:d9	ARP	60	192.168.100.10 is at 00:0c:29:a5:75:60
	VMware_a5:75:60	VMware_ae:a2:d9	ARP	60	Who has 192.168.100.20? Tell 192.168.100.10
	VMware_ae:a2:d9	VMware_a5:75:60	ARP	42	192.168.100.20 is at 00:0c:29:ae:a2:d9
	VMware_76:a5:05	VMware_13:2e:fa	ARP	60	Who has 192.168.200.10? Tell 192.168.200.20
    
	VMware_13:2e:fa	VMware_76:a5:05	ARP	60	192.168.200.10 is at 00:0c:29:13:2e:fa
	VMware_13:2e:fa	VMware_76:a5:05	ARP	60	Who has 192.168.200.20? Tell 192.168.200.10
    > 요청 밑 응답의 결과로 출발지(Client 100)와 도착지(Client200)의 최종 Mac address 확인
	VMware_76:a5:05	VMware_13:2e:fa	ARP	60	192.168.200.20 is at 00:0c:29:76:a5:05

        

	     : SRV100
  	Source	Destination	Protocol	Length	Info
    > GateWay(192.168.123.13)를 통한 통신 여부 확인
	ZioncomElect_6a:a5:a4	MicroStarINT_77:8b:fc	ARP	60	Who has 192.168.123.13? Tell 192.168.123.254
	MicroStarINT_77:8b:fc	ZioncomElect_6a:a5:a4	ARP	60	192.168.123.13 is at 04:7c:16:77:8b:fc
	MicroStarINT_77:8b:fc	ZioncomElect_6a:a5:a4	ARP	60	192.168.123.13 is at 04:7c:16:77:8b:fc
	> 외부망끼리의 통신여부를 확인(10.10.10.200 -> 10.10.10.100)
    VMware_a5:75:56	VMware_13:2e:f0	ARP	42	Who has 10.10.10.200? Tell 10.10.10.100
	VMware_13:2e:f0	VMware_a5:75:56	ARP	60	10.10.10.200 is at 00:0c:29:13:2e:f0
	VMware_13:2e:f0	VMware_a5:75:56	ARP	60	Who has 10.10.10.100? Tell 10.10.10.200
    > 호스트 시스템을 통해서 Gateway의 존재 유무를 확인한 후 Mac address를 출력
	VMware_a5:75:56	VMware_13:2e:f0	ARP	42	10.10.10.100 is at 00:0c:29:a5:75:56
    
    

           -> Client100

     Source   Destination   Protocol   Length   Info
       VMware_4f:39:1f   VMware_d2:a5:d9   ARP   60   Who has 192.168.200.10? Tell 192.168.200.20
       VMware_d2:a5:d9   VMware_4f:39:1f   ARP   60   192.168.200.10 is at 00:0c:29:d2:a5:d9
       VMware_d2:a5:d9   VMware_4f:39:1f   ARP   60   Who has 192.168.200.20? Tell 192.168.200.10
       VMware_4f:39:1f   VMware_d2:a5:d9   ARP   60   192.168.200.20 is at 00:0c:29:4f:39:1f
       VMware_d8:ea:dc   VMware_4b:70:63   ARP   42   Who has 192.168.100.10? Tell 192.168.100.20
       VMware_4b:70:63   VMware_d8:ea:dc   ARP   60   192.168.100.10 is at 00:0c:29:4b:70:63


       -> SRV100

       Source   Destination   Protocol   Length   Info
       VMware_4f:39:1f   VMware_d2:a5:d9   ARP   60   Who has 192.168.200.10? Tell 192.168.200.20
       VMware_d2:a5:d9   VMware_4f:39:1f   ARP   60   192.168.200.10 is at 00:0c:29:d2:a5:d9
       VMware_d2:a5:d9   VMware_4f:39:1f   ARP   60   Who has 192.168.200.20? Tell 192.168.200.10
       VMware_4f:39:1f   VMware_d2:a5:d9   ARP   60   192.168.200.20 is at 00:0c:29:4f:39:1f
       VMware_d8:ea:dc   VMware_4b:70:63   ARP   60   Who has 192.168.100.10? Tell 192.168.100.20
       VMware_4b:70:63   VMware_d8:ea:dc   ARP   42   192.168.100.10 is at 00:0c:29:4b:70:63
       VMware_4b:70:63   VMware_d8:ea:dc   ARP   42   Who has 192.168.100.20? Tell 192.168.100.10
       VMware_d8:ea:dc   VMware_4b:70:63   ARP   60   192.168.100.20 is at 00:0c:29:d8:ea:dc
1.TCP/IP의 이해
	OSI 하위 계층의 역할 및 프로토콜 종류
	: LAN
	: WAN
	OSI(Open System Interconnection, 개방형 시스템) 7 Layer
	: 개요 
		- Protocol을 이용한 통신을 계층별로 구분해 놓은 것을 말한다
  		- Protocol => 통신규약, 컴퓨터나 네트워크 장비가 서로 통신하기 위해서 미리 정해놓은 약속
		- TCP/IP Model
	             -> OSI 7 Layer를 TCP(4계층)와 IP(3계층)프로토콜을 중심으로 4개 영역으로 구분
 	
    Physical Layer (1계층, 물리계층)
    : 개요
    	-> 데이터 링크 계층(2계층)의 프레임(Frame, 데이터를 담고 있는 틀)을 받고 다음 장치(1계층)에 구리나 광섬유 또는 무선 통신 매체를 전송하기 위한 신호로 변경(Encapsulation)한다.
        -> 변경된 신호들은 수신 측에서 기존의 형태로 바뀌고(De-encapsulation) 데이터 링크 계층으로 전달한다.
    : 기본 장비 또는 기타
    	-> Cable(LAN Cable, UTP Cable) , Connector(RJ-45 Jack) , Bit(Signal)
    : Cable Connection
        : UTP Straight-Through Cable
            -> 다이렉트 연결 1:1 연결
            -> 서로 다른 장비간의 연결(이기종간 연결)
    	: UTP Crossvoer Cable
            -> 크로스 연결
            -> 서로 같은 장비간의 연결(동기종간 연결)
            
    Data Link Layer(2계층, 데이터링크 계층)
    : 개요
         -> 네트워크 계층(3계층)의 패킷(Packet, 데이터)을 물리적 매체(MAC 주소)에 실어 보내기 위해 사용된다.
         -> 광범위한 데이터 통신 매체에 대한 데이터 접근 제어를 위해 다양한 데이터 링크 프로토콜이 요구된다.
         -> 물리 계층(1계층)의 매체(장비) 상에서 2계층과의 통신 시 Frame 교환을 책임진다. (데이터 전송이 잘 되게 해준다.)
         -> Packet(데이터)을 Frame(데이터와 정보들이 모여 있는 것)으로 캡슐화(Encapsulation)하여 매체에 보내고 매체로부터 Frame을 수신하여 다시 Packet으로 역캡슐화(De-Encapsulation)하는 과정을 포함한다.
         -> (핵심) LAN 구간에서만 사용된다. 즉, 내부망에서만 사용된다.
    : 기본 장비 또는 기타
    	: Switch(스위치 ,2계층의 대표적인 장비)
        : MAC(Media Access Control) Address
            -> 데이터를 송수신할 떄 Ethernet(랜카드)이 기억하고 있는 주소
            -> 전세계적으로 절대 2개가 존재할 수가 없다
    : MAC Address 구조(EUI-48 & EUI-64)
        : 개요
            -> 16진수 구조로 되어있다
            -> 일반적으로 LAN Card라고 불리는 NIC(Network Interface Card)의 일련번호를 Ethernet이 물리적 주소로 사용한다.
     
    Network Layer(3계층, 네트워크(인터넷) 계층)
    :개요
         -> 상위 레벨(Transport, 4계층) 데이터를 패킷(전송되는 데이터) 안으로 캡슐화(들어오는 신호를 모두 묶어서)해서 데이터 종류에 상관없이 한 호스트(PC 또는 서버)에서 다른 호스트(PC 또는 서버)로 그 패킷들을 라우팅(Routing, 전송)하는 것을 말한다.
         -> 데이터는 패킷 안으로 캡슐화되며 패킷 헤더는 패킷의 송신지와 수신지의 주소들을 포함하는 필드를 가진다.
         -> 라우터는 각 호스트에 부여할 IP주소(인터넷을 하기 위해 꼭 필요한 숫자 정보)를 구성해서 배포한다.
         -> PC(호스트)에 IP를 부여하기 위한 'IP Table'을 구성한다.
         -> (핵심) 라우터는 PC에 IP Address를 부여(IP Table)해서 인터넷을 할 수 있도록 해 준다.
         -> (핵심) 라우터는 내부망(LAN)과 외부망(WAN)이 공존하는 장비이다.
    :기본 장비 또는 기타
        -> Router(Router, 3계층의 대표적인 장비)
        -> IP Address, ICMP, IGMP, ARP, RARP
    
    Transfer Layer(4계층 전송계층)
    :개요
        -> 사용자 간 데이터의 투명한(신뢰성을 기반으로 한) 전송을 제공(TCP)하고 상위 계층에 신뢰성 있는 데이터를 전송하는 서비스를 제공한다.
        ->
    :기본 장비 또는 기타
        -> UDP : 데이터를 보내는 쪽에서 상대방의 수신 여부를 확인할 수가 없는데 바로 이 점이 신뢰성이 없다.
        		 즉, 상대방이 데이터를 수신할 준비가 되었는지를 판단하지 않는다.
                 데이터 전송할 떄 빠른 전송 서비스를 요구하는 음성, 영상 데이터 등에 많이 사용된다.
                 
        -> TCP : 데이터를 보내면 해당 데이터를 수신한 측에서 데이터를 이상없이 잘 받았다는 확인 및 응답을 전송한다.
        		 Three Way Handshake(3-way Handshake)
     
     SeSSion/Presentation/Application Layer(연결/표현/응용프로그램 계층)
     :개요
        -> 대부분 서비스에 관련된 계층을 말한다.
        
     : 연결 계층
     	-> 대화를 시작하고 끊어지지 않게 꼐속 활성화 상태를 유지한다.
        
     : 표현 계층
     	-> 수신지 장치에서 "적합한 응용프로그램(서비스 받고자 하는)을 사용" 해서 송신지 장치로부터 온 데이터의 해석을 도와준다.
    
     : 응용프로그램 계층
     	-> 데이터들이 서로 왕래되는 네트워크 상에서 통신의 송신지와 수신지로서의 역할을 담당한다
        -> 서비스를 요청(Request)하고 요청에 대한 응답(Response)하는 모든 것. 즉, Client 요청에 따른 Server의 응답을 담당한다.
     : 대표적인 기능
         • File Transfer(파일 전송)
             • TFTP 
             • FTP 
         • E-mail 
             • SMTP(보내는 메일 서버) 
             • POP3(받는 메일 서버)
         • Remote Login 
             • Telnet(보안 안된 상태로 접속)
             • SSH (암호키를 이용한 접속)
         • Network Management 
             • SNMP(Simple Network Managemnet Protocol, 간이 망 관리 프로토콜 , 모니터링)
         • Name Management 
             • DNS(이름 서버)
         • IP Management 
             • DHCP(호스트(PC)들에게 IP를 자동으로 부여, 공유기)

+ Recent posts