Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  92 49092
[SIZE=3]Hva er hacking?[/SIZE]

Hva som faktisk er hacking er et mye diskutert tema og alle strides om hva som skal skilles under hacking og cracking. Slik jeg oppfatter miljøet nå er hacking tenkt på "alt" av programmering og operasjoner som krever en større IT-kompetanse enn gjennomsnittet. Cracking blir da brukt når man bruker denne kunnskapen ondsinnet og for å skaffe seg rettigheter man ikke skal ha.

Jeg vil også benytte meg av sjansen til å anbefale boken "Hacking Exposed" som forklarer veldig godt og inngående og lever absolutt opp til påskriften "Informational Gold!".

Brukte begrep:
Exploit - En svakhet i et program.
Daemon - En tjensteserver som kjører i bakgrunnen. F.eks. Apache(HTTP) og PureFTP
DoS, Denial Of Service - Her skaffer man ikke rettigheter, men sørger for at offeret blir lammet og satt ut av funksjon.
Flooding - Flom, gi offeret en alt for stor mengde informasjon på kort tid.
Spoofe - Få en TCP/UDP pakke til å oppgi feil IP-addresse som avsender.

[SIZE=3]Hvilke typer hacking/cracking finnes?[/SIZE]

Det finnes mye som inngår under disse begrepene. Jeg vil prøve å dele de største inn i forskjellige grupper:

1. Rettighetscracking
1.1 Ved å knekke passord
1.2 Ved bruk av trojaner
1.3 Ved å utnytte svakheter(exploit) i daemons
1.4 Social Engineering

2. Tjenestenekting(DoS)
2.1 Nettverksflooding
2.2 Ressursflooding
2.3 Båndbredde

3. Serial/lisens-cracking
3.1 Serial
3.2 Trial-utvidelse

Appendix
4. Nettsider
4.1 Bruteforce
4.2 Variable scope
4.3 Cookie spoofing
4.4 Session hijack
4.5 SQL injection

1. Rettighetscracking
1.1 Ved å knekke passord
Det er i prinsippet 3 måter å knekke et passord på. Den ene er å gjette.

Den andre er å bruke et verktøy som bruteforcer. Et program som bruteforcer et spørsmål kan benytte seg av en ordliste og tilfeldig generering av tegn. Så prøver den å lage en tekststreng som stemmer med passordet. Siden de fleste algoritmer for passord er en-veis orienterte, altså at de ikke kan løses(dekrypteres). Resultatet av et kryptert passord kaller man en hash. For å bruteforce et passord må man først generere en tekststreng som man enkrypterer med den aktuelle algoritmen og sammenligner med hashen man har innhentet fra en passordfil på offermaskinen.

Den tredje kan brukes når det brukes svake algoritmer som kan dekrypteres direkte utifra hashen. Dette er så godt som dødt da ingen bruker slike algoritmer lenger.

Typiske verktøy: John The Ripper, L0phtCrack(@stake LC), knoppix-std


1.2 Ved bruk av trojaner
Når man skaffer seg rettigheter ved hjelp av en trojan utnytter man en tjeneste/funksjon på offerets maskin for å få trojanen til å kjøres. Det foregår da med at man f.eks. sender en trojan per e-post og kaller den "c00lpic.jpg.exe". De fleste windowsbrukere har på at de ikke vil se filendingen så de ser bare "c00lpic.jpg" og reagerer kanskje ikke på at det er en kjørbar fil. De velger å starte den og da legges trojanen inn. Den kan være en enkel telnet server som lytter på en høy port; f.eks.: 31337. Da kan vi logge oss inn på maskinen som er smittet.

Windows er utmerket til å knekkes med trojaner da IE er integrert helt inn i kjernen til Windows og om man da har en svakhet i IE så man får kjørt en trojan kan den kjøre så godt som uten begrensninger. F.eks. endre passordfilene.l


