0x00 简介
关于Spear phish 和发件人伪造的工具有很多个,比如gophish、SimpleEmailSpoofer、命令行工具swaks等,每个工具都有其特点,当然Cobalt Strike也有此功能。官方介绍戳我。今天主要来介绍一下CS里面的此功能怎么使用。
0x01 CS Spear Phish
CS的Spear Phish位置在:
一张图说明功能:
使用此功能的前提是需要有一个smtp服务器来供我们来转发邮件,当然可以使用公共smtp服务,另外也可以参考《Something about email spoofing》 中提到的方法来搭建。
这里的使用很简单,首先构造目标列表,使用:1
2mail name
mail name
中间的分隔符为[tab],可以不添加name
添加好以后就是这个样子:
下面,要配置发件模板,这里配置很简单,只需要复制一份原始邮件即可,比如一份密码重置邮件:
选择显示原始邮件,并将其内容保存。
在这里如果要伪造发件人,需要修改From:
否则就不需要做什么别的修改。之后,配置对应的Mail server
,就可以进行发送邮件了,这里需要注意一点,为了绕过SPF的检查,Bunce to
需设置为与Mail server
同域,如Mail server
为 mail.evi1cg.me
,Bunce to
可设置为`admin@evi1cg.me`。
之后点击Send
则可发送邮件,收到的邮件与模板一致。
另外查看SRF为PASS
状态:
另外,CS也有发送附件的功能,但是原版本的CS发送附件有一个Bug,即如果附件为中文名称,则会在最后的邮件中显示乱码附件:
所以在这里我们需要对CS动刀了,经过调试,成功定位到mail\Eater.java
,需要对此类中的createAttachment
方法进行修改:1
2
3
4
5
6
7
8
9
10
11
12
13
14private 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;
}
这样就可以解决附件乱码问题了:
0x02 Web clone
另外在这里还有一个与Web Clone结合的地方,首先,我们先Clone一个需登录的网站,如网易邮箱:
这里可以选择开启键盘记录功能。
开启Clone:
设置spear phish:
Embed URL选择刚刚克隆的url,发送邮件,此时用户点击重置按钮,则会跳转到Clone的站点:
此时,用户输入会被记录:
emmm. 大概就介绍这么多吧。