Утилиты для разведки

Утилиты для разведки

Hack Proof

Поиск поддоменов

Каждый под­домен — это потен­циаль­ная цель, так что их поиск — один из пер­вых шагов при раз­ведке. В боль­ших ком­пани­ях, вро­де IBM или Microsoft, исполь­зуют­ся десят­ки тысяч под­доменов, и все их нуж­но под­держи­вать в акту­аль­ном сос­тоянии, сво­евре­мен­но ста­вить обновле­ния соф­та и фик­сить баги. Как показы­вает прак­тика, о некото­рых под­доменах прос­то забыва­ют или ста­вят заг­лушки, хотя весь кон­тент при этом оста­ется дос­тупен. Кри­тичес­кие уяз­вимос­ти, вро­де RCE, SSTI, SSRF или XXE, чаще все­го обна­ружи­вают на под­доменах. Чем боль­ше ты их най­дешь, тем шире будет повер­хность ата­ки. Сущес­тву­ет очень мно­го инс­тру­мен­тов для их поис­ка, поэто­му рас­смот­рим толь­ко те, которые прош­ли про­вер­ку в "боевых" усло­виях и показа­ли себя эффектив­ными.

Chaos

Сайт про­екта

Нач­нём с простого, автоматизированный поиск (подойдёт для экономии времени). Ути­лита Chaos собира­ет информа­цию обо всех пуб­личных прог­раммах, находя­щих­ся на извес­тных баг­баун­ти‑плат­формах, вро­де Bugcrowd, HackerOne, Intigrity.

Список пос­тоян­но обновля­ется, так что вы всег­да будете видеть акту­аль­ную информацию.

По­иск и сор­тиров­ка по прог­раммам реали­зова­ны очень удоб­но. Нап­ример, мож­но пос­мотреть толь­ко те прог­раммы, которые пред­лага­ют воз­награж­дение за най­ден­ные уяз­вимос­ти или име­ют мно­го под­доменов, или отсле­дить новые прог­раммы. В отли­чие от боль­шинс­тва сай­тов, свя­зан­ных с раз­ведкой, он бес­плат­ный. Почему бы не узнать их поддномены для своих черных дел?

  • Вот, например, поддомены uber.com:

Вводим:

chaos -d uber.com -silent

Получаем поддомены:

restaurants.uber.com

testcdn.uber.com

approvalservice.uber.com

zoom-logs.uber.com

eastwood.uber.com

meh.uber.com

webview.uber.com

kiosk-api.uber.com

...

recon.dev

Сайт про­екта

Еще один сайт, который поможет соб­рать мно­го полез­ной информа­ции о под­доменах. В отли­чие от Chaos, бес­плат­но recon.dev показы­вает толь­ко пер­вые 20 резуль­татов поис­ка. За осталь­ные при­дет­ся зап­латить, одна­ко цена за получен­ный набор дан­ных небольшая.

subfinder

Ска­чать с GitHub

Subfinder счи­тает­ся потом­ком sublist3r — ути­лита тоже собира­ет информа­цию о под­доменах, исполь­зуя мно­жес­тво пас­сивных онлай­новых источни­ков, таких как Baidu, Bing, Censys. Для некото­рых источни­ков пот­ребу­ется внес­ти клю­чи от API в файл кон­фигура­ции ($HOME/.config/subfinder/config.yaml).

Subfinder име­ет удоб­ную модуль­ную архи­тек­туру и написан на Go, так что очень быс­тро работа­ет.

Для примера посмотрим на поддомены одного из сайтов:

Словари

Пе­ред тем, как начинать раз­ведку, сто­ит скачать хорошие словари. От выбора хороше­го сло­варя зависит мно­гое: чем боль­ше будет соб­рано скры­тых парамет­ров, под­доменов, дирек­торий и фай­лов, тем выше шанс обна­ружить какую‑нибудь уязвимость в безопас­ности.

В интерне­те мож­но най­ти огромное количес­тво сло­варей, но не все они эффектив­ны.

fuzz.txt

Ска­чать с GitHub

Начинаю обычно с fuzz.txt, который содер­жит спи­сок потен­циаль­но опас­ных фай­лов и дирек­торий. Сло­варь прак­тичес­ки каж­дый месяц допол­няет­ся новыми сло­вами. Про­ходит­ся быс­тро, а за счет это­го мож­но ско­рее начать ковырять наход­ки и парал­лель­но пос­тавить переби­рать дру­гие, более объ­емные спис­ки. Сло­варь содер­жит 4842 сло­ва, но обычно, имен­но он отлично под­ходит для пер­воначаль­ного иссле­дова­ния веб‑при­ложе­ния.