1.3 Ved å utnytte svakheter(exploit) i daemons
En exploit er en svakhet i en program som gjør at vi kan få programmet til å gjøre noe helt annet enn utvikleren hadde tenkt vi skulle. En daemon er da en tjeneste som står å går på offermaskinen og kan ofte være HTTP serveren, f.eks. Apache eller IIS. De letteste er FTP-servere som tillater anonym tilkobling da det er veldig uproblematisk å utveksle filer med offermaskinen.

En exploit kan være hva som helst og man må kunne en god del programmering for å oppdage og utnytte exploiter. De simpleste exploitene er ganske enkelt f.eks. PHP sider som bruker .php?site=main.php og en kode som ser slik ut: "include($_GET['site']);". Da kan man sende .php?site=/etc/httpd.conf og vil få kunne se hele konfigurasjonen til Apache. Eller mer interessante filer.

Exploit kan også være en buffer overflow og disse er mye brukt. Buffer overflows oppstår ofte når programmererene blir litt late og ikke gidder å ha noe særlig streng sjekking av variabler som kommer fra brukeren. For eksempel dette stykke C-kode:
Buffer overflow i C
char user[128];
char realuser[128] = "bufferoverflow";
char passwd[128];
char realpasswd[128] = "bufferoverflow";

if (strcmp(user, realuser,128)==0 && strcmp(passwd, realpasswd,128)==0)
Vis hele sitatet...
Denne koden kan bli utsatt for buffer overflows om brukeren taster inn et brukernavn og passord 255 tegn med like tegn. Ganske enkelt fordi da vil variabelen user gå over sin predefinerte grense i stacken(minnet) og skriver over innholdet i realuser og samme for passordet. Så når det kommer til sammenligningen sammenligner den bare en lengde like tegn.

Buffer overflows kan også brukes til å kjøre programmer som ikke er tiltenkt.

Gode sider om nye exploits: www.packetstormsecurity.com, www.cert.org, securityfocus.com


1.4 Social Engineering
Dette er på vei fram da folk er som oftes lettere å lure enn å finne svakheter i systemer. Social Engineering er rett og slett at man bruker de mennekeskene som er involvert i et system for å få seg tilgang man ikke skal ha. Mange har hatt suksess med å ringe "Hei, jeg jobber firma XXX og skal utføre vedlikehold på serveren deres. Kan jeg få passordet?". Mange gir fra seg passord ved slike banale ting som dette. Men Social Engineering er så mye mer også. Kevin Mitnick's bok om social engineering(The Art of Deception: Controlling the Human Factor) er en kjempebok som jeg anbefaler for alle.

2. Tjenestenekting(DoS)
2.1 Nettverksflooding
Her benytter seg man av svakheter i nettverksprotokollene og f.eks. setter opp et vanvittig antall gående tilkoblinger som gjør at offeret etterhvert rett og slett ikke klarer å koble seg til flere brukere. Og da har man oppnådd målet. Her bruker man f.eks. et SYN-angrep.


2.2 Ressursflooding
Her prøver man å få offeret til å bli helt opptatt med enten et vanvittig antall pakker eller setter 2 tjenester på offeret opp mot hverandre så de bruker opp minnet og trekker all CPU-kraft fra de andre prosessene. Man kan spoofe en UDP-pakke.


2.3 Båndbredde
Et angrep som går på båndbredde går ut på en ting, overbelaste linja til offeret. Dette er ofte DDoS(Distributed Denial Of Service) angrep som bruker store nettverk av flere hundre maskiner(som man gjerne har cracket seg tilgang til) over hele verden og man får alle maskinene til å sende en enkel ping pakke til offeret som må svare til alle maskinene.

3. Serial/lisens-cracking
3.1 Serial
For å finne serials brukes en metode som heter "Serial fishing". Man starter en debugger og ber den bryte av (setter en breakpoint) like før programmet sjekker om serialen stemmer. Så går man steg for steg videre (man stepper) igjenom til programmet sammenligner den riktige serialen med den man har skrevet inn, og leser ut den riktige. Eller så kan man ganske enkelt modifisere programmet og endre slik at man elegant hopper over sjekkingen(crack).

