Vraag Een vorige IT-medewerker heeft waarschijnlijk wat achterdeurtjes achtergelaten. Hoe kan ik ze elimineren? [duplicaat]


Deze vraag heeft hier al een antwoord:

Ik begon te werken voor een bedrijf dat een vorige IT-medewerker had ontslagen vanwege het lekken van gegevens.

Ik kan alleen de volgende dingen zeggen:

We gebruiken een Firebird DB met een applicatie geschreven door een ander bedrijf, Proxmox, voor virtualisatie van Windows Server 2008 R2, SQL Server, Mikrotik-router met cloud core en een paar andere Mikrotik-apparaten.

Ik ben niet 100% zeker, maar is er een snelle manier om te controleren of er nog wat achterdeurtjes over zijn, zonder de interne processen te onderbreken en alles opnieuw te formatteren?

Deze vorige man was echt goed, met geschreven software in C ++ en C #. Ik weet ook dat hij wat assembler heeft gedaan en een paar programma's in ollydbg heeft gekraakt.


64
2018-01-25 09:00


oorsprong


Opmerkingen zijn niet voor uitgebreide discussie; dit gesprek is geweest verplaatst naar chat. - Michael Hampton♦


antwoorden:


De enige manier om absoluut zeker te zijn, is om elk systeem schoon te vegen en alles opnieuw te installeren. U zult ook alle lokaal gegenereerde software en configuraties moeten controleren om ervoor te zorgen dat ze geen backdoors bevatten. Dit is een niet-triviale taak die gepaard gaat met niet-triviale kosten.

Buiten dat is er niet echt veel dat je kunt doen.

Uiteraard terwijl je beslist wat je moet doen

  • Controleer alle firewallregels op geldigheid
  • Controleer alle rekeningen op geldigheid
  • Controleer alle sudoers-bestanden op geldigheid
  • Wijzig alle wachtwoorden en sleutels

maar dat is alleen maar krassen op het oppervlak.


108
2018-01-25 10:43



Inderdaad. Een volledige code-audit is de enkel en alleen manier om zeker te zijn - begrijp wat elke regel code doet. Het is triviaal om een ​​"speciale" URL toe te voegen die een shell opent en die te verbergen in obscure applicatielogica. Geen enkele hoeveelheid van het scannen, rebooten of controleren van configuratiebestanden zal dit detecteren, laat staan ​​repareren. - Boris the Spider
Opmerking: "opnieuw installeren vanuit het niets" WERKELIJK betekent niets meer. Koop een nieuwe machine die hij mogelijk niet heeft aangeraakt en gebruik die om nieuwe installatiebestanden te downloaden voor alle besturingssystemen en software die u gebruikt, vanaf de officiële website, bij voorkeur via een beveiligde verbinding en vanuit een heel ander netwerk. Als u de juiste installatieprogramma's niet online kunt vinden, gebruikt u een controlesom voor alle bestaande bestanden voordat u ze gebruikt. - Nzall
Gezien alle fysieke toegang die de man zou hebben gehad, moet je misschien controleren op ongewone of onverwachte hardware. - user2357112
Als je software moet gebruiken die de man heeft geschreven en je een volledige code-audit hebt voltooid, compileer je dan opnieuw, omdat je nog steeds niet zeker weet of de binaire bestanden die je hebt volledig afkomstig zijn van de broncode die je hebt gecontroleerd. - Robert
"Nuke de hele site vanuit een baan - het is de enige manier om er zeker van te zijn" - beldaz


Ten eerste is het belangrijkste doel van een ontslagen sysadmin om zijn verleden op te ruimen, vooral als het een vertrek was met een slechte reputatie. Als er een aanval op zijn vorige systeem zou plaatsvinden, zou hij niets winnen (met name zijn oude baan), maar hij zou kunnen verliezen veel. Ik ben al vele keren geconfronteerd met soortgelijke angsten, maar naar mijn mening zijn ze grotendeels ongegrond. Ik denk dat het veel waarschijnlijker is dat als je hem wat vragen zou stellen, hij erg aardig en behulpzaam zou zijn voor je (die je dan op zijn beurt moet doorverwijzen naar je baas).


