{"id":3616,"date":"2013-07-17T18:16:56","date_gmt":"2013-07-17T09:16:56","guid":{"rendered":"http:\/\/apollo89.com\/wordpress\/?p=3616"},"modified":"2015-11-28T17:03:35","modified_gmt":"2015-11-28T08:03:35","slug":"%ed%95%b4%ec%bb%a4%ec%9d%98-%ec%96%b8%ec%96%b4-%ec%b9%98%eb%aa%85%ec%a0%81-%ed%8c%8c%ec%9d%b4%ec%8d%ac-chapter-1-%ec%86%8c%ea%b0%9c","status":"publish","type":"post","link":"https:\/\/apollo89.com\/wordpress\/?p=3616","title":{"rendered":"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><strong>Notice : \ud574\ub2f9 \uc790\ub8cc\uac00 \uc800\uc791\uad8c\ub4f1\uc5d0 \uc758\ud574\uc11c \ubb38\uc81c\uac00 \uc788\ub2e4\uba74 \ubc14\ub85c \uc0ad\uc81c\ud558\uaca0\uc2b5\ub2c8\ub2e4.<br \/>\n\uc5f0\uad6c\ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \uc545\uc758\uc801\uc778 \ubaa9\uc801\uc73c\ub85c \uc774\uc6a9\ud560 \uacbd\uc6b0 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ubc95\uc801\uc740 \ucc45\uc784\uc740 \ubaa8\ub450 \ubcf8\uc778\uc5d0\uac8c \uc788\uc2b5\ub2c8\ub2e4.<br \/>\n<\/strong><\/p>\n<p><a href=\"http:\/\/blog.yes24.com\/lib\/adon\/View.aspx?blogid=2223538&#038;goodsno=8433461&#038;idx=15792&#038;ADON_TYPE=B&#038;regs=b\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg\" alt=\"VIOLENT_PYTHON_S\" width=\"172\" height=\"220\" class=\"alignnone size-full wp-image-2135\" \/><\/a><br \/>\n<a href=\"http:\/\/blog.yes24.com\/lib\/adon\/View.aspx?blogid=2223538&#038;goodsno=8433461&#038;idx=15792&#038;ADON_TYPE=B&#038;regs=b\" target=\"_blank\">[\uad6c\ub9e4\ud558\uae30]<\/a><\/p>\n<p><a href=\"http:\/\/apollo89.com\/wordpress\/?p=3616\" target=\"_blank\">\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c<\/a><br \/>\n<a href=\"http:\/\/apollo89.com\/wordpress\/?p=3665\" target=\"_blank\">\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 2 \uce68\ud22c \ud14c\uc2a4\ud2b8 &#8211; \ud3ec\ud2b8 \uc2a4\uce90\ub108 \ub9cc\ub4e4\uae30<\/a><br \/>\n<a href=\"http:\/\/apollo89.com\/wordpress\/?p=3819\" target=\"_blank\">\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 2 \uce68\ud22c \ud14c\uc2a4\ud2b8 &#8211; SSH \ubd07\ub137 \uad6c\ucd95\ud558\uae30<\/a><br \/>\n<a href=\"http:\/\/apollo89.com\/wordpress\/?p=3823\" target=\"_blank\">\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 2 \uce68\ud22c \ud14c\uc2a4\ud2b8 &#8211; FTP\uc640 \uc6f9\uc744 \uc774\uc6a9\ud55c \ub300\uaddc\ubaa8 \uacf5\uaca9<\/a><br \/>\n<a href=\"http:\/\/apollo89.com\/wordpress\/?p=3831\" target=\"_blank\">\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 2 \uce68\ud22c \ud14c\uc2a4\ud2b8 &#8211; \ucee8\ud53c\ucee4 \ub178\ub825\ud558\uba74 \ub41c\ub2e4<\/a><\/p>\n<p>1.1 \uc18c\uac1c: \ud30c\uc774\uc36c\uacfc \uce68\ud22c \ud14c\uc2a4\ud2b8<br \/>\n&#8211; \ud604\uc7ac \uc9c1\uba74\ud55c \ubb38\uc81c\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574 \uc9c1\uc811 \uc790\uc2e0\ub9cc\uc758 \ubb34\uae30\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub294 \ub2a5\ub825\uc744 \uac16\ucd94\ub294 \uac83\ub9cc\uc774 \uc9c4\uc815\ud55c \uce68\ud22c\ud14c\uc2a4\ud130\uac00 \ub418\ub294 \uae38<\/p>\n<p>1.2 \uac1c\ubc1c \ud658\uacbd \uad6c\uc131\ud558\uae30<\/p>\n<p>1.2.1 \uc678\ubd80 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc124\uce58<br \/>\n&#8211; python-nmap \uc124\uce58(<a href=\"http:\/\/xael.org\/norman\/python\/python-nmap\/\" target=\"_blank\">http:\/\/xael.org\/norman\/python\/python-nmap\/<\/a>)<\/p>\n<pre class=\"lang:default decode:true \" >C:\\&gt;cd C:\\Python27\\install\\python-nmap-0.1.4\r\n\r\nC:\\Python27\\install\\python-nmap-0.1.4&gt;python setup.py install\r\nrunning install\r\nrunning build\r\nrunning build_py\r\ncreating build\r\ncreating build\\lib\r\ncreating build\\lib\\nmap\r\ncopying nmap\\example.py -&gt; build\\lib\\nmap\r\ncopying nmap\\nmap.py -&gt; build\\lib\\nmap\r\ncopying nmap\\__init__.py -&gt; build\\lib\\nmap\r\nrunning install_lib\r\ncreating C:\\Python27\\Lib\\site-packages\\nmap\r\ncopying build\\lib\\nmap\\example.py -&gt; C:\\Python27\\Lib\\site-packages\\nmap\r\ncopying build\\lib\\nmap\\nmap.py -&gt; C:\\Python27\\Lib\\site-packages\\nmap\r\ncopying build\\lib\\nmap\\__init__.py -&gt; C:\\Python27\\Lib\\site-packages\\nmap\r\nbyte-compiling C:\\Python27\\Lib\\site-packages\\nmap\\example.py to example.pyc\r\nbyte-compiling C:\\Python27\\Lib\\site-packages\\nmap\\nmap.py to nmap.pyc\r\nbyte-compiling C:\\Python27\\Lib\\site-packages\\nmap\\__init__.py to __init__.pyc\r\nrunning install_egg_info\r\nWriting C:\\Python27\\Lib\\site-packages\\python_nmap-0.1.4-py2.7.egg-info\r\n\r\nC:\\Python27\\install\\python-nmap-0.1.4&gt;<\/pre>\n<p>&#8211; \ub610\ub294 easy_install \uc744 \uc0ac\uc6a9\ud574\uc11c \uc124\uce58.<br \/>\n&#8211; \ucc45\uc758 \uc18c\uc2a4\ub294 2.x\ub97c \uae30\uc900\uc73c\ub85c \uc791\uc131 -&gt; 2.7 \ubc84\uc804\uc744 \uae30\uc900\uc73c\ub85c \uc2a4\ud130\ub514 \uc9c4\ud589<\/p>\n<p>1.2.2 \ud30c\uc774\uc36c\uc758 \ub450 \uac00\uc9c0 \ubaa8\ub4dc<br \/>\n&#8211; \uc778\ud130\ub809\ud2f0\ube0c \ubaa8\ub4dc(\uba85\ub839\ud589)<br \/>\n&#8211; \uc2a4\ud06c\ub9bd\ud2b8 \ubaa8\ub4dc(\ud30c\uc77c\uc2e4\ud589)<\/p>\n<p>1.3 \ud30c\uc774\uc36c \uc5b8\uc5b4<br \/>\n1.3.1 \ubcc0\uc218<br \/>\n&#8211; \uba54\ubaa8\ub9ac\uc5d0 \uc800\uc7a5\ub418\uc5b4\uc788\ub294 \ub370\uc774\ud130<br \/>\n&#8211; \ubcc0\uc218\ub97c \uc120\uc5b8\ud558\uba74 \ud30c\uc774\uc120 \uc778\ud130\ud504\ub9ac\ud130\uac00 \ubcc0\uc218\uac00 \uc5b4\ub5a4 \ub370\uc774\ud130 \ud0c0\uc785\uc778\uc9c0 \uba54\ubaa8\ub9ac\uc5d0 \uc5bc\ub9c8\ub098 \ub9ce\uc740 \uacf5\uac04\uc744 \ud655\ubcf4\ud560\uac83\uc778\uc9c0 \uacb0\uc815<\/p>\n<p>1.3.2 \ubb38\uc790\uc5f4<br \/>\n&#8211; <a href=\"http:\/\/docs.python.org\/2\/library\/strings.html\" target=\"_blank\">http:\/\/docs.python.org\/2\/library\/strings.html<\/a> \ucc38\uace0<\/p>\n<p>1.3.3 \ub9ac\uc2a4\ud2b8<br \/>\n&#8211; \uac1d\uccb4(\ubaa8\ub4e0 \ud0c0\uc785)\ub97c \ubc30\uc5f4\ub85c \uc800\uc7a5\ud558\uae30 \uc88b\uc740\uad6c\uc870<br \/>\n&#8211; \ucd94\uac00, \uc0bd\uc785, \uc81c\uac70, \uc778\ub371\uc2a4\ud654, \uce74\uc6b4\ud2b8, \uc815\ub82c\ub4f1\uc758 \uae30\ub2a5\uc81c\uacf5<\/p>\n<p>1.3.4 \ub515\uc154\ub108\ub9ac<br \/>\n&#8211; \uac1d\uccb4(\ubaa8\ub4e0 \ud0c0\uc785)\uc800\uc7a5\ud560\uc218 \uc788\ub294 \ud574\uc2dc \ud14c\uc774\ube14(\ud0a4, \uac12)<\/p>\n<p>1.3.5 \ub124\ud2b8\uc6cc\ud06c<br \/>\n&#8211; \uc18c\ucf13 \ubaa8\ub4c8\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud1b5\ud574 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \uc5f0\uacb0<\/p>\n<p>1.3.6 \uc120\ud0dd\ubb38<br \/>\n&#8211; \uc870\uac74\uc801 \uc120\ud0dd\ubb38(if)<\/p>\n<p>1.3.7 \uc608\uc678 \ucc98\ub9ac<br \/>\n&#8211; \ub7f0\ud0c0\uc784\uc2dc \ubc1c\uc0dd\ud558\ub294 \uc624\ub958(\ube44\uc815\uc0c1 \uc885\ub8cc)\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9<\/p>\n<p>1.3.8 \ud568\uc218<br \/>\n&#8211; \uc5ec\ub7ec\ubc88 \uc7ac\uc0ac\uc6a9\ud560\uc218 \uc788\ub294 \ucf54\ub4dc\ube14\ub85d<br \/>\n&#8211; def \ub77c\ub294 \ud0a4\uc6cc\ub4dc\ub85c \ud568\uc218\ub97c \uc2dc\uc791<br \/>\n&#8211; \ubcc0\uc218\ub97c \uac1d\uccb4\ub85c \uc804\ub2ec<\/p>\n<p>1.3.9 \ubc18\ubcf5\ubb38<br \/>\n&#8211; \ub3d9\uc77c\ud55c \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uc9c0 \uc54a\uace0 \ubc18\ubcf5\ubb38\uc744 \uc0ac\uc6a9\ud558\uba74 \ud6a8\uc728\uc801<\/p>\n<p>1.3.10 \ud30c\uc77c I\/O<br \/>\n&#8211; \ud30c\uc77c\uc744 \uc81c\uc5b4<\/p>\n<p>1.3.11 Sys \ubaa8\ub4c8<br \/>\n&#8211; \ud30c\uc774\uc36c \uc778\ud130\ud504\ub9ac\ud130\uac00 \uc0ac\uc6a9\ud558\uac70\ub098 \uc720\uc9c0\ud558\ub294 \uac1d\uccb4\uc5d0 \uc811\uadfc<br \/>\n&#8211; <a href=\"http:\/\/docs.python.org\/2\/library\/sys\" target=\"_blank\">http:\/\/docs.python.org\/2\/library\/sys<\/a><\/p>\n<p>1.3.12 OS \ubaa8\ub4c8<br \/>\n&#8211; \ud30c\uc774\uc36c\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 OS\ud658\uacbd\uc5d0 \ub530\ub978 \uc9c0\uc6d0\ubaa8\ub4c8\uc744 \uc0ac\uc6a9<br \/>\n&#8211; OS\ud658\uacbd, \ud30c\uc77c\uc2dc\uc2a4\ud15c, \uad8c\ud55c\ub4f1\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc704\uc758 \uae30\ubcf8 \ubb38\ubc95\uc744 \uc0ac\uc6a9\ud574\uc11c \ub9cc\ub4e0&#8230; \ucde8\uc57d\uc810 \uc2a4\uce90\ub108<\/p>\n<pre class=\"lang:python decode:true \" ># -*- coding: utf-8 -*-\r\nimport socket\r\nimport os\r\nimport sys\r\n\r\ndef retBanner(ip, port):\r\n    try:\r\n        socket.setdefaulttimeout(2)\r\n        s = socket.socket()\r\n        s.connect((ip, port))\r\n        banner = s.recv(1024)\r\n        return banner\r\n    except:\r\n        return\r\n\r\ndef checkVulns(banner, filename):\r\n\r\n    f = open(filename, 'r')\r\n    for line in f.readlines():\r\n        if line.strip('\\n') in banner:\r\n            print '[+] Server is vulnerable: '+ banner.strip('\\n')\r\n\r\ndef main():\r\n\r\n    if len(sys.argv) == 2:\r\n        filename = sys.argv[1]\r\n        if not os.path.isfile(filename):\r\n            print '[-] ' + filename +' does not exist.'\r\n            exit(0)\r\n\r\n        if not os.access(filename, os.R_OK):\r\n            print '[-] ' + filename +' access denied.'\r\n            exit(0)\r\n    else:   \r\n        print '[-] Usage: ' + str(sys.argv[0]) + ' &lt;vuln filename&gt;'\r\n        exit(0)\r\n\r\n    portList = [21,22,25,80,110,443]\r\n    for x in range(147, 150):\r\n        ip = '192.168.95.' + str(x)\r\n        for port in portList:\r\n            banner = retBanner(ip, port)\r\n            if banner:\r\n                print '[+] ' + ip + ' : ' + banner\r\n                checkVulns(banner, filename)\r\n\r\nif __name__ == '__main__':\r\n    main()\r\n<\/pre>\n<p>1.4 \uccab \ubc88\uc9f8 \ud30c\uc774\uc36c \ud504\ub85c\uadf8\ub7a8<br \/>\n1.4.1 \uccab \ubc88\uc9f8 \ud30c\uc774\uc36c \ud504\ub85c\uadf8\ub7a8\uc744 \uc704\ud55c \uc900\ube44: \ubed0\uafb8\uae30\uc758 \uc54c<br \/>\n&#8211; \ub515\uc154\ub108\ub9ac \uacf5\uaca9<br \/>\n&#8211; crypt \ud568\uc218(salt \ub97c \uc0ac\uc6a9)<\/p>\n<p>Salt \ub780?<br \/>\nSalt\ub294 13\uae00\uc790\ub85c \uc774\ub8e8\uc5b4\uc9c4 \uc554\ud638\ud654\ub41c \ud328\uc2a4\uc6cc\ub4dc\uc5d0\uc11c \ub9e8 \uc55e\uc758 2\uae00\uc790\uc778\ub370, \uc774\uac83\uc744 \uc18c\uae08 (Salt)\ub77c\uace0 \ubd80\ub978\ub2e4. \ud504\ub85c\uadf8\ub7a8 \uc911\uac04\uc5d0 \uc788\ub294 crypt function\uc744 \ubcf4\uba74 \uc785\ub825 \ubcc0\uc218\ub85c \uc554\ud638(word)\uc640 \uc18c\uae08 (salt)\uc744 \uc8fc\uac8c \ub418\uc5b4 \uc788\ub2e4. \uc18c\uae08\uc744 \uce58\ub294 \uc774\uc720\ub294 \uac19\uc740 \uc554\ud638\ub97c \uc8fc\ub354\ub77c\ub3c4 \uc18c\uae08\uc774 \ub2ec\ub77c\uc9c0\uba74 \uc554\ud638\ud654\ub41c \ud328\uc2a4\uc6cc\ub4dc\ub3c4 \ub2ec\ub77c\uc9c0\uac8c \ud568\uc774\ub2e4. \ub9cc\uc57d \uc18c\uae08\uc774 \uc5c6\ub2e4\uba74 \uac19\uc740 \ud328\uc2a4\uc6cc\ub4dc\uc778 \uacbd\uc6b0 \uac19\uc740 \uc554\ud638\ud654\ub41c \ud328\uc2a4\uc6cc\ub4dc\uac00 \ub9cc\ub4e4\uc5b4\uc9c8 \uac83\uc774\ub2e4. \uc774\ub7f0 \uacbd\uc6b0 passwd\ud654\uc77c\uc744 \uc0b4\ud3b4\ubcf4\uba74 \uc790\uae30\uc640 \uac19\uc740 \ud328\uc2a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud558\ub294 \uc0ac\ub78c\uc744 \ucc3e\uc544\ub0bc \uc218\ub3c4 \uc788\uc744 \uac83\uc774\ub2e4. \uc720\ub2c9\uc2a4\uc5d0\uc11c\ub294 \ucc98\uc74c \ud328\uc2a4\uc6cc\ub4dc\ub97c \ub9cc\ub4e4 \ub54c, \uc18c\uae08\uc740 \uc2dc\uc2a4\ud15c\uc774 \uc784\uc758\ub85c \uacb0\uc815\ud558\ub3c4\ub85d \ub418\uc5b4 \uc788\ub2e4.<\/p>\n<p>1.4.2 \uccab \ubc88\uc9f8 \uc2a4\ud06c\ub9bd\ud2b8 &#8211; \uc720\ub2c9\uc2a4 \ud328\uc2a4\uc6cc\ub4dc \ud06c\ub798\ucee4<br \/>\n&#8211; \uc11c\ub85c\ub2e4\ub978 \uae30\ub2a5\uc740 \ubd84\ub9ac\ud574\uc11c \ud568\uc218\ub85c \ub9cc\ub4dc\ub294 \uac83\uc774 \ub098\uc900\uc5d0 \uc7ac\uc0ac\uc6a9\ud558\uae30 \uc88b\ub2e4<br \/>\n&#8211; \uc554\ud638\ud654\ub41c \ud328\uc2a4\uc6cc\ub4dc\ub97c \ud574\uc2dc\ud574\uc11c \uccab\ubc88\uc9f8 \ub450\ubb38\uc790\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc194\ud2b8\ub97c \uc81c\uac70.<\/p>\n<pre class=\"lang:python decode:true \" ># -*- coding: utf-8 -*-\r\nimport crypt\r\n\r\ndef testPass(cryptPass):\r\n    salt = cryptPass[0:2]\r\n    dictFile = open('dictionary.txt', 'r')\r\n    for word in dictFile.readlines():\r\n        word = word.strip('\\n')\r\n        cryptWord = crypt.crypt(word, salt)\r\n        if cryptWord == cryptPass:\r\n            print '[+] Found Password: ' + word + '\\n'\r\n            return\r\n    print '[-] Password Not Found.\\n'\r\n    return\r\n\r\ndef main():\r\n    passFile = open('passwords.txt')\r\n    for line in passFile.readlines():\r\n        if ':' in line:\r\n            user = line.split(':')[0]\r\n            cryptPass = line.split(':')[1].strip(' ')\r\n            print '[*] Cracking Password For: ' + user\r\n            testPass(cryptPass)\r\n\r\nif __name__ == '__main__':\r\n    main()<\/pre>\n<p>\uc2e4\ud57c\uacb0\uacfc <\/p>\n<pre class=\"lang:default decode:true \" ># python passwordCrack.py \r\n[*] Cracking Password For: victim\r\n[+] Found Password: egg\r\n\r\n[*] Cracking Password For: root\r\n[-] Password Not Found.<\/pre>\n<p>&#8211; \ucd5c\uc2e0\uc758 Unix Linux \uacc4\uc5f4\uc5d0\uc11c\ub294 \/etc\/shadow \ud30c\uc77c\uc774 \uc874\uc7ac(SHA-512 \uc0ac\uc6a9)<\/p>\n<p>1.4.3 \ub450 \ubc88\uc9f8 \ud504\ub85c\uadf8\ub7a8: \uc120\uc744 \uc704\ud574 \uc545\uc744 \uc0ac\uc6a9\ud558\uae30<br \/>\n&#8211; \uc554\ud638\uac00 \uac78\ub9b0 zip \ud30c\uc77c\uc744 \ub515\uc154\ub108\ub9ac \uacf5\uaca9<\/p>\n<p>1.4.4 \ub450 \ubc88\uc9f8 \uc791\ud488 &#8211; \uc555\ucd95\ud30c\uc77c \ud328\uc2a4\uc6cc\ub4dc \ud06c\ub798\ucee4<br \/>\n&#8211; zipfile \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 extractall() \ud568\uc218\ub97c \uc0ac\uc6a9<br \/>\n&#8211; \uc554\ud638\uac00 \ud2c0\ub9ac\uba74 \uc608\uc678 \ubc1c\uc0dd<br \/>\n&#8211; \uc4f0\ub808\ub4dc \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud574 \ud55c\ubc88\uc5d0 \uc5ec\ub7ec\uac1c\uc758 \ud328\uc2a4\uc6cc\ub4dc\ub97c \ud14c\uc2a4\ud2b8<br \/>\n&#8211; optparse \uc0ac\uc6a9<\/p>\n<pre class=\"lang:default decode:true \" ># -*- coding: utf-8 -*-\r\nimport zipfile\r\nimport optparse\r\nfrom threading import Thread\r\n\r\ndef extractFile(zFile, password):\r\n    try:\r\n        zFile.extractall(pwd=password)\r\n        print '[+] Found password ' + password + '\\n'\r\n    except:\r\n        pass\r\n\r\ndef main():\r\n    parser = optparse.OptionParser(\"usage %prog \"+\\\r\n      \"-f &lt;zipfile&gt; -d &lt;dictionary&gt;\")\r\n    parser.add_option('-f', dest='zname', type='string',\\\r\n      help='specify zip file')\r\n    parser.add_option('-d', dest='dname', type='string',\\\r\n      help='specify dictionary file')\r\n    (options, args) = parser.parse_args()\r\n    if (options.zname == None) | (options.dname == None):\r\n        print parser.usage\r\n        exit(0)\r\n    else:\r\n        zname = options.zname\r\n        dname = options.dname\r\n\r\n    zFile = zipfile.ZipFile(zname)\r\n    passFile = open(dname)\r\n\r\n    for line in passFile.readlines():\r\n        password = line.strip('\\n')\r\n        t = Thread(target=extractFile, args=(zFile, password))\r\n        t.start()\r\n\r\nif __name__ == '__main__':\r\n    main()<\/pre>\n<p>\uc2e4\ud589\uacb0\uacfc<\/p>\n<pre class=\"lang:python decode:true \" >&gt; python 3-zipCrack.py -f evil.zip -\r\nd dictionary.txt\r\n[+] Found password secret<\/pre>\n<p>1.5 \uc694\uc57d<br \/>\n&#8211; \ucde8\uc57d\uc810 \uc2a4\ucf00\ub108<br \/>\n&#8211; \ud328\uc2a4\uc6cc\ub4dc \ud30c\uc77c \ud06c\ub799<br \/>\n&#8211; \uc554\ud638\uac78\ub9b0 zip \ud30c\uc77c \uacf5\uaca9<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Notice : \ud574\ub2f9 \uc790\ub8cc\uac00 \uc800\uc791\uad8c\ub4f1\uc5d0 \uc758\ud574\uc11c \ubb38\uc81c\uac00 \uc788\ub2e4\uba74 \ubc14\ub85c \uc0ad\uc81c\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc5f0\uad6c\ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \uc545\uc758\uc801\uc778 \ubaa9\uc801\uc73c\ub85c \uc774\uc6a9\ud560 \uacbd\uc6b0 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ubc95\uc801\uc740 \ucc45\uc784\uc740 \ubaa8\ub450 \ubcf8\uc778\uc5d0\uac8c \uc788\uc2b5\ub2c8\ub2e4. [\uad6c\ub9e4\ud558\uae30] \ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c \ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; &hellip; <a href=\"https:\/\/apollo89.com\/wordpress\/?p=3616\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[663,658],"tags":[1158,1216],"class_list":["post-3616","post","type-post","status-publish","format-standard","hentry","category-python-","category-book-2","tag-1158","tag-1216"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c - CHAPTER 1 \uc18c\uac1c - Apollo89.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/apollo89.com\/wordpress\/?p=3616\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c - CHAPTER 1 \uc18c\uac1c - Apollo89.com\" \/>\n<meta property=\"og:description\" content=\"&nbsp; Notice : \ud574\ub2f9 \uc790\ub8cc\uac00 \uc800\uc791\uad8c\ub4f1\uc5d0 \uc758\ud574\uc11c \ubb38\uc81c\uac00 \uc788\ub2e4\uba74 \ubc14\ub85c \uc0ad\uc81c\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc5f0\uad6c\ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \uc545\uc758\uc801\uc778 \ubaa9\uc801\uc73c\ub85c \uc774\uc6a9\ud560 \uacbd\uc6b0 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ubc95\uc801\uc740 \ucc45\uc784\uc740 \ubaa8\ub450 \ubcf8\uc778\uc5d0\uac8c \uc788\uc2b5\ub2c8\ub2e4. [\uad6c\ub9e4\ud558\uae30] \ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c \ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/apollo89.com\/wordpress\/?p=3616\" \/>\n<meta property=\"og:site_name\" content=\"Apollo89.com\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-17T09:16:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-11-28T08:03:35+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg\" \/>\n<meta name=\"author\" content=\"apollo89\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"apollo89\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616\"},\"author\":{\"name\":\"apollo89\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/93f56825cac3b2f18e5f107995066c82\"},\"headline\":\"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c\",\"datePublished\":\"2013-07-17T09:16:56+00:00\",\"dateModified\":\"2015-11-28T08:03:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616\"},\"wordCount\":113,\"commentCount\":6,\"image\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/apollo89.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2013\\\/03\\\/VIOLENT_PYTHON_S.jpg\",\"keywords\":[\"\uc2a4\ud130\ub514\",\"\uce58\uba85\uc801\ud30c\uc774\uc36c\"],\"articleSection\":[\"Python\\\/Ruby\\\/Perl\",\"Reading\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616\",\"name\":\"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c - CHAPTER 1 \uc18c\uac1c - Apollo89.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/apollo89.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2013\\\/03\\\/VIOLENT_PYTHON_S.jpg\",\"datePublished\":\"2013-07-17T09:16:56+00:00\",\"dateModified\":\"2015-11-28T08:03:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/93f56825cac3b2f18e5f107995066c82\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#primaryimage\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2013\\\/03\\\/VIOLENT_PYTHON_S.jpg\",\"contentUrl\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2013\\\/03\\\/VIOLENT_PYTHON_S.jpg\",\"width\":172,\"height\":220},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?p=3616#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\\\/\\\/apollo89.com\\\/wordpress\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/\",\"name\":\"Apollo89.com\",\"description\":\"\uc544\ud3f4\ub85c\uc528\uc758 \uc7a1\ub2e4\ud55c \uacbd\ud5d8\ub4e4..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/93f56825cac3b2f18e5f107995066c82\",\"name\":\"apollo89\",\"description\":\"\uc544\ud3f4\ub85c89 \uc785\ub2c8\ub2e4.\",\"url\":\"https:\\\/\\\/apollo89.com\\\/wordpress\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c - CHAPTER 1 \uc18c\uac1c - Apollo89.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/apollo89.com\/wordpress\/?p=3616","og_locale":"ko_KR","og_type":"article","og_title":"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c - CHAPTER 1 \uc18c\uac1c - Apollo89.com","og_description":"&nbsp; Notice : \ud574\ub2f9 \uc790\ub8cc\uac00 \uc800\uc791\uad8c\ub4f1\uc5d0 \uc758\ud574\uc11c \ubb38\uc81c\uac00 \uc788\ub2e4\uba74 \ubc14\ub85c \uc0ad\uc81c\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc5f0\uad6c\ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \uc545\uc758\uc801\uc778 \ubaa9\uc801\uc73c\ub85c \uc774\uc6a9\ud560 \uacbd\uc6b0 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ubc95\uc801\uc740 \ucc45\uc784\uc740 \ubaa8\ub450 \ubcf8\uc778\uc5d0\uac8c \uc788\uc2b5\ub2c8\ub2e4. [\uad6c\ub9e4\ud558\uae30] \ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c \ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; &hellip; Continue reading &rarr;","og_url":"https:\/\/apollo89.com\/wordpress\/?p=3616","og_site_name":"Apollo89.com","article_published_time":"2013-07-17T09:16:56+00:00","article_modified_time":"2015-11-28T08:03:35+00:00","og_image":[{"url":"http:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg","type":"","width":"","height":""}],"author":"apollo89","twitter_card":"summary_large_image","twitter_misc":{"\uae00\uc4f4\uc774":"apollo89","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#article","isPartOf":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=3616"},"author":{"name":"apollo89","@id":"https:\/\/apollo89.com\/wordpress\/#\/schema\/person\/93f56825cac3b2f18e5f107995066c82"},"headline":"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c","datePublished":"2013-07-17T09:16:56+00:00","dateModified":"2015-11-28T08:03:35+00:00","mainEntityOfPage":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=3616"},"wordCount":113,"commentCount":6,"image":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#primaryimage"},"thumbnailUrl":"http:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg","keywords":["\uc2a4\ud130\ub514","\uce58\uba85\uc801\ud30c\uc774\uc36c"],"articleSection":["Python\/Ruby\/Perl","Reading"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/apollo89.com\/wordpress\/?p=3616#respond"]}]},{"@type":"WebPage","@id":"https:\/\/apollo89.com\/wordpress\/?p=3616","url":"https:\/\/apollo89.com\/wordpress\/?p=3616","name":"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c - CHAPTER 1 \uc18c\uac1c - Apollo89.com","isPartOf":{"@id":"https:\/\/apollo89.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#primaryimage"},"image":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#primaryimage"},"thumbnailUrl":"http:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg","datePublished":"2013-07-17T09:16:56+00:00","dateModified":"2015-11-28T08:03:35+00:00","author":{"@id":"https:\/\/apollo89.com\/wordpress\/#\/schema\/person\/93f56825cac3b2f18e5f107995066c82"},"breadcrumb":{"@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/apollo89.com\/wordpress\/?p=3616"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#primaryimage","url":"https:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg","contentUrl":"https:\/\/apollo89.com\/wordpress\/wp-content\/uploads\/2013\/03\/VIOLENT_PYTHON_S.jpg","width":172,"height":220},{"@type":"BreadcrumbList","@id":"https:\/\/apollo89.com\/wordpress\/?p=3616#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/apollo89.com\/wordpress"},{"@type":"ListItem","position":2,"name":"\ud574\ucee4\uc758 \uc5b8\uc5b4, \uce58\uba85\uc801 \ud30c\uc774\uc36c &#8211; CHAPTER 1 \uc18c\uac1c"}]},{"@type":"WebSite","@id":"https:\/\/apollo89.com\/wordpress\/#website","url":"https:\/\/apollo89.com\/wordpress\/","name":"Apollo89.com","description":"\uc544\ud3f4\ub85c\uc528\uc758 \uc7a1\ub2e4\ud55c \uacbd\ud5d8\ub4e4..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/apollo89.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Person","@id":"https:\/\/apollo89.com\/wordpress\/#\/schema\/person\/93f56825cac3b2f18e5f107995066c82","name":"apollo89","description":"\uc544\ud3f4\ub85c89 \uc785\ub2c8\ub2e4.","url":"https:\/\/apollo89.com\/wordpress\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3616"}],"version-history":[{"count":0,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3616\/revisions"}],"wp:attachment":[{"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/apollo89.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}