Brukte verktøy: SoftIce, w32dasm

3.2 Trial-utvidelse
Dette er mye av det samme som over. Man leter etter sammenligninger av tidspunkter og enten modifiserer datoen langt fram i tid eller hopper over hele sjekkingen.

Brukte verktøy: SoftIce, w32dasm


4. Nettsider
4.1 Bruteforce
Man kan faktisk bruteforce en login, men det er vanvittig ueffektivt og alt for lett å bli oppdaget. Det er en helt uaktuell metode å bruke så jeg vil ikke gå nærmere inn på det.


4.2 Variable scope
I PHP har man noe så dumt som en register_globals innstilling. Denne var i gamle dager default satt til on, noe som innebærer at alle variabler, uansett hvor de kommer fra kan kalles ganske enkelt med $variabelnavn. Etterhvert som PHP ble utbredt skjønte man hvor dumt dette var og endret til til off. Men mange lærte seg PHP i denne perioden og koder ofte som register_globals er satt til on og endrer konfigurasjonen til serveren.

For å skjønne denne typen må man forstå begrepet variable scope. Kort fortalt så er det hvor variabler kan brukes etter hvor de blir opprettet. Man kan f.eks. sette en variabel utenfor en funksjon og ikke få tilgang til den i funksjonen. Dette er i og for seg greit, men problemet oppstår da variabler fra brukeren f.eks. gjennom en form som bruker POST metoden. Med register_globals satt til on kan man ganske enkelt bare skrive $var, men ved register_globals satt til off må man skrive $_POST['var']. Da er man sikker på at variabelen kommer fra en POST kilde.

Forskjellen på POST og GET er ganske enkelt at data som kommer via POST blir sendt i bakgrunnen, mens data via GET blir lagt til i addressen(.php?var=foo).

Og da har man problemet med register_globals=on. En har skrevet et stykke kode som ser slik ut:
login.php
<?php
session_start();
session_register("loggetinn");

if ($brukernavn == "admin" AND $passord == "passord")
{
$loggetinn = true;
}

if ($loggetinn == true)
{
//vis adminside
}
?>
Vis hele sitatet...
En som vil utnytte dette kan gjøre det ganske enkelt slik: .php?loggetinn=true. Man har ingen måte å sjekke hvor $loggetinn kommer fra og dermed kan den like gjerne komme fra GET som sessionen. Den sikre måten å gjøre dette på vil være:
login.php
<?php
session_start();
session_register("loggetinn");

if ($_POST['brukernavn'] == "admin" AND $_POST['$passord'] == "passord")
{
$_SESSION['loggetinn'] = true;
}

if ($_SESSION['loggetinn'] == true)
{
//vis adminside
}
?>
Vis hele sitatet...

4.3 Cookie spoofing
Det å hijacke en session eller cookie innebærer at man utnytter svakheter her. For å demonstrere bruker jeg et av nivåene i ngsec spillet. Her får man en cookie med innholdet "Credentials=hfre%3Dthrfg" når man logger seg inn med feil brukernavn. Det etter likhetstegnet ser for folk flest ut som bare rot, men med litt tenking finner man fort ut at det er rot13 algoritme. %3D er ganske enkelt =, bare prøv. Så vi har "hrfe=thrfg". Vi setter igang med å dekryptere det og vi vil få user=guest. Ok! På siden får man beskjed om at "You are not user: admin" så da vil vel vanlig logikk tilsi at vi må endre user=guest til user=admin? Om vi krypterer admin med rot13 blir det ngzva. Vi leser litt i RFC 2616 som beskriver HTTP/1.1 standarden og finner ut hvordan cookies blir sendt. Vi hiver opp en telnetklient, åpner en kobling til webserveren på port 80 og sender dette til den:
telnet quiz.ngsec.com 80
GET /gameX/levelX/validate_TakeDown_cookie.php HTTP/1.1
Host: quiz.ngsec.com
Referer: http://quiz.ngsec.com/gameX/levelX/v...dmin&password=
Cookie: Credentials=hfre%3Dnqzva
Vis hele sitatet...
Serveren tror dermed vi sender den en cookie hvor user er satt til admin og scriptet vil tro vi er innlogget som gyldig bruker.