Overweeg nu het zeer onwaarschijnlijke geval dat hij echt iets schadelijk wil doen.

Maak een archief van je hele netwerk in een aantal - voor hem - onbereikbare locatie (achter een firewall buiten zijn verantwoordelijkheid, harde schijf in een afgesloten kast, enz.).

Zodra je deze back-up hebt gemaakt, kan hij zijn sporen niet meer verbergen. In het geval van een oproerige aanval, zal het als bewijs dienen.


Je kunt nooit 100% zeker zijn (behalve in het geval van een herinstallatie van het hele netwerk). Je kunt een checklist passeren, maar je kunt er nooit zeker van zijn dat je alles hebt gecontroleerd.

Zelfs in het geval dat je een gat vindt, kun je niet bewijzen dat het daar met opzet is geplaatst. Let op, hetzelfde probleem bestaat voor softwareontwikkelaars. Slecht werk is geen strafbaar feit en je kunt niet bewijzen dat hij het heeft "vergeten" om bijvoorbeeld het standaard wachtwoord voor de databasebeheerder opzettelijk te wijzigen. Of dat gebruikers, wiens wachtwoord door hem is ingesteld, "per ongeluk" de rechten hebben gekregen die nodig zijn om verbinding te maken met uw meest geheime databases.


In de meeste gevallen zijn het belangrijkste onderdeel van uw systeem niet uw besturingssystemen, maar de gegevens die hierop worden beheerd. Dit is met name het geval als deze gegevens privégegevens en eigendom van uw klanten zijn. Hij had ze al lang vóór zijn laatste werkdag kunnen stelen, versleutelde ze en bewaarde ze op plaatsen die alleen aan hem bekend waren. Zorg dus ook voor sporen die aangeven dat hij kopieën van uw gegevens heeft gemaakt voordat hij vertrok. Merk echter op dat als hij het "goed" deed, je niets zult vinden.


39
2018-01-25 16:08



Ik vind je antwoord leuk en heb geprobeerd het meer natuurlijk te laten lezen. U kunt teruggaan als u het niet eens bent met mijn bewerkingen. - Reaces
@Reaces Absoluut oké, heel erg bedankt! - peterh


@JonasWielicki vergeleek deze vraag met een van onze canonieke beveiligingsvragen (Hoe ga ik om met een gecompromitteerde server). Ik blijf bij mijn antwoord dat vraag maar er is een belangrijk verschil.

In die vraag was de server bekend gecompromitteerd worden. Zover ik begrijp deze vraag die in dit geval niet is vastgesteld. Als zodanig ben ik er niet zeker van of we de vlammenwerper nog moeten uitroeien.

Mensen verlaten de hele tijd een organisatie zonder dat er iets ergs gebeurt, zelfs als ze onder slechte voorwaarden zijn vertrokken. Gewoon goed zijn in programmeren, wat al het "bewijs" is dat je ons hebt laten zien in de vraag OP, betekent niet dat iemand op zich een hacker is, en ook niet dat ze je waarschijnlijk zullen aanvallen nu ze zijn vertrokken.

Als je je echt zorgen maakt, raad ik aan om een ​​extern beveiligingsbedrijf in te huren om je systeem te controleren. Niet alleen zal dat hopelijk kleine verrassingen achterlaten die misschien door de vorige systeembeheerder zijn achtergelaten, het zal ook dienen als een goede basis voor al uw beveiligingsproblemen en -kwesties in de toekomst.


14
2018-01-26 11:34



Merk op dat peterh heeft voorgesteld Hoe zoek je naar backdoors van de vorige IT-persoon? als een mogelijk duplicaat, waardoor IMO een veel betere match zou zijn dan Hoe ga ik om met een gecompromitteerde server? - α CVn
@ MichaelKjörling Ik ben het ermee eens dat het een betere dup zal zijn. Ik denk dat de vraag anders is dan de 'search from backdoors one' om te overleven, zelfs als de antwoorden vergelijkbaar zijn. - Rob Moir
Ik ben eigenlijk enigszins onbeslist over de vraag of de twee dezelfde grond bedekken. Het vinden van de achterdeuren is een voor de hand liggende eerste stap voordat ze kunnen worden geëlimineerd; eenmaal gevonden zouden de specifieke stappen enigszins verschillen afhankelijk van het type achterdeur. - α CVn
@ MichaelKjörling Ik zou zeggen dat het als een eerste stap heel ver van duidelijk is. Zoals uit het bovenstaande antwoord blijkt, is verreweg de meest gebruikelijke strategie om aan te nemen dat alles is aangetast en te wissen, opnieuw te installeren, enz. Zonder enige moeite te doen om achterdeuren te vinden. - jwg