SecLists

Ска­чать с GitHub

SecLists — это целая кол­лекция сло­варей, которые очень при­годят­ся не толь­ко в баг­баун­ти, но и при пен­тесте. Сло­вари вклю­чают в себя юзер­ней­мы, пароли, парамет­ры URL, под­домены, веб‑шел­лы и мно­гое дру­гое.

Assetnote Wordlists

Сайт про­екта

Ещё однна под­борка сло­варей для обна­руже­ния раз­ного рода кон­тента и под­доменов. Сло­вари генери­руют­ся 28-го чис­ла каж­дого месяца с помощью commonspeak2 и GitHub Actions.

По­мимо авто­мати­чес­ки сге­нери­рован­ных под­борок, на сай­те так­же есть сло­вари, соз­данные вруч­ную, с помощью Google BigQuery.

Самостоятельная генерация

Часто при­ходит­ся генери­ровать собс­твен­ные сло­вари. Написать скрипт, конеч­но, не сос­тавит тру­да, но зачем так всё усложнять ?

Есть мно­го инс­тру­мен­тов для генера­ции сло­варей, но из опыта советую использовать Pydictor. Тул­за пред­лага­ет боль­шой набор фун­кций, бла­года­ря которым мож­но соз­дать иде­аль­ный сло­варь прак­тичес­ки для любой ситу­ации. Помимо это­го, Pydictor уме­ет срав­нивать фай­лы, под­счи­тывать час­тоту слов и объ­еди­нять нес­коль­ко сло­варей в один.

Раз­берем при­мер. Пред­положим, мы зна­ем, что пароль — модифи­циро­ван­ная вер­сия сло­ва Password и может содер­жать:

  • вмес­то а знак @;
  • вмес­то о 0;
  • в кон­це от одно­го до трех чисел.

Ге­нери­рует­ся такой сло­варь с помощью сле­дующей коман­ды:

./pydictor.py --conf '[P[a,@]{1,1}<none>ssw[o,0]{1,1}<none>rd[0-9]{1,3}<none>' --output /home/kali/Desktop/pydict

Здесь <none> озна­чает, что ути­лите не нуж­но делать никаких допол­нитель­ных дей­ствий с под­ста­новоч­ной ком­бинаци­ей.

В кон­це Pydictor выводит крат­кую свод­ку по про­цес­су генера­ции.

Сканеры портов

Прой­тись по всем пор­там в поис­ках инте­рес­ного — увлекательное дело. При этом не сто­ит забывать, что даже внеш­не безобид­ные пор­ты могут скры­вать что‑то не впол­не ожи­даемое. Нап­ример, находил HTTP-сер­вис на 22-м пор­те: туда даже бра­узе­ром зай­ти нель­зя, толь­ко через curl или wget.

Ес­ли ско­уп не осо­бен­но боль­шой, то для ска­на подой­дет Nmap, который точ­но не нуж­дает­ся в пред­став­лении. Но что делать, если хос­тов очень мно­го? Нес­мотря на то что Nmap — мощ­ный инс­тру­мент, у него есть сущес­твен­ный недос­таток — он мед­ленный. Аль­тер­натива, но не кон­курент — masscan: он быс­трый, но не нас­толь­ко фун­кци­ональ­ный, как Nmap. Что­бы ска­ниро­вание пор­тов было дей­стви­тель­но быс­трым и эффектив­ным, мож­но исполь­зовать оба ска­нера вмес­те.

MassMap

Ска­чать с GitHub

MassMap поз­воля­ет прос­каниро­вать боль­шое количес­тво IP-адре­сов со ско­ростью masscan и тща­тель­ностью Nmap. MassMap написан на Bash, так что для его исполь­зования не при­дет­ся ничего ком­пилиро­вать.

Пе­ред началом ска­ниро­вания скрипт про­верит наличие все­го необ­ходимо­го для работы, а при отсутс­твии чего‑либо — авто­мати­чес­ки установит того, чего не хватает.

Ал­горитм прост: сна­чала с помощью masscan ска­ниру­ются все 65 535 TCP-пор­тов по передан­ному спис­ку IP-адре­сов. Пос­ле это­го Nmap про­ходит­ся по най­ден­ным откры­тым пор­там (в том чис­ле с исполь­зовани­ем скрип­тов), выдавая уже рас­ширен­ную информа­цию по каж­дому. Резуль­тат мож­но сох­ранить в удо­бочи­таемом фор­мате.

Так как скрипт — это фак­тичес­ки обер­тка над ска­нера­ми, то можно изме­нить любые парамет­ры, добавить какие‑то свои тул­зы, в общем, тво­рить и улуч­шать!


Report Page