Identifiera bakdörrar på Cisco-routrar

Med hjälp av följande metoder så kan du identifiera om du blivit utsatt för injektion av bakdörren som har namnet SYNful knock men även andra typer av bakdörrar som modifierar Cisco IOS ROM-monitor.

Statistiken över identifierade bakdörrade Cisco-routrar ser än så länge ut så här:

CIsco bakdörrar

Det var företaget FireEye som var först att identifiera denna typ av bakdörr men publik forskning har under många år påvisat att denna typ av bakdörrar varit möjligt. Den bakdörr som nu identifierats är mycket avancerad och innehåller upp till 100 olika moduler.

Och även om ovan statistik är några dagar gammal så har nu över 100 routrar identifierats med bakdörrar.

Kontrollera checksummor

Först och främst bör du kontrollera checksummor på de mjukvaror som ligger på din Cisco-enhet. Det kan genomföras med kommandot verify som beräknar en md5-hash:

router# verify sup-bootdisk:c7600rsp72043-advipservicesk9-mz.151-3.S3
Verifying file integrity of  sup-bootdisk:c7600rsp72043-advipservicesk9-mz.151-3.S3
.....<output truncated>.....Done!
Embedded Hash  MD5 : FCEBD3E1AF32221091E920D5960CAE45
Computed Hash  MD5 : FCEBD3E1AF32221091E920D5960CAE45
CCO Hash       MD5 : E383BF779E137367839593EFA8F0F725 
Signature Verified
router#

Du bör även kontrollera nedladdade mjukvaror från Cisco.com, där finns det även SHA512-hashar som du kan jämföra med.

Kontrollera signaturer

Vissa Cisco-enheter stödjer även kontroll av signering. Då kan du skriva följande likt detta kommando show software authenticity file:

Router# show software authenticity file c1900-universalk9-mz.SPA.152-4.M2
File Name                     : c1900-universalk9-mz.SPA.152-4.M2
Image type                    : Production
    Signer Information
        Common Name           : CiscoSystems
        Organization Unit     : C1900
        Organization Name     : CiscoSystems
    Certificate Serial Number : 509AC949
    Hash Algorithm            : SHA512
    Signature Algorithm       : 2048-bit RSA
    Key Version               : A

Och även jämföra med det som just nu körs. Observera att serial-number stämmer:

Router#show software authenticity running 
SYSTEM IMAGE
------------
Image type                    : Production
    Signer Information
        Common Name           : CiscoSystems
        Organization Unit     : C1900
        Organization Name     : CiscoSystems
    Certificate Serial Number : 509AC949
    Hash Algorithm            : SHA512
    Signature Algorithm       : 2048-bit RSA
    Key Version               : A

    Verifier Information
        Verifier Name         : ROMMON 1
        Verifier Version      : System Bootstrap, Version 15.0(1r)M9, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport

Skapa en core-dump

Genom att få Cisco-enheten att skapa en core-dump (krashdump) så kan vi läsa av minnet på enheten. Där finns det en hel del intressanta saker som gör att vi kan genomföra ”live forensics”.

Argumenten för att skicka en core-dump innehållandes minnet är enligt följande:

exception core-file <name> compress
exception protocol ftp
exception region-size 65536
exception dump <ip address of the  ftp server>
ip ftp username <user>
ip ftp password <pass>

Sedan kan du karva ut text-sektionen och jämföra den offline med den du har laddat hem från Cisco. En annan intressant sak är även att kontrollera kommandohistoriken:

$ strings <CORE> |grep ^CMD:
CMD: 'verify /md5 system:memory/text' 06:59:50 UTC  Wed Jan 15 2014
CMD: 'service internal | i exce' 07:02:41 UTC Wed  Jan 15 2014
CMD: 'conf t' 07:02:45 UTC Wed Jan 15 2014
CMD: 'exception flash procmem bootflash:' 07:02:54  UTC Wed Jan 15 2014
CMD: 'exception core-file CORE compress ' 07:03:31  UTC Wed Jan 15 2014

Du kan även genomföra liknande kommando direkt online:

router#show history all | include se
CMD: 'show run | include ^service internal' 09:55:17  UTC Thu Jan 16 2014
CMD: 'show run | include ^service internal' 10:06:54  UTC Thu Jan 16 2014
CMD: 'show run | include ^service internal' 10:49:54  UTC Tue Jan 21 2014
CMD: 'sh run | i service' 17:20:34 UTC Thu Jan 23  2014
CMD: 'service internal' 10:40:14 UTC Fri Jan 24 2014
CMD: 'sho history all | i ser' 10:41:00 UTC Fri Jan  24 2014
CMD: 'show history all | i ser' 10:41:30 UTC Fri Jan  24 2014
CMD: 'ser in' 10:41:39 UTC Fri Jan 24 2014
CMD: 'show history all | i ser' 10:41:42 UTC Fri Jan  24 2014

Detta var ett axplock av några av de forensiska undersökningar du kan genomföra på en Cisco-enhet. Viktigt är så klart även att logga löpande samt kontrollera och följa upp loggningen.

Cisco bakdörr

För utförligare och mer ingående undersökningar rekommenderar jag följande guide från Cisco:

Jonas Lejon

Om Jonas Lejon

En av sveriges främsta experter inom cybersäkerhet med över 20 års erfarenhet. Frågor? Kontakta mig på: [email protected] eller LinkedIn Twitter

Skriv en kommentar