De enige manier om er zeker van te zijn dat er geen achterdeur is, is door het systeem te ontgrendelen zoals je zei.

Als dat niet helemaal mogelijk is,

  1. Overweeg een basislijn veilige configuratie en analyse van de huidige configuratie is hiervan afwijkend.
  2. Controleer alle suid-programma's.
  3. Analyseer alle lopende processen.
  4. Voer een portscan uit op het systeem om open poorten en services te identificeren.
  5. Controleer routinematig alle uitgaande en inkomende verbindingen en zoek naar kwaadaardige verbindingen.

11
2018-01-25 14:08





Je zult moeten beslissen hoe zeker je wilt zijn. De kosten-batenverhouding zal nooit uitkomen voor nuking vanuit een baan.

Vereisen managers om garanties of probeer je een redelijk onderzoek te doen naar de systemen die je hebt geërfd?

Als het managers zijn, kun je nu ontdekken hoe redelijk ze zijn. Zijn ze bereid om genoegen te nemen met "vrij zeker"? Misschien kun je de ontslagen man volgen naar zijn nieuwe baan!

Als u uw eigen systemen wilt onderzoeken, zou ik beginnen met het opzetten van een netwerkbewakingssysteem, zoals snuiven. Zoek naar onverwacht verkeer, zoals " waarom praat het systeem dagelijks met deze ene server in Rusland? "of" waarom doen mensen IRC via mijn webserver? "(dat gebeurde er met mij).

Ik denk dat @ peterh's suggestie over het maken van een groot archief een heel goed idee is. Ik denk ook dat zijn suggestie dat de ontslagen man behulpzaam is, volkomen realistisch is. Dit soort problemen blijken 90% van de tijd dom te zijn.


9
2018-01-25 23:24





Je zou een audit moeten uitvoeren van de huidige functionaliteit en gebruik, maar eerlijk gezegd zou je helemaal opnieuw moeten beginnen.

Dit betekent niet alleen dat het "uit de baan moet worden gehaald", maar noteer alle kernfuncties en -vereisten, zoals bijvoorbeeld, welke poorten mogelijk open moeten zijn op de Firewall voor de beperkingen van het vak, het IP-adres of de hostnaam en de rest " loodgieterswerk "zoals dat.

Maak vervolgens een nieuwe omgeving op basis van wat je zag, voer een aantal tests uit om te bevestigen dat de functionaliteit hetzelfde is als je omschakelt en plan dan het onderhoud om een ​​officiële omschakeling te doen: Betekenis kopieer gegevens van de oude setup naar de nieuwe en schakel vervolgens IP's in het vakje om de oude IP's uit de oude doos over te nemen of andere systemen in te stellen die toegang nodig hebben om verbinding te kunnen maken met de nieuwe opstelling.

Maar dat gezegd hebbende, zelfs als je dat doet, zou je de gegevens in de database misschien niet kunnen vertrouwen, maar in ieder geval in zo'n geval wordt het kernsysteem overgeschakeld naar iets stabielers en "gezonden" zodat je een schoner hebt startpunt.

Ook noemde u de vorige I.T. mensen konden programmeren in assembler en C ++. Mijn vraag zou zijn: waarom? Doe ook een audit van eventuele aangepaste code en controleer de functionaliteit. Omdat terwijl de andere mensen macht zijn "fancy" in hun programmeervaardigheden, wie weet of ze iets in C ++ hebben geprogrammeerd dat bijvoorbeeld eenvoudig kan worden nagebootst in Python of een Bash / Batch-script. Ik heb tegenwoordig veel C ++ -programmeurs ontmoet die echt overmatig gebruik maken van C ++ -code wanneer eenvoudigere tools kunnen worden gebruikt om equivalente functionaliteit te bereiken.

