ÂÇËÎÌÀÒÀÊÈ È ÂÇËÎÌ IRC-ÑÅÒÅÉÕÀÊÅÐ/¹07(67)/2004Ðîññèéñêèå irc-ñåòè ïåðåæèâàþò íàñòîÿùèé áóì. Íå ðåäêîñòü êàíàëû ñíåñêîëüêèìè ñîòíÿìè þçåðîââàòåëÿ irc: ircd, ëèáî åùå êàêîãî-íèáóäü,nobody, ê ïðèìåðó. Òðàäèöèîííîé áûâàåòñèòóàöèÿ, êîãäà ñ ñîèçâîëåíèÿ ñèñòåìíîãîàäìèíèñòðàòîðà ircd ðàçìåùàåòñÿ â äîìàøíåéäèðåêòîðèè ïîëüçîâàòåëÿ, â êîòîðîéêðîìå ôàéëîâ, íåîáõîäèìûõ äëÿ ðàáîòûircd, ëåæàò âñåâîçìîæíåéøèå ftp, âåá-ñòðàíè÷êèè ïðî÷åå. Îñíîâàòåëüíî ïîêîïàâøèñüâ äîìàøíåì "÷åìîäàíå" ïîëüçîâàòåëüñêîãîàêêàóíòà, ìîæíî îòûñêàòü ìàññó ïîëåçíîãî èáåñïîëåçíîãî äëÿ ñåáÿ, íî öåëü íàøåé àòàêèíå â ýòîì. Ïîëó÷èâ äîñòóï ê ïðîöåññó ñ ïðèâèëåãèÿìèircd, ïðåæäå âñåãî, äåòàëüíî èññëåäóåìêîíôèãóðàöèîííûå ôàéëû ircd. Âáîëüøèíñòâå ñëó÷àåâ ýòî îáû÷íûå òåêñòîâûåôàéëû, â êîòîðûõ ñîäåðæàòñÿ ñóïåðïîëåçíûåäàííûå - â ÷àñòíîñòè, ñåêöèè, îïèñûâàþùèåïðàâèëà àóòåíòèôèêàöèè è çàäàþùèåèíôîðìàöèþ îá èðêîïàõ è ïàðîëè äëÿ ëèíêîâêèê äðóãèì ñåðâåðàì. Âîò ïðèìåð áëîêààóòåíòèôèêàöèè hybrid-ïîäîáíûõ ircd:Ñåêöèÿ àóòåíòèôèêàöèè ircdauth {user = "xyz@*.my.domain.tld";/* òâîé ñïóô */spoof = "hidden.org";/* ÷òîáû èðêîïû íå âèäåëè áåñ÷èíñòâ */spoof_notice = no;/* à ýòî ïîçâîëèò èçáåæàòü íåïðèÿòíîñòåé ñ kill, gline è ïðî-÷èì */exceed_limit = yes;kline_exempt = yes;gline_exempt = yes;no_tilde = yes;class = "opers";password = "mypzzwd12332894";};Ïî÷åìó áû íå ñêðûòü ñâîé ñîáñòâåííûé IP,èñïîëüçóÿ çàìå÷àòåëüíîå ñðåäñòâî spoof ircdhybrid, à çàîäíî ïîëó÷èòü èñêëþ÷åíèÿ èç ëèìèòîâè êëàññ èðêîïà? Ñâîé áëîê auth ñëåäóåòðàçìåùàòü ïåðåä áëîêàìè auth IRC-îïåðàòîðîâ,ïîñêîëüêó ircd ïðè ïàðñèíãå êîíôèãîâ èñïîëüçóåòïðàâèëî "îò ÷àñòíîãî ê îáùåìó". Òåïåðü,ïîñëå òîãî, êàê òû ïðèñîåäèíèøüñÿ ê ñåðâåðóîò õîñòà my.domain.tld è ïîñìîòðèøü, âî ÷òî òûïðåâðàòèëñÿ, òû óâèäèøü ñëåäóþùåå:Åñëè äëÿ àòàêè áûë âûáðàí IRC-ñåðâåð,íà êîòîðîì èðêîïû ïîÿâëÿþòñÿ ðàç â ïîëãîäà,òåáå îáåñïå÷åí ÷óòü ëè íå ïîæèçíåííûéñïóô è î÷åíü ïðèÿòíûå ëèìèòû, ïîñêîëüêóêëàññ ñîåäèíåíèÿ opers èìååò äîâîëüíîâíóøèòåëüíûå öèôðû sendq (îãðàíè÷åíèåíà îáúåì ïåðåäàâàåìîé èíôîðìàöèè).×òîáû âñå, êòî áóäåò çàõîäèòü ñ òâîåãîmy.domain.tld (ê ïðèìåðó,dialup00xx.isp.provider.com), íå ïîëó÷àëè ýëèòíûéñïóô "hidden.org", äîñòóï ê áëîêó authîãðàíè÷åí ïàðîëåì. Òåïåðü, èìåÿ ïî÷òèíåîãðàíè÷åííûé äîñòóï ê ïðîöåññó ircd èåãî êîíôèãóðàöèîííûì ôàéëàì, ìîæíîñäåëàòü ñåáÿ IRC-îïåðàòîðîì.Ãîðå òîìó èðêîïó, êîòîðûé ñîáðàë ñâîéircd, íå êðèïòóÿ ïàðîëåé! Åãî megapazzw3rdzõðàíèòñÿ êàê îáû÷íûé òåêñò, è òû ìîæåøüçàïðîñòî óçíàòü ýòîò ïàðîëü! Íî òàêàÿ õàëÿâàâñòðå÷àåòñÿ êðàéíå ðåäêî, îáû÷íî îïöèÿêðèïòîâàíèÿ âêëþ÷åíà ïî óìîë÷àíèþ ïðèñáîðêå ircd. È êàê ïðàâèëî, ïðèõîäèòñÿèìåòü äåëî ñ ïàðîëÿìè, çàøèôðîâàííûìèîäíèì èç ïîïóëÿðíûõ àëãîðèòìîâ (Unixcrypt, MD5 è ò.ä.). Î ðàñøèôðîâêå MD5 ìûóæå íå ðàç ïèñàëè, êðîìå òîãî, ÿ áû ñîâåòîâàëòåáå ïðî÷åñòü ñòàòüþ Ôîðáà "Ðàñøèôðóåìçàøèôðîâàííîå". ×òîáû òåáå áûëîïðîùå âûòàùèòü èç êîíôèãîâ èíôîðìàöèþîá èðêîïàõ, ÿ ïðèâåäó ïðèìåð ñîîòâåòñòâóþùåãîáëîêà:Ñåêöèÿ, îïèñûâàþùàÿ èðêîïàoperator {name = "Me_";user = "*@hidden.org";password = "";class = "opers";global_kill = yes;remote = yes;kline = yes;unkline = yes;gline = yes;rehash = yes;nick_changes = yes;admin = yes;};Òåïåðü ó òåáÿ åñòü ïðàâà IRC-îïåðàòîðà.Âìåñòå ñ íèìè òû ïîëó÷èë ìàññó ïîëåçíîéèíôîðìàöèè â âèäå notices îò ñåðâèñîâ èïðèëèíêîâàííûõ ñåðâåðîâ. Òû ìîæåøü ñïîêîéíîïðîñìàòðèâàòü Operwalls, Wallops èñòàòèñòèêó ñåðâåðîâ, èñïîëüçîâàòü êîìàíäûkline, dline, kill è ò.ä. Ïîäîáíàÿ õàëÿâà ìîæåòäëèòüñÿ î÷åíü äîëãî, åñëè òû àòàêîâàë ìåðòâûéñåðâåð, çà êîòîðûì ïðàêòè÷åñêè íèêòîíå ñëåäèò. Ïðîñìîòðåâ êîíôèãóðàöèîííûéôàéë ircd äî êîíöà, ìîæíî íàéòè ìàññó äðóãîéêðàéíå ïîëåçíîé èíôîðìàöèè, íàïðèìåð,ïàðîëü íà îñòàíîâêó ñåðâåðà, ïàðîëèäëÿ ëèíêîâêè è ò.ä. Ìîæíî äàæå ïîäêëþ÷èòüê IRC-ñåòè ÷åðåç âçëîìàííûé ñåðâàê ñâîéñîáñòâåííûé êîìïüþòåð! Íî ýòî âðÿä ëè îñòàíåòñÿíåçàìå÷åííûì, ïîñêîëüêó ïî÷òè âñåñîâðåìåííûå IRC-ñåòè ñîäåðæàò ñïåöèàëüíûåñðåäñòâà êîíòðîëÿ çà öåëîñòíîñòüþ ñåòè.Ýòî âñåâîçìîæíûå ñåðâèñû-ìîíèòîðû,áîòû, êîòîðûå íåìåäëåííî íàñòó÷àò äðóãèìIRC-îïåðàòîðàì î ïîÿâëåíèè â ñåòè íåñàíêöèîíèðîâàííîãîñåðâåðà, è, òàêèì îáðàçîì,òåáÿ ìîãóò îáíàðóæèòü è äîâîëüíî áûñòðîëèêâèäèðîâàòü.ÄÛÐßÂÛÅ ÍÀÑÒÐÎÉÊÈÄðóãîé âèä âçëîìà IRC-ñåòåé îñíîâàí íàòîì, ÷òî áîëüøèíñòâî IRC-îïåðàòîðîâ êîíôèãóðèðóþòñâîè ircd êðàéíå íåàêêóðàòíî.Ýòî ñëó÷àè òàê íàçûâàåìûõ ìèñêîíôèãîâ(misconfigure).  hybrid-ïîäîáíûõ ircd ïðàâèëààóòåíòèôèêàöèè ïîëüçîâàòåëåé îïèñûâàþòñÿâ ñïåöèàëüíûõ áëîêàõ. Ïðè ýòîì èñïîëüçóåòñÿïðèíöèï îò ÷àñòíîãî ê îáùåìó:åñëè ìàñêà ïîëüçîâàòåëÿ íå ïîäîøëà íè îäíîìóáëîêó auth, îíà îáÿçàòåëüíî ñîâïàäåò ñ"*@*" - ìàñêîé ñïåöèàëüíîãî áëîêà "ïîóìîë÷àíèþ". Èíà÷å ïîëüçîâàòåëü ïðîñòî íåñìîæåò ðàáîòàòü ñ irc-ñåðâåðîì.Ðàññìîòðèì ðàñïðîñòðàíåííûé ïðèìåð,êîãäà áåäîëàãà IRC-îïåðàòîð ïîëüçóåòñÿ äèàëàïîìëèáî çàõîäèò íà ñâîé ñåðâåð ÷åðåçïðîêñè.  îáùåì, íå èìååò íèêàêîãî ïîñòîÿííîãîäîâåðåííîãî õîñòà, äëÿ êîòîðîãî âáëîêàõ auth ìîæíî áûëî áû ïðîïèñàòü ìàñêóâèäà *@domain.tld. ×àñòî àäìèíû è âîâñå íåïðèäàþò çíà÷åíèÿ âàæíîñòè ìàñîê â áëîêåauth.  ðåçóëüòàòå ïîëó÷àåòñÿ òàê, ÷òî ëþáîéïîëüçîâàòåëü, çàøåäøèé íà IRC-ñåðâåð, ìî-48/whois nick-!- Me [xyz@hidden.org]-!- ircname : Some irc name-!- server : irc.domain.tld [Mega IRC Server]-!- End of WHOISÔàéë ñ èñõîäíûì êîäîì ïàðñåðà, îáðàáàòûâàþùåãî êîíôèãè
æåò àóòåíòèôèöèðîâàòüñÿ êàê IRC-îïåðàòîð è ïðèîáðåñòè âñå àòðèáóòûêëàññà opers, íåîãðàíè÷åííûé sendq-ëèìèò â òîì ÷èñëå.À ýòî âåäü ïîòåíöèàëüíûå ôëóäåðû, îò êîòîðûõ íåâîçìîæíî èçáàâèòüñÿèíà÷å, êàê îòêëþ÷èâ õàêíóòûé ñåðâåð îò âñåé ñåòè! Îäíàæäûÿ íàøåë ïîäîáíûé ñåðâàíò, ïîëó÷èë äîñòóï è çàïðîñòîìîã áû íàãíàòü òóäà öåëóþ àðìèþ ôëóäáîòîâ, óñòðîèâ íàñòîÿùèéàä. Èìåÿ òàêîå ìîùíîå ñðåäñòâî, êàê êëàññ opers, ÿ èìåë ïðàêòè-÷åñêè íåîãðàíè÷åííûå ëèìèòû è áåçäîííûé sendq. Èñïîëüçóÿýòî, ìîæíî áûëî ñåðüåçíî íàðóøèòü ôóíêöèîíèðîâàíèå âñåéIRC-ñåòè, âïëîòü äî ïîëíîãî åå (ïóñòü è âðåìåííîãî) ðàçðóøåíèÿ.Íî ÿ æå íå êàêîé-íèáóäü ïîäîíîê, ïîýòîìó íå ñòàë âðåäèòüíè â ÷åì íå âèíîâàòûì þçåðàì ;).Äðóãàÿ íå ìåíåå ñåðüåçíàÿ äûðà â êîíôèãóðàöèè çàêëþ÷àåòñÿâ íåâåðíîì óêàçàíèè êîëè÷åñòâà ïîëüçîâàòåëåé, ïîäêëþ÷àþùèõñÿê IRC-ñåðâåðó ñ îäíîãî IP'øíèêà. Ýòî òàê íàçûâàåìûå êëîíû. Óíèõ ìîãóò îòëè÷àòüñÿ íèêè è èäåíòû, íî õîñò, ñ êîòîðîãî îíè çàõîäÿò,âñåãäà îäèí è òîò æå.  áîëüøèíñòâå ñëó÷àåâ ïðàâèëüíûéáëîê, îïèñûâàþùèé êëàññ users, âûãëÿäèò òàê:Êëàññ usersclass {name = "users";ping_time = 1 minute;number_per_ip = 2;max_number = 300;sendq = 100 kbytes;};Âñå ýòè òðè ïàðàìåòðà æèçíåííî âàæíû äëÿ çàùèòû ñåðâåðàîò ôëóäà. IRC-îïåðàòîð ñ î÷åíü ðàçâèòûì ÷óâñòâîì äîëãà ïåðåäïîëüçîâàòåëÿìè, íî ñ íàãëóõî àòðîôèðîâàííûì çäðàâûì ñìûñëîììîæåò èçìåíèòü ïàðàìåòð number_per_ip ñ âïîëíå ðàçóìíîãîçíà÷åíèÿ 2 (âñåãî äâà ïîëüçîâàòåëÿ ñ îäíîãî IP) íà 10, 60, 100 èáîëåå. Ïîñëå ÷åãî âðàòà äëÿ ôëóäåðîâ îòêðûòû. Òåïåðü óæå íåâàæíî, ñ êàêîãî IP çàõîäèòü, âàæíî, ÷òî ñ îäíîãî è òîãî æå àäðåñàìîãóò ïîÿâèòüñÿ 60 êëîíîâ. Âîîáðàçè ñåáå, ÷òî ìîæíî âûòâîðÿòü,çàõîäÿ ñ 10 èëè 20 îòêðûòûõ ïðîêñè.Âòîðîé ïàðàìåòð (max_number) ðåãóëèðóåò ìàêñèìàëüíîå êîëè÷åñòâîïîëüçîâàòåëåé äëÿ äàííîãî êëàññà. Äåñÿòü òûñÿ÷ ôëóäáîòîâ- î÷åíü ñåðüåçíàÿ óãðîçà. Çàäà÷à âçëîìùèêà - ïðàâèëüíî èäîñòàòî÷íî ñêðûòíî ëîêàëèçîâàòü ïîäîáíûé ñåðâåð, à çàòåì ïðèâåñòèíà íåãî öåëóþ àðìèþ êëîíîâ. Ïîñëå ýòîãî ãîëîâíàÿ áîëüâñåì IRC-îïåðàòîðàì â ñåòè ãàðàíòèðîâàíà :).Òðåòèé ïàðàìåòð (sendq) ðåãóëèðóåò ìàêñèìàëüíûé îáúåì èíôîðìàöèè,êîòîðûé êëèåíò ìîæåò îòïðàâèòü. Åñëè êëèåíò ïðåâûøàåòýòîò îáúåì, ñðàáàòûâàåò âñòðîåííàÿ â ircd çàùèòà îò ÷ðåçìåðíîãîôëóäà è ïîëüçîâàòåëü îòêëþ÷àåòñÿ ñàìèì ñåðâåðîì ñ ñîîáùåíèåìExcess Flood. Çà÷àñòóþ ïîëüçîâàòåëè î÷åíü æàëóþòñÿ íàòî, ÷òî íå ìîãóò ñäåëàòü Ctrl+V è îòïðàâèòü äðóãîìó ïîëüçîâàòåëþêàêîé-íèáóäü ñìåøíîé-ïðåñìåøíîé àíåêäîò èëè ðàññêàç êèëîáàéòíà 120 :). Ñåðäîáîëüíûé IRC-îïåðàòîð, íå ïîíèìàÿ ïîñëåäñòâèéñâîèõ äåéñòâèé, óâåëè÷èâàåò ýòîò ïàðàìåòð äî 200, 500, 700 êèëîáàéòèëè äàæå äî íåñêîëüêèõ ìåãàáàéò. ×òî è ãîâîðèòü, áåñêîíå÷íûéôëóä â òàêèõ îáúåìàõ ìîæåò ïîëíîñòüþ ïàðàëèçîâàòü äåÿòåëüíîñòüëþáîãî êàíàëà èëè âûáèòü èç ñåòè ëþáîãî ïîëüçîâàòåëÿ. zÍå îáÿçàòåëüíî âçëàìûâàòü ñåðâåð, ÷òîáû ïîëó÷èòü êðàñèâûé õîñò ;). Ìîæíîïðîñòî ïîñòàâèòü bnc íà óäàëåííîé ïëîùàäêå