WHOIS er et enkelt, men kraftig verktøy for passiv innhenting av informasjon om et domene. Protokollen følger RFC 3912 og bruker TCP port 43 for forespørsler; kommandoen er trivielt enkel: åpne et terminalvindu og kjør whois <domene>. Utdata vil ofte inneholde registrar, opprettelses‑ og utløpsdatoer, domenestatus, administrative kontaktpunkter og navneservere. Merk at mange registrarer tilbyr personvern‑tjenester som skjuler PII; i praksis ser man ofte lenker i stedet for faktiske e‑postadresser og redigerte kontaktfelt. Likevel kan navneserverne alene gi viktige spor om infrastrukturen bak målet.
DNS‑innhenting handler om å lokalisere målets DNS‑servere og de tilhørende rekordene som finnes i sonen. DNS fungerer som en distribuert, hierarkisk og feil‑tolerant «database» av ressursoppføringer som replikeres mellom autoritative servere. Viktige record‑typer å kunne tolke er A (IPv4‑adresse), AAAA (IPv6), CNAME (kanonisk alias), NS (autoritative navneservere), MX (postbytte), og SOA (Start of Authority) som inneholder TTL, refresh‑verdier og administrativ kontakt (RNAME fjerner ofte @‑symbolet). DNS opererer over TCP 53 (soneoverføringer) og UDP 53 (navneforespørsler); RFC 1035 gir detaljene.
Verktøyene som følger med de fleste operativsystemer gir raske innganger: nslookup lar deg spesifisere type og navneserver med syntaksen nslookup [OPTIONS] [DOMENE] [NAMESERVER] — for eksempel nslookup -type=MX yahoo.com 1.1.1.1 for å hente MX‑poster mot en bestemt resolver. På Kali eller andre *nix‑systemer er dig ofte mer fleksibelt; dig <domene> MX gir utførlige svar og er praktisk for skripting. For subdomeneoppdagelse finnes spesialiserte verktøy som sublist3r eller andre enumeratorer som kombinerer passive kilder, bruteforce og søkemotorer.
Søkemaskin‑teknikker («Google Dorks») og tjenester som DNSDumpster (https://dnsdumpster.com/) samler og visualiserer brede DNS‑datasett: geo‑IP for hoster, navneservere, MX‑poster, TXT‑ og A‑oppføringer, samt kartlagte subdomener. Slike tjenester kan avdekke relasjoner og eksterne aktører som ikke fremgår av en enkel whois- eller nslookup‑forespørsel. Husk at ikke alle verktøy oppdager subdomener automatisk — hierarkiet i domenenavnet betyr at egne soner kan skjule viktige ressurser.
Når du analyserer utdata, legg merke til avvik og sammenfall: ulike NS‑oppføringer, lav TTL, uvanlige MX‑leverandører eller eksterne CDN‑peker kan avsløre outsourcing, staging‑miljøer eller historiske spor. SOA‑feltet kan gi refresh‑intervaller som indikerer hvor ofte sonen oppdateres; kombiner denne kunnskapen med passive arkiver og historiske DNS‑tjenester for å rekonstruere endringsmønstre. Bruk også whois -h for å se tilgjengelige opsjoner og formater, og kombiner flere kilder (whois, dig/nslookup, passive DNS‑databaser, søkemotor‑forespørsler) for å bygge et helhetlig bilde.
Det er vesentlig å være oppmerksom på juridiske og etiske grenser: passiv innhenting via offentlige registre og åpne søk er ofte tillatt, men automatisert høstning mot tjenester, uautorisert soneoverføring (AXFR) eller angrep mot DNS‑infrastruktur er ikke. Tekniske begrensninger som rate‑begrensning på offentlige DNS‑tjenere, skjulte registrantdata og CDN‑lagring kan gi falske antakelser dersom de ikke tolkes riktig.
For ytterligere kontekst bør leseren forstå at DNS‑data er dynamiske og delvis konservative: caching, replikeringstider og privatregistrering påvirker nøyaktigheten. Kombinasjon av historiske DNS‑oppslag, passive DNS‑arkiver, og kryssreferanser mot IP‑til‑geolokasjon og ASN‑opplysninger gir ofte nødvendig validering. Teknisk kunnskap om forskjellen mellom autoritativ og ikke‑autorativ respons, bruken av ulike porter (TCP/UDP 53) og betydningen av SOA‑parametere vil øke presisjonen i tolkningen. Til sist er det viktig å inkludere prosesser for dokumentasjon og sporbarhet: loggfør kommandoer, tidspunkt, brukte navnservere og råutdata for å kunne reprodusere funn og unngå feiltolkninger.
Hvordan gjennomføres effektiv port‑ og sårbarhetsskanning?
Skanning kan deles i flere komplementære aktiviteter: web‑skannere som avdekker svakheter i webservere og deres komponenter, nettverksskannere som identifiserer noder, åpne porter og kjørende tjenester, og sårbarhetsskannere som spesialiserer seg på å avdekke kjente sårbarheter på tvers av mål – fra tradisjonelle webservere til mobile plattformer. For å bygge en forståelig praksis starter vi med landskapsinnsikt via nettverkskartlegging, fortsetter med portskanning og beveger oss deretter mot målrettet sårbarhetsskanning.
Portskanning er prosessen for å avgjøre hvilke porter på et mål som er tilgjengelige og lyttende; analogien er å banke på en dør for å finne ut om noen er hjemme. En port som svarer positivt mot en tilkoblingsforespørsel anses som «åpen», og skanningen kan ofte fingeravtrykke tjenesten bak porten — for eksempel vil en åpen port 80 typisk indikere en HTTP‑tjeneste som IIS eller Apache, ofte med versjonsinformasjon som gjør videre kartlegging mulig. Adresseringen av porter spenner fra 0 til 65535; portene 0–1023 omtales som velkjente og er formelt tildelt av IANA, men praksis tillater at tjenester kjøres på ikke‑standardporter (for eksempel HTTP på 8080).
For å forstå hva en portscan rapporterer er det nødvendig å kjenne til hvordan TCP‑tilkoblinger etableres. TCP er en forbindelsesorientert protokoll og etablerer en sesjon via en tretrinns håndtrykkprosess: klienten sender et SYN‑segment med et tilfeldig 32‑bits sekvensnummer, serveren svarer med SYN+ACK og angir en bekreftelsesverdi lik klientens sekvensnummer pluss én, og klienten avslutter oppsettet med et ACK. Etter dette utføres dataoverføringen med en dynamisk forhandling av maksimalt segmentstørrelse og vindusstørrelser. UDP, som kontrast, er forbindelsesløs og gir ikke samme sekvensielle håndtering, noe som gjør UDP‑skanning mer utfordrende og ofte tregere å tolke.
Når en skanner analyserer svarene fra målportene, vil den typisk klassifisere portene som åpne, lukkede eller filtrerte. En «åpen» port svarer på tilkoblingsforespørsler (eller sender SYN/ACK i en stealth‑skanning), mens en «lukket» port returnerer en RST for å avvise forbindelsen. En «filtrert» port gir ingen respons — ofte et resultat av en brannmur eller ACL som kaster pakkene før de når måltjenesten. Å skjelne mellom disse tilstandene er grunnleggende for videre beslutninger om hvilke verktøy og teknikker som gir mest risiko‑informasjon uten å skape unødvendig støy.
Nmap er et kraftig verktøy som går langt utover enkel portdeteksjon: det tilbyr host discovery, portskann, tjeneste‑ og versjonsdeteksjon, OS‑fingeravtrykk, scriptbasert utvidbarhet og traceroute‑funksjonalitet. Kommandolinjegrensesnittet støtter en rekke skannetyper, fra full TCP‑connect til mer diskrete SYN‑skanninger, og både timing‑kontroller for å justere hastighet og oppdagbarhet, samt mulighet for UDP‑skanning og aggressive kombinasjoner som samler OS‑deteksjon, versjonsprober og scripts i én operasjon. Nmap kan også målrette spesifikke porter eller portområder, og lar deg styre nivået av detaljer i utdata via verbositetsgrader. Resultatene kan eksporteres i flere formater for videre automatisert behandling eller rapportering.
I praksis krever effektiv bruk av skanning teknisk forståelse, juridisk og etisk klarhet, samt en bevisst taktikk for å minimere både teknisk støy og risiko for utilsiktet tjenesteavbrudd. Start alltid med et tydelig scopetiltak og eksplisitt godkjenning; benytt gradvis eskalering av skanneintensitet, fra passive discovery‑metoder til mer invasive teknikker, og dokumenter alle funn systematisk. Automatiserte sårbarhetsskannere gir hurtig oversikt, men falske positiver og kontekstløse treff krever manuell verifisering og vurdering av exploit‑barhet og konsekvens. Fingeravtrykk fra porter og bannere gir inngang, men bør kompletteres med tjenestespesifikke probes og, der det er relevant, autentisert skanning for å avdekke konfigurasjonssvakheter som ikke er synlige uten legitimasjon.
Hvordan kan man utnytte systemer gjennom passord- og webapplikasjonssvakheter?
UID_number angir kontoens rettighetsnivå; Default_GID er standard gruppe‑ID; Home_Dir peker på innloggingskatalogen; GECOS_info er et fritekstfelt for kontoopplysninger; Login_shell er programmet som startes ved innlogging, typisk /bin/sh eller bash. En rad i /etc/passwd følger dette mønsteret og kan se slik ut: Kali:*:100:100:Mike Smith:/home/kali:/usr/bin/sh. Krypteringsfeltet for passord vil vise *, x eller !! når passordet ikke er direkte lagret i klartekst. Mange Unix/Linux‑distribusjoner bruker i stedet /etc/shadow for passordhasher; denne filen er kun lesbar med superbrukerrettigheter og er strukturert som: [login_name]:[encrypted_password]:[date_of_last_pw_change]:[min_pw_age]:[max_pw_age]:[advance_days_to_warn]:[days_after_pw_expires_to_disable]:[account_expiration_date]:[reserved]. For passord‑rekonstruksjon i praktisk penetrasjonstesting kombineres /etc/passwd og /etc/shadow med verktøy som John the Ripper. Verktøyet unshadow smelter disse filene sammen til et format John forstår; etter dette kan man kjøre for eksempel john --format=crypt --wordlist=/usr/share/john/password.lst --rules unshadowed.txt for å forsøke gjenbruk av ordbok og regler, og john --show unshadowed.txt avdekker hvor mange passord som er løsnet og deres klare tekst.
En alternativ og ofte raskere teknikk er «pass the hash»: i stedet for å knekke hashen, brukes den stjålne hashen direkte for autentisering mot mål‑systemet. Dette forutsetter at hashen er tilegnet – verken knekking eller gjenoppbygging er nødvendig, noe som reduserer tidskostnaden betydelig. Kali Linux inneholder et sett verktøy under passing‑the‑hash‑paraplyen: pth-curl for URL‑tilgang, pth-net for generell systeminteraksjon, pth-rpcclient for RPC, pth-smbclient, pth-sqsh for MSSQL, pth-winexe for å kjøre Windows‑eksekverbare eller interaktive skall, og pth-wmic/pth-wmis for WMI‑grensesnitt. Hver binær har -h for hjelpetekst. Eksempler: pth-rpcclient -U test_domain/Administrator% //192.168.1.102 for RPC‑tilkobling med brukernavn og hash, eller pth-winexe -U test_domain/administrator% //192.168.1.102 cmd for å starte en fjern kommandotolk. I Windows‑økosystemet er Windows Credential Editor (WCE) et ofte brukt verktøy for å ekstrahere NT/NTLM‑hashes fra minne; det støtter NTLM, Kerberos og Digest og er tilgjengelig fra kilder som den oppgitte GitHub‑repoen. Å mestre både ekstraksjon og overføring av hasher er sentralt for å forstå laterale bevegelsesstrategier i nettverk.
Når vi beveger oss fra systemtilgang til webapplikasjoner, er OWASP den mest autoritative ressursen. OWASP‑guidene dekker design, arkitektur, implementasjon og logging og bør være basis for både utvikling og penetrasjonstesting. Tre viktige angrepsklasser verdt å forstå grundig er account harvesting, SQL‑injeksjon og cross‑site scripting (XSS). Account harvesting handler om å fastslå gyldige kontoer ved å analysere serverens responser på innloggingsforsøk; hvis applikasjonen skiller mellom «ugyldig brukerkonto» og «ugyldig passord», kan dette automasjonsscriptes med wget, curl eller egendefinerte skript mot store lister av brukernavn. Variasjoner i URL‑ eller feilkoder, som error=1 kontra error=2, kan gi entydige signaler som lar et angrep identifisere gyldige identiteter før passordgjetting.
SQL‑injeksjon utnytter måten brukerinput settes inn i SQL‑spørringer. Når inndata går rett inn i konstruksjoner som select [fields] from [table] where [variable] = [value]; eller update [table] set [variable] = [value];, kan nøye utvalgte tegn og strukturer (for eksempel sitattegn eller semikolon) endre spørringens logikk, returnere sensitiv informasjon eller modifisere/deletere data. Testing begynner ofte med innsetting av enkelt‑ og dobbeltanførselstegn (', ") og backticks for å avdekke ufiltert behandling; videre steg inkluderer å injisere logiske uttrykk, kommentartegn eller sub‑spørringer for å manipulere resultatet. XSS utnytter manglende escaping av brukerinput i HTML‑kontekst og gjør det mulig å kjøre skadelig skript i andre brukeres nettlesere; begge teknikkene kan gi tilgang, eskalering eller datatyveri i applikasjoner.
For fullstendighet bør leseren supplere dette stoffet med detaljer om moderne forsvarsmetoder: saltede og adaptive hash‑algoritmer (bcrypt/argon2), prinsipper for sikker passordlagring, systematisk logging og overvåking som registrerer uvanlige autentiseringsmønstre, samt krav til minstestørrelse og kompleksitet kombinert med rate‑limiting og konto‑låsing ved gjentatte mislykkede forsøk. På web‑siden er parameteriserte spørringer og forberedte statements avgjørende for å hindre SQL‑injeksjon, mens kontekst‑basert escaping og Content Security Policy reduserer XSS‑risiko. Implementering av Web Application Firewalls og negativ‑/positiv‑filtrering, sammen med regelmessige kodegjennomganger og automatiserte sikkerhetsskanninger, bidrar til å luke ut de vanligste angrepsflatene. I tillegg må juridiske og etiske grenser forstås: alle teknikker som beskrives forutsetter eksplisitt tillatelse i testmiljøer; uautorisert tilgang er straffbar. Til slutt er det viktig å forstå at angrep og forsvar utvikler seg i takt — verktøy som John, WCE og pth‑verktøyene endrer seg, så kontinuerlig oppdatering av kunnskap om moderne hash‑algoritmer, protokollendringer og OWASP‑anbefalinger er nødvendig for både angriperen i testscenarier og forsvaret som skal beskytte produksjonssystemer.
Hvordan Cloud Computing Forandrer Nettverksinfrastruktur: Fra Offentlige Til Private Løsninger
IP-adresser er grunnleggende for hvordan internett fungerer. Internett-adresser tildeles av Internet Assigned Numbers Authority (IANA), og deles inn i to hovedkategorier: offentlige og private. Private IP-adresser brukes vanligvis i lokale nettverk, som Wi-Fi hjemme, og er ikke rutbare på internett. Offentlige IP-adresser, derimot, er rutbare og gir tilgang til internett. Når du ser etter din egen IP-adresse på nettet, søker du faktisk etter din offentlige IP.
Med dette grunnleggende forståelsen på plass, er det på tide å bevege seg over til et annet sentralt tema: Cloud computing. I dag er begrepet "cloud computing" velkjent, spesielt i IT-verdenen, der det daglig benyttes av profesjonelle i ulike sammenhenger – fra e-post og sosiale medier til online spill og mer. Store programvareleverandører som Google, Microsoft og Amazon tilbyr skybaserte tjenester og har et enormt økosystem av skytjenester.
Skytjenester er delt opp i ulike modeller, og hver av disse har sine spesifikasjoner. De mest utbredte setupene i dag er offentlige skyer, private skyer og hybride skyer, og disse skiller seg betydelig fra hverandre.
En offentlig sky er vanligvis administrert av en tredjepart, og disse skymiljøene er åpne for alle som har tilgang til internett. Ressursene som tilbys gjennom den offentlige skyen kan inkludere lagring, beregningstjenester, applikasjoner og mer. Det sentrale poenget her er at hvem som helst kan benytte disse tjenestene, og de er generelt svært kostnadseffektive. Brukerne slipper de høye kostnadene ved å kjøpe og administrere maskinvare selv. De kan enkelt få tilgang til ressursene via internett, men det finnes flere sikkerhetsutfordringer, spesielt når det gjelder dataintegritet og hvem som har tilgang til dataene. Mange tilbydere forsøker imidlertid å møte disse utfordringene med løsninger for å forbedre sikkerheten.
En privat sky, på den annen side, tilbyr tjenester via et privat internt nettverk eller over internett, men tilgang er begrenset til bestemte brukere. Dette kan refereres til som en "corporate cloud" eller "internal cloud", og har som mål å tilby mange av de samme fordelene som en offentlig sky, men med mer kontroll og høyere nivåer av sikkerhet. Tilgang til data er mer begrenset, og den høye sikkerheten gjør at private skyer ofte er mer tilpasset bedrifter som har strenge krav til databeskyttelse. Ulempen med en privat sky er at det krever dedikerte ressurser for vedlikehold og drift, og kan være kostnadskrevende på lang sikt.
En hybrid sky kombinerer elementer fra både offentlige og private skyer, og gir fleksibilitet til å dele data mellom de to. Denne modellen er spesielt populær for organisasjoner som ønsker å skalere ressursene etter behov, men samtidig beskytte sensitiv informasjon ved å holde visse data i en privat sky. Hybridløsninger kan derfor tilby både fleksibilitet og sikkerhet.
Cloud computing kan beskrives som levering av beregningsressurser over internett – inkludert servere, databaser, nettverksressurser, lagring, programvare og mer. Den tilbyr rask innovasjon, fleksibilitet og skalering av ressurser, som gjør det mulig å opp- eller nedskalere etter behov.
I skyen finnes flere operasjonsmodeller: Infrastruktur-as-a-Service (IaaS), Plattform-as-a-Service (PaaS), og Software-as-a-Service (SaaS). Hver av disse modellene har sine egne ansvarsområder, og forståelsen av disse er essensiell når man jobber med sikkerhet og etisk hacking. IaaS tilbyr en standardisert måte å få tilgang til beregningsressurser på etter behov, og gir brukeren fleksibilitet til å kjøpe lagring, nettverk, regnekraft og virtuelle servere. Dette er vanligvis på en "pay-as-you-go"-basis, noe som gjør det kostnadseffektivt for organisasjoner som ønsker å betale for hva de bruker. En av utfordringene med IaaS er sikkerheten knyttet til systemenes sårbarheter og risikoen for at kundens data ikke blir tilstrekkelig isolert fra andre kunder i den delte infrastrukturen.
SaaS derimot, gir brukerne tilgang til programvare via internett, og fjerner behovet for å vedlikeholde applikasjoner lokalt. Løsningene er alltid oppdaterte, og sikkerheten håndteres av leverandøren. Den største fordelen her er at organisasjoner kan slippe å bekymre seg for installasjon og oppdateringer. Imidlertid kommer SaaS med utfordringer, spesielt når det gjelder datalagring og hvor mye kontroll brukeren har over applikasjonene. Organisasjoner er avhengige av leverandørenes sikkerhetskontroller for å sikre dataene deres.
En annen viktig betraktning for organisasjoner som bruker skyen er ansvarsfordelingen mellom leverandør og kunde. Dette ansvaret varierer avhengig av om man benytter IaaS, PaaS eller SaaS. For eksempel, i IaaS-modellen har kunden ansvaret for operativsystemene og applikasjonene som kjører på de skybaserte ressursene, mens leverandøren er ansvarlig for maskinvaren. I SaaS er det leverandøren som har fullt ansvar for applikasjonene og infrastrukturen, mens kunden kun trenger å bruke tjenesten.
Viktige elementer som må vurderes når man benytter seg av skybaserte løsninger er blant annet hvilken type sikkerhet som tilbys av leverandøren, hvordan dataene blir beskyttet mot eksterne trusler, og hvordan ansvar er fordelt i forhold til vedlikehold og oppdateringer. Det er også viktig å være bevisst på hvilke spesifikasjoner og funksjoner som er tilgjengelige i de forskjellige sky-modellene, og hvordan de kan tilpasses virksomhetens behov for fleksibilitet og skalerbarhet.
Hvordan fanger og analyserer du nettverkstrafikk i et labbmiljø?
Det er verdifullt å ha et isolert øvelsesmiljø siden det gir mulighet til å praktisere ferdigheter uten å riskere produksjonsnettverk. Metasploitable 2 kan lastes ned fra https://sourceforge.net/projects/metasploitable/files/Metasploitable2/. Etter nedlasting må arkivet pakkes ut og den virtuelle maskinen startes i din hypervisor. Vær oppmerksom på at denne VM-en er bevisst full av sårbarheter; eksponer den aldri direkte mot internett uten adekvat isolasjon.
Teknikken for å fange nettverkstrafikk kalles sniffing — når du lytter til en samtale kan du avdekke hvem som kommuniserer og hva som overføres. Nettverkstrafikk omfatter e‑post, web og autentisering, og hver kategori kan benytte både krypterte og ukrypterte protokoller. For pakkeopptak benyttes en sniffer som setter nettverkskortet i promiskuøs modus; dette gjør at kortet mottar alle pakker som passerer nettverket, ikke bare de som er adressert til det. Sniffere kan være programvarebaserte, som Wireshark, eller maskinvarebaserte, som en fysisk network tap (for eksempel Throwing Star LAN tap) som gir høy presisjon ved opptak.
Praktiske bruksområder for pakkeopptak strekker seg fra verifisering av at et program har nettverkstilgang og hvem det snakker med, til feilsøking av tilkoblingsproblemer, identifikasjon av ytelsesflaskehalser, bygging av tidslinjer for nettverksforensikk og avdekking av kompromitteringsindikatorer gjennom deep packet inspection. For de fleste øvelser er programvareopptak tilstrekkelig, men for ultimate krav til nøyaktighet kan maskinvareløsninger benyttes.
I et praktisk eksempel brukes Wireshark i Kali Linux mot en Metasploitable 2‑instans. Etter å ha logget inn på Metasploitable kontrolleres IP‑adressen med ifconfig. På Kali startes Wireshark med root‑privilegier (sudo wireshark) for å aktivere promiskuøs modus; om Wireshark ikke er installert kan den installeres med apt. Åpne en nettleser i Kali (vanligvis Firefox) og naviger til Metasploitable‑maskinens IP for å få opp dens webgrensesnitt. For å fange ukryptert trafikk kan man benytte DVWA (Damn Vulnerable Web Application). Start opptaket i Wireshark før du logger inn på DVWA med credentials som admin/password. Når opptaket stoppes vil mange HTTP‑pakker være tilgjengelige for analyse, ettersom HTTP overfører innhold i klartekst.
For å fokusere analysen benyttes filtre i Wireshark. Filtre følger sintaksen [protokoll].[felt] [operator] [verdi]; et enkelt eksempel for å vise trafikk til målmaskinen er: ip.dst == 192.168.111.170. Dette gir alle pakker der destinasjonsfeltet i IP‑laget matcher den angitte adressen, og reduserer mengden data du må gjennomgå manuelt. Fra et slikt filtrert opptak kan autentiseringsfelt, cookies og andre sensitive verdier hentes ut hvis protokollen er ukryptert.
Viktig å legge til for leseren: sørg for at labbnettverket er fysisk eller logisk isolert fra produksjon og internett før du starter; misbruk av sårbar VM-er kan føre til utbredt kompromittering. Forstå forskjellen mellom programvare‑ og maskinvareopptak hva gjelder tidsstempling, tapsrate og packet capture‑buffering, og vurder krav til nøyaktighet før du velger metode. Vær bevisst personvern- og lovgivningsaspekter ved innsamling av trafikk — fangst av andres kommunikasjon uten tillatelse er ulovlig i mange jurisdiksjoner. Lær deg å bruke tidsstempler og export‑funksjoner i Wireshark for å bygge en korrekt hendelsestidslinje, og kombiner nettverksdata med vertslige logger for bedre kontekst. Øv på å skrive presise filtre for både protokollfelt og portnumre slik at analyser blir håndterbare, og vurder å bruke dedikerte triggermekanismer (for eksempel tcpdump med ringbuffer) ved langvarige opptak for å unngå tap av viktige pakker.
Hvordan kan man forstå og håndtere psykiske og fysiske symptomer ved infeksjoner og sykdommer?
Hvorfor kan man noen ganger si sitt navn, og andre ganger ikke?
Hvordan bygge engasjement og fellesskap gjennom Minecraft-strømmer
Hvordan håndtere grensebetingelser og belastninger i systemer med Bernoulli-bjelker
Hvordan utfordringer i det amerikanske valgsystemet truer demokratiets stabilitet

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский