UA-IX IP
Материал из Xgu.ru
Генерирование случайных адресов и адресов украинского сегмента Интернета. Проверка на принадлежность украинскому сегменту интернета.
ОС и ПО: Linux/FreeBSD, nmap, scanlogd
- Автор: Игорь Чубин
Правильная ссылка: [1]
Автор выражает благодарность Сергею Катасонову и Сергею Доровику.
В статье рассматривается как сгенерировать список случайных адресов и список случайных украинских адресов. Методы могут быть полезны, например, при выполнении decoy-сканирования с помощью nmap (nmap -D) и во множестве других случаев. Также в статье показана sh-функция проверки адреса на принадлежность сегменту украинского интернета (UA-IX) с помощью доступных в Интернете web-сервисов.
Содержание |
[править] Генератор случайных адресов
Генератор случайных адресов:
<sh/>
rnd_ip ()
{
echo $[RANDOM%255].$[RANDOM%255].$[RANDOM%255].$[RANDOM%255]
} rnd_ips () {
i=0; while [ $i -lt $[$1-1] ]; do echo -n `rnd_ip`,; i=$[i+1]; done; rnd_ip
}
Функция rnd_ip генерирует случайный адрес.
Функция rnd_ips генерирует множество случайных адресов, разделённых запятыми. Количество адресов, которые должны быть сгенерированы передаётся в качестве первого аргумента функции
Например:
# rnd_ip 197.219.143.169 # rnd_ips 3 156.132.100.84,164.241.80.52,98.214.119.170
Функция работает быстро, но имеет тот недостаток, что генерирует абсолютно случайные адреса, многие из которых заведомо не могут выполнять сканирование. При анализе с той, сканируемой, стороны такие адреса можно заведомо исключать и не рассматривать их как возможный источник сканирования.
[править] Генератор осмысленных адресов
Можно сгенерировать последовательность осмысленных адресов, например, принадлежащих украинскому сегменту Интернета (UA-IX).
Для этого воспользуемся страницей, содержащей список украинских сетей и предоставляющей услугу по проверки адреса на принадлежность UA-IX: http://www.colocall.net/ua/.
Генератор украинских адресов и проверка адреса на принадлежность
украинскому сегменту:
<sh/>
check_ua_ip ()
{
lynx -dump http://www.colocall.net/ua/?host="$1" | grep -q -- '- not ukrainian'
} rnd_ua_ip () {
echo $(count=`lynx -dump http://www.colocall.net/ua/prefixes.txt | sed s@.0/.*@@ | tee /tmp/ip_list | wc -l`; \ head -n $[RANDOM%count] /tmp/ip_list | tail -1).$[RANDOM%255]
} rnd_ua_ips () {
i=0; while [ $i -lt $[$1-1] ]; do echo -n `rnd_ua_ip`,; i=$[i+1]; done; rnd_ua_ip
}
Функция check_ua_ip проверяет адрес на принадлежность UA-IX и возвращает истину, если адрес не принадлежит украинскому сегменту.
Функция rnd_ua_ip генерирует случайный адрес из UA-IX.
Функция rnd_ua_ips генерирует множество случайных адресов принадлежащих украинскому сегменту Интернета, разделённых запятыми. Количество адресов, которые должны быть сгенерированы передаётся в качестве первого аргумента функции.
Функция check_ua_ip не используется при генерировании адресов!!! Это независимая функция, использующаяся только для проверки.
Например, проверка адресов:
# host debian.org.ua debian.org.ua has address 213.186.192.209 # check_ua_ip 213.186.192.209 || echo ukraiinec\` ukraiinec`
и генерирование адресов:
# rnd_ua_ip 193.111.156.44 # whois 193.111.156.44 % This is the RIPE Whois query server #1. % The objects are in RPSL format. % % Note: the default output of the RIPE Whois server % is changed. Your tools may need to be adjusted. See % http://www.ripe.net/db/news/abuse-proposal-20050331.html % for more details. % % Rights restricted by copyright. % See http://www.ripe.net/db/copyright.html % Note: This output has been filtered. % To receive output for a database update, use the "-B" flag. % Information related to '193.111.156.0 - 193.111.159.255' inetnum: 193.111.156.0 - 193.111.159.255 netname: INTERPHONE-NET descr: InterPhone ltd country: UA admin-c: IL116-RIPE tech-c: TEIL-RIPE tech-c: RAV76-RIPE status: ASSIGNED PImnt-by: RIPE-NCC-HM-PI-MNT mnt-lower: RIPE-NCC-HM-PI-MNT mnt-by: INTERPHONE-MNT mnt-routes: INTERPHONE-MNT source: RIPE # Filtered person: InterPhone ltd address: Khmelnitsky ave 2 Mariupol 87500 Ukraine phone: +380 629 560701 e-mail: info@iphone.net.ua nic-hdl: Il116-RIPE mnt-by: INTERPHONE-MNT source: RIPE # Filtered person: Denis Khvostikov address: Mariupol. Ukraine address: Shevchenko 295-7 e-mail: denis@khvostikov.com phone: +38 050 4747341 nic-hdl: TEIL-RIPE mnt-by: INTERPHONE-MNT source: RIPE # Filtered person: Roman Avdeenko address: 87549, Ukraine, Mariupol, Shevchenko blv. 77-11 phone: +380677636546 nic-hdl: RAV76-RIPE source: RIPE # Filtered % Information related to '193.111.156.0/22AS24881' route: 193.111.156.0/22 descr: INTERPHONE PI NET origin: AS24881 mnt-by: INTERPHONE-MNT source: RIPE # Filtered
Как видно из вывода whois, адрес действительно украинский.
И список:
# rnd_ua_ips 3 194.44.64.116,193.108.46.14,195.72.144.80
[править] Использование случайных адресов для сокрытия источника сканирования
Полученный список адресов можно использовать в командной строке nmap при его использовании в режиме decoy (маскировки) -- в режиме когда истинный адрес выполняющего сканирования теряется среди случайных адресов. Пример вызова nmap:
# nmap -D `rnd_ips 10`,me m01
Выполнить сканирование хоста m01. Использовать 11 обратных адресов, 10 из которых поддельные и один настоящий.
При этом на хосте m01, сканирование которого выполняется,
детектор сканирования вообще может не зафиксировать настоящий адрес,
сканирование с которого производится -- в журнал попадут только поддельные адреса.
Вот, например, как это выглядит, если детектированием занимается scanlogd:
Nov 15 10:45:58 m01 scanlogd: 218.96.230.178:34515 to 192.168.15.1 ports 1723, 3389, 23, 80, 256, 25, 554, 389, ..., fSrpauxy, TOS 00 @10:45:58 Nov 15 10:45:58 m01 scanlogd: 98.205.210.146:34515 to 192.168.15.1 ports 1723, 3389, 23, 80, 256, 25, 554, 389, ..., fSrpauxy, TOS 00 @10:45:58 Nov 15 10:45:58 m01 scanlogd: 107.59.189.114:34515 to 192.168.15.1 ports 1723, 3389, 23, 80, 256, 25, 554, 389, ..., fSrpauxy, TOS 00 @10:45:58 Nov 15 10:45:58 m01 scanlogd: 130.131.128.146:34515 to 192.168.15.1 ports 1723, 3389, 23, 80, 256, 25, 554, 389, ..., fSrpauxy, TOS 00 @10:45:58 Nov 15 10:45:58 m01 scanlogd: 11.240.108.114:34515 to 192.168.15.1 ports 1723, 3389, 23, 80, 256, 25, 554, 389, ..., fSrpauxy, TOS 00 @10:45:58 Nov 15 10:45:58 m01 scanlogd: More possible port scans follow
Настоящего адреса в числе зафиксированных нет.
[править] Дополнительная информация
- forum.opennet.ru - OpenNews: Генерирование произвольных осмысленных IP-адресов - Обсуждение статьи на Opennet