Exploit
Exploit이란
위치
Exploit 종류
- Zeroday Exploit
- 취약점에 대한 패치가 배포되기 전, 즉 아직 알려지지 않은 취약점이라는 의미로서 Exploit code를 먼저 만들어서 공격하는 사례
- 무방비 상태에서 공격하며 대응할 방법이 없는 상태
- Oneday Exploit
- 패치가 배포 후, 즉 알려진 취약점이지만 아직 설치하지 않은 상태이다. 대게 OS와 프로그램 사이의 의존성 문제로 동작에 영향이 있을까봐 우려하여 업데이트를 하지 않음
- 의존성 문제로 패치를 설치하지 않은 시스템만 골라서 공격하며, 취약점이 알려져 공격방법이 유튜브, 블로그, SNS 등에 정보가 많다.
정보 공유 사이트
- CVE : Common Vulnerabilities and Exposures(공통 취약점 및 익스포저)
- 정보 보안 취약점 표준 코드를 의미하며 CVE 시스템은 보안 취약점, 위험노출과 같은 공개적으로 잘 알려진 정보에 대한 참조 및 방법을 제공한다. 미국에서 지원받는 Mitre Corporation에서 CVE는 감독받는다.
- https://www.cve.org/

- 표기법 CVE-YYYY-N*3~N7
4자리부터 7자리까지 있음
- CWE : Commom Weakness Enumeration(공통 약점 목록)
- Offensive Security에서 운영하는 취약점 제보사이트
알면 좋은것
- 취약점이 발견되고 패치가 나올때까지 걸리는 평균 기간 약 2달이 소요된다.(기준: 미국, 2018년 기준)
- 해킹을 당하고 그 사실을 인지하는데 걸리는 기간은 6개월 이상 걸릴 때가 많다고 한다.
실습
실습 환경
VMWARE Workstation 사용
metasploitable2는 Rapid7이라는 회사에서 Metasploit(공격도구)를 테스트하기 위해 각종 취약한 버전을 골라서 설치한 Victim용 실습 이미지로서 테스트해보기 위해서 만들었다.
실습
VMWARE 2 : kali
- 해당경로를 통해 Metasploit에 접속


IP Scan
- $ sudo nmap -sn 192.168.5.129-140
- 192.168.5.131을 확인
- -s : scan, n : number

Port Scan
- 어떤 서비스(열린 포트)가 실행중인가를 파악하여 관리자가 실행하지 않은 서비스가 실행중이라면 백도어가 있을 수있기 때문이다.
- TCP scan
- $ sudo nmap -sT 192.168.5.131
- 3Way Handshaking을 완성된 스캐닝, 로그가 남기 때문에 잘 사용하지 않는 스캐닝
- -s : scan, T : TCP

- SYN scan
- $ sudo nmap -sS 192.168.5.131 (-p 1-20000 )
- 3Way Handshaking을 완성하지 않는 스캐닝
- SYN만 보내고 ACK를 보내지 않는 기법

- UDP scan
- $ sudo nmap -sU 192.168.5.131
- 실행중인 UDP서비스를 확인하는 스캐닝

- OS scan
- $ sudo nmap -O 192.168.5.131
- 운영체제의 종류를 파악하기위한 스캐닝
- -s은 옵션은 사용하지 않음

※ 엉터리 스캔(Stealth scan)
- TCP/IP의 논리에 맞지 않는 스캐닝 기법으로 열린 포트는 응답하지 않고 닫힌 포트는 RST를 보내어 열린 포트와 닫힌 포트 구분 가능하다.
- X-mas(5번), FIN(6번), Null(7번) 세가지 스캔 방식이 있음
- X-mas scan
- $ sudo nmap -sX 192.168.5.131
- TCP Flag를 모두 1로 만들어서 보내는 스캔
- nmap에서는 FIN/URG/PSH만 활성화함

- FIN scan
- $ sudo nmap -sF 192.168.5.131
- TCP Flag FIN(종료요청)을 1로 보내는 스캐닝
- 보내면 열린 포트는 응답없음, 닫힌 포트는 RST를 보냄

- Null scan
- $ sudo nmap -sN 192.168.5.131
- TCP Flag를 모두 0으로 만들어서 보내는 스캔

- Version scan
- $ sudo nmap -sV 192.168.5.131
- 버전을 알수있는 스캐닝
- 취약점도 알 수 있음

- All scan
- $ sudo nmap -A 192.168.5.131 -T4
- Script scan + OS scan + Traceroute + Version scan 전부 수행
- -T : Timing, 0~6까지 숫자 사용 가능, 클수록 속도 빠름

실행
- 1단계 : nmap을 이용해서 Target host를 스캐닝
- 2단계 : 버전 확인
- IP Scan과 9. All scan 사진에서 확인가능
- IP Address : 192.168.5.131
- 포트 : 21/tcp
- 버전 : vsftpd 2.3.4
- 3단계 : 스크립트로 공격 여부 확인
- $ cd /usr/share/nmap/scripts
- /usr/share/nmap/scripts에서 사용할 스크립트 찾기

- $ ls -l | wc -l
- wc -l는 파일의 개수를 세는 명령 (wc : word count)
- $ sudo find . -name "vsftp"
- 버전이 vsftp이었으니 관련 파일을 검색
- $ sudo nmap --script=ftp-vsftpd-backdoor.nse 192.168.5.131 -p 21
- $ sudo nmap --script=[script 이름] x.x.x.x -p [포트]
- 결과: vulnerable, 공격이 가능하다.