4.4 Session hijacking
For å hijacke en session må man bruke en sniffer for å finne ut når noen logger seg inn og har en sesjon gående mot serveren og ta ut Session ID. Da vil serveren tro at du er brukeren som logget inn tidligere. Metoden er mindre brukt da sniffing er kjedelig og krever mye tid.
Sider som bruker SSL(HTTPS) kan ikke bli utsatt for slikt.


4.5 SQL injection
Dette er en av "vanskligste", men samtidig en veldig lett teknikk. Man leter ganske enkelt etter svakheter i hvordan scriptet kjører spørringer mot SQL serveren og utnytter disse. Jeg vil igjen bruke et nivå fra ngsec til å forklare dette. Man har en loginside som henter ut brukerinformasjon fra databasen med denne spørringen:

"SELECT pass FROM $table WHERE user='$login'".

Dette kan man fort utnytte. Vi logger oss inn slik med dette brukernavnet:

' union select '5F4DCC3B5AA765D61D8327DEB882CF99
og passord: "password". 5F4DCC3B5AA765D61D8327DEB882CF99 er MD5 hashen av "password". Det man gjør ved dette er lage en spørring som vil se slik ut:

"SELECT pass FROM $table WHERE user='' union select '5F4DCC3B5AA765D61D8327DEB882CF99"

Det man ganske enkelt gjør her er å ikke hente noe fra tabellen $table, men den henter bare ut MD5 hashen vi ga den. Scriptet sammenligner hashen fra SQL med hashen den får av passordet vi prøvde å logge inn med. Vi har ganske enkelt lurt systemet.

En enklere SQL injection kan se slik ut:
"select * from users where brukernavn = '$brukernavn' AND passord = '$passord'"

Brukernavn: a' or '1' = '1
Passord: a' or '1' = '1

Dersom magic quotes er av og man ikke bruker addslashes() så blir queryen slik:

"select * from users where brukernavn = 'a' or '1' = '1' AND passord = 'a' or '1' = '1'"

SQL injections kan foregå på mange måter, dette er bare to av mange.


[SIZE=3]Framgangsmåte for et angrep[/SIZE]

Mange tenker nok fortsatt "Hvordan hacker jeg en maskin?". Det vil jeg gå litt inn på nå. I utgangspunktet så er det 1 kriterie som alltid må være oppfylt for at man skal kunne få tilgang til en maskin fra utsiden. Det er at maskinen må kjøre en eller annen form for tjeneste som lytter mot internett(http, ftp, ssh, telnet, etc).

De fleste hjemmemaskiner og kontormaskiner med Windows har ikke slikt. Man har rett og slett ingen mulighet å få en samtale med maskina uten å infisere den f.eks. med en trojan via e-post først.

Et angrep går som oftes i 4 steg.
1. Footprinting
2. Scanning
3. Enumeration
4. Angrepet

1. Footprinting
Footprinting innebærer å finne ut mye informasjon om offeret. Hvem som eier serveren, hvem som er ISP, hvilke DNS-servere offeret bruker, hvordan nettverket ser ut rundt offeret og slike ting.

Brukte verktøy: whois, nslookup, host, traceroute


2. Scanning
Nå begynner å gå mer nøyaktig inn på offermaskinen og finne ut detaljerte ting om den. Da finner man ut hvilke tjenester maskinen kjører og hvilke versjoner av daemonene som blir brukt.

Brukte verktøy: nmap, strobe, icmpquery, udp_scan(satan), netcat


3. Enumeration
Nå begynner man å såvidt sjekke muligheten for å komme inn på maskinen. En sjekker etter delte volum, anonyme brukere på ftp, snmp daemons, og lignende.

Brukte verktøy: netcat, rpcinfo, finger, enum, NTRK


