MSFconsole

MSFμ½˜μ†” λͺ…λ Ή

λͺ…λ Ή

μ„€λͺ…

show exploits

ν”„λ ˆμž„μ›Œν¬ λ‚΄μ˜ λͺ¨λ“  μ΅μŠ€ν”Œλ‘œμž‡μ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

show payloads

ν”„λ ˆμž„μ›Œν¬ λ‚΄μ˜ λͺ¨λ“  νŽ˜μ΄λ‘œλ“œλ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.

show auxiliary

ν”„λ ˆμž„μ›Œν¬ λ‚΄μ˜ λͺ¨λ“  보쑰 λͺ¨λ“ˆμ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

search <name>

ν”„λ ˆμž„μ›Œν¬ λ‚΄μ—μ„œ μ΅μŠ€ν”Œλ‘œμž‡μ΄λ‚˜ λͺ¨λ“ˆμ„ κ²€μƒ‰ν•©λ‹ˆλ‹€.

info

νŠΉμ • μ΅μŠ€ν”Œλ‘œμž‡μ΄λ‚˜ λͺ¨λ“ˆμ— λŒ€ν•œ 정보λ₯Ό λ‘œλ“œν•©λ‹ˆλ‹€.

use <name>

μ΅μŠ€ν”Œλ‘œμž‡μ΄λ‚˜ λͺ¨λ“ˆμ„ λ‘œλ“œν•©λ‹ˆλ‹€(예: windows/smb/psexec μ‚¬μš©).

use <number>

검색 λͺ…λ Ή λ‹€μŒμ— ν‘œμ‹œλ˜λŠ” 인덱슀 번호λ₯Ό μ‚¬μš©ν•˜μ—¬ μ΅μŠ€ν”Œλ‘œμž‡μ„ λ‘œλ“œν•©λ‹ˆλ‹€.

LHOST

λŒ€μƒμ΄ μ—°κ²°ν•  수 μžˆλŠ” 둜컬 호슀트의 IP μ£Όμ†Œ, 둜컬 λ„€νŠΈμ›Œν¬μ— μžˆμ§€ μ•Šμ€ 경우 곡용 IP μ£Όμ†ŒμΈ κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. 일반적으둜 λ¦¬λ²„μŠ€ μ‰˜μ— μ‚¬μš©λ©λ‹ˆλ‹€.

RHOST

원격 호슀트 λ˜λŠ” λŒ€μƒ. set ν•¨μˆ˜ νŠΉμ • κ°’(예: LHOST λ˜λŠ” RHOST)을 μ„€μ •ν•©λ‹ˆλ‹€.

setg <function>

νŠΉμ • 값을 μ „μ—­μ μœΌλ‘œ μ„€μ •ν•©λ‹ˆλ‹€(예: LHOST λ˜λŠ” RHOST).

show options

λͺ¨λ“ˆμ΄λ‚˜ μ΅μŠ€ν”Œλ‘œμž‡μ— μ‚¬μš©ν•  수 μžˆλŠ” μ˜΅μ…˜μ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

show targets

μ΅μŠ€ν”Œλ‘œμž‡μ΄ μ§€μ›ν•˜λŠ” ν”Œλž«νΌμ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

set target <number>

OS 및 μ„œλΉ„μŠ€ νŒ©μ„ μ•Œκ³  μžˆλŠ” 경우 νŠΉμ • λŒ€μƒ 인덱슀λ₯Ό μ§€μ •ν•˜μ‹­μ‹œμ˜€.

set payload <payload>

μ‚¬μš©ν•  νŽ˜μ΄λ‘œλ“œλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

set payload <number>

show payloads λͺ…λ Ή λ‹€μŒμ— μ‚¬μš©ν•  νŽ˜μ΄λ‘œλ“œ 인덱슀 번호λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.

show advanced

κ³ κΈ‰ μ˜΅μ…˜μ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

set autorunscript migrate -f

μ΅μŠ€ν”Œλ‘œμž‡ μ™„λ£Œ μ‹œ μžλ™μœΌλ‘œ λ³„λ„μ˜ ν”„λ‘œμ„ΈμŠ€λ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•©λ‹ˆλ‹€.

check

λŒ€μƒμ΄ 곡격에 μ·¨μ•½ν•œμ§€ ν™•μΈν•©λ‹ˆλ‹€.

