Spørsmål:
Hvis en server bare åpner port 22 og 80, har vi bare de to måtene å hacke den på?
244boy
2020-04-18 20:31:16 UTC
view on stackexchange narkive permalink

Hvis en Linux-server bare åpner SSH-port 22 og HTTP-port 80, må vi gå gjennom en av disse to portene for å hacke oss inn på serveren fra internett?

Hvis du bare har disse to portene åpne, kan du bare kommunisere med de to, ja.
Avhenger av hvordan du definerer "åpen" - kanskje som "svar med enten SYN / ACK eller RST til et SYN"?I så fall kan det reagere på andre porter (eller ikke TCP-trafikk) på sårbare måter, men kanskje ikke ved svar i seg selv.
Snakker du om hvilke porter som er åpne på selve serveren?Eller snakker du om hva som porter ruteren videre?Eller hva akkurat?
Når det gjelder fjernangrep er det da sikkert.Hvorvidt du er trygg eller ikke, avhenger av hvilke programmer som lytter på disse portene, og om de er riktig sikret.
Du vil sannsynligvis også ha 443.
Fem svar:
reed
2020-04-18 21:46:30 UTC
view on stackexchange narkive permalink

Egentlig ikke. Jeg vil si det kommer an på trusselmodellen din. Det kan være andre trusler som ikke trenger å bruke disse portene for å kompromittere serveren din. Det første eksemplet jeg kan tenke på akkurat nå, er et angrep fra forsyningskjeden. Når du oppdaterer programvare på serveren din, hvis den oppdaterte programvaren har blitt kompromittert av et forsyningskjedeangrep, blir serveren din smittet. Eller hvis du ved en feiltakelse installerer eksempelprogram i stedet for eksempel_program (merk bindestrek i stedet for understrek), og eksempelprogram var skadelig og hadde fått det navnet med vilje for å forvirre deg, vil serveren din bli kompromittert. Jeg tror noe som dette skjedde nylig ... å, i går ( Bitcoin stjeler apper i Ruby repository). Andre eksempler? Kanskje noen MITM i utgående tilkoblinger fra serveren din. La oss ikke glemme phishing eller noe som involverer sosialingeniør.

Så for å være presis, hvis du spurte meg "generelt, kan jeg bare bli hacket av en ekstern trussel gjennom åpne porter?", Mitt svar ville være nei. Hvorvidt noen trusler er sannsynlige eller ikke, avhenger av trusselmodellen din, som igjen avhenger av hva serveren din gjør, hvordan du administrerer den, hvem du er osv.

Men for å være klar, selv om serveren kompromitterte med et slikt angrep, ville den innkommende / utgående kommunikasjonen mellom serveren og angriperen være gjennom enten port 22 eller port 80, ikke sant?
@onurcanbektas Nei, åpne porter betyr generelt lytteporter, så bare innkommende tilkoblinger bruker disse.Utgående tilkoblinger bruker vanligvis en tilfeldig port (med noen begrensninger).Med mindre med "åpne porter" mener du at alt annet er blokkert av en brannmur.Men i så fall vil serveren sannsynligvis ikke være i stand til å lage utgående tilkoblinger, for eksempel en som trengs for å laste ned oppdateringen nevnt i dette svaret.
@Tomeamis Så, med mindre det er blokkert av en brannmur, kan et program bruke hvilken som helst tilfeldig port for utgående tilkoblinger?
@onurcanbektas Yup.Du kan sjekke selv (du kan kjøre `netstat -a` for å se aktive tilkoblinger, og de fleste vil ha noe høyt portnummer med den lokale adressen).Port 80 som tildeles HTTP, er for destinasjon.Så når du vil koble til servereksempel.com via HTTP, kobler du til eksempel.com i port 80, men forbindelsen kan komme fra hvilken som helst port.Og gitt at lave portnumre generelt er tildelt, brukes høye porter vanligvis til utgående forbindelser.
@Tomeamis åh jeg ser;takk for svaret.
@onurcanbektas bare for fullstendighet, ikke * noen * tilfeldig port.Du kan ikke bruke porter som allerede er i bruk (f.eks. Port 80 i dette tilfellet), og vanligvis begrenser operativsystemene deg til porter over 1024 eller over et høyere tall (det nøyaktige antallet avhenger av operativsystemet, og du kan sannsynligvis endre dette med litt innsats).
Moo
2020-04-19 07:05:16 UTC
view on stackexchange narkive permalink

Nei.

Det er flere ting som kan angripes på en måldatamaskin, og en serveringsapplikasjon (httpd eller sshd for eksempel) er bare en av disse tingene.

Husk at det er en hel nettverksstabel mellom den fysiske nettverksporten på nettverkskortet og applikasjonen som håndterer den faktiske trafikken (dvs. sshd) - i denne stabelen inneholder det ting som kjernefunksjonalitet som brannmurer, nettverksdrivere osv. Som alle kan være angrepet separat til behandlingsapplikasjonen.