Maar aan het eind van de dag is het opnieuw bouwen van architectuur vanaf de grond de enige en veiligste manier om te doen.


6
2018-01-26 02:34



Nukken vanuit een baan is kostbaar, het zou maanden werk betekenen, met de grote kans op veel stabiliteitsproblemen. Met name in grote bedrijven is de toegestane downtime in wezen nul. - peterh


Het eerste ding is dat iedereen hun wachtwoord verandert. Ten tweede moet je de firewall beveiligen en alles wat er rechtstreeks mee verbonden is. Verander ALLE wachtwoorden overal.

Als hij niet door de firewall kan komen, zal hij moeten vertrouwen op iets dat een verbinding met hem tot stand brengt, en zal hij veel moeilijker terugkomen.

Je zult alles over de firewall, regels en configuratie te weten moeten komen en ze regel voor regel moeten controleren op zaken die daar niet bij horen. Zelfs dan is het misschien beter om een ​​nieuwe router te krijgen en de configuratie handmatig over te dragen. Controleren of elke wijziging in de configuratie correct is, geen achterdeur is en dat deze nog steeds nodig is. Dit is het perfecte moment om de restanten van uw systeem schoon te maken.


2
2018-01-27 02:18



Veel wachtwoorden zijn diep gecodeerd in bronnen en configuratiehulpmiddelen. Vooral de interne diensten. Als het systeem complex is, kunnen ze ze vaak niet allemaal vinden. Vaak is het zelfs niet bekend dat het een in wezen wachtwoord is (goed ... referentie-token), bijvoorbeeld een 128-bit hexa-code in een configuratiebestand, diep ingepakt in een .jar-bestand. - peterh


Overweeg: hij had zijn achterdeur in de bootsector kunnen installeren. Afhankelijk van hoe goed hij was en hoe voorzichtig hij was over het krijgen van een blijvende achterdeur, hebt u mogelijk een nieuwe harde schijf en een moederbord nodig. En afhankelijk van wat hij precies heeft gedaan, moet u misschien al uw gegevens achterlaten. Als ik de beslissing nam over wat ik moest doen, zou ik de persoon niet willen opzoeken om aanwijzingen over wat hij mogelijk heeft gedaan; Ik zou handelen naar het risico van schade die de gegevens die u hebt weggestopt in die databases mogelijk zouden kunnen doen.

Als je wilt dat een nette tool categoriseert op basis van risico, heeft de Canadian Military een heel nette methode daarvoor:

Gegevensbescherming "A" - gegevens die aanzienlijke schade aan een persoon kunnen veroorzaken zonder risico van schade aan anderen die hetzelfde systeem gebruiken.

Beschermde "B" - gegevens die aanzienlijke schade aan meer dan 1 persoon kunnen toebrengen, maar is nog steeds beperkt tot personen van wie de gegevens zijn opgeslagen in hetzelfde systeem, maar zonder risico van schade aan de organisatie die de gegevens bij zich draagt.

Beschermde "C" - gegevens die in de verkeerde handen een bedreiging vormen voor de nationale veiligheid, organisatiebrede beveiliging of "root" -toegang tot de gehele database waar de opgeslagen gegevens dezelfde algemene schade kunnen veroorzaken.

Dus, als uw databases persoonlijke gegevens bevatten, en uw server behoort tot een entiteit die wettelijk verantwoordelijk is tegenover mensen om die gegevens vertrouwelijk te houden, dan zou ik alles dat gegevens kan opslaan en vers beginnen, verpotten. Het is in de meeste gevallen een flinke kostenpost, maar als er kans is op een rechtszaak, dan moet de advocaat eerst beginnen en van daaruit verder gaan. Zoek een advocaat die gespecialiseerd is in het kraken van gegevensbeveiliging. De wet voor dit soort dingen kan heel modderig zijn, dus het is het beste om een ​​advocaat te krijgen die erg ervaren is, of om gewoon je hardware te vernietigen en vers te beginnen. Ik hoop dat dit nuttig is. Veel succes en sorry om te horen over je hachelijke situatie.


-1
2018-01-27 22:55