enotkrutoy commited on
Commit
b22aaed
1 Parent(s): 2fe286d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -71
app.py CHANGED
@@ -1,72 +1,46 @@
1
  import streamlit as st
2
- import os
3
-
4
- # Инициализация истории сессий
5
- if "recon_history" not in st.session_state:
6
- st.session_state.recon_history = []
7
-
8
- # Заголовок приложения
9
- st.title("WhiteRabbitNeo: Red Team Interface")
10
-
11
- # Раздел для ввода IP-адреса или домена для разведки
12
- st.header("Разведка цели")
13
- target = st.text_input("Введите IP-адрес или домен цели:")
14
-
15
- # Пример данных разведки
16
- recon_data = f"""
17
- - Цель: {target}
18
- - IP-адрес: 192.168.1.1
19
- - Открытые порты: 22, 80, 443
20
- - Сервисы: SSH, HTTP, HTTPS
21
- """
22
-
23
- # Кнопка для запуска разведки
24
- if st.button("Запустить разведку"):
25
- if target:
26
- st.success("Разведка выполнена успешно!")
27
- st.subheader("Результаты разведки")
28
- st.code(recon_data, language="text")
29
- else:
30
- st.error("Пожалуйста, введите IP-адрес или домен.")
31
-
32
- # Сохранение результатов разведки в файл
33
- if st.button("Сохранить результаты разведки"):
34
- with open("recon_results.txt", "w") as f:
35
- f.write(recon_data)
36
- st.success("Результаты разведки сохранены в файл recon_results.txt")
37
- st.download_button(label="Скачать файл результатов разведки", data=recon_data, file_name="recon_results.txt", mime="text/plain")
38
-
39
- # Сохранение результатов разведки в историю сессии
40
- if st.button("Сохранить результаты в сессию"):
41
- st.session_state.recon_history.append(recon_data)
42
- st.success("Результаты разведки добавлены в историю сессии.")
43
-
44
- # Отображение истории сессий
45
- st.subheader("История разведки")
46
- for idx, data in enumerate(st.session_state.recon_history):
47
- st.write(f"Сессия {idx+1}:")
48
- st.code(data, language="text")
49
-
50
- # Пример кода эксплойта
51
- st.header("Сгенерированный код эксплойта")
52
- exploit_code = """
53
- import socket
54
-
55
- def exploit(target_ip, target_port):
56
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
57
- s.connect((target_ip, target_port))
58
- s.send(b"EXPLOIT_PAYLOAD")
59
- response = s.recv(1024)
60
- s.close()
61
- return response
62
- """
63
-
64
- # Отображение сгенерированного кода эксплойта в формате Python
65
- st.code(exploit_code, language="python")
66
-
67
- # Кнопка для сохранения кода эксплойта в файл
68
- if st.button("Сохранить код эксплойта"):
69
- with open("exploit_code.py", "w") as f:
70
- f.write(exploit_code)
71
- st.success("Код эксплойта сохранен в файл exploit_code.py")
72
- st.download_button(label="Скачать код эксплойта", data=exploit_code, file_name="exploit_code.py", mime="text/x-python")
 
1
  import streamlit as st
2
+ from transformers import pipeline
3
+
4
+ # Загружаем модель для генерации текста
5
+ pipe = pipeline("text-generation", model="WhiteRabbitNeo/WhiteRabbitNeo-13B-v1", trust_remote_code=True)
6
+
7
+ # Основная функция для разведки
8
+ def reconnaissance(domain):
9
+ st.write(f"Начинаем разведку для домена: {domain}")
10
+ result = pipe(f"Разведка информации о домене {domain}...")
11
+ st.text_area("Результаты разведки", result[0]['generated_text'])
12
+
13
+ # Функция для поиска уязвимостей
14
+ def vulnerability_search(service_info):
15
+ st.write(f"Ищем уязвимости для сервиса: {service_info}")
16
+ result = pipe(f"Поиск уязвимостей для сервиса {service_info}...")
17
+ st.text_area("Результаты поиска уязвимостей", result[0]['generated_text'])
18
+
19
+ # Функция для создания эксплойта
20
+ def exploit_creation(vulnerability, language):
21
+ st.write(f"Создание эксплойта для уязвимости: {vulnerability} на языке {language}")
22
+ result = pipe(f"Генерация эксплойта для уязвимости {vulnerability} на языке {language}...")
23
+ st.text_area("Генерированный эксплойт", result[0]['generated_text'])
24
+
25
+ # Интерфейс Streamlit
26
+ st.title("Инструмент для Red Team операций с WhiteRabbitNeo")
27
+ st.markdown("Используйте этот инструмент для разведки, поиска уязвимостей и создания эксплойтов.")
28
+
29
+ # Выбор задачи
30
+ task = st.sidebar.selectbox("Выберите задачу:", ["Разведка", "Поиск уязвимостей", "Создание эксплойта"])
31
+
32
+ if task == "Разведка":
33
+ domain = st.text_input("Введите домен для разведки:")
34
+ if st.button("Начать разведку"):
35
+ reconnaissance(domain)
36
+
37
+ elif task == "Поиск уязвимостей":
38
+ service_info = st.text_input("Введите информацию о сервисе (например, Apache 2.4.49):")
39
+ if st.button("Искать уязвимости"):
40
+ vulnerability_search(service_info)
41
+
42
+ elif task == "Создание эксплойта":
43
+ vulnerability = st.text_input("Опишите уязвимость:")
44
+ language = st.selectbox("Выберите язык для эксплойта:", ["Python", "Bash", "PowerShell"])
45
+ if st.button("Создать эксплойт"):
46
+ exploit_creation(vulnerability, language)