exploit

λͺ¨λ“ˆμ„ μ‹€ν–‰ν•˜κ±°λ‚˜ λŒ€μƒμ„ μ•…μš©ν•˜μ—¬ κ³΅κ²©ν•©λ‹ˆλ‹€.

exploit -j

μž‘μ—… μ»¨ν…μŠ€νŠΈμ—μ„œ μ΅μŠ€ν”Œλ‘œμž‡μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€. (μ΄λ ‡κ²Œ ν•˜λ©΄ λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ΅μŠ€ν”Œλ‘œμž‡μ΄ μ‹€ν–‰λ©λ‹ˆλ‹€.)

exploit -z

μ•…μš©μ— μ„±κ³΅ν•œ ν›„μ—λŠ” μ„Έμ…˜κ³Ό μƒν˜Έ μž‘μš©ν•˜μ§€ λ§ˆμ„Έμš”.

exploit -e <encoder>

μ‚¬μš©ν•  νŽ˜μ΄λ‘œλ“œ 인코더λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€(예: explore –e shikata_ga_nai).

exploit -h

Exploit λͺ…령에 λŒ€ν•œ 도움말을 ν‘œμ‹œν•©λ‹ˆλ‹€.

sessions -l

μ‚¬μš© κ°€λŠ₯ν•œ μ„Έμ…˜μ„ λ‚˜μ—΄ν•©λ‹ˆλ‹€(μ—¬λŸ¬ 셸을 μ²˜λ¦¬ν•  λ•Œ μ‚¬μš©λ¨).

sessions -l -v

μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  μ„Έμ…˜μ„ λ‚˜μ—΄ν•˜κ³  μ‹œμŠ€ν…œμ„ μ•…μš©ν•  λ•Œ μ‚¬μš©λœ 취약점과 같은 μžμ„Έν•œ ν•„λ“œλ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.

sessions -s <script>

λͺ¨λ“  Meterpreter 라이브 μ„Έμ…˜μ—μ„œ νŠΉμ • Meterpreter 슀크립트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

sessions -K

λͺ¨λ“  라이브 μ„Έμ…˜μ„ μ’…λ£Œν•©λ‹ˆλ‹€.

sessions -c <cmd>

λͺ¨λ“  라이브 Meterpreter μ„Έμ…˜μ—μ„œ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

sessions -u <sessionID>

일반 Win32 셸을 Meterpreter μ½˜μ†”λ‘œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€.

db_create <name>

λ°μ΄ν„°λ² μ΄μŠ€ 기반 곡격에 μ‚¬μš©ν•  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€(예: db_create autopwn).

db_connect <name>

ꡬ동 곡격을 μœ„ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν•˜κ³  μ—°κ²°ν•©λ‹ˆλ‹€(예: db_connect autopwn).

db_nmap

Nmap을 μ‚¬μš©ν•˜κ³  κ²°κ³Όλ₯Ό λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯ν•˜μ„Έμš”. ( –sT –v –P0κ³Ό 같은 일반 Nmap ꡬ문이 μ§€μ›λ©λ‹ˆλ‹€.)

db_destroy

ν˜„μž¬ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.

db_destroy <user:password@host:port/database>

κ³ κΈ‰ μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.


미터프리터 λͺ…λ Ή

λͺ…λ Ή

μ„€λͺ…

help

Meterpreter μ‚¬μš© 도움말을 μ—½λ‹ˆλ‹€.

run <scriptname>

Meterpreter 기반 슀크립트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. 전체 λͺ©λ‘μ„ 보렀면 scripts/meterpreter 디렉토리λ₯Ό ν™•μΈν•˜μ„Έμš”.

sysinfo

μ†μƒλœ λŒ€μƒμ— λŒ€ν•œ μ‹œμŠ€ν…œ 정보λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.

ls

λŒ€μƒμ˜ 파일과 폴더λ₯Ό λ‚˜μ—΄ν•©λ‹ˆλ‹€.

use priv

ν™•μž₯된 Meterpreter λΌμ΄λΈŒλŸ¬λ¦¬μ— λŒ€ν•œ κΆŒν•œ ν™•μž₯을 λ‘œλ“œν•©λ‹ˆλ‹€.

