모의해킹 공부

yxxun1216·2023년 1월 20일
0

Information Gathering


Open Source Intelligence Gathering

I. Netcraft
웹 서버에 대한 정보를 얻을 수 있는 사이트

http://www.netcraft.com

위 사이트에서 네이버를 검색해보면 다음과 같은 결과를 얻을 수 있다.

II. Whois Lookups
도메인 정보 제공 사이트
kali로 whois 명령어를 사용한 결과이다.

III. DNS Reconnaissance
DNS 서버를 통해 도메인에 대한 정보를 얻을 수 있다.

  • Nslookup
    kali로 nslookup 명령어를 사용
    www.naver.com의 IP 주소를 반환한다.

  • Host
    kali로 host 명령어를 사용
    도메인에 대한 네임서버 요청

  • Zone Transfers
    kali로 도메인 전송

IV. Searching for Email Address
검색 엔진 등을 이용하여 메일 주소를 찾는다.
kali로 theharvester 명령어를 사용

V. Maltego
데이터 마이닝 도구
maltego에서 www.bulbsecurity.com의 정보 알아봄

Port Scanning

I. Manual Port Scanning
kali에서 명령어로 실행

II. Port Scanning with Nmap
Nmap은 scan 종류가 다양

  • SYN scan
  • version scan
  • UDP scan
  • specific port scan

교재에 나온 예제는 호스트가 없어서 제대로 확인할 수 없었지만 포트가 열려있는 경우 스캔이 가능하다.


Finding vulnerabilities


Nessus

Nessus는 취약점 스캐너 중 하나로 플랫폼 및 프로토콜 전반에 걸친 취약점을 확인할 수 있다.
kali로 Nessus를 실행하기 위해서는 Nessus deamon을 시작해야한다.
Nessus로 policy와 scan을 만들고 실행한 결과는 다음과 같다.

취약성의 순위를 확인할 수 있고 각각의 취약점을 클릭하면 자세한 정보를 확인할 수 있다.

Nmap

nmap 또한 취약점을 스캔하는 도구이다.
kali에서 nmap을 실행하여 취약점을 스캔한다. nmap의 스크립팅 엔진인 NSE를 사용할 수 있는데 스크립트의 목록은 다음과 같이 다양하다.

스크립트에 대한 더 자세한 정보를 얻고 싶으면 --script-help 명령어를 사용할 수 있다.

default 카테고리의 스크립트를 찾은 화면이다.

-sC 명령어를 사용하면 default 카테고리의 스크립트가 실행된다.
잠재적인 취약성을 보여주며 일부 서비스를 배제 가능하다.

--script-help nfs-ls 명령어를 사용하여 원격 공유와 권한을 확인할 수도 있다.
ssh 명령어를 사용하여 인증 또한 확인할 수 있다.

Metasploit

Metasploit을 통해 취약성을 스캔할 수 있다.

check 명령어를 사용해도 취약점을 확인할 수 있다.

Web Application Scanning

기본 웹 서버 소프트웨어에서 웹 페이지 탐색을 통해 취약점을 찾을 수도 있다.

Nikto

Nikto는 kali에 있는 취약점 스캐너 웹 어플리케이션이다.

예제에 나온 웹 서버는 존재하지 않았지만 웹 서버가 존재하면 nikto -h <ip주소> 명령어를 통해 취약점을 스캔할 수 있다.

Manual Analysis

  • exploring a strange port
    브라우저를 이용하여 포트에 직접 접속
  • finding valid usernames
    유효한 사용자의 이름 찾기
    nc <ip주소> 명령어 사용

Capturing Traffic


Networking for Capturing Traffic

  • hub
    의도하지 않은 트래픽 캡처 가능
  • switch
    의도된 시스템에만 트래픽 전송
  • virtual network
    모든 가상 시스템이 하나의 디바이스를 공유하기 때문에 hub처럼 작동

Wireshark

wireshark는 네트워크 프로토콜을 조사하며 다양한 트래픽을 캡처할 수 있다.
kali에서 wireshark 명령어를 통해 wireshark를 실행한다.

wireshark를 eth0로 설정하고 ftp <ip주소> 명령어를 사용하여 wireshark에 캡처하면 다음과 같은 결과를 확인할 수 있다.

캡처 필터를 이용해서 원하는 프로토콜을 확인할 수 있고 캡처된 tcp 프로토콜에서 Follow TCP Stream을 클릭하면 자세한 정보도 확인할 수 있다.

ARP Cache Poisoning

ARP

ARP는 주소 결정 프로토콜로 IP 주소에 해당하는 MAC 주소를 찾기 위해 ARP를 사용한다.
kali에서 arp 명령어를 통해 ARP 캐시를 확인할 수 있다.

위에서 했던 것과 같이 wireshark로 트래픽을 캡처한 후 다시 arp 명령어를 입력하면 ARP 캐시에 대해 변경된 사항을 확인할 수 있다.

IP Forwarding

IP forwarding을 하지 않으면 네트워크가 Dos 상태가 될 수 있으므로 먼저 IP forwarding을 진행하고 ARP cache poisoning을 진행한다.

ARP Cache Poisoning with Arpspoof

ARP cache poisoning의 쉬운 방법 중 하나는 Arpspoof이며 이는 ARP cache에 등록된 정보를 속이는 공격방법이다.
arsproof -i <사용할 인터페이스> -t <희생자 ip주소> <속일 ip주소> 명령어를 사용한다.

이외에도 게이트웨이를 이용하여 Arpspoof를 할 수 있다.

DNS Cache Poisoning

DNS cache poisoning은 DNS 캐시에 잘못된 정보를 입력하여 DNS 쿼리가 잘못된 값을 반환하고 사용자가 잘못된 웹사이트에 연결하는 것이다.
kali에서 apache를 통해 실행할 수 있다.

dnsspoof -i <사용할 인터페이스> -f <만든 파일> 명령어로 실행한다.

SSL Attacks

SSL 인증서에 공격을 하는 방법을 말한다.
SSL은 웹사이트의 신원을 확인하는 디지털 인증서이다.

  • ettercap을 이용해 중간자 공격

  • SSLstrip 도구를 이용하여 공격
    SSLstrip이란 https였던 통신을 http로 바꾸어 통신하게 만드는 공격방법이다.

0개의 댓글