• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Статья Автоматизируем работу с w3af

Здрав будь, люд хекерский. Сегодня, поведаю я вам, как можно сделать автоматический пентест средствами w3af api. Напомню, что это достаточно неплохой фаззер. По мере развития этого скрипта буду обновлять этот топик. А пока код автоматический запускает api, сканирует с заданным профилем, проверяет каждые 10 секунд статус и в итоге создает отчет в домашней директории и закрывает коннект.

Понадобится
w3af Последней версии
P.S. клиент api можно установить через pip;

Код:
pip install w3af_api_client

Код нашего фаззера

Код:
from w3af_api_client import Connection, Scan, Finding
from threading import Thread, current_thread
import sys
import time
import json
from subprocess import Popen, PIPE

proc = Popen("python /w3af/w3af_api", shell=True, stdout=PIPE, stderr=PIPE)

time.sleep(5) # Ждём пока запустится api
conn = Connection('http://192.168.1.237:5000/')
scan_profile = file('/root/.w3af/profiles/SooLFaa.pw3af').read() # Профиль создаем за ранее в w3af
target = []
target.append(sys.argv[1]) # Добавляем в таргет

scan = Scan(conn, 0)
scan.start(scan_profile, target) # отсылаем на сканирование
time.sleep(5)
status = json.loads(json.dumps(scan.get_status()))["status"] # получаем текущий статус санирования
print status

while status == 'Running': # Пока не будет статус Stopping
        time.sleep(10)
        status = json.loads(json.dumps(scan.get_status()))["status"]
proc.close()# Убиваем коннект с api
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD