
gethostbyname*() buffer overflow exploit in glibc - CVE-2015-0235 https://community.qualys.com/blogs/laws-of-vulnerabilities/2015/01/27/the-ghost-vulnerability
最初来源于 Ben Bomgardner 在 help-cfengine 邮件列表中的帖子。 https://groups.google.com/forum/#!topic/help-cfengine/tWjOlO19Mrw
** 下载策略文件并解压到你的主配置文件目录中
#+begin_src sh MASTERFILES=/home/nickanderson/CFEngine/masterfiles wget https://github.com/nickanderson/CVE_2015_0235/archive/master.tar.gz -O /tmp/CVE_2015_0235.tar.gz tar --directory "$MASTERFILES/services" -zxvf /tmp/CVE_2015_0235.tar.gz #+end_src
** 测试利用代码需要编译
#+begin_src sh cd $MASTERFILES/services/CVE_2015_2035/bins gcc GHOST.c -o GHOST_CVE-2015-0235 #+end_src
** 将 def.cf 的路径包含到 inputs 中
#+begin_src cfengine body common control { inputs => { # Reports @(cfengine_reports.inputs),
# 如果你希望通过 autorun 激活此策略,
# 则需在 autorun inputs 之前包含它。
"services/CVE_2015_0235/def.cf",
# autorun system
@(services_autorun.inputs),
};
} #+end_src
创建 /masterfiles/services/autorun/CVE_2015_0235.cf 文件,内容如下:
#+begin_src cfengine bundle agent CVE_2015_0235 { meta: # Make sure we get activated "tags" slist => { "autorun" };
classes:
any::
# Enable the features we want
"enable_CVE_2015_0235_inventory" expression => "any";
methods:
# Make sure that the control bundle has converged
"CVE_2015_0235"
usebundle => CVE_2015_0235_def_file_control,
comment => "Activate each enabled policy";
# Activate the features we want if they are enabled
enable_CVE_2015_0235_inventory::
"CVE_2015_0235"
usebundle => CVE_2015_0235_inventory,
comment => "We want to know where we are vulnerable";
reports:
DEBUG|DEBUG_CVE_2015_0235::
"Activated: '$(this.bundle)' in '$(this.promise_filename)'";
} #+end_src