4. Angrepet
Alt etter hva man fant ut i de foregående stegene utfører man angrepet. Det kan være usikre kontoer, buffer overflows, dårlige konfigurerte daemons, etc.


Håper det hjelper dere og jeg vil takke til Scha og |d13m0b for innspill!
Må si dette er en bra Guide, den skal jeg ta og lese gjennom snart

Terningkast 6
Onion Bhaji Master Mason
Kakcoo's Avatar
Donor
Fin forklaring. Leste ikke så mye, men skal lese resten senere.
Vakker guide for en liten knall som meg som ikke kan noe om emnet.

Takk for fin guide!
Tror at tilogmed jeg kan lære meg å hacke etter å ha lest denne guiden, tusen takk
Sykt bra at du tar deg tid til dette. Må leses.

Terningkast 6 her også
Fantastisk bra guide. Mye jeg visste fra før av, men defintivt mye jeg ikke hadde verken hørt eller kunnet om.
Nub!
TipeX's Avatar
Trådstarter
Flott at den blir så godt mottatt Om noen har innspill, ser mangler eller har tips til forbedringer så si gjerne ifra!
Et DoS angrep kan være alt mellom himmel og www. I utgangsunktet er DoS og nekte en bruker resursene sine, noe du skriver. Altså, om jeg klipper av tp kabelen din så er det ett DoS angrep siden du ikke kommer deg på nett. Dette høres litt banalt ut, men er mer aktuelt i trådløse nett der du kan ta over/"scramble" nettet slik at brukerene ikke får kontakt med f.eks. internett.
Satan...noen folk har rett og slett for lite å gjøre
hacking er filosofi!
Endelig en kort og god guide som kan forstås
må jo si at denne guiden var genial.
det er bare og sette seg ned for å lære seg php/c++/perl
osv.

har begynt med C++ såvidt, virkelig gøy og kunne forskjellige
"hacke/cracke" triks
Veldig bra guide. Terningkast 7/10
Sist endret av Fluffy; 1. desember 2004 kl. 15:28.
Takk for informasjonen.
Fin guide dette, penpent faktisk, man kan faktisk lære noe av den.

Muligens legge til noe om wardriving(selv om mye ligger i floodinga)?
Sist endret av zpn*; 2. desember 2004 kl. 23:35.
Jævla bra guide for å si det mildt :P
▼ ... over en uke senere ... ▼
Hvor kan jeg få tak i dette brutforce programmet?
Nub!
TipeX's Avatar
Trådstarter
Jeg listet opp 2 verktøy i artikkelen. Så kan du bruke google.
Nydelig utført guide.
anjce at noen engarserer seg. Dette er et tema med mye misfortåelser, så dette er praktisk når kiddiene kommer og har "hacka" noe igjen. Jeg har ikke tatt meg tid til å lese den, men den ser gjennomført ut
Fabelaktig flott guide, TipeX!

Flott at noen har lite skolearbeid de skulle ha gjort, for dette ga i hvert fall meg bedre innsikt i et par temaer :--)
TipeX, slike poster gjør at freakforumet er det beste forumet :-) stå på!!
Var en fin artikkel det der. Godt skrevet.
Jeg har også Hacking exposed boka, god bok, må bare få tid til å lese den skikkelig
Fin guide! Nå vet jeg hva jeg skal gjøre de nærmeste dagene!
Yeay! Endelig noe å peke til_når noen sier: "OMG jEg vIl h4xx3 no3n. Kan n03n google 'hAcKiNg tUtOrIaL' f0r m3g?" ... el. lign. Eller eventuelt en god grunn til å banne noen som spør om det (det er jo sticky).
Noen som kan gi meg en link til hvor jeg finner brutforce programmet... Jeg vet jeg kan google. Men finner bare så mye annet. Det jeg finner fungerer heller ikke...

Jeg vet brutforce er "simpelt" og lett.. Men har lyst til å teste det.


