Cobalt Strike Spear Phish

0x00 简介

关于Spear phish 和发件人伪造的工具有很多个,比如gophishSimpleEmailSpoofer、命令行工具swaks等,每个工具都有其特点,当然Cobalt Strike也有此功能。官方介绍戳我。今天主要来介绍一下CS里面的此功能怎么使用。

0x01 CS Spear Phish

CS的Spear Phish位置在:
-w274

一张图说明功能:

使用此功能的前提是需要有一个smtp服务器来供我们来转发邮件,当然可以使用公共smtp服务,另外也可以参考《Something about email spoofing》 中提到的方法来搭建。
这里的使用很简单,首先构造目标列表,使用:

1
2
mail    name
mail name

中间的分隔符为[tab],可以不添加name

添加好以后就是这个样子:
-w551

下面,要配置发件模板,这里配置很简单,只需要复制一份原始邮件即可,比如一份密码重置邮件:
-w1115

选择显示原始邮件,并将其内容保存。

在这里如果要伪造发件人,需要修改From:
-w333

否则就不需要做什么别的修改。之后,配置对应的Mail server,就可以进行发送邮件了,这里需要注意一点,为了绕过SPF的检查,Bunce to需设置为与Mail server同域,如Mail servermail.evi1cg.me,Bunce to可设置为`admin@evi1cg.me`。

之后点击Send则可发送邮件,收到的邮件与模板一致。
-w991

另外查看SRF为PASS状态:

-w1062

另外,CS也有发送附件的功能,但是原版本的CS发送附件有一个Bug,即如果附件为中文名称,则会在最后的邮件中显示乱码附件:
-w1008

所以在这里我们需要对CS动刀了,经过调试,成功定位到mail\Eater.java,需要对此类中的createAttachment方法进行修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private BodyPart createAttachment(String name) throws IOException {
File file = new File(name);
String namez = file.getName();
String filename = new String(namez.getBytes("utf-8"),"ISO8859-1");
Body body = (new StorageBodyFactory()).binaryBody((InputStream)(new FileInputStream(name)));
Map temp = new HashMap();
temp.put("name", filename);
BodyPart bodyPart = new BodyPart();
bodyPart.setBody(body, "application/octet-stream", temp);
bodyPart.setContentTransferEncoding("base64");
bodyPart.setContentDisposition("attachment");
bodyPart.setFilename(filename);
return bodyPart;
}

这样就可以解决附件乱码问题了:
-w1005

0x02 Web clone

另外在这里还有一个与Web Clone结合的地方,首先,我们先Clone一个需登录的网站,如网易邮箱:
-w409

这里可以选择开启键盘记录功能。

开启Clone:
-w276

设置spear phish:
-w981

Embed URL选择刚刚克隆的url,发送邮件,此时用户点击重置按钮,则会跳转到Clone的站点:
mai

此时,用户输入会被记录:

keylog

emmm. 大概就介绍这么多吧。

------本文结束,感谢阅读------