네트워크 해킹 절차, 정보 수집
- 활성화된 호스트 식별
: 위치(네트워크 환경)에 따른 식별 유형
-> 같은 네트워크 안에 있는 경우
-> 같은 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를 자동으로 부여, 공유기)