Takk
Keep it coming !
Opprinnelig postet av fredrikweb
Noen som kan gi meg en link til hvor jeg finner brutforce programmet... Jeg vet jeg kan google. Men finner bare så mye annet. Det jeg finner fungerer heller ikke...

Jeg vet brutforce er "simpelt" og lett.. Men har lyst til å teste det.


Takk
Vis hele sitatet...
http://users.otenet.gr/~nicktrig/nsi...crx/brut01.htm
prøvde å laste ned en av de på den linken
norton sa det var en trojan horse
maceren, disable auto-protect
Good work, laddy..

Dette må prøves ut.. Nå er det juleferie, og man har god tid til å sitte foran PC'en og gjøre hva en vil.
▼ ... over en måned senere ... ▼
Eg takkar og bukkar mæ eit stort smil rundt truten
Noen som vet hvor jeg finner SoftIce ? har prøvd google, men får så mange treff, og er ikke sikker på hvem om er riktig.
Nub!
TipeX's Avatar
Trådstarter
http://www.compuware.com/products/de...er/softice.htm

Selv klarer jeg med W32DASM. Stort sett.
Veldig bra jobb!
▼ ... over en uke senere ... ▼
nydelig walktrough!! men en ting jeg savna er hvordan man kan finne passordet på fattige sider som bruker javascript
Sist endret av TEHb; 6. februar 2005 kl. 15:53.
Da er det ganske enkelt bare å lese koden. Hvis passordet blir generert på en eller annen måte så trenger du kun å kopiere koden, lage en ny side som bruker koden. Du omskriver deretter scriptet til å spytte ut passordet for det. Det er skummelt enkelt.
joda, stort sett er det det, men av og til ligger passordet i en annen fil i en annen mappe, og da må man vite litt om javascript for å finne det...
▼ ... over en måned senere ... ▼
Er det virkelig noen som bruker javascript lengre? Savner javascript logins
▼ ... noen uker senere ... ▼
brutus er et brut foce programm
Flott artikkel

En advarsel kan en vel skrive, å gjøre det i praksis mot bedrifter, privat eller nettsider medfører ubetinget fengsel. I tillegg kan du bli dømt til erstatning og må betale regningen til konsulentselskapet som skal fikse "hullet".

Det er ikke like enkelt å snike seg bort i dag som det var for noen år siden.
▼ ... mange måneder senere ... ▼
dete var den beste og enkleste forklaringen jeg har lest, en 10 til deg!!
▼ ... over en uke senere ... ▼
For å si det slik så håper jeg alle som terroriserer folk med virus som slett ikke har gjort noe som helst mot dem, at de brenner i helvete!
Infisering av virus er ikke hacking.
Håper ingen her på forumet er så dumme til å drive med slikt. Hva er vitsen egentligt? Kunne gjerne gått rundt å punktert dekk på biler eller å kaste epler i skallen på folk. Du får ingenting ut av det!

|d13m0b: Ikke slå meg hvis jeg har feil men han har jo trojanere på listen sin...
Sist endret av Apelsinsatan; 28. oktober 2005 kl. 18:15.
Nub!
TipeX's Avatar
Trådstarter
De som utvikler virus får enormt utbytte av det De fleste gjør det med et behov for å bli lagt merke til eller å få hevde seg i sitt miljø. Det å finne en exploit og lage et virus som sprer seg mest mulig effektivt gjennom denne exploiten er en enorm bragd i visse kretser. De har et behov og får dermed mye igjen for å tilfredstille dette. Mange har også et økonomisk utbytte da de kan bli headhuntet av større utviklingsfirma når de kommer ut av eventuelt fengsel.
Ja men hva er prosentdelen av dem? Mange gjør det for pur faen.

Er det den rette veien å terrorisere folk for sin egen nytte? Det er ikke et bra argument for at den ikke kan få svi i helvete...
Nub!
TipeX's Avatar
Trådstarter
Hva legger du til grunne for at "mange gjør det for pur faen"?
Jeg har lest flere artikler der dem selv gjorde det bare for å kødde. For de er flinke nok til å lage et slikt virus , for så å spre dette.