CB ctf-pwn
Предоставляет техники бинарной эксплуатации (pwn) для CTF-соревнований. Используйте при эксплуатации переполнения буфера, форматной строки, уязвимостей кучи (House of Orange, Spirit, Lore, Apple 2, Einherjar, tcache stashing unlink), состояний гонки, ошибок ядра, ROP-цепочек, ret2libc, ret2dlresolve, шеллкода, GOT overwrite, use-after-free, обхода seccomp, FSOP, stack pivot, побега из песочницы, перезаписи Windows SEH, VirtualAlloc ROP, повышения привилегий SeDebugPrivilege или эксплуатации ядра Linux (modprobe_path, tty_struct, userfaultfd, обхода KASLR, SLUB heap spray).
машинный переводПоказать оригиналСкрыть оригинал«Provides binary exploitation (pwn) techniques for CTF challenges. Use…»
Provides binary exploitation (pwn) techniques for CTF challenges. Use when exploiting buffer overflows, format strings, heap vulnerabilities (House of Orange, Spirit, Lore, Apple 2, Einherjar, tcache stashing unlink), race conditions, kernel bugs, ROP chains, ret2libc, ret2dlresolve, shellcode, GOT overwrite, use-after-free, seccomp bypass, FSOP, stack pivot, sandbox escape, Windows SEH overwrite, VirtualAlloc ROP, SeDebugPrivilege escalation, or Linux kernel exploitation (modprobe_path, tty_struct, userfaultfd, KASLR bypass, SLUB heap spray).
Предоставляет техники бинарной эксплуатации (pwn) для CTF-соревнований.
Как процесс B 73/100 · Почти готов — слабые места: когда включается, стоимость исполнения, повторный запуск
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.
Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 47
✓ Критических и высоких находок нет
Средние и низкие: 47
-
средняя Широкие права
meta-broad-allowed-toolsSKILL.md:1Заранее разрешены широкие инструменты: Bashallowed-tools: Bash Read Write Edit Glob Grep Task WebFetch WebSearch
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-2.md:18Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- [Full Exploitation Chain](#full-exploitation-chain)
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-2.md:59Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploitation chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-2.md:128Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Опасные команды
cmd-privilegeadvanced-exploits-2.md:313Повышение привилегий / права на запись для всех (документация security-скилла)encoded_setuid = rol(libc.sym.setuid ^ pointer_guard, 0x11)
security-скилл -
низкая Опасные команды
cmd-privilegeadvanced-exploits-2.md:320Повышение привилегий / права на запись для всех (комментарий в коде; документация security-скилла)node1 += p64(encoded_setuid) # func = setuid(0)
комментарийsecurity-скилл -
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-2.md:403Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Three-layer exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-2.md:420Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)### Full Exploitation Chain
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-3.md:28Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-3.md:71Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (в кавычках — упоминание, а не команда)**Key insight:** 8-bit counters in read loops cause off-by-one when the buffer size equals the counter's range (64 → wraps after 64, writes byte 65). The 1-byte overflow into a size field creates a pr
в кавычках -
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-3.md:115Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-3.md:156Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-4.md:343Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)# Exploit chain:
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits-4.md:411Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)# Exploit chain:
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits.md:85Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits.md:261Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits.md:332Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityadvanced-exploits.md:467Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Опасные команды
cmd-privilegeheap-techniques.md:80Повышение привилегий / права на запись для всех (комментарий в коде; документация security-скилла)0x68: p64(0), # RDI = 0 (for setuid(0))
комментарийsecurity-скилл -
низкая Опасные команды
cmd-privilegeheap-techniques.md:82Повышение привилегий / права на запись для всех (документация security-скилла)0xa8: p64(libc.sym.setuid), # RIP = setuid as first call
security-скилл -
низкая Опасные команды
cmd-privilegeheap-techniques.md:89Повышение привилегий / права на запись для всех (комментарий в коде; документация security-скилла)libc.address + 0, # After setuid(0) returns here
комментарийsecurity-скилл -
низкая Рискованное назначение
intent-offensive-securityheap-techniques.md:106Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securityheap-techniques.md:310Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploitation chain:**
-
низкая Рискованное назначение
intent-offensive-securityheap-techniques.md:608Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploitation chain:**
-
низкая Рискованное назначение
intent-offensive-securityheap-techniques.md:667Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Exploit chain:**
-
низкая Рискованное назначение
intent-offensive-securitykernel-bypass.md:179Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)| No SMEP/SMAP | (nothing) | [ret2usr](kernel.md#ret2…map) — directly call userland privesc function |
-
низкая Рискованное назначение
intent-offensive-securitykernel-bypass.md:318Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (в кавычках — упоминание, а не команда)printf("[-] privesc failed\n");в кавычках -
низкая Рискованное назначение
intent-offensive-securitykernel-bypass.md:374Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)void privesc() { -
низкая Рискованное назначение
intent-offensive-securitykernel-techniques.md:17Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)For kernel fundamentals (environment setup, heap spray structures, stack overflow, privilege escalation, modprobe_path, core_pattern), see [kernel.md](kernel.md).
-
низкая Рискованное назначение
intent-offensive-securitykernel.md:18Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- [Privilege Escalation Primitives](#privilege-escalation-primitives)
-
низкая Рискованное назначение
intent-offensive-securitykernel.md:265Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)## Privilege Escalation Primitives
-
низкая Рискованное назначение
intent-offensive-securitykernel.md:279Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)void privesc() { -
низкая Рискованное назначение
intent-offensive-securitykernel.md:303Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (в кавычках — упоминание, а не команда)After `privesc()` returns to userland, the process has root credentials. Call `system("/bin/sh")` to get a root shell.в кавычках -
низкая Рискованное назначение
intent-offensive-securitykernel.md:373Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение) (в кавычках — упоминание, а не команда)printf("[-] privesc failed\n");в кавычках -
низкая Рискованное назначение
intent-offensive-securityoverflow-basics.md:189Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)Overflow `valid` flag between buffer and canary without touching the canary. Use `./` as no-op path padding for precise length control. See [advanced-exploits.md](advanced-exploits.md#canary-aware-par
-
низкая Рискованное назначение
intent-offensive-securitysandbox-escape.md:69Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Privilege escalation via passwd modification:**
-
низкая Рискованное назначение
intent-offensive-securitysandbox-escape.md:85Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**File descriptor redirection (no reverse shell needed):**
-
низкая Рискованное назначение
intent-offensive-securitysandbox-escape.md:106Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Key insight:** Network servers typically have the client socket on fd 3. Redirecting stdin/stdout to this fd (`exec <&3; sh >&3 2>&3`) gives an interactive shell over the existing connection without
-
низкая Рискованное назначение
intent-offensive-securityskill-card.md:21Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)Mitigation: Install only for authorized CTF, training, or isolated lab exploitation, and require human approval before running exploit commands, making network callbacks, changing system files, weaken
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:54Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- [kernel.md](kernel.md) - Linux kernel exploitation fundamentals: environment setup, QEMU debug, heap spray structures (tty_struct, poll_list, user_key_payload, seq_operations), kernel stack overflow
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:148Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)**Pattern:** Overflow `valid` flag between buffer and canary. Use `./` as no-op path padding for precise length. See [overflow-basics.md](overflow-basics.md) and [advanced.md](advanced.md) for full ex
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:464Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)See [advanced-exploits-2.md](advanced-exploits-2.md#sign…026) for full exploit chain, XSS bridge pattern, and RGB pixel wri
Ещё 5 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 16. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 11022 токенов (рекомендуется < 5000); вынесите детали в references/
Процессный рейтинг: все десять параметров 73/100
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 72, без проверки текущего состояния
- 40Стоимость исполнения. Тело инструкции 11022 токенов: вытесняет саму задачу из окна
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Инструменты и файлы. Инструменты объявлены во frontmatter
- 100Шаги. Шагов: 48
- 100Ошибки и развилки. Развилок: 4, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- low Разделов верхнего уровня: 81. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +2Инструкции на одном языке
- +3Длина description 549 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 82 заголовков
- +3Пошаговые инструкции: 48 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (6 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 78.