Статья Автоматизируем работу с 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
 
Мы в соцсетях:

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