Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2014-3566 PoC — OpenSSL 加密问题漏洞

Source
Associated Vulnerability
Title:OpenSSL 加密问题漏洞 (CVE-2014-3566)
Description:OpenSSL是OpenSSL团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库。该产品支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。 OpenSSL 1.0.1i版本及之前版本存在加密问题漏洞,该漏洞源于程序使用非确定性的CBC填充。攻击者利用该漏洞实施中间人攻击,获取明文数据。
Description
Python script for automatically protecting your systems against POODLE vulnerability (CVE-2014-3566)
Readme
poodle_protector
================

``poodle_protector.py`` is a Python script for automatically protecting your systems against POODLE vulnerability ([*CVE-2014-3566*](http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3566)).
It scans your Apache server configuration directories for unsecure configuration directives and ensures security by disabling SSL 2.0 and 3.0. It can also restart your server instantly after customizing the configuration.

Currently this only works for Linux servers running Apache, the support for other affected daemons (*Tomcat, vsftpd, Dovecot, Postfix, openLDAP, CUPS*) is planned (*see __nightly__ branch*). The following Linux distros are detected automatically:
- CentOS / Red Hat Enterprise Linux
- openSUSE / SUSE Linux Enterprise Server
- Debian / Ubuntu
- Fedora



Parameters
==========
```
# ./poodle_protector.py -h
Usage: poodle_protector.py [options]

poodle_protector.py is used to protect your servers against POODLE
vulnerability (CVE-2014-3566). It automatically detects apache configuration
files vulnerable to POODLE and customizes them after creating backups.
Checkout the GitHub page for updates:
https://github.com/stdevel/poodle_protector

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -c STRING, --custom-string=STRING
                        defines a custom SSLProtocol configuration string
  -p PATH, --custom-path=PATH
                        defines a custom path for apache configuration files
                        in case you're not using distribution defaults
  -q, --quiet           don't print status messages to stdout
  -d, --debug           enable debugging outputs
  -n, --no-backup       don't create backups if you like to like dangerously
  -l, --dry-run         only simulates what would be done
  -r, --service-restart restarts the affected service(s) using the appropriate
                        wrapper
```



Examples
========
Just do a dry-run to see what the script would do:
```
# ./poodle_protector.py -lr
I'd like to create a backup of '/etc/apache2/mods-available/ssl.conf as '/etc/apache2/mods-available/ssl.conf.20141016-1303' ...
I'd like to insert 'SSLProtocol All -SSLv2 -SSLv3' into /etc/apache2/mods-available/ssl.conf using the following command: sed -i '/SSLProtocol/ c\SSLProtocol All -SSLv2 -SSLv3' /etc/apache2/mods-available/ssl.conf ...
I'd also like to restart the service using: 'service apache2 restart'
```

Ensure security by customizing the configuration and restart the service:
```
# ./poodle_protector.py -r
Restarting web server: apache2 ... waiting .
```

Simulate setting a special ``SSLProtocol`` value (*only TLSv1.2 instead of everything except SSLv2/v3*) and reloading the daemon on a Enterprise Linux server:
```
# ./poodle_protector.py -lrc "SSLProtocol TLSv1.2"
I'd like to create a backup of '/etc/httpd/conf.d/ssl.conf as '/etc/httpd/conf.d/ssl.conf.20141017-1112' ...
I'd like to insert 'SSLProtocol TLSv1.2' into /etc/httpd/conf.d/ssl.conf using the following command: sed -i '/SSLProtocol/ c\SSLProtocol TLSv1.2' /etc/httpd/conf.d/ssl.conf ...
I'd also like to restart the service using: 'service httpd restart'
```
File Snapshot

[4.0K] /data/pocs/e497bf10111552ffd4b0fec79c7f839249c9404b ├── [ 18K] LICENSE ├── [6.5K] poodle_protector.py └── [3.2K] README.md 0 directories, 3 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.