ps

μ‹€ν–‰ 쀑인 λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ™€ 각 ν”„λ‘œμ„ΈμŠ€μ™€ μ—°κ²°λœ 계정을 ν‘œμ‹œν•©λ‹ˆλ‹€.

migrate <proc. id>

νŠΉμ • ν”„λ‘œμ„ΈμŠ€ ID둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•©λ‹ˆλ‹€(PIDλŠ” ps λͺ…λ Ήμ—μ„œ 얻은 λŒ€μƒ ν”„λ‘œμ„ΈμŠ€ IDμž…λ‹ˆλ‹€).

use incognito

μ‹œν¬λ¦Ώ κΈ°λŠ₯을 λ‘œλ“œν•©λ‹ˆλ‹€. (λŒ€μƒ μ»΄ν“¨ν„°μ—μ„œ 토큰 λ„μš© 및 κ°€μž₯에 μ‚¬μš©λ©λ‹ˆλ‹€.)

list_tokens -u

μ‚¬μš©μžλ³„λ‘œ λŒ€μƒμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ 토큰을 λ‚˜μ—΄ν•©λ‹ˆλ‹€.

list_tokens -g

κ·Έλ£Ήλ³„λ‘œ λŒ€μƒμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ 토큰을 λ‚˜μ—΄ν•©λ‹ˆλ‹€.

impersonate_token <DOMAIN_NAMEUSERNAME>

λŒ€μƒμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ 토큰을 κ°€μž₯ν•©λ‹ˆλ‹€.

steal_token <proc. id>

νŠΉμ • ν”„λ‘œμ„ΈμŠ€μ— μ‚¬μš© κ°€λŠ₯ν•œ 토큰을 ν›”μΉ˜κ³  ν•΄λ‹Ή 토큰을 κ°€μž₯ν•©λ‹ˆλ‹€.

drop_token

ν˜„μž¬ 토큰 κ°€μž₯을 μ€‘μ§€ν•©λ‹ˆλ‹€.

getsystem

μ—¬λŸ¬ 곡격 벑터λ₯Ό 톡해 μ‹œμŠ€ν…œ μˆ˜μ€€ μ•‘μ„ΈμŠ€ κΆŒν•œμ„ 높이렀고 μ‹œλ„ν•©λ‹ˆλ‹€.

shell

μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  토큰이 ν¬ν•¨λœ λŒ€ν™”ν˜• 셸에 μ°Έμ—¬ν•˜μ„Έμš”.

execute -f <cmd.exe> -i

cmd.exeλ₯Ό μ‹€ν–‰ν•˜κ³  μƒν˜Έμž‘μš©ν•©λ‹ˆλ‹€.

execute -f <cmd.exe> -i -t

μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  토큰을 μ‚¬μš©ν•˜μ—¬ cmd.exeλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

execute -f <cmd.exe> -i -H -t

μ‚¬μš© κ°€λŠ₯ν•œ λͺ¨λ“  토큰을 μ‚¬μš©ν•˜μ—¬ cmd.exeλ₯Ό μ‹€ν–‰ν•˜κ³  μˆ¨κ²¨μ§„ ν”„λ‘œμ„ΈμŠ€λ‘œ λ§Œλ“­λ‹ˆλ‹€.

rev2self

λŒ€μƒμ„ μ†μƒμ‹œν‚€λŠ” 데 μ‚¬μš©ν•œ μ›λž˜ μ‚¬μš©μžλ‘œ λ˜λŒλ¦½λ‹ˆλ‹€.

reg <command>

λŒ€μƒ λ ˆμ§€μŠ€νŠΈλ¦¬μ—μ„œ μƒν˜Έ μž‘μš©, 생성, μ‚­μ œ, 쿼리, μ„€μ • 등을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

setdesktop <number>

λ‘œκ·ΈμΈν•œ μ‚¬λžŒμ— 따라 λ‹€λ₯Έ ν™”λ©΄μœΌλ‘œ μ „ν™˜λ©λ‹ˆλ‹€.

screenshot

λŒ€μƒ ν™”λ©΄μ˜ μŠ€ν¬λ¦°μƒ·μ„ μ°μŠ΅λ‹ˆλ‹€.

upload <filename>

