TCP IP Level - Leo-Mun/UROP_SDN GitHub Wiki

IP spoofing

μ‰½κ²Œ νŒ¨ν‚·μ˜ 좜발 IP μ£Όμ†Œλ₯Ό λ³€κ²½ν•  수 μžˆλ‹€. Cλ₯Ό μ‚¬μš©ν•œ μ›μ‹œμ˜ μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°μ„ μ‚¬μš©ν•˜λ©΄ μ‰½κ²Œ λ³€κ²½ ν•  수 μžˆλ‹€. ( ex. int fd = socket (PF_INET, SOCK_RAW, IPPROTO_TCP); λˆ„κ΅¬λ“  μ‰½κ²Œ νŒ¨ν‚·μ˜ μ†ŒμŠ€(μ†‘μ‹ μž) IPμ£Όμ†Œλ₯Ό λ³€ν™˜ ν•  수 μžˆλ‹€.

  • 곡격법
    1. DoS(Denial of Service)
      • SYN flooding
    2. DDoS(Distributed Denial of Service)
      • Smurf(already covered)
      • λ§Œμ•½ νŠΈλž˜ν”½μ΄ λ§Žμ€ μ†ŒμŠ€ IPλ₯Ό μ°¨λ‹¨ν•œλ‹€λ©΄, 우린 정상 μ‚¬μš©μžμ˜ 접근을 막아야 ν•œλ‹€.
    3. 곡격자 은신
      • λ§Œμ•½ μ†ŒμŠ€ IPμ£Όμ†Œκ°€ κ°€μ§œλΌλ©΄, μ‹€μ œ μ†ŒμŠ€λ₯Ό μ–΄λ–»κ²Œ 좔적해야 ν•˜λŠ”κ°€?
    4. 특히 κ³΅κ²©ν•˜κΈ° μ‰¬μš΄ μ„œλΉ„μŠ€λ“€
      1. RPC (원격 ν”„λ‘œμ‹œμ € 호좜 μ„œλΉ„μŠ€)
      2. Rμ„œλΉ„μŠ€ 묢음(rlogin, rsh, etc)
      3. IPμ£Όμ†Œ 인증을 μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μ„œλΉ„μŠ€
  • λŒ€μ‘μ±…
    1. μΆœμž…κ΅¬ 필터링
      • νŒ¨ν‚· 필터링에 κΈ°λ°˜μ„ λ‘κ³ μžˆλ‹€.
      • μž…κ΅¬ 필터링 : μ†ŒμŠ€ μ£Όμ†Œκ°€ λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μΈλ° μ™ΈλΆ€ λ„€νŠΈμ›Œν¬μ—μ„œ μ˜€λŠ” νŒ¨ν‚·μ„ λ§‰λŠ”λ‹€.
      • 좜ꡬ 필터링 : λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μ— μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ†ŒμŠ€ μ£Όμ†Œλ₯Ό κ°–λŠ” λ‚΄λΆ€ λ„€νŠΈμ›Œν¬ νŒ¨ν‚·μ„ λ§‰λŠ”λ‹€.
      • RFC 2827

Session hijacking(μ„Έμ…˜ ν•˜μ΄μž¬ν‚Ή)

μ„Έμ…˜ ν•˜μ΄μž¬ν‚Ήμ€ "μΏ ν‚€ ν•˜μ΄μž¬ν‚Ή" 이라고도 ν•˜λ©° 컴퓨터 μ‹œμŠ€ν…œμ—μ„œ 정보 λ˜λŠ” μ„œλΉ„μŠ€μ— λŒ€ν•œ 무단 μ•‘μ„ΈμŠ€λ₯Ό μ–»κΈ° μœ„ν•΄ "μ„Έμ…˜ ν‚€" 라고도 ν•˜λŠ” μœ νš¨ν•œ 컴퓨터 μ„Έμ…˜μ„ μ•…μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 특히 이것은 원격 μ„œλ²„μ— μ‚¬μš©μžλ₯Ό μΈμ¦ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” μΏ ν‚€μ˜ μ ˆλ„λ₯Ό λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. λ§Žμ€ μ›Ήμ‚¬μ΄νŠΈμ—μ„œ μ„Έμ…˜μ„ μœ μ§€ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” HTTP μΏ ν‚€ λŠ” μ€‘κ°œ 컴퓨터λ₯Ό μ‚¬μš©ν•˜λŠ” κ³΅κ²©μžλ‚˜ ν¬μƒμžμ˜ 컴퓨터에 μ €μž₯된 쿠킀에 λŒ€ν•œ μ•‘μ„ΈμŠ€λ‘œ μ‰½κ²Œ λ„λ‚œ λ‹Ήν•  수 μžˆμœΌλ―€λ‘œ μ›Ή 개발자 와 특히 관련이 μžˆμŠ΅λ‹ˆλ‹€ ( HTTP μΏ ν‚€ λ„λ‚œ ).

  1. Session IDλŠ” 어디에 μ‘΄μž¬ν•˜λŠ”κ°€ ?

    • Session IDλŠ” μš°λ¦¬κ°€ ν”νžˆ λ“£λŠ” μΏ ν‚€(cook-ie)λΌλŠ” 곳에 μ €μž₯λ˜λŠ” 것이 μΌλ°˜μ μ΄λ‹€. κ·ΈλŸ¬λ‚˜ 가끔은 μ›Ή λΈŒλΌμš°μ € μ£Όμ†Œμ°½ URLμ΄λ‚˜ HTML νŽ˜μ΄μ§€ 폼 μ†ŒμŠ€ μƒμ˜ hidden ν•„λ“œμ— ν¬ν•¨λ˜μ–΄ λ“œλŸ¬λ‚˜κΈ°λ„ ν•œλ‹€.
    • μ›Ή λΈŒλΌμš°μ € μ£Όμ†Œμ°½μ˜ URL
    • μ›Ή νŽ˜μ΄μ§€ 폼 μ†ŒμŠ€ μƒμ˜ Hidden ν•„λ“œμ— ν¬ν•¨λ˜μ–΄ λ“œλŸ¬λ‚˜κΈ°λ„ ν•œλ‹€.
  2. Session ID 의 μ·¨μ•½μ„± ?

    • κ°•λ ₯ν•˜μ§€ λͺ»ν•œ μ•Œκ³ λ¦¬μ¦˜ : Crackingμ΄λ‚˜ Brute-force 곡격의 μœ„ν—˜μ΄ μžˆλ‹€.
    • 길이가 짧은 Session ID : κ°•λ ₯ν•œ μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜μ΄λΌλ„ 길이 짧으면 λ³΄μ•ˆμ— μ·¨μ•½ν•˜λ‹€
    • 계정 잠금 κΈ°λŠ₯ λ―ΈλΉ„ : 이 κΈ°λŠ₯이 μ—†μ„μ‹œ Brute-force 곡격에 μ·¨μ•½ν•˜λ‹€
    • λ¬΄ν•œ 만료의 Session ID : μ‚¬μš©μžμ˜ 둜그 아웃 이후에도 μ„œλ²„μΈ‘μ—μ„œ ν•΄λ‹Ή Session ID값을 νκΈ°ν•˜μ§€ μ•Šκ³  λ¬΄ν•œμ • 유효 μΈμ •ν•œλ‹€λ©΄ Cookie Sniffingμ΄λ‚˜ ν”„λ½μ‹œ μ„œλ²„μ˜ 둜그 취득을 톡해 Session ID 곡격이 κ°€λŠ₯ν•˜λ‹€.
    • ν‰λ¬ΈμœΌλ‘œ μ „λ‹¬λ˜λŠ” Session ID : μΏ κΈ° 전달 방식이 λΉ„μ•”ν˜Έν™” 방식일 경우 Sniffing을 ν†΅ν•˜μ—¬ ν•΄λ‹Ή 값이 λ…ΈμΆœλ˜μ–΄ 곡격 받을 수 μžˆλ‹€.
  3. Session ID κ³΅κ²©μœ ν˜•

    • 직접적인 null Sniffing을 ν†΅ν•œ Session ID λ„μš©
    • κ°„μ ‘ 우회 곡격을 ν†΅ν•œ Session ID λ„μš©
    • Brute-force guessing을 ν†΅ν•œ Session ID λ„μš©
  4. λŒ€μ‘ λ°©μ•ˆ

    • Session ID 생성 λ²”μœ„κ°’μ„ μ‚¬μš©μž μˆ˜μ— λŒ€λΉ„ν•˜μ—¬ μΆ©λΆ„νžˆ 큰 κ°’μœΌλ‘œ μ„€μ •ν•œλ‹€.
    • Session Timeout κΈ°λŠ₯κ³Ό Session ID μž¬μƒμ„± κΈ°λŠ₯을 μ‚¬μš©ν•œλ‹€. 일정 μ‹œκ°„ λ™μ•ˆ ν™œλ™μ΄ μ—†λŠ” μ‚¬μš©μžλŠ” μƒˆλ‘œμš΄ Session ID둜 μž¬λ‘œκ·ΈμΈν•˜λ„λ‘ ν•˜κ³ , μ‚¬μš©μž 둜그 아웃 μ‹œμ—λŠ” Session ID 값을 νκΈ°ν•œλ‹€.
    • λ¬΄μž‘μœ„ μΆ”μΈ‘ λŒ€μž…(Brute-force Guessing)에 λŒ€λΉ„ν•˜μ—¬ 일정 회수 μ΄μƒμ˜ 인증 μ‹€νŒ¨μ‹œμ—λŠ” μ‚¬μš©μž 잠금 κΈ°λŠ₯을 κ΅¬ν˜„ν•œλ‹€.
    • null λ‚΄μš© μ•ˆμ˜ Session ID와 기타 λ³€μˆ˜κ°’ 자체λ₯Ό μ•”ν˜Έν™”ν•œλ‹€.
    • μ›Ή μ„œλΉ„μŠ€ 자체의 μ€‘μš”μ„±μ— 따라 nullκ°€ μ „λ‹¬λ˜λŠ” 방식을 SSL둜 κ΅¬ν˜„ν•¨μœΌλ‘œμ¨ μŠ€λ‹ˆν•‘ 곡격에 λŒ€μ‘ν•  μˆ˜λ„ μžˆλ‹€.
    • μ›Ή μ„œλΉ„μŠ€ 상에 κ³΅κ²©μžκ°€ HTML 곡격 μ½”λ“œ μ‚½μž…μ΄ κ°€λŠ₯ν•œ νŽ˜μ΄μ§€κ°€ μžˆλŠ”μ§€ μ κ²€ν•œλ‹€. 직접적인 곡격 μ½”λ“œ μ‚½μž…μ„ 차단할 수 μžˆλ„λ‘ 특수 문자 및 슀크립트 μ½”λ“œλ₯Ό ν•„ν„°λ§ν•˜μ—¬μ•Ό ν•œλ‹€. (크둜슀-μ‚¬μ΄νŠΈ-슀크립트)



μΈκΈ°μžˆλŠ” 방법은 μ†ŒμŠ€ λΌμš°νŒ… IP νŒ¨ν‚·μ„ μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ IP νŒ¨ν‚·μ΄ B의 μ‹œμŠ€ν…œμ„ ν†΅κ³Όν•˜λ„λ‘ ν•˜μ—¬ λ„€νŠΈμ›Œν¬μ˜ B μ§€μ μ—μžˆλŠ” κ³΅κ²©μžκ°€ A와 C κ°„μ˜ λŒ€ν™”μ— μ°Έμ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ†ŒμŠ€ λΌμš°νŒ…μ΄ κΊΌμ ΈμžˆλŠ” 경우 κ³΅κ²©μžλŠ” "μˆ¨μ€ (blind)"ν•˜μ΄μž¬ν‚Ήμ„ μ‚¬μš©ν•˜μ—¬ 두 μ‹œμŠ€ν…œμ˜ 응닡을 μΆ”μΈ‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ κ³΅κ²©μžλŠ” λͺ…령을 보낼 μˆ˜λŠ” μžˆμ§€λ§Œ 응닡을 λ³Ό μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 일반적인 λͺ…령은 그물에 μžˆλŠ” λ‹€λ₯Έ κ³³μ—μ„œ μ•‘μ„ΈμŠ€ ν•  μˆ˜μžˆλŠ” μ•”ν˜Έλ₯Ό μ„€μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

κ³΅κ²©μžλŠ” μŠ€λ‹ˆν•‘ ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ—¬ A와 C μ‚¬μ΄μ˜ "인라인"μƒνƒœλ‘œ λŒ€ν™”λ₯Ό λ³Ό μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 이것은 "μ€‘κ°„μž (man-in-the-middle) 곡격"μ΄λΌκ³ ν•©λ‹ˆλ‹€.

Method

μ„Έμ…˜ λ„μš©μ„ μ €μ§€λ₯΄λŠ” 데 μ‚¬μš©λ˜λŠ” λ„€ κ°€μ§€ μ£Όμš” 방법이 μžˆμŠ΅λ‹ˆλ‹€. 이것듀은:

  • μ„Έμ…˜ κ³ μ • : κ³΅κ²©μžκ°€ νŠΉμ • μ„Έμ…˜ IDκ°€ ν¬ν•¨λœ 링크가 포함 된 μ „μž 메일을 λ³΄λ‚΄λŠ” λ“± μ‚¬μš©μžμ˜ μ„Έμ…˜ IDλ₯Ό μ•Œλ €μ§„ κ²ƒμœΌλ‘œ μ„€μ •ν•©λ‹ˆλ‹€. κ³΅κ²©μžλŠ” 이제 μ‚¬μš©μžκ°€ 둜그인 ν•  λ•ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Όν•©λ‹ˆλ‹€.
  • κ³΅κ²©μžκ°€ νŒ¨ν‚· μŠ€λ‹ˆν•‘μ„ μ‚¬μš©ν•˜μ—¬ μ„Έμ…˜ μΏ ν‚€λ₯Ό λ„μš©ν•˜κΈ° μœ„ν•΄ 두 λ‹Ήμ‚¬μž κ°„μ˜ λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ μ½λŠ” μ„Έμ…˜ μΈ‘ 차단. λ§Žμ€ μ›Ή μ‚¬μ΄νŠΈλŠ” 둜그인 νŽ˜μ΄μ§€μ— SSL μ•”ν˜Έν™”λ₯Ό μ‚¬μš©ν•˜μ—¬ κ³΅κ²©μžκ°€ μ•”ν˜Έλ₯Ό λ³Ό 수 없도둝 ν•˜μ§€λ§Œ 인증이 μ™„λ£Œλ˜λ©΄ λ‚˜λ¨Έμ§€ μ‚¬μ΄νŠΈλŠ” μ•”ν˜Έν™”λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ 읽을 μˆ˜μžˆλŠ” κ³΅κ²©μžκ°€ μ„œλ²„μ— 제좜 된 λͺ¨λ“  데이터 λ˜λŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ λ³΄λŠ” μ›Ή νŽ˜μ΄μ§€λ₯Ό κ°€λ‘œμ±Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 λ°μ΄ν„°μ—λŠ” μ„Έμ…˜ μΏ ν‚€κ°€ ν¬ν•¨λ˜μ–΄ 있기 λ•Œλ¬Έμ— μ•”ν˜Έ μžμ²΄κ°€ μ†μƒλ˜μ§€ μ•Šμ•„λ„ ν”Όν•΄μžλ₯Ό κ°€μž₯ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ³΄μ•ˆλ˜μ§€ μ•Šμ€ Wi-Fi ν•«μŠ€νŒŸμ€ 특히 μ·¨μ•½ν•©λ‹ˆλ‹€. λ„€νŠΈμ›Œν¬λ₯Ό κ³΅μœ ν•˜λŠ” μ‚¬λžŒμ€ 일반적으둜 λ‹€λ₯Έ λ…Έλ“œμ™€ μ•‘μ„ΈμŠ€ 포인트 κ°„μ˜ λŒ€λΆ€λΆ„μ˜ μ›Ή νŠΈλž˜ν”½μ„ 읽을 수 μžˆμŠ΅λ‹ˆλ‹€.
  • XSS : κ³΅κ²©μžκ°€ μ‚¬μš©μžμ˜ 컴퓨터λ₯Ό νŠΈλ¦­ν•˜μ—¬ μ„œλ²„μ— μ†ν•œ κ²ƒμ²˜λŸΌ 보이기 λ•Œλ¬Έμ— μ‹ λ’°ν•  μˆ˜μžˆλŠ” κ²ƒμœΌλ‘œ κ°„μ£Όλ˜λŠ” μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ—¬ κ³΅κ²©μžκ°€ μΏ ν‚€ 볡사본을 μ–»κ±°λ‚˜ λ‹€λ₯Έ μž‘μ—…μ„ μˆ˜ν–‰ ν•  μˆ˜μžˆκ²Œν•©λ‹ˆλ‹€.
  • 맬웨어 및 μ‚¬μš©μž λ™μ˜μ—†μ΄ μ„€μΉ˜λœ ν”„λ‘œκ·Έλž¨μ€ λΈŒλΌμš°μ € ν•˜μ΄μž¬ν‚Ήμ„ μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μžμ˜ 지식없이 λΈŒλΌμš°μ €μ˜ μΏ ν‚€ νŒŒμΌμ„ λ„μš© ν•œ λ‹€μŒ μ‚¬μš©μžμ˜ 지식없이 (Android μ•± μ„€μΉ˜μ™€ 같은) μž‘μ—…μ„ μˆ˜ν–‰ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹€μ œ μ•‘μ„ΈμŠ€ κΆŒν•œμ΄μžˆλŠ” κ³΅κ²©μžλŠ” 예λ₯Ό λ“€μ–΄ μ‚¬μš©μž 컴퓨터 λ˜λŠ” μ„œλ²„μ˜ μ μ ˆν•œ 뢀뢄에 μžˆλŠ” νŒŒμΌμ΄λ‚˜ λ©”λͺ¨λ¦¬ λ‚΄μš©μ„ κ°€μ Έ μ™€μ„œ μ„Έμ…˜ ν‚€λ₯Ό ν›”μΉ˜λ €κ³  μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Injecting false routing information(잘λͺ»λœ λΌμš°νŒ… 정보 μ£Όμž…)

  • λΌμš°νŒ…μ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 νŠΈλž˜ν”½μ„ μ „λ‹¬ν•˜λŠ”λ° ν•„μš”ν•œ 정보λ₯Ό μ œκ³΅ν•œλ‹€.
  • λ³΄μ•ˆ 취약점에 λŒ€ν•œ κ°μ‹œ κ°•ν™”
  • λΌμš°νŒ… ν”„λ‘œν† μ½œμ— λŒ€ν•œ λ‹€μ–‘ν•œ μœ„ν˜‘
  • κ³΅κ²©μžλŠ” λΌμš°νŒ… ν…Œμ΄λΈ”μ˜ λ‚΄μš©μ„ λ³€κ²½ν•˜κ±°λ‚˜ μ†μƒμ‹œν‚¬ λͺ©μ μœΌλ‘œ λΌμš°ν„°μ— μœ„μ‘°λœ ν”„λ‘œν† μ½œ νŒ¨ν‚·μ„ 보낼 수 μžˆλ‹€.

(λΌμš°νŒ… ν”„λ‘œν† μ½œμ— λŒ€ν•΄μ„  in Network νŽ˜μ΄μ§€μ— μžμ„Ένžˆ 닀루겠닀.)

Port scan(포트 μŠ€μΊ”)

  • 포트 μŠ€μΊ”(port scan)은 운영 쀑인 μ„œλ²„μ—μ„œ μ—΄λ € μžˆλŠ” TCP/UDP 포트λ₯Ό κ²€μƒ‰ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€.
  • ν™œμ„± 포트λ₯Ό μ°Ύκ³  ν•΄λ‹Ή μ„œλΉ„μŠ€μ˜ μ•Œλ €μ§„ 취약점을 μ•…μš©ν•˜κΈ° μœ„ν•΄ 호슀트의 μ„œλ²„ 포트 μ£Όμ†Œ λ²”μœ„λ‘œ ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ„ λ³΄λ‚΄λŠ” 곡격.
  • μ£Ό 곡격 μ „ μ€€λΉ„ 단계.
  • 주둜 ν¬νŠΈμŠ€μΊλ„ˆ λΌλŠ” 도ꡬλ₯Ό 주둜 μ‚¬μš©. (NMAP, HPING3 ...)

포트 μŠ€μΊ” 방식

TCP μŠ€μΊ”

TCP μŠ€μΊ”μ€ TCP 처음 μ—°κ²° μ‹œ μΌμ–΄λ‚˜λŠ” 3-웨이 ν•Έλ“œμ‰μ΄ν‚Ήμ„ νƒμ§€ν•˜λŠ” 기법이닀. λ§Œμ•½ ν•Έλ“œμ‰μ΄ν‚Ήμ΄ μ •μƒμ μœΌλ‘œ μ™„λ£Œλ˜μ—ˆλ‹€λ©΄, ν•΄λ‹Ή TCP ν¬νŠΈλŠ” μ •μƒμ μœΌλ‘œ μ—΄λ € μžˆλŠ” κ²ƒμœΌλ‘œ νŒλ‹¨ν•  수 μžˆλ‹€. μ„œλΉ„μŠ€ κ±°λΆ€ 곡격을 막기 μœ„ν•΄, 포트 μŠ€μΊλ„ˆλŠ” ν•Έλ“œμ‰μ΄ν‚Ή 직후 연결을 μ’…λ£Œν•œλ‹€.

이 방식은 일반적인 μ†ŒμΌ“ connect()λ₯Ό μ΄μš©ν•˜κΈ° λ•Œλ¬Έμ—, Nmap λ“±μ˜ ν”„λ‘œκ·Έλž¨μ—μ„œλŠ” 이 방식을 μ—°κ²° μŠ€μΊ”(connect scan)으둜 λΆ€λ₯Έλ‹€.

SYN μŠ€μΊ”

SYN μŠ€μΊ”μ€ TCP ν•Έλ“œμ‰μ΄ν‚Ήμ„ μ™„μ „νžˆ μˆ˜ν–‰ν•˜μ§€ μ•Šκ³ , 처음 SYN νŒ¨ν‚·λ§Œμ„ 받은 ν›„ 검사λ₯Ό μ™„λ£Œν•˜λŠ” 방식이닀. 이 방식은 μ‹€μ œ TCP 연결이 μΌμ–΄λ‚˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 'half-open μŠ€μΊ”"으둜 λΆ€λ₯΄κΈ°λ„ ν•œλ‹€.

이 방식을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” TCP μŠ€μΊ”κ³Ό 같이 connect() ν•¨μˆ˜λ₯Ό μ΄μš©ν•  수 μ—†κ³ , 포트 μŠ€μΊλ„ˆλŠ” 이 μŠ€μΊ” μž‘μ—…μ„ μœ„ν•΄ TCP νŒ¨ν‚·μ„ 직접 μƒμ„±ν•œλ‹€.

UDP μŠ€μΊ”

UDP ν”„λ‘œν† μ½œμ€ TCP와 λ‹€λ₯΄κ²Œ ν•Έλ“œμ‰μ΄ν‚Ή 과정이 μ‘΄μž¬ν•˜μ§€ μ•Šκ³ , λ”°λΌμ„œ μΌλ°˜μ μœΌλ‘œλŠ” ν¬νŠΈκ°€ μ—΄λ € μžˆλ‹€κ³  ν•˜λ”λΌλ„ μ„œλ²„μ—μ„œ μ•„λ¬΄λŸ° 응닡을 ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€. ν•˜μ§€λ§Œ, λ§Žμ€ μ‹œμŠ€ν…œμ—μ„œλŠ” 보낸 νŒ¨ν‚·μ— λŒ€ν•œ 응닡이 없을 λ•Œ ICMP unreachable λ©”μ‹œμ§€λ₯Ό 보낸닀. λ§Žμ€ UDP μŠ€μΊλ„ˆλŠ” 이 λ©”μ‹œμ§€λ₯Ό νƒμ§€ν•˜λŠ” λ°©ν–₯으둜 λ™μž‘ν•œλ‹€. 이 방식은 μ„œλ²„μ—μ„œ ICMP λ©”μ‹œμ§€λ₯Ό 보내지 μ•ŠλŠ” 경우 λ‹«ν˜€ μžˆλŠ” 포트λ₯Ό μ—΄λ € μžˆλ‹€κ³  νŒλ‹¨ν•˜λŠ” κ²½μš°κ°€ μ‘΄μž¬ν•œλ‹€.

λ‹€λ₯Έ λ°©μ‹μœΌλ‘œλŠ” 각 ν¬νŠΈμ— λ”°λΌμ„œ 그에 λŒ€μ‘ν•˜λŠ” ν”„λ‘œν† μ½œ νŒ¨ν‚·μ„ μ „μ†‘ν•˜λŠ” 방식이닀. 예λ₯Ό λ“€μ–΄, DNS μ„œλ²„λŠ” 53번 ν¬νŠΈμ—μ„œ λ™μž‘ν•˜λ©°, UDP μŠ€μΊλ„ˆλŠ” ν•΄λ‹Ή ν¬νŠΈμ— DNS 정보 μš”μ²­ νŒ¨ν‚·μ„ 보낸 ν›„ 응닡을 λ°›λŠ” 방식이닀. μ΄λŸ¬ν•œ 방식은 잘 μ•Œλ €μ§„ ν¬νŠΈμ™€ λŒ€μ‘ ν”„λ‘œν† μ½œμ— λŒ€ν•΄μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλ‹€λŠ” ν•œκ³„κ°€ μžˆμ§€λ§Œ, ICMP λ©”μ‹œμ§€κ°€ μ—†λŠ” 경우 ν™œμš©ν•  수 μžˆλ‹€.

포트 μŠ€μœ•

포트 μŠ€μœ•(port sweep)은 μ‹œμŠ€ν…œμ—μ„œ λ™μž‘ν•˜λŠ” νŠΉμ • ν”„λ‘œκ·Έλž¨μ„ νƒμ§€ν•˜κΈ° μœ„ν•΄ 포트λ₯Ό κ²€μ‚¬ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. 포트 μŠ€μœ•μ€ μ‹œμŠ€ν…œμ˜ 취약점을 νƒμ§€ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜κΈ°λ„ ν•˜λŠ”λ°, νŠΉμ • 포트λ₯Ό μ‚¬μš©ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ— 취약점이 μžˆλ‹€λ©΄ κ·Έ ν¬νŠΈκ°€ μ—΄λ € μžˆλŠ” μ„œλ²„λ₯Ό μ°Ύμ•„ κ³΅κ²©ν•˜λ©΄ 되기 λ•Œλ¬Έμ΄λ‹€. κ°€λ Ή, λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ SQL μ„œλ²„μ˜ 취약점을 μ΄μš©ν•˜λŠ” 컴퓨터 μ›œμ€ TCP 1433 포트λ₯Ό κ²€μ‚¬ν•œλ‹€.

⚠️ **GitHub.com Fallback** ⚠️