内网渗透-CS免杀与应用开发

由于我没有公网服务器,我使用老师的电脑来操作

首先我们搞一个公网环境47.96.116.171

安装Java环境,我们电脑上的版本为17.0.6

我们进入到cobalstrike的目录

 将teamserver启动起来,确认启动正常

然后在Kali启动我们的客户端,打开cobaltstrike的界面,建立与我们的公网服务器的来连接,端口是50050,用户名随便输,密码是我们刚刚启动teamserver的密码

然后去连接上我们CS的服务器端

进入到我们的CobaltStrike,第一步就是进入到listener

然后新建listener,端口号是云服务器那边放行的就可以了

然后我们建好了

 我们选择Stager Payload Generator来生成payload

监听器选择HTTP,输出类型选择Python

然后我们保存到Muma18的目录下,方便使用

然后我们就在Muma18的目录下得到了payload.py

然后去查看一下,这就是Cobalt Strike的ShellCode

接下来该怎么办呢

我们创建一个python文件,名称叫csshellenc.py

代码前面引入base 64这个库,然后再输入Cobalt Strike的ShellCode,后面加上以下代码就可以了

然后我们运行一下,输出我们的加密的字符串,发现可以走通

然后再新建一个python文件,文件名称叫做csshelldec.py

先引入base64和ctypes,然后再输入加过密的字符串

再做上面那一步的操作之前,我们先将这段加载器代码放到我们的csshellenc.py里面,将csshellenc.py里面的加密代码先给注释了,看看可不可以上线,也就是看看加载器代码有没有区别

CS已经正常启动,如果我们能够运行python能够上线,说明这段加载器代码不需要改

运行之后发现没有报错

上线成功

上线成功,我们将sleep修改为3秒钟,时间越长就很难被发现,隐蔽性就很好

然后首先来做一个文件浏览,看看3秒钟能不能浏览到我们受控端的文件

当然我们也可以看整个操作系统的文件

说明刚刚我们加入的加载器代码是可行的,然后我们再将木马直接断开

然后将这两段解密代码加入到我们的csshelldec.py即可

运行之后看看是否可以上线CS,如果上线就OK了

运行,然后发现没有报错

然后去CS界面上去看看,上线成功

上线成功之后我们就将木马给断开,然后将这段代码生成exe

然后我们去看看免杀的效果,发现没有被杀

然后把这个木马分发出去,如果点击了,CS界面那里会有显示,显示一些上线的电脑

代码我们已经搞定了,我们该如何去包装一下这个木马,把这个木马包装到正儿八经的应用程序当中去,然后再去做分发

我们新建一个python文件,文件名为lookbeauty.py

from tkinter import *
import tkinter.messagebox

def connect():

def look():
    tkinter.messagebox.showinfo('温馨提示','欢迎来到蜗牛学苑看美女,报名记得找我哦.')
    connect()

root = Tk()   #实例化一个主窗口
root.geometry("600x400+300+300")  # 定位窗口大小和位置
root.title("看美女")

label = Label(root,text='这是一个标签',background='gray')
#label.pack()  #自适应位置,不太受控
label.place(width=100,height=30,x=30,y=20)

entry = Entry(root,bg='white')
entry.place(width=200,height=30,x=200,y=20)

button = Button(root,bg='green',text="点我有惊喜",command=look)
button.place(width=100,height=30,x=450,y=20)

root.mainloop()  #启动窗口

运行结果如下:

将我们的csshelldec.py里面的代码放入进去,放到def connect():函数里面,然后在look函数里面调用connect()即可,还要记得引入base64和ctypes这两个库

然后我们去看看木马是否能够上线

在公网服务器上启动teamserver

然后在Kali这儿启动CS的客户端,点击connect

然后成功进入到CS界面中去

然后我们去点击按钮,看看木马能否上线

点击完之后发现代码也没有结束

上线成功

鼠标转圈的原因是主线程一直被占用,导致无法执行mainloop,程序一直在和木马进行通信,所以我们要另起一个子线程来连接木马,主线程用来放窗口,子线程用来连接木马

解决的办法是让子线程去调用connect函数

import threading

然后在look函数当中加上这么一段代码

threading.Thread(target=connect).strat()

按照上面的步骤,然后我们再来试试看,上线成功

没有出现鼠标转圈的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值