λŒ€μƒμ— νŒŒμΌμ„ μ—…λ‘œλ“œν•©λ‹ˆλ‹€.

download <filename>

λŒ€μƒμ—μ„œ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.

keyscan_start

원격 λŒ€μƒμ—μ„œ ν‚€ μž…λ ₯ μŠ€λ‹ˆν•‘μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.

keyscan_dump

λŒ€μƒμ—μ„œ 캑처된 원격 ν‚€λ₯Ό λ€ν”„ν•©λ‹ˆλ‹€.

keyscan_stop

원격 λŒ€μƒμ—μ„œ ν‚€ μž…λ ₯ μŠ€λ‹ˆν•‘μ„ μ€‘μ§€ν•©λ‹ˆλ‹€.

getprivs

λŒ€μƒμ— λŒ€ν•΄ κ°€λŠ₯ν•œ ν•œ λ§Žμ€ κΆŒν•œμ„ μ–»μœΌμ‹­μ‹œμ˜€.

uictl enable <keyboard/mouse>

ν‚€λ³΄λ“œ 및/λ˜λŠ” 마우슀λ₯Ό μ œμ–΄ν•˜μ‹­μ‹œμ˜€.

background

ν˜„μž¬ Meterpreter 셸을 λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰ν•©λ‹ˆλ‹€.

hashdump

λŒ€μƒμ˜ λͺ¨λ“  ν•΄μ‹œλ₯Ό λ€ν”„ν•©λ‹ˆλ‹€. μŠ€λ‹ˆνΌ μ‚¬μš© μŠ€λ‹ˆνΌ λͺ¨λ“ˆμ„ λ‘œλ“œν•©λ‹ˆλ‹€.

sniffer_interfaces

λŒ€μƒμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ‚˜μ—΄ν•©λ‹ˆλ‹€.

sniffer_dump <interfaceID> pcapname

원격 λŒ€μƒμ— λŒ€ν•œ μŠ€λ‹ˆν•‘μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.

sniffer_start <interfaceID> packet-buffer

νŒ¨ν‚· λ²„νΌμ˜ νŠΉμ • λ²”μœ„λ‘œ μŠ€λ‹ˆν•‘μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.

sniffer_stats <interfaceID>

μŠ€λ‹ˆν•‘ 쀑인 μΈν„°νŽ˜μ΄μŠ€μ—μ„œ 톡계 정보λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.

sniffer_stop <interfaceID>

μŠ€λ‹ˆνΌλ₯Ό μ€‘μ§€ν•˜μ„Έμš”.

add_user <username> <password> -h <ip>

원격 λŒ€μƒμ— μ‚¬μš©μžλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

add_group_user <"Domain Admins"> <username> -h <ip>

원격 λŒ€μƒμ˜ 도메인 κ΄€λ¦¬μž 그룹에 μ‚¬μš©μž 이름을 μΆ”κ°€ν•©λ‹ˆλ‹€.

clearev

λŒ€μƒ μ»΄ν“¨ν„°μ—μ„œ 이벀트 둜그λ₯Ό μ§€μ›λ‹ˆλ‹€.

timestomp

생성 λ‚ μ§œμ™€ 같은 파일 속성을 λ³€κ²½ν•©λ‹ˆλ‹€(ν¬λ Œμ‹ λ°©μ§€ 쑰치).

reboot

λŒ€μƒ 머신을 μž¬λΆ€νŒ…ν•©λ‹ˆλ‹€.

migrate

migrate 568λŠ” Meterpreter μ„Έμ…˜μ—μ„œ PID(Process ID)κ°€ 568인 ν”„λ‘œμ„ΈμŠ€λ‘œ μ„Έμ…˜μ„ μ΄λ™μ‹œν‚€λŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€. 이 λͺ…λ Ήμ–΄λ₯Ό 톡해 ν˜„μž¬ μ„Έμ…˜μ„ 더 μ ν•©ν•œ ν”„λ‘œμ„ΈμŠ€λ‘œ μ΄λ™ν•¨μœΌλ‘œμ¨ 지속성을 μœ μ§€ν•˜κ±°λ‚˜, 더 높은 κΆŒν•œμ„ κ°€μ§„ ν”„λ‘œμ„ΈμŠ€μ—μ„œ μ‹€ν–‰λ˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Last updated