Скрыть объявление
Для безопасных сделок с продавцами рекомендуем пользоваться Гарант сервисом

Сбор информации

Тема в разделе "Прочие", создана пользователем Eminence, 20/4/14.

  1. Eminence

    Eminence dark-service.xyz
    VIP

    Сообщения:
    1.001
    Симпатии:
    275
    Вступление.

    В данном топике я предлагаю отойти на минуту от основной тематики уязвимости web интерфейсов в целом и
    исследований исходного кода различных CMS в часности.
    Хочу поговорить с вами о ситуации которая большинство из нас и приводит на подобные форумы - взлом любой ценой.
    На написание подобного текста меня навела тема "ваши вопросы по уязвимостям".
    По тем или иным причинам мы выбираем жертву, не обладая нужными навыками мы просим помощи, руководствуясь поверхностным
    пониманием что взлом это набор знаний о уязвимых скриптах и возможных уязвимостях в скриптах.

    С чего же всетаки должен начинатся взлом? Со сбора инфорации о жертве.

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

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




    1.Whois.

    Дает возможность увидеть информацию о регистрационных данных, владельцах доменных имён, IP-адресов и автономных систем.

    Живой пример того что это может дать с точки зрения взлома:

    exploit.in

    http://r01.ru/whois/check-domain.php?domain=exploit.in

    Код:
    [email protected]


    Секретный вопрос

    Код:
    Номер паспортa


    Код:
    Tech Name:Ivan Leskov Tech Organization: Tech Street1:ul.Smolnaya,43, kv.15 Tech Street2: Tech Street3: Tech City:Moscow


    Можно украсть домен.

    Нужна база жителей МСК.



    2.Cкан вэб директорий.

    Часто на директории не выставляются нужные права или же конфигурационные фаилы лежат с читаемым расширением в одной из папок на сервере.
    В поисках подобного мне помагает dirbuster:
    http://sourceforge.net/projects/dirbuster/

    Вы скажете, что это удел маленьких сайтов?

    Вот вам живой пример одного из самых посещаемых покер сайтов в мире:

    888poker.com

    Код:
    How is this site ranked relative to other sites? Global Rank 1,275 Rank in Russia 198



    На поддомене лежит открытая директория _ttps://shop.888poker.com/tests/selenium/ в которой спрятан логин/пасс от админ панели.

    Многии сканеры не отличают существующую дерикторию от несуществующей в nginx, проверить это достаточно просто, если дериктория существует
    по уолчанию там находится .htaccess.


    3.Reverse IP Domain Check.

    Инструент:yougetsignal.com/tools/web-sites-on-web-server/
    Все мы прекрасно знаем как устроены хостинги, лишний раз напоминаю что стоит проверять список сайтов на 1 ип.
    Таким-же способом стоит проверять все потдомены и ресурсы одной организации как в примере с 888.com взломанной через
    shop.888poker.com.


    4.Сайты разработчиков.

    Иногда на сайтах устанавливается не распространенная CMS "под ключь", подобные CMS и их разработчики грешат тем что перед
    установкой и настройкой всем импортируют один дамп бд, с штатным паролем администратора, после чего не деактивируют свою
    учетную запись.


    5.Сайты провайдеров.
    Не забывайте что любой vds/vps у кого-то куплен, провайдеры/хостеры такие-же люди.
    Частой ошибкой подобных организаций является открытый доступ к роутерам из вне и стандартные пароли на них.
    Стоит лишний раз просканировать весь дианазон ип адресов в поисках подобного.
    Доступ к роутерам/каммутаторам дает вам возожность снифать трафик, например атаки вида MITM и двигатся дальше по подсети.
    http://www.shodanhq.com/ - так-же в помощь.

    6. Сканирование портов
    Стандартная продцедура, позваляет понять какие сервисы крутятся и не задавать вопросов почему я не могу раскрутить sql-inj
    когда на машине стоит MSSql.

    Накидал под свои нужды и делюсь с вами ,асинхронный сканер портов, очень быстро, удобно, модно, молодёжно.

    Код:
    #define MAX_SOCKETS 100 // Ports to scan #define MAX_THREADS 100 // Threads limit int Threads = 0; extern char StartIP[MAX_PATH], EndIP[MAX_PATH]; VOID WINAPI ScanRoutine( WORD Port ) { DWORD dwStart, dwEnd; SOCKET Sockets[MAX_SOCKETS]; int BusySocks, Options, Length, BusyAddrs[MAX_SOCKETS]; struct sockaddr_in addr; fd_set fdWaitSet; struct timeval tv; do { if (!strlen(StartIP) || !strlen(EndIP)) { break; } dwStart = htonl(inet_addr(StartIP)); dwEnd = htonl(inet_addr(EndIP)); if (!dwStart || !dwEnd) { break; } for (DWORD i=dwStart; i<dwEnd; i++) { BusySocks = 0; memset(Sockets, 0, sizeof(Sockets)); memset(BusyAddrs, 0, sizeof(BusyAddrs)); for (int j=0; j<MAX_SOCKETS; j++) { Sockets[j] = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (!Sockets[j]) { continue; } BusySocks++; addr.sin_family = AF_INET; addr.sin_port = htons(Port); addr.sin_addr.S_un.S_addr = htonl(i); ULONG ulBlock; ulBlock = 1; if (ioctlsocket(Sockets[j], FIONBIO, &ulBlock) == SOCKET_ERROR) { continue; } connect(Sockets[j], (struct sockaddr *)&addr, sizeof(addr)); if (WSAGetLastError() == WSAEINPROGRESS) { closesocket(Sockets[j]); BusySocks--; BusyAddrs[j] = 0; } else { BusyAddrs[j] = i; } if (i<dwEnd) { i++; } else { break; } } FD_ZERO (&fdWaitSet); for (int k=0; k<MAX_SOCKETS; k++) { if (BusyAddrs[k]) { FD_SET(Sockets[k], &fdWaitSet); } } tv.tv_sec = 1; tv.tv_usec = 0; if (select(1, NULL, &fdWaitSet, NULL, &tv) == SOCKET_ERROR) { continue; } for (int i=0; i<MAX_SOCKETS; i++) { if (BusyAddrs) { if (FD_ISSET (Sockets, &fdWaitSet)) { Length = sizeof(Options); if (getsockopt(Sockets, SOL_SOCKET, SO_ERROR, (char*)&Options, &Length) == SOCKET_ERROR) { continue; } if (Options == 0) { #ifdef _DBG_PRINT_ addr.sin_addr.S_un.S_addr = htonl(BusyAddrs); char tmp[MAX_PATH]; DWORD dwtmp; wsprintf(tmp, "\r\n%s:%d OPENED [%d:%d]\r\n", inet_ntoa(addr.sin_addr), Port, Threads + 1, MAX_THREADS); WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), tmp, strlen(tmp), &dwtmp, NULL); #endif switch (Port) { // payload default: break; } } } } } for (int j=0; j<MAX_SOCKETS; j++) { closesocket(Sockets[j]); } while (Threads >= MAX_THREADS) { Sleep(1000); } } } while (FALSE); ExitThread(ERROR_SUCCESS); }


    7. Человеческий фактор.
    Не забывайте что все пользуются копьютерами, даже систеные администраторы не всегда уделяют много времяни безопасности именно своих ПК или телефонов,напримере BBC,
    Часто получив реальный IP можно с легкостью попасть в целевую систему и найти нужные нам данные.
     

Поделиться этой страницей