*************************************************************************** Sva prava pridrzana ;> Fajl se moze kopirati, prodavati i sve ostalo..., samo ukoliko je ime autora kreator naznaceno i fajl nije promenjen. Za eventualne greske, molim vas obavestite me na w_skywalk@hotmail.com Ukoliko se slazete, pritisnite taster [ Page Down ] da biste poceli da citate. -=[ kreator ]=- [25.8.2K] *************************************************************************** ****************************************** * sendmail & pop3 objasnjeni * * kreator * ****************************************** **************** * Sendmail (SMTP)* **************** SMTP (Simple Mail Transfer Protocol) je protokol za komunikaciju izmedju racunara, odnosno za prenos poruka sa jednog racunara na drugi. Programi za email, ustvari koriste ovaj protokol za komunikaciju sa sendmail deamonom. Standardni SMTP port je 25,tj Sendmail deamon ceka na konekcuju na tom portu. Komunikacija izmedju racunara kada saljete tekst-postu izgleda ovako (najprostije): vas racunar(telnet ili neki drugi program) -> SMTP (Sendmail - salje postu) -> POP3 (prima postu) osim ako normalno nemate i sami na racunaru sendmail deamon pokrenut (UNIX/Linux), pa tada veza izgleda: vas racunar(SMTP) -> POP3 server Ovo normalno nista nije vidljivo korisniku (inace bi bilo strasno zabavno), ako koristi neki od programa za manipulisanje poste (Outlook,Eudora, za Win$owse ili Messanger). Ali sto prosto, kada mozemo da ga bar malo ( samo malo ;) ) iskompliciramo: Ukljucite vas telnet program (za win: run: telnet) i za server izaberite smtp server recimo internet provajdera: smtp.ptt.yu a za port otkucajte 25. Obavezno ukljucite local echo jer sendmail deamon ne vraca pritisnute tastere. Za terminal ostavite VT100. Za unix/linux: telnet smtp.ptt.yu 25 Sada se na ekranu pojavljuje sendmail deamon baner: 220 nesto.neki.domen ESMTP Sendmail 8.9.3/8.8.6; Thu, 8 Jul 2000 20:06:05 +0001 (GMT). nesto kao dobrodosli, ime servera, verzija sendmejla,trenutno vreme i jos neko djubre. Ovaj baner sadrzi neke veoma vredne informacije, kao Sendmail 8.9.3/8.8.6 - verzija sendmail deamona. Uz malo srece mozda i pokaze koji i verziju O.S.a koristi. Ovo ESMTP je oznaka za Extended Simple Mail Transfer Protocol (prosireni SMTP protokol, vise komandi). Taj baner sada bas i nije nesto mnogo vazan. Sada otkucajte sledece: helo smtp.ptt.yu ili ako to uzvrati gresku ehlo smtp.ptt.yu Sendmail odgovara sa necim kao: 250 smtp.ptt.yu Hello vas.hostname [262.32.146.225], pleased to meet you |^| |^| |---------------| VI Ono sto komanda (HELO ili EHLO) radi jeste "upoznaje vas" sa serverom, odnosno salje vasu ip adresu serveru. Neophodno je izvrsiti ovu komandu na pocetku. Ako zelimo da dobijemo informacije ili pomoc iskoristicemo komandu HELP ili ?: (Mnogi serveri ne pruzaju nikakvu pomoc): HELP 214-This is Sendmail version 8.9.3 214-Topics: 214- HELO EHLO MAIL RCPT DATA 214- RSET NOOP QUIT HELP VRFY 214- EXPN VERB ETRN DSN 214-For more info use "HELP ". 214-To report bugs in the implementation send email to 214- sendmail-bugs@sendmail.org. 214-For local information send email to Postmaster at your site. 214 End of HELP info Sada ako zelimo da ostvarimo cilj, da posaljemo poruku nekom, koristimo sledece komande: U zagradama se nalaze samo komentari. MAIL FROM:sloba_milosevic@gov.yu { ko salje - lazna email adresa ili prava} RCPT TO:info@ptt.yu { ko prima } DATA { sama poruka } {Posle DATA server odgovara da samu poruku zavrsimo tackom u praznom redu} Propade nam Jugoslavija! {Telo poruke} Slobodan Milosevic . {Sama tacka u redu za kraj poruke} {Server odgovara sa } 250 CAA15313 Message accepted for delivery i to je sve. Sada ovaj broj posle 250 - CAA15313 je Message ID (MID) odnosno broj poruke koji je jedninstven, i koji ostaje na serveru sa kog saljete postu. Da biste se odjavili koristite komandu QUIT Server odgovara sa necim kao GoodBye ili Sayonara. :)) Sada primetite nesto: U komandi MAIL FROM: uneo sam nepostojeci email a server nije prijavio nikakvu gresku. To je i jedna od najvecih (prednosti);)) nedostataka sendmaila, jer bi server gubio dosta vremena dok sazna da li je adresa validna (bar ja tako mislim). Ima servera koji imaju tu proveru pa vas nece bas propustiti kroz prste tako lako. Rekoh, prednosti...Zar nikad niste zeleli da posaljete poruku nekom, predstavljajuci se kao neko drugi? Zar ne vidite kakve koristi neko moze da izvuce iz toga? Na ovaj nacin se salju lazne poruke. Medjutim, dali su stvarno lazne i anonimne sa vase strane? U headeru (zaglavlju) poruke pronacicete nesto kao: Message-ID: <199907092355. CAA15313@nesto.neki.domen> ^^^^^^^^ ovo znaci da se sve informacije (i MID) cuvaju na serveru nesto.neki.domen. Takodje u Headeru mozete pronaci i ip adresu / host onoga ko vam salje poruku. Ovakva poruka bas i ne izgleda naj-autenticnija. Bolje resenje bi bilo, da se konetujemo na server od onoga od koga zelimo da posaljemo poruku: telnet gov.yu 25 i tek onda mozemo da saljemo poruku od sloba_milosevic@gov.yu i poruka ce izgledati autenticno. Takodje, isto tako ce izgledati ukoliko saljemo poruku nekome ko je na istom serveru. Ako ste koristili nekad neki program za postu u nekom od grafickih okruzenja (Windows, X) mora da ste primetili ova polja kada saljete poruku: To: {kome saljemo poruku} Cc: {Carbon Copy - fotokopije ;)} Bcc: {Blind Carbon Copies - slepe fotokopije} Subject: {predmet, glava, naslov poruke} Deo (To:) vec definisemo komandom RCPT TO:. Delove CC i BCC (ako zelimo nekoj osobi da posaljemo kopiju pisma, ili bolje vise osoba, posle komande DATA kucamo: CC:w_skywalk@hotmail.com ili ako zelimo poslati kopiju za nekoliko osoba kucamo CC:w_skywalk@hotmail.com;greg@matt.com;crash@skycrash.com | | / / Odvajamo adrese tackom i zapetom (nisam isprobao ovo, ali bi trebalo da radi) Na isti nacin upotrebljavamo i Bcc: BCC:w_skywalk@hotmail.com ili za vise ljudi: BCC:w_skywalk@hotmail.com;greg@matt.com;crash@skycrash.com Polje Subject navodite isto tako: SUBJECT: Povodom one ponude... (nisam isprobao ovo, ali bi trebalo da radi) Normalno ni CC ni BCC ni Subject nisu neophodni vec ih kucate po zelji. Ako ste zavrsili sa ovim, onda mozete da nastavite sa telom poruke i zavrsite ga samom tackom u redu. Druge interesantne komande Sendmaila su: EXPN adresa_lokalnog_korisnika koja vam moze dati dosta informacija o korisniku, na primer ako smo na SMTP portu negde.co.yu komanda: EXPN ivan@negde.co.yu moze dati nesto ovako: Mehmed Ivancic {za ovako nesto, za lokalni server mozete koristiti samo EXPN ivan} ali moze i dati nesto ovako: XXX@XXXXXX ili tako vec nesto {slucaj kod smtp.ptt.yu - ne vredi nista} zavisi od Sendmail verzije i konfiguracije istog. Veoma zanimljive insformacije mozete dobiti ako koristite komandu kao EXPN <0,@,root,nobody,guest,admin,administrator,bin>. zatim: VRFY ivan@negde.co.yu Ova komanda proverava (Verifikuje) zadatu e-adresu. **************************** * POP3 (Post Office Protocol)* **************************** Post Office Protocol je protokol za prihvatanje poruka u postansko sanduce. Danas najupotrebljavanija verzija je POP verzije 3 ili POP3. Standardni port je 110. Sada se konektujemo naprimer na: telnet pop3.ptt.yu 110 Server uzvraca POP3 Bannerom (nesto kao ovo): OK POP3 [262.192.62.1] server ready sada navodimo korisnicko ime i lozinku: USER server uzvraca: +OK User name accepted, password please PASS server uzvraca: +OK Mailbox open, 3 messages (imamo 3 poruke) |^| ili ako ima greske: | | -ERR Bad login | | (imate 3 pokusaja za autentikaciju) | | Ukoliko to prodje mozete videti stanje poruka: | | LIST | | Server uzvraca sa : | | 1 123123------------------------------------/ 2 454322-----------------------------------/ 3 322344----------------------------------/ gde je prvi broj, broj poruke a drugi njena velicina. Sada ako zelimo da pogledamo poruku br 1: RETR 1 za 2: RETR 2: i tako dalje RETR # , gde je # broj poruke. Ako zelimo da obrisemo poruku kucamo: DELE # ( gde je # - broj poruke) Medjutim sada, posto pogledamo poruke one se oznacavaju kao vec procitane, sto i bas nije pametno ukoliko gledamo tudji akaunt. Stoga ih resetujemo, na neprocitane komandom: RSET I odjavljujemo se komandom : QUIT Kada se logujete, server stvara lock-fajl koji ne dozvoljava da neko drugi bude ulogovan u isto vreme. Tek kada se odjavite, server ga brise i dozvoljava novi prisup postanskom sanducetu. Sada, zasto je korisno znati sve ove proste stvarcice: - lazni email (fake mail) - dobijanje informacija o korisniku (EXPN / VRFY) - ukoliko nemate program za manipulaciju poste - dobijanje informacija o serveru - ukoliko vas neko bombira porukama i jos puno toga (ako zelite da stvari radite "rucno").... S obzirom da je Sendmail jedan od najbagovitijih programa, lako se moze iskoristiti za dobijanje punog pristupa serveru. U tom slucaju napac treba pronaci sto vise informacija o serveru, verziji O.S., verziji POP3, Sendmejla, a zatim potraziti 3X5l0|7. ; ************************************** *Sada pitanje kako resiti ove probleme?* ************************************** (za nekog su problemi,za nekog prednosti) I. Lazne poruke Sto se tice laznih poruka, taj problem bi se mogao srediti tako sto se od korisnika trazi logovanje, isto kao u POPu3 (primer): telnet smtp.negde.nesto 25 negde.nesto ESMTP Sendmail neka verzija bla,bla,bla USER PASS pa se onda doda ogranicenje da se posta moze slati samo sa maila: korisnicko_ime@negde.nesto tako da vise komanda: MAIL FROM: nije potrebna, vec samo koristimo: RCPT TO:primalac@nestodrugo.nesto II. EXPN, VRFY Sto se tice komandi EXPN i VRFY, trebalo bi se ograniciti, odnosno komanda EXPN nije potrebna obicnim korisnicnima, vec samo administratorima. Svi na internetu pokusavaju da sacuvaju anonimnost... Dok bi se komanda VRFY trebala koristiti samo ukoliko se u Sendmail unese autentikacija kao sto sam gore naveo, inace bi potencijalni napadac, mogao da isprobava razna korisnicka imena, i tako doci do potencijalnih zrtvi. Najbolje je za sada iskljuciti obe komande. III. Mail bombing Sto se tice Mail bombinga, ili na srpskom: bombiranjem porukama, (sto ustvari predstavlja zatrpavanje postanskog sanduceta), treba uvesti u POPu ogranicenje od nekoliko (2 - 3) poruke sa nekog hosta u roku od recimo 10-20 minuta. Sve ostale poruke bi bile odbijene ili obrisane. Prvo resenje je bolje jer kompjuter uopste ne prihvata poruku, stoga ne usporava kompjuter (vezu). IV. Informacije o serveru Da bi se sakrile sve informacije o serveru, treba iskljuciti sve Bannere deamona, ili ograniciti ih tako da ne pokazuju verziju, operativni sistem i druge vitalne informacije. V. Exploiti Uvek ce postojati sigurnosne rupe u servisima, ali to ne znaci da ih ne treba non-stop poboljsavati odnosno update-ovati. Na mnogim internet sajtovima postoje exploiti. Treba ih uzeti i isprobati na serveru, kako bi doznali da li je server podlozan napadu, a posle toga pronaci zakrpu. Sve se to normalno mora raditi u tajnosti, i sto moguce brze. Najbolje je svakodnevno, pratiti rupe i zakrpe. --------------------------------------------------------------------------------------