1. TCP헤더의 Flag
- TCP의 속성을 나타냄
- 순서: UAPRSF (6bit) ----> 사용하면 1, 사용 안하면 0으로 표시
- URG (Urgent: 긴급)
- ACK (Acknowledgement: 응답)
- PSH (Push: 상위계층으로 밀어올림)
- RST (Reset: 연결 강제 종료)
- SYN (Syncronization: 동기화) : 연결 설정
- FIN (Finish: 연결 종료)
ex) 000010 (SYN), 010010 (ACK/SYN)
0x002 0x012
* wireshark에서도 16진수를 이용하여 TCP Flag 검색 가능
ex) tcp.flags == 0x012
2. Nmap Scanning
1. Ping scan
-켜져있는 컴퓨터들의 IP를 조사하기 위해서
# nmap -sP [IP Address] // 네트워크 지정
# nmap -sP [IP Address] // 번호를 지정하는 방법
2. TCP scan
- 열린포트를 파악하기 위한 스캐닝
- 열린포트에서 ACK/SYN로 응답할 때 ACK를 보내기 떄문에 연결 완성
- 연결완성(3-Way Handshaking)을 하면 로그에 기록이 남음
# nmap -sT [IP Address]
3. Stealth scan
- ACK/SYN를 공격자가 받아도 ACK를 보내지 않고 RST를 보냄
- 로그에 안 남기기 위해서 사용 (결과는 TCP scan과 동일)
# nmap -sS [IP Address]
4. OS scan
- 운영체제(OS)를 파악하기 위해서 사용하는 스캔
# nmap -O [IP Address]
*참고) 리눅스 커널을 확인하는 명령은 uname -r
5. Version scan
- 설치된 모든 Application들의 버전을 조사하는 스캔
# nmap -sV [IP Address]
다음으로는 엉터리 스캔에 대해서 알아보자.
엉터리 스캔이란? ( FIN / Null / X-mas )
- TCP/IP 로직에 맞지 않는 스캐닝 방식
- 열린 포트는 응답하지 않음
- 닫힌 포트는 RST/ACK를 보냄
- 방화벽 유무를 파악하기 위해서 사용 ( 방화벽이 중간에서 RST/ACK를 차단 )
6. FIN scan
- FIN(종료 요청)을 보내는 스캐닝
- 열린 포트는 응답없음, 닫힌 포트는 RST/ACK로 응답
# nmap -sF [IP Address]
7. Null scan
- Flag 6bit 모두 0으로 만들어서 보내는 스캐닝
# nmap -sN [IP Address]
8. X-mas scan
- Flag 6bit 모두를 1로 만들거나 FIN / PSH / URG민 1로 만들어서 보냄
# nmap -sX [IP Address]
9. All scan
- OS + Version + Script + Traceroute를 결합한 방식
- 한번에 4가지 스캔을 해서 결과를 확인
# nmap -A [IP Address] -T4
-T는 timing을 나타냄, 숫자가 클수록 빨라짐 (0~6)
*특정 포트만 조사할 때
-p [port] 를 명령어 뒤에 붙인다.
-p 21-4000 처럼 범위를 지정할 수도 있다.
3. 자세한 Scanning
** 어떤 버전이고, 언제 발견되었고, 조치를 안하면 어떻게 되고, 출처, 참고사이트 등을
상세하게 작성하기 위해서 필요한 스캔 방식
다음의 명령어로 스크립트를 살펴보자
# cd /usr/share/nmap/scripts
# ls
총 몇개나 존재할까?
606개의 스크립트가 존재함을 알 수 있다.
CVE-2011-2523 번호를 가지고 있으며
VULNERABLE 하다고 적혀있는 것이 보인다.
CVE란?
https://walk-cat-dev.tistory.com/109
[정보보안] 약점과 취약점, 해킹과 해커
1. 약점과 취약점 Weakness (약점) - 공식 약점 번호 체계: CWE-NNNNN (형식) - 공식 약점 관리 기구:https://cwe.mitre.org/ CWE - Common Weakness Enumeration CWE™ is a community-developed list of software and hardware weakness types.
walk-cat-dev.tistory.com
그럼 특정 IP주소에 이러한 취약점이 있는 지 어떻게 알아볼까?
# nmap --script=[script] [IP Address] -p [port]
이렇게 하면 해당 스크립트에 있는 취약점을 분석할 수 있다.
예를 들어 ftp-vsftpd-backdoor.nse를 [script] 자리에 넣어서 실행해보자.
vsftpd에 대한 취약점 정보가 나올 것이다.
참고) 국내 취약점 분석 및 모의 해킹 전문 회사
- A3 Security
- Tiger Team
- F1 Security
이제 취약점 분석의 단계를 정리해보자
기본 스캔 ( -sS ) -> 버전 확인 ( -sV ) -> 구글 검색 -> 스크립트 검색 ( find . -name ) -> 스크립트 실행 ( nmap --script )
'정보보안 > Kali-Linux' 카테고리의 다른 글
[정보보안][칼리리눅스] nc(Netcat)와 RAT(트로이목마)을 통한 Windows7 침투 (0) | 2023.07.25 |
---|---|
[정보보안][칼리리눅스] EternalBlue 취약점을 이용한 Windows7 Exploit (0) | 2023.07.25 |
[정보보안][칼리리눅스] MetaSploit을 사용한 취약점 공격(Exploit) (0) | 2023.07.21 |
[정보보안][칼리리눅스] APT공격을 위한 정보수집, 암호 공격(Password Attack) (0) | 2023.07.21 |