Se antall sårbarheter for fjernkjøring av Linux-kjernen fremhevet her som ikke krever noe håndteringsprogram for å utnytte, og i stedet tillateren angriper for å utføre kode bare ved å lage en dårlig nettverkspakke.

Selvfølgelig er det lettere å angripe applikasjonen i stedet for kjernen, fordi kjernen har en tendens til å bli mye tyngre inspisert.

fraxinus
2020-04-19 17:50:04 UTC
view on stackexchange narkive permalink

Et forsøk på å liste noen måter å hacke inn på en server uten å bruke http eller ssh:

  1. Bruke et sårbarhet i Management Engine
  2. Bruke en feil i et nettverkskortfirmware eller driver
  3. Bruk av noe som ikke er veldig sikkert i virtualiseringsplattformen, har legitim tilgang til (eller hacking til) en nærliggende virtuell maskin
  4. Utnyttelse av noen feil i IP- eller TCP-drivereni operativsystemet
  5. Bruk av noe nettverksinteraksjon der serveren din fungerer som en klient (DNS-spørsmål, automatiske oppdateringer, databasetilgang), spoofing eller hacking til den legitime serveren til disse tjenestene.
  6. ol>

    Eksempel på 4.: For lenge siden var det et ping of death -angrep som utnyttet en feil i IP-lagdriveren, ingen åpen port var nødvendig i det hele tatt.

haha ja tilbake da jeg var en scr1pt k1d skutt jeg en gang en win95 klient i japan .. beklager
gnasher729
2020-04-18 23:56:36 UTC
view on stackexchange narkive permalink

Å stenge havner er en veldig tidlig forsvarslinje.

Når en port er åpen, kjører det noe programvare som håndterer dataene som kommer inn på den porten.Denne programvaren kan ha feil som gjør at et angrep kan lykkes.Hvis du åpner 100 porter, er det 100 stykker programvare som potensielt er usikre.Bare med to åpne porter er det bare to programvarer som er potensielt sårbare.Å sørge for at 100 stykker ikke er sårbare er åpenbart mye vanskeligere enn to stykker.

Men en angriper kan prøve å komme seg inn gjennom en annen rute.Serveren din skal motta blokker med data som inneholder et portnummer, og programvaren din bør lede blokken til riktig port eller kaste den, eventuelt logge den.Hvis programvaren som sender innkommende blokker til porter har feil, kan en angriper utnytte disse feilene, og en slik utnyttelse kan være uavhengig av hvilke porter som er åpne.

Dette er unøyaktig.Havner som ikke er stengt, er ikke åpne: https://security.stackexchange.com/questions/96568/open-ports-with-no-services-bound-to-them
"Hvis du åpner 100 porter, er det 100 stykker programvare som potensielt er usikre." <- Hvorfor antar du en 1-mot-1-kartlegging mellom porter og "programvarestykker"?Et enkelt program kan enkelt høre på hundre forskjellige porter.Visst, det ville være rart å gjøre, men det er mange programmer som i det minste hører på mer enn en port.(Og det omvendte er også sant, det er mulig å dele en enkelt lytterport mellom flere prosesser.)
@PeterW.Hva er det du prøver å si?Ingen fremmet engang krav om filtrerte og ufiltrerte porter.En åpen port er ikke bare en ufiltrert port, det er en port som du faktisk kan koble () til.
PaHa
2020-04-18 20:55:03 UTC
view on stackexchange narkive permalink

Hvis serveren bare har ssh- og http-tjenester åpne, må du utnytte mulige sårbarheter relatert til en eller begge tjenestene, for å hacke inn på serveren.

En annen måte ville være fysisk tilgang til serverens tastatur, men jeg tror du mente bare å angripe gjennom nettverket.(husk å skanne alle 1-65535-porter)

Husk at det er en hel nettverksstabel mellom den fysiske nettverksporten og mottaksapplikasjonen, inkludert kjernefunksjonalitet og drivere som alle også kan angripes.Dette kan gjøres selv på lukkede porter - bare fordi ingenting hører på disse portene, betyr ikke det at systemet ikke håndterer dem, for eksempel i brannmurregelsystemet osv. Rikelig mulighet for en angrepsvektor.
-1.OP, oppfordres du til å vente minst en dag eller to før du godtar et svar, for å gi samfunnet og deg selv en sjanse til å bedømme kvaliteten på et utvalg av svar før du velger et (hvis noen i det hele tatt!).
Det eneste svaret så langt å nevne fysisk angrep.
@mckenzm Sant, men spørsmålet sier _fra internett_ som ser ut til å ekskludere fysiske angrep.
Jeg betaler det, det utelukker til og med kompromittert apparat på det lokale nettverket.(Kolleger).


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 4.0-lisensen den distribueres under.
Loading...