๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โœ๏ธ 21-2 IPP56

POC ํฌ๋กค๋ง ์‹คํ–‰๊ณผ์ • searchPoc.py 1. (import ๋ฌธ ์ œ์™ธ) 5ํ–‰ ~ 16ํ–‰ if len(sys.argv) != 3: print('[Input Filename] [Output Filename]') print('ex) search.txt result.txt') sys.exit() data = open(sys.argv[1], 'rt') #์ฝ์„ ํŒŒ์ผ (CVE ID๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ) f = open(sys.argv[2], 'wt') #Poc๋ฅผ ์ž…๋ ฅํ•  ํŒŒ์ผ (์ƒˆ๋กœ์šด ํŒŒ์ผ) cnt = 0 err = 0 for line in data: #CVE ID๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด ๋‚ด๋ ค๊ฐ„๋‹ค. cve = line.strip() ๊ฐ CVE ID๋ณ„๋กœ POC ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ƒˆ๋กœ์šด ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅ ๋ฐ›์•„์„œ ์ƒˆ๋กœ์šด txt ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. CVE I.. 2021. 9. 6.
์‹œ์Šค์ฝ” ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ - 3 : TCP/IP, ๋ธŒ๋ฆฌ์ง€์™€ ์Šค์œ„์น˜, ์Šค์œ„์น˜ ํ”„๋ ˆ์ž„ ์ฒ˜๋ฆฌ TCP/IP TCP/IP ๊ณ„์ธต (4๊ณ„์ธต) (์ƒ์œ„) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต (Telnet, FTP, HTTP) ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต (TCP, UDP) --> TCP๋Š” OSI ๊ณ„์ธต์—์„œ๋„ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ์ธํ„ฐ๋„ท ๊ณ„์ธต (IP) --> IP๋Š” OSI ๊ณ„์ธต์—์„œ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (ํ•˜์œ„) ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๊ณ„์ธต (Network Driver, Hardware ๋“ฑ) NIC(Network Information Center) : ๊ณต์ธ ์ธ์ฆ IP๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๊ด€. NAT(Network Address Translation) : ๋‚ด๋ถ€์—์„œ๋Š” ๊ณต์ธ๋˜์ง€ ์•Š์€ IP์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜๊ฐˆ ๋•Œ๋งŒ ๊ณต์ธ ์ฃผ์†Œ(์œ ์ผํ•œ ์ฃผ์†Œ) ์‚ฌ์šฉ. PAT : ๋™์ผํ•œ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฌ๋Ÿฌ ๋ช…์ด ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๋ฉด์„œ ํฌํŠธ ๋„˜๋ฒ„๋งŒ ๋ฐ”๊ฟˆ. DHCP(Dynamic Host Confi.. 2021. 9. 6.
CVE ID ํฌ๋กค๋ง ์‹คํ–‰ ์ ˆ์ฐจ searchCVE.py 1. 1ํ–‰ ~ 18ํ–‰ import requests from bs4 import BeautifulSoup import sys if len(sys.argv) != 4 and len(sys.argv) != 2: print('[Keyword] or [Keyword] [Start Page] [End Page]') print('ex) d-link') print('ex) d-link 3 6') sys.exit() if len(sys.argv) == 4 and (int(sys.argv[2]) > int(sys.argv[3]) or int(sys.argv[2]) 2021. 9. 3.
์‹œ์Šค์ฝ” ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ - 2 : ์ด๋”๋„ท, UTP ์ผ€์ด๋ธ”, ํ”„๋กœํ† ์ฝœ Ethernet ์ด๋”๋„ท ๋„คํŠธ์›Œํ‚น์˜ ํ•œ ๋ฐฉ์‹ -> ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜. CSMA/CD ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ (Carrier Sense Multiple Access/Collision Detection) Carrier: ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์‹ ํ˜ธ. ์ฝœ๋ฆฌ์ „์ด ๋ฐœ์ƒํ•˜๋ฉด ๋žœ๋คํ•œ ์‹œ๊ฐ„๋™์•ˆ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋‹ค์‹œ ํ†ต์‹ ์„ ์‹œ๋„ํ•œ๋‹ค. TokenRing ํ† ํฐ๋ง ํ•œ ๋„คํŠธ์›Œํฌ์— ํ•œ ํ† ํฐ๋งŒ ์กด์žฌ -> ํ† ํฐ์„ ๊ฐ€์ง„ PC๋งŒ ๋„คํŠธ์›Œํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์–ด๋ณด๋ƒ„. ์žฅ์ ) ์ฝœ๋ฆฌ์ „์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ, ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์„ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•˜๊ธฐ ์‰ฌ์›€. ๋‹จ์ ) ๋‹ค๋ฅธ PC๋“ค์ด ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๊ณ  ํ•ด๋„ ์ฐจ๋ก€๊ฐ€ ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ณ„์† ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ. UTP ์ผ€์ด๋ธ”(Unshielded Twisted-Pair) -> ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ ์ผ€์ด๋ธ” ์ข…๋ฅ˜ ์ด๋ฆ„ ๋ฒ•์น™ : 10 Bas.. 2021. 9. 3.
pyautogui_๋งˆ์šฐ์Šค ์ž๋™ํ™” - 2 ์ด๋ฒˆ์—” ํ‚ค๋ณด๋“œ ์ž๋™ํ™” ๊นŒ์ง€ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ์žฅ์— ๋ฌธ๊ตฌ๋ฅผ ์ž๋™์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋Š” ๊ฒƒ์„ ํ•ด๋ณด์•˜๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด์ „๊ธ€์—์„œ ๋งŒ๋“  while๋ฌธ ๋Œ๋ฉด์„œ ํ˜„์žฌ ๋งˆ์šฐ์Šค ์œ„์น˜์˜ x,y ์ขŒํ‘œ๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ๋ ค์„œ ๋ฉ”๋ชจ์žฅ์˜ ์œ„์น˜๋ฅผ ๋Œ€์ถฉ ์•Œ์•„๋‚ธ ๋‹ค์Œ์— (1199, 348 ์˜€์Œ) ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. import pyautogui import pyperclip pyperclip.copy("์•ˆ๋…•ํ•˜์„ธ์š”") pyautogui.moveTo(1199, 348, 1) pyautogui.click() pyautogui.hotkey('ctrl', 'v') pyautogui์—๋Š” ํ•œ๊ธ€ ์ ์šฉ์ด ์•ˆ๋˜์–ด ์žˆ์–ด์„œ ํ•œ๊ธ€์„ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•ด pyperclip์ด๋ผ๋Š” ๋ชจ๋“ˆ์„ ์ž„ํฌํŠธํ•ด์„œ ์‚ฌ์šฉํ–ˆ๋‹ค. ํด๋ฆฝ๋ณด๋“œ์— ํ•œ๊ธ€ ํ…์ŠคํŠธ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ , ์•„๊นŒ ๊ตฌํ•ด๋†“์€ ๋ฉ”๋ชจ์žฅ์˜ ์œ„.. 2021. 9. 2.
pyautogui_๋งˆ์šฐ์Šค ์ž๋™ํ™” - 1 ๋ณธ๊ฒฉ์ ์ธ ์›น ํฌ๋กค๋ง ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ ์•ž์„œ pyautogui ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์šฐ์Šค ์ž๋™ํ™”์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค. 1. pyautogui ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์—ญ์‹œ terminal ์ฐฝ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜์—ฌ ์„ค์น˜ํ•œ๋‹ค. pip install pyautogui 2. ๋งˆ์šฐ์Šค์˜ x, y ์ขŒํ‘œ ๊ตฌํ•˜๊ธฐ import pyautogui, time print(pyautogui.size()) while 1: mousePositionX, mousePositionY = pyautogui.position() print(mousePositionX, ",", mousePositionY) time.sleep(1) ๋จผ์ € ํ™”๋ฉด์˜ ์ „์ฒด ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , while๋ฌธ์„ ๋Œ๋ฉด์„œ 1์ดˆ์— ํ•œ๋ฒˆ์”ฉ ํ˜„์žฌ ๋งˆ์šฐ์Šค์˜ x์™€ y์ขŒํ‘œ๋ฅผ ๊ตฌํ•ด ์ถœ๋ ฅํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ.. 2021. 9. 2.
LIST