공부한 내용 정리하는 공간입니다.
틀린 내용이 있을 수 있습니다.
모든 지적, 첨언 환영합니다.
Foot-printing
공격 전에 공격 대상에 대한 정보를 수집하는 방법
사회 공학 기법, IT 기술 기반 기법
공격 대상의 이름, 계정, 전화번호 등을 수집
Port Scan
공격 방법을 결정하거나 공격에 이용할 수 있는 네트워크, 서비스의 정보를 얻기 위한 방법
서비스 종류, 플랫폼 형태, 운영체제 등을 알 수 있음
개방된 포트를 찾는 작업
Nmap : 포트 스캔 도구, 관제사들이 많이 사용, GUI 버전으로 zenmap이 있음
단시간에 수신포트가 바뀌며 SYN을 받는다면 포트스캔 의심
관제사는 취약점 점검을 위해 포트 스캔 진행
포트가 개방되어 있다고 무조건 타겟으로 선정되는것은 아님
>공격자의 프로그램과 포트의 취약점을 고려함
포트 스캔 자체도 공격으로 판단 (수동적 공격)
>함부로 시도했다가 법적 조치를 받을 수 있음
Open Scan
시스템의 서비스 활성화 여부 확인 용도
종류 : TCP Open Scan, UDP Open Scan
TCP Full Open Scan
3WHS 이용한 방법
타겟의 포트에 SYN 전송, 응답을 보고 포트 개방여부 확인
열려있는 포트 응답 : SYN, ACK > 공격자 응답 : ACK
닫혀있는 포트 응답 : RST, ACK
방화벽이 설치된 포트 응답 : 응답 없음
공격자들은 full open scan을 많이 사용하지 않음
>열려있는 포트에서 보낸 RST, ACK를 받으면 공격자도 ACK를 보내기 때문에 로그가 남게 됨
ex) 192.168.10.20의 포트 스캔
nmap -sT 192.168.10.20

TCP Full Open Scan 패킷분석 (Wireshark)

113 포트에 SYN을 보내고 응답으로 RST, ACK 받음
>192.168.10.20에서 113 포트는 닫혀 있음

21 포트에 SYN을 보내고 응답으로 SYN, ACK 받음
>192.168.10.20에서 21 포트는 열려 있음
열려있는 포트에서 보낸 패킷 필터링 : (tcp.flags.ack == True) && (tcp.flags.syn == True)
UDP Scan
UDP는 3WHS 절차가 없음
타겟의 포트에 UDP 전송, 응답을 보고 포트 개방여부 확인
열려있는 포트 응답 : UDP
닫혀있는 포트 응답 : ICMP Unreachable
ex) 192.168.10.20의 포트 스캔
nmap -sU 192.168.10.20
UDP Scan 패킷분석 (Wireshark)

53 포트에 UDP(DNS)를 보내고 응답으로 UDP(DNS) 받음
>192.168.10.20에서 53 포트는 열려 있음
>포트 번호는 UDP 상세정보 에서 확인 가능

17338 포트에 UDP를 보내고 응답으로 ICMP Unreachable 받음
>192.168.10.20에서 17338 포트는 닫혀 있음

ICMP에서 공격자 IP, UDP 확인할 수 있음
Stealth Scan
3WHS 이용한 것 아님
TCP 헤더를 조작하여 특수 패킷을 만들어서 사용
세션을 성립하지 않아 타겟에 로그를 남기지 않음
TCP Half Open Scan
타겟의 포트에 SYN 전송, 응답을 보고 포트 개방여부 확인
열려있는 포트 응답 : SYN, ACK > 공격자 응답 : RST
닫혀있는 포트 응답 : RST, ACK
ex) 192.168.10.20의 포트 스캔
nmap -sS 192.168.10.20
TCP Half Open Scan 패킷분석 (Wireshark)

21 포트에 SYN을 보내고 응답으로 SYN, ACK 받음
공격자가 RST로 응답
>192.168.10.20에서 21 포트는 열려 있음
RST, ACK가 아닌 RST 단독 패킷만 필터링 : tcp.flags.str == "·········R··" (또는 연산자 활용)
FIN Scan
이전에 세션이 이루어진 적이 없지만 타겟의 포트에 FIN 전송, 응답을 보고 포트 개방여부 확인
열려있는 포트 응답 : 응답 없음
닫혀있는 포트 응답 : RST, ACK
ex) 192.168.10.20의 포트 스캔
nmap -sF 192.168.10.20
FIN Scan 패킷분석 (Wireshark)

113 포트에 FIN을 보내고 응답으로 RST, ACK 받음
>192.168.10.20에서 113 포트는 닫혀 있음
Xmas Scan
UGR, PSH는 데이터 전송 중에 사용하는 Flags
FIN은 데이터 전송 종료에 사용하는 Flags
문법적으로는 같이 사용할 수 없음
타겟의 포트에 FIN, PSH, URG 전송, 응답을 보고 포트 개방여부 확인
열려있는 포트 응답 : 응답 없음
닫혀있는 포트 응답 : RST, ACK
ex) 192.168.10.20의 포트 스캔
nmap -sX 192.168.10.20
Xmas Scan 패킷분석 (Wireshark)

113 포트에 FIN, PSH, URG를 보내고 응답으로 RST, ACK 받음
>192.168.10.20에서 113 포트는 닫혀 있음
Null Scan
TCP 헤더 내 Flags에 아무런 값도 설정하지 않고 전송
열려있는 포트 응답 : 응답 없음
닫혀있는 포트 응답 : RST, ACK
Switch Jamming (MAC Floding Attack)
공격자의 sniffing 방법
스위치를 허브화 시켜서 모든 데이터를 플러딩 방식으로 전송
스위치의 MAC 주소 테이블을 공격하는 것이 목적
| 1 | 공격자가 가짜 MAC 주소 생성 |
| 2 | 가짜 MAC 주소를 스위치로 전송 |
| 3 | 스위치의 MAC 주소 테이블에 가짜 주소가 저장됨 |
| 4 | 공격 반복으로 MAC 주소 테이블 용량 초과, 추가로 저장하지 못함 |
| 5 | 데이터 전송할 때 스위치에 목적지 MAC 주소가 없어서 데이터를 플러딩 전송 |
| 6 | 공격자에게 데이터가 전송됨 |