--min-parallelism=512 : nmap이 병렬로 처리하는 probe(스캔 작업)의 최소 개수 설정
→ IDS에 걸릴 확률이 크다.
Null Scan → -sN : 열려있으면 아무것도 안 돌아오고, 닫혀있으면 RST, ACK가 돌아온다. (open or filtered)FIN Scan → FIN flag를 보내면, 연결이 종료되니까 open port에서는 응답이 오지 않고, 닫혀있는 port에서는 RST, ACK 응답이 온다. Xmas Scan : FIN, URG, PSH flag를 모두 1로 설정한 패킷을 보내는 스캔 기법으로 이게 동시에 가게 되면 TCP 연결 규칙 상 이상한 비정상 패킷이 된다. 비정상 패킷이 Null scan이나 FIN Scan과는 다르게 IDS/IPS에 걸리지 않을 수 있다는 장점이 있다. 최신에는 이것도 pattern signature에 걸리기 때문에 완전 회피는 아니다. FIN, ACK를 동시에 보내는 스캔 기법. 이제는 거의 막혔다.ACK flag를 보내서 거절 당하면 열려있는 걸 확인하는 스캔 기법이다. nmap -S SPOOFED_IP Want_spoof_IP
nmap -e NET_INTERFACE -Pn -S SPOOFED_IP Want_spoof_IP
-e 옵션으로 네트워크 인터페이스 지정하고, -Pn 옵션으로 ping 스캔 비활성화-f : 8bytes로 단편화 → TCP header 최소 사이즈가 20bytes라서 3개씩 오는데-ff로 보내면 16bytes로 단편화돼서 16bytes, 8bytes로 나뉘어서 2개씩 온다. Zombie Scan
1단계 - 좀비 상태 확인
1. 공격자 → 좀비 : SYN/ACK 비정상 패킷 송신
2. 좀비는 RST로 응답, 이때 IP ID 값 확인
3. 짧은 간격으로 한 번 더 보내서 IP ID가 1씩 증가하는지 확인 → 순차 증가형이면 zombie로 사용 가능
2단계 - 스캔 시도
a. 공격자가 좀비의 IP 주소로 출발지를 스푸핑한 SYN 패킷을 target에 전송
b. target 포트 열렸으면 → target은 좀비로 SYN/ACK로 응답 → zombie는 RST로 응답 → IP ID 증가
닫혔으면 → target은 좀비로 RST 응답 → 좀비 응답 X → IP ID 변화 없음
3단계 - 결과 확인
zombie 접속해 IP ID 값을 읽고 값이 증가했으면 해당 포트는 OPEN, 그대로면 closed.
~={purple}Nmap options=~
--reason : 뭘로 확인했는지 알려준다. 비슷한 옵션으로는 -v나 -vv
-sV : version을 보여주는데, 이게 중요한 이유가 TCP 3-way handshake가 선행되어야 이 버전이 출력이 되기 때문이다. sudo 권한 또한 필요하다!
-O : 운영체제의 버전을 알려준다. → cve 이런 거 찾아서 공략 가능할 수도 있음.
근데 문제는 OS의 버전은 정확한데, kernel의 버전은 틀릴 수 있다.
--route, tracert : 경로를 타고 가서 어디까지 연결되어있는지 확인 가능