본문 바로가기

보안

칼리 리눅스와 basic pentesting

반응형

칼리 리눅스는 대표적 중요한 특징은 아래와 같습니다.

1) 600개 이상의 침투테스트 도구를 포함하고 있습니다.

kali tools 사이트를 참고하면 도움을 받을 수 있습니다. 

https://www.kali.org/tools/

 

Kali Tools | Kali Linux Tools

Home of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.

www.kali.org

2) 무료입니다

3) 오픈소스 git 트리

개발트리를 모두 볼 수 있기 때문에 패키지 수정이나 재구축하려는 사람은 모두 이용 가능합니다.

4) FHS

FileSystem hierarchy Standard를 준수하므로 리눅스 사용자 바이너리,지원 파일, 라이브러리 등을 쉽게 찾을 수 있습니다.

 

기본적인 정책은 다음과 같습니다.

기본 루트가 아닌 사용자 정책으로 변경되어 사용자 계정 정보는 (kali/ kali) 입니다.

sudo 명령어를 입력하려면 kali 비밀번호를 동일하게 입력하면됩니다

 

환경을 다운로드 받아 보겠습니다. 

다운로드는 아래 사이트에서 받을 수 있습니다.

https://www.vulnhub.com/

 

Vulnerable By Design ~ VulnHub

According to information from our intelligence network, ICA is working on a secret project. We need to find out what the project is. Once you have the access information, send them to us. We will place a backdoor to access the system later. You just focus

www.vulnhub.com

Vulnhub는 실질적  실무경험을 얻을 수 있는 자료를 제공해줍니다. 

안전한 환경에서 배우고 연습할 수 있는 환경을 제공해주고 있기 때문에 재밌게 이용할 수 있습니다.

 

더보기

*Virtual box 에서 스냅샷 저장하기*

 

스냅샷을 이용하면 특정 상태를 저장해둘 수 있습니다.

침투를 실습해볼 예정이므로 사전에 스냅샷 생성을 해두는 것이 좋습니다.

 

설정방법은 가상환경  > 버튼 클릭 > 스냅샷 > 찍기 > 설명 작성 

이렇게 클릭해두면 됩니다.

 

 

대상 식별하기

그럼 이제 칼리리눅스에서 공격대상(여기선 basic pentesting 환경)을 식별해보겠습니다.

현재 환경은 동일네트워크에 시스템이 존재합니다.

 

1) netdiscover

ARP 프로토콜을 활용하여 네트워크 세그먼트에서 연결된 클라이언트를 검색하는 스캐너 입니다.

sudo netdiscover -i 인터페이스 -r 192.168.0.0/24 (네트워크)

 

2) netenum

ICMP프로토콜을 활용하여 아이피 주소를 스캔합니다.

만약 kali 에 netenum 이 설치되어 있지 않다면 아래 명령어를 통해 설치합니다.

  • sudo apt update
  • sudo apt install irpas (여기에 netenum이 있음)

3) nmap

netenum 과 마찬가지로 ICMP 프로토콜을 활용하여 아이피 주소를 스캔합니다.

-sn 옵션은 연결가능한 대상만 분류하여 결과를 알려준다

대상은 이러한 3가지 방을 통해 식별할 수 있었습니다.

 

포트스캔

식별된 대상에 사용중인 서비스를 확인하기위해 포트스캔을 시작하겠습니다.

포트스캔은 nmap 명령어를 사용합니다

-p- 옵션은 포트번호1부터 65535까지 스캔합니다. 이 옵션을 넣어주지 않으면 nmap 에서 지정한 포트만을 스캔하게 됩니다.

 

위와 같은 옵션에 추가하여, -sV, -O 옵션에 대해서도 설명드리겠습니다.

-sV는 버전 정보를 알려주며, -O는 운영체제 정보를 알려줍니다.

-sV 옵션을 통해 서비스의 상세 정보 확인 가능하며 -O 옵션을 통해 대상 시스템의 OS 정보 확인 가

보다 더 자세한 정보를 알고자 한다면 -A 옵션을 사용하면 됩니다.

A 옵션은 공격적인 스캔으로 OS 정보, 사용서비스 등을 비롯해 경로(tracert)까지 검색하여 결과를 알려줍니다.

 

 

Exploit

위의 명령어를 통해서 어떤 서비스를 사용하고 있는지 확인할 수 있었습니다.

해당 서비스의 취약점은 exploit db 에서 검색하여 확인할 수 있습니다.

https://www.exploit-db.com/

 

OffSec’s Exploit Database Archive

 

www.exploit-db.com

 

또는 searchsploit 명령어를 이용할 수 있습니다.

 

검색된 결과의 취약점을 상세히 보려면 -x 옵션과 검색결과의 번호를 입력하면 됩니다.

sudo searchsploit -x 42084 

 

입력하면 아래와 같이 상세 내용을 확인할 수 있습니다.

42084 취약점에 대한 상세 내용

 

 

HTTP 서비스 점검

apache httpd 서비스가 80포트에서 동작하고 있으므로 웹브라우저를 통해 접근 해봤지만 별다른 정보를 찾을 수 없습니다. 

robots.txt 파일에 접근해서 정보를 확인해봅니다.

robots.txt 란 웹사이트에서 크롤링하며 정보를 수집하는 검색 로봇이 액세스하거나 정보 수집을 해도 되는 페이지가 무엇인지 알려주는 역할을 하는 텍스트 파

robots.txt 파일

여기서는 상세 정보를 확인하긴 했지만 큰 정보는 없습니다. 이번엔 소스코드를 보겠습니다.

페이지 소스코드

 

이번에는 nikto 를 이용해 웹서비스의 취약점을 확인해보겠습니다.

nikto 란 웹서버를 스캐닝하는 도구로 취약점 스캐닝을 통해 잠재적 위협이 될만한 요소들을 사전에 대처할 수 있는 목적을 두고 있습니다. 

-h 옵션을 통해 호스트 아이피를 입

 

반응형