Cisco Firepower 1000/2100 Series Forensic Data Collection Procedures


Introduction

Prerequisites

Step 1 - Create the Firepower Device Problem Description

Step 2 - Document the Firepower Runtime Environment

Step 3 - Verify the Integrity of FTD System Files

Step 4 - Verify Digitally Signed Image Authenticity

Step 5 - Verify FTD Memory .text Segment Integrity

Step 6 - Obtain Firepower crashinfo/core File

Step 7 - Check ROM Monitor Settings

Related Documentation

Firepower 1000/2100 Series Forensic Data Collection Checklist

Appendix A - Firepower 1000/2100 Series Platform That Is Running ASA Software

Revision History




Introduction

This document provides steps to collect forensic information from Cisco Firepower 1000/2100 Series appliances that are running Cisco Firepower eXtensible Operating System (FXOS) Software when compromise or tampering is suspected. It outlines a number of commands that can be run to gather evidence for an investigation along with the respective output that should be collected upon running these commands. This document also provides information on how to perform integrity checks on Cisco FXOS system and Cisco Firepower Threat Defense (FTD) application images and includes a procedure for collecting a memory dump, a crashinfo file, and a core file from a Cisco Firepower device.

Note: DO NOT REBOOT THE DEVICE. Rebooting a device during the initial stage of an assessment will irrecoverably lose all volatile information that is contained within the device (e.g., RAM contents, Address Resolution Protocol [ARP] and routing tables, Network Address Translations [NATs], access control list [ACL] hit and drop counts).

Note: Cisco highly recommends isolating a device that is suspected of tampering or compromise from the network before conducting an initial forensic examination. This may prevent remote unloading of any implants or malware that are installed on the device and will prevent an attacker from monitoring commands that are entered on the device under investigation.

If you require assistance or have questions regarding the following procedures, contact the Cisco Product Security Incident Response Team (PSIRT).

This document contains seven sections:

1.      Create the Firepower Device Problem Description - Describe why the platform is a candidate for forensic examination.

2.      Document the Firepower Runtime Environment - Collect platform configuration and runtime state.

3.      Verify the Integrity of FTD System Files - Examine system file image hashes for inconsistencies.

4.      Verify Digitally Signed Image Authenticity - Examine the Cisco FXOS operating system for proper signing characteristics.

5.      Verify FTD .text Memory Segment Integrity - Retrieve and calculate a hash of the Cisco FTD .text segment.

6.      Firepower crashinfo/core File - Obtain crashinfo and core files from the running Cisco FTD application.

7.      Check ROM Monitor Settings - Examine ROM monitor settings for remote system image loading.


Prerequisites

The procedures that are outlined in this document assume that the reader has a basic understanding of Cisco FXOS Software, Cisco FTD Software, and Linux command syntax.

A valid cisco.com account is required to view individual Cisco FXOS Software and FTD Software file hashes for software file integrity checking. For customers without a cisco.com account, a publicly available comprehensive list of file hashes (Bulk Hash File) can be downloaded from https://www.cisco.com/c/en/us/about/trust-center/downloads.html.

A Cisco Technical Assistance Center (TAC) service request (SR) for the device in question is required because these procedures assume that the information gathered in each step will be uploaded to a TAC SR.

Note: The examples that are used in this document are based on Cisco FXOS Software Release 2.14.1 and Cisco FTD Software Release 7.4.2 command syntax. The output that is produced by a command may vary depending on the software release that is deployed and/or the features that are supported or configured on the device. Not all commands that are used in these procedures may be supported on earlier releases of the software.

Note: Collection steps 2 through 7 contain examples of the commands that should be executed along with the expected output toward the end of each step.


Step 1 – Create the Firepower Device Problem Description

Describe in as much detail as possible why the device is a candidate for forensic examination. Are there configuration changes that cannot be explained? Is there unusual traffic originating from or terminating on the device? Are there anomalous entries in the device logs or in syslog messages? Is the device exhibiting odd behavior that cannot be attributed to a misconfiguration or a software/hardware defect? Are any typical device administration commands now returning unusual output or no output at all?

Use the Cisco Software Checker to search for Cisco Security Advisories that apply to specific releases of Cisco Adaptive Security Appliance (ASA) Software, Firepower Management Center (FMC) Software, FTD Software, FXOS Software, IOS Software, IOS XE Software, NX-OS Software, and NX-OS Software in ACI Mode.

Record any results that are returned by the tool that may explain the anomalous behavior that is being observed. It is considered a best practice to keep software up to date to take advantage of the latest security fixes and enhancements.

Note: This tool does not provide information about Cisco IOS XR Software or interim software builds. Also note that for Cisco ASA Software, FMC Software, FTD Software, and FXOS Software, the tool contains only vulnerability information for Cisco Security Advisories first published from January 2022 onward, and for NX-OS Software and NX-OS Software in ACI Mode from July 2019 onward.

Submit the problem description and any relevant results that were obtained from the Cisco Software Checker to the relevant TAC SR and proceed to the next section of this document.

Note: If the platform is running a Cisco Adaptive Security Appliance (ASA) Software image, skip steps 2 through 7 and run the commands outlined in Appendix A. If the platform is running a Firepower Threat Defense (FTD) image, proceed with the commands in step 2.


Step 2 – Document the Firepower Runtime Environment

The initial stage of forensic information gathering is completed by using show tech-support commands in the Cisco FXOS and Firepower CLIs, and some of the output may vary depending on the Cisco FTD Software release and/or features that are supported or configured on the device.

Note: For Cisco Firepower 1000/2100 Series appliances, the default command shell will vary depending on the method that is used to access the platform. If SSH is used, the user will be placed into the Cisco FTD CLI. If a console connection is used, the user will be placed into the Cisco FXOS CLI. Use the connect ftd command to access the Cisco FTD CLI from the FXOS CLI and the connect fxos command to access the Cisco FXOS CLI from the FTD CLI.

Execute the following commands from the Cisco FXOS CLI prompt:

connect local-mgmt
show tech-support fprm detail
copy workspace:/techsupport/<file_name> <destination>

Note: The copy command supports the FTP, HTTP, HTTPS, SCP, SFTP, and TFTP protocols.

Next, connect to the Cisco Firepower module CLI and collect the output of show tech-support detail by using the following series of commands:


connect ftd
system support diagnostic-cli
enable
terminal pager 0
show tech-support detail
exit
exit

The output of show tech-support detail may also be redirected to a file server using the FTP, SCP, SMB, or TFTP protocols. The following example depicts the required syntax using the FTP protocol:

show tech-support file ftp://10.10.10.1/tech-support-details.txt detail

An example of this entire procedure follows:


firepower# connect local-mgmt 
firepower(local-mgmt)# show tech-support fprm detail
 firepower_FPRM
The showtechsupport file will be located at workspace:/techsupport/ 20240118150424_firepower_FPRM.tar.gz
Initiating tech-support information task on FABRIC A ...
WARNING: *** /mnt/disk0/smart-log/ is missing ***
WARNING: *** /tmp/sed_env_info.xml is missing ***
WARNING: *** /tmp/softraid_env.xml is missing ***
WARNING: *** /tmp/nvme_build.log is missing ***
WARNING: *** /tmp/sed_build.log is missing ***
WARNING: *** /tmp/sr_build.log is missing ***
WARNING: *** /tmp/vpath-cfg-cache is missing ***
Completed initiating tech-support subsystem tasks (Total: 0)

firepower(local-mgmt)#

firepower(local-mgmt)# copy workspace:/techsupport/20240118150424_firepower_FPRM.tar.gz ftp://anonymous@10.10.10.1/
Connected to 10.10.10.1.
220 Microsoft FTP Service
331 User name ok, need password
Password: 
230 User logged in
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I.
local: /opt/cisco/csp/workspace/techsupport/20240118150424_firepower_FPRM.tar.gz remote: 
/20240118150424_firepower_FPRM.tar.gz 227 Entering passive mode (10,10,10,1,222,195) 125 Using existing data connection 100% |***********************************| 6649 KiB 60.66 MiB/s 00:00 ETA 226 Closing data connection; File transfer successful. 6808707 bytes sent in 00:00 (43.99 MiB/s) 221 Service closing control connection firepower(local-mgmt)# connect ftd > system support diagnostic-cli Attaching to Diagnostic CLI ... Press 'Ctrl+a then d' to detach. Type help or '?' for a list of available commands. firepower> enable Password: firepower# terminal pager 0 firepower# show tech-support file ftp://10.10.10.1/tech-support-details.txt detail !!! firepower# exit Logoff User enable_1 logged in to firepower Logins over the last 1 days: 2. Last login: 13:10:25 UTC Feb 16 2024 from console Failed logins since the last login: 0. Type help or '?' for a list of available commands. firepower> exit Console connection detached. >

Submit all command output that was collected in this section to the relevant TAC SR and proceed to the next section of this document.


Step 3 – Verify the Integrity of FTD System Files

Connect to the Cisco FTD CLI. This can be accomplished from the Cisco FXOS CLI by using the connect ftd command.

From the Cisco FTD CLI, use the following commands to assume root permissions, run the system file integrity checks, and collect the necessary files for forensic assessment.

Access expert mode and sudo to the root account:


expert
sudo su -

Run the integrity checks:


find /ngfw/var/sf/.icdb/* -name *.icdb.RELEASE.tar | xargs sha512sum
cat /proc/*/smaps > /tmp/all-process-smaps.txt
verify_file_integ.sh -f

Note: The Linux which command can be used to quickly locate the shell scripts in the next step. See the following example for more details.

Locate and retrieve copies of the following files:


verify_file_integ.sh
verify_signed_db.sh
db_manage.sh
/ngfw/etc/certs/*.crt
/ngfw/var/log/sf/verify_file_integ.log
/ngfw/var/tmp/merged-db/master.db

Create an archive of the preceding list of files and copy the archive off the platform.


tar -cvf SR-<sr_number>.tar
sha512sum SR-<sr_number>.tar
ftp or scp

An example of this procedure follows:


firepower# connect ftd
> expert
admin@firepower:~$ sudo su -
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
Password:
root@firepower:~# find /ngfw/var/sf/.icdb/* -name *.icdb.RELEASE.tar | xargs sha512sum
480fd0602e527c156880543b7f0e8f87428f54c0692d217829633846316fc07a11d8ea1a90c6eeb9b80176c0a26223fee0390d02b72bc4d74aa360e8ba976077  
/ngfw/var/sf/.icdb/lsp/lsp.icdb.RELEASE.tar a4e48d6505e724d73b4037632988d5b24172afec1eeba2e37c986d496017563ff1ab012a787c65b61b17b9e50d569124469e6b61fa55078f2abb23673bf0e491
/ngfw/var/sf/.icdb/vdb/vdb.icdb.RELEASE.tar ec1b5a2ac31a05a85c57880ec8fe781b2f449020454ccfe2eaada99aff4a4f5e5fde0ec9f43ea92be98425be13f034175ee77ddca3a712daa121994455411088
/ngfw/var/sf/.icdb/vdb/vdb.navl.icdb.RELEASE.tar # # Note: the file names, number of files, and hash values may vary dependent on
# the version of software running on the appliance and whether any software
# updates have been applied. It is important that the output (including file
# names and hashes) generated by the command above be submitted to the TAC SR. # root@firepower:~# cat /proc/*/smaps > /tmp/all-process-smaps.txt root@firepower:~# verify_file_integ.sh -f Running file integrity checks... Successfully verified file integrity # # Identify the location of the system integrity scripts with the “which”
# command: # root@firepower:~# which verify_file_integ.sh /ngfw/usr/local/sf/bin/verify_file_integ.sh root@firepower:~# which verify_signed_db.sh /ngfw/usr/local/sf/bin/verify_signed_db.sh root@firepower:~# which db_manage.sh /ngfw/usr/local/sf/bin/db_manage.sh # # Archive a copy of these scripts, along with all certificates found in
# /ngfw/etc/certs/, and the files /ngfw/var/log/sf/verify_file_integ.log and # /ngfw/var/tmp/merged-db/master.db # root@firepower:~# tar -cvf SR-1234567890.tar /ngfw/usr/local/sf/bin/verify_file_integ.sh /ngfw/usr/local/sf/bin/verify_signed_db.sh /ngfw/usr/local/sf/bin/db_manage.sh /ngfw/etc/certs/*.crt /ngfw/var/log/sf/verify_file_integ.log /ngfw/var/tmp/merged-db/master.db /tmp/all-process-smaps.txt tar: Removing leading `/' from member names /ngfw/usr/local/sf/bin/verify_file_integ.sh /ngfw/usr/local/sf/bin/verify_signed_db.sh /ngfw/usr/local/sf/bin/db_manage.sh /ngfw/etc/certs/SRU_rel.crt /ngfw/etc/certs/rel.crt /ngfw/var/log/sf/verify_file_integ.log /ngfw/var/tmp/merged-db/master.db /ngfw/etc/certs/rewhich db_manage.sh /tmp/all-process-smaps.txt # # Create a hash of the tar file: # root@firepower:~# sha512sum SR-1234567890.tar 8833409f7affbae6ab19cdd8ca11153252f1176e147b3d4c373a7195e261da5ca72a3260a5aa1a5f991b12c1f6ac070d4ece31765e413f0e5e4afd6c95cf6ea5
SR-1234567890.tar root@firepower:~# # # Copy the tar file off the platform using FTP or SCP: # root@firepower:~# ftp 10.10.10.1 Connected to 10.10.10.1. 220 Microsoft FTP Service Name (10.10.10.1:admin): anonymous 331 Anonymous access allowed, send identity (e-mail name) as password. Password: 230 User logged in. Remote system type is Windows_NT. ftp> bin 200 Type set to I. ftp> put SR-1234567890.tar local: SR-1234567890.tar remote: SR-1234567890.tar 229 Entering Extended Passive Mode (|||59418|) 125 Data connection already open; Transfer starting. 100% |***********************************| 1990 KiB 104.76 MiB/s 00:00 ETA 226 Transfer complete. 2037760 bytes sent in 00:00 (100.48 MiB/s) ftp> quit 221 Goodbye. root@firepower:~# exit logout admin@firepower:/opt/cisco/platform$ exit logout > exit firepower(local-mgmt)#

Submit all command output and the files that were gathered in this step to the relevant TAC SR and proceed to the next section of this document.


Step 4 – Verify Digitally Signed Image Authenticity

Cisco FXOS Software implements digitally signed system images on most platforms. Digitally signed Cisco FXOS Software uses asymmetric (public key) cryptography, which increases the security posture of Cisco Firepower devices by ensuring that the system image has not been altered.

Certain platforms that are running FXOS software, such as Cisco Firepower 1000 Series platforms, also support Cisco Secure Boot technologies. Cisco Secure Boot is a secure startup process that a Cisco device performs each time it boots up. Beginning with the initial power-on, a special-purpose hardware device known as the Trust Anchor module verifies the integrity of the ROM monitor code and the Cisco FXOS image using digital signatures as they are each loaded. If any failures are detected, the user is notified of the error, and the device will wait for the operator to correct the error. This prevents the network device from executing tainted network software.

For additional information, see Trust Anchor Technology.

Note: The show software authenticity set of commands are only supported on Cisco Firepower platforms that incorporate Cisco Secure Boot technologies.

The authenticity and integrity of a system image file can be verified by using the following commands from the Cisco FXOS CLI:

	
connect local-mgmt
cd bootflash:/
show file .boot_string
show software authenticity file <path/filename>
verify signature <path/filename>
show software authenticity running
show software authenticity keys

	

An example of this procedure follows:


firepower# connect local-mgmt
firepower(local-mgmt)# cd bootflash:/
firepower(local-mgmt)# show file .boot_string
disk0:installables/switch/fxos-k8-fp1k-lfbff.2.12.0.530.SPA
firepower(local-mgmt)# show software authenticity file /installables/switch/fxos-k8-fp1k-lfbff.2.12.0.530.SPA
: File /mnt/boot//installables/switch/fxos-k8-fp1k-lfbff.2.12.0.530.SPA size 199156688
File Name                     : <local>/fxos-k8-fp1k-lfbff.2.12.0.530.SPA
Image type                    : Release
    Signer Information
        Common Name           : abraxas
        Organization Unit     : FXOS
        Organization Name     : CiscoSystems
    Certificate Serial Number : 65313942
    Hash Algorithm            : SHA2 512
    Signature Algorithm       : 2048-bit RSA
    Key Version               : A

The Organization Unit, Organization Name, and Certificate Serial Number values (highlighted in the preceding output) can be viewed to verify that the system image signature is valid.

Next, calculate a hash for the Cisco FXOS system image and verify the digital signature by using the following command:

verify signature <path/filename>

An example of this procedure follows:


firepower(local-mgmt)# verify signature /installables/switch/fxos-k8-fp1k-lfbff.2.12.0.530.SPA
: File /mnt/boot//installables/switch/fxos-k8-fp1k-lfbff.2.12.0.530.SPA size 199156688
Done!
Computed Hash   SHA2: e94ca6457ed9c0411a42cfa1a747d438
                      033c79ca4309aa8a556aa7efb5e98801
                      8f4be4bffdcbcdc9dfbd184eb6bbb5ac
                      af0e6f76bc534c709233e8cb0e757fc3
                      
Embedded Hash   SHA2: e94ca6457ed9c0411a42cfa1a747d438
                      033c79ca4309aa8a556aa7efb5e98801
                      8f4be4bffdcbcdc9dfbd184eb6bbb5ac
                      af0e6f76bc534c709233e8cb0e757fc3         
The digital signature of the file: fxos-k8-fp1k-lfbff.2.12.0.530.SPA verified successfully

It is also important to verify the authenticity and integrity of the running system image, and this can be accomplished with the following command:

show software authenticity running

An example of this procedure follows:

	
firepower(local-mgmt)# show software authenticity running
File Name                     : <local>/fxos-k8-fp1k-lfbff.2.12.0.530.SPA
Image type                    : Release
    Signer Information
        Common Name           : abraxas
        Organization Unit     : FXOS
        Organization Name     : CiscoSystems
    Certificate Serial Number : 65313942
    Hash Algorithm            : SHA2 512
    Signature Algorithm       : 2048-bit RSA
    Key Version               : A
	
	

The Organization Unit, Organization Name, and Certificate Serial Number values (highlighted in the preceding output) can be viewed to verify that the system image signature is valid, and the certificate serial number should be the same as the value obtained from the show software authenticity file command. In the preceding examples, the authenticity checks of the Cisco FXOS Software image on bootflash: and the authenticity check of the running image both produce a value of 65313942.

Lastly, obtain a copy of the public keys with the following command:

show software authenticity keys

An example of this procedure follows:


firepower(local-mgmt)# show software authenticity keys
Public Key #1 Information
--------------------------
Key Type              : Release (Primary)
Public Key Algorithm  : 2048-bit RSA
Modulus :
        B6:B9:BC:D3:C8:A1:BE:3A:B5:04:0F:21:6C:AA:AB:D6:
        CC:FE:7A:AD:CF:97:1B:57:FC:9A:1D:4B:5A:6D:D4:B0:
        7D:DB:77:FB:3F:A4:57:1A:08:4F:C1:6E:3F:CB:BF:E0:
        3C:99:9C:EE:F5:DD:3C:FC:C6:8D:98:49:29:00:B9:9B:
        DF:22:7E:73:83:FB:B5:78:68:4E:48:1A:5B:EE:83:81:
        B6:3B:2E:35:5B:C2:D0:B8:46:D6:45:13:23:21:44:DA:
        36:55:F9:09:5B:B1:88:8B:9A:28:0B:DA:44:DE:D2:F8:
        8B:17:CF:99:64:BE:2F:80:EF:13:6B:BC:A4:3E:DE:99:
        33:EF:E8:30:56:4C:DA:D5:D3:89:55:CC:BF:A2:22:1A:
        B7:64:FD:14:3A:7D:4F:00:DC:86:B5:35:18:C3:F3:FC:
        93:D4:BF:5E:FD:85:8C:28:4B:96:0F:B1:6D:1E:96:E7:
        05:1C:39:B7:1F:C7:F9:52:47:60:9C:96:FB:00:E2:2D:
        D9:08:2E:3A:87:0C:4F:3E:39:77:C7:FE:AC:D7:2D:23:
        AA:63:EB:2A:4D:13:98:C7:6A:B4:06:F9:1E:2D:B6:F8:
        10:80:EA:F4:E3:BF:C4:49:63:D0:5D:93:9F:96:54:76:
        BF:4D:83:7B:9D:CD:72:61:CC:EC:47:EA:91:EF:34:0B
Exponent              : 65537
Key Version           : A
Product Name          : FXOS
Public Key #2 Information
--------------------------
Key Type              : Release (Backup)
Public Key Algorithm  : 2048-bit RSA
Modulus :
        B6:B9:BC:D3:C8:A1:BE:3A:B5:04:0F:21:6C:AA:AB:D6:
        CC:FE:7A:AD:CF:97:1B:57:FC:9A:1D:4B:5A:6D:D4:B0:
        7D:DB:77:FB:3F:A4:57:1A:08:4F:C1:6E:3F:CB:BF:E0:
        3C:99:9C:EE:F5:DD:3C:FC:C6:8D:98:49:29:00:B9:9B:
        DF:22:7E:73:83:FB:B5:78:68:4E:48:1A:5B:EE:83:81:
        B6:3B:2E:35:5B:C2:D0:B8:46:D6:45:13:23:21:44:DA:
        36:55:F9:09:5B:B1:88:8B:9A:28:0B:DA:44:DE:D2:F8:
        8B:17:CF:99:64:BE:2F:80:EF:13:6B:BC:A4:3E:DE:99:
        33:EF:E8:30:56:4C:DA:D5:D3:89:55:CC:BF:A2:22:1A:
        B7:64:FD:14:3A:7D:4F:00:DC:86:B5:35:18:C3:F3:FC:
        93:D4:BF:5E:FD:85:8C:28:4B:96:0F:B1:6D:1E:96:E7:
        05:1C:39:B7:1F:C7:F9:52:47:60:9C:96:FB:00:E2:2D:
        D9:08:2E:3A:87:0C:4F:3E:39:77:C7:FE:AC:D7:2D:23:
        AA:63:EB:2A:4D:13:98:C7:6A:B4:06:F9:1E:2D:B6:F8:
        10:80:EA:F4:E3:BF:C4:49:63:D0:5D:93:9F:96:54:76:
        BF:4D:83:7B:9D:CD:72:61:CC:EC:47:EA:91:EF:34:0B
Exponent              : 65537
Key Version           : A
Product Name          : FXOS
Public Key #3 Information
--------------------------
Key Type              : Release (FEATURE KEY STORAGE)
Public Key Algorithm  : 2048-bit RSA
Modulus :
        C3:9E:B2:42:93:F2:F5:8A:E7:BA:8A:20:13:23:4A:24:
        39:93:C1:9E:83:32:D5:C7:87:38:54:14:1F:BC:66:8A:
        1A:F5:BA:B5:44:6A:5A:D0:B8:22:B2:3D:66:3D:34:A4:
        13:DF:3C:EB:02:34:97:D3:59:37:BE:86:D1:5C:40:F8:
        4B:F8:C0:7C:C8:92:0E:8F:C0:9B:49:88:8E:EE:31:B4:
        86:4A:3B:D6:D9:34:9F:CB:16:5F:1C:84:47:5A:9C:07:
        9A:12:F3:33:A2:EE:EB:76:8D:B3:C5:29:D2:D3:C4:ED:
        47:7C:70:E0:D3:80:00:36:C5:C1:BC:B0:45:EF:78:D5:
        62:02:5C:B4:35:0F:E9:D9:AD:5F:FF:F9:92:69:0C:01:
        5C:19:7F:E2:FE:0F:6B:8F:58:71:DB:E1:D7:F8:43:2F:
        AF:C1:80:F9:84:D0:AD:CA:A3:EC:C8:C4:C7:BE:48:53:
        EA:D5:31:44:63:B2:F8:3D:F4:C4:66:93:76:83:20:C0:
        1C:F4:B9:9A:3B:8A:FB:8A:D6:EC:9E:D8:35:B1:E1:F0:
        48:16:4C:49:16:65:05:60:8E:77:B4:AA:7A:E9:3F:E7:
        11:89:3E:98:4A:97:82:6E:09:18:4C:7C:8F:5B:45:89:
        78:16:C2:37:8F:3E:40:AE:35:09:D2:91:E6:7F:3C:FB
Exponent              : 65537
Key Version           : A
Product Name          : FXOS-CID

Submit all command output and any system images that were collected in this section to the relevant TAC SR and proceed to the next section of this document.


Step 5 – Verify FTD Memory .text Segment Integrityy

Execute the following commands from the Cisco FTD CLI prompt:


system support diagnostic-cli
enable
  
  

Then calculate a hash value for the .text memory segment and retrieve a copy of it by executing the following commands:


verify /sha-512 system:memory/text
copy system:memory/text ftp

An example of this procedure follows:


> system support diagnostic-cli
Attaching to Diagnostic CLI ... Press 'Ctrl+a then d' to detach.
Type help or '?' for a list of available commands.
firepower> enable
Password: 
firepower# verify /sha-512 system:memory/text !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! [output truncated] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!Done! verify /SHA-512 (system:memory/text) = 2289796c12ee7d909ccac135e1b2075bc54d5c7a38300265dda95d5eb66
5a51b3f45b4fcdc8c17b69c7baa735972aac1a62d2a79530daad67d2aac3dec043b37 firepower# copy system:memory/text ftp Source filename [memory/text]? Address or name of remote host []? 10.10.10.1 Destination filename [text]? system.memory.text.bin !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! INFO: No digital signature found 74031104 bytes copied in 1.990 secs (74031104 bytes/sec)

Cisco highly recommends calculating a hash value on the copied memory segment file and comparing it to the hash value that was obtained on the recipient platform to ensure no errors were introduced during the file transfer process.

The following example utilizes the sha512sum utility, which is included with most Linux distributions:

		
root@ftp-server:~# sha512sum system.memory.text.bin
2289796c12ee7d909ccac135e1b2075bc54d5c7a38300265dda95d5eb665a51b3f45b4fcdc8c17b69c7baa735972aac1a62d2a79530daad
67d2aac3dec043b37 system.memory.text.bin root@ftp-server:~#

Note that the Cisco FTD verify command and the sha512sum utility both produce a SHA-512 hash value of 2289796c12ee7d909ccac135e1b2075bc54d5c7a38300265dda95d5eb665a51b3f45b4fcdc8c17 b69c7baa735972aac1a62d2a79530daad67d2aac3dec043b37 for the system.memory.text.bin file.

Submit all command output (including all computed hash values) and any system images that were collected in this section to the relevant TAC SR and proceed to the next section of this document.


Step 6 – Obtain Firepower crashinfo/core File

WARNING: Executing the tasks in this section will trigger a reload of the FXOS platform. It is of critical importance that all of the preceding information gathering steps have been completed successfully or important evidence may be permanently lost.

Cisco recommends performing this task during a maintenance window. Customers should ensure that they have a copy of the original device configuration and the appropriate authorization to initiate a reload of the platform in question before proceeding with this procedure.

This procedure outlines how to obtain a crashinfo file and a core dump from a Cisco FXOS device.

The crashinfo file is saved in the root of the Cisco FXOS file system by default, and the core dump may be placed in the underlying FTD file system or the coredumpfsys filesystem depending on the software release that is running on the system. The storage space that is required may vary from several hundred megabytes to several gigabytes, depending on the device model. Please ensure that there is enough space on the destination flash or disk file system to accommodate the crashinfo file and core dump file.

To initiate the crashinfo dump process, execute the following commands from the Cisco FTD CLI:


system support diagnostic-cli
enable
crashinfo force page-fault

An example of this procedure follows:


> system support diagnostic-cli
Attaching to Diagnostic CLI ... Press 'Ctrl+a then d' to detach.
Type help or '?' for a list of available commands.
firepower> enable
Password: 
firepower# crashinfo force page-fault
WARNING: This command will force a crash and cause a
         reboot. Do you wish to proceed? [confirm]: 
!! !! First Crash in tid: 22879 type: Page fault error: Address not mapped

Writing live core file to flash. Please do not reload.
Coredump starting....
Corehelper: /opt/cisco/csp/cores/core.lina.11.22781.1745506311
Waiting for Corehelper to finish....
Livecore: generating coredump of 22781
[output omitted]

Saved corefile /opt/cisco/csp/cores/core.lina.11.22781.1745506311
[Inferior 1 (process 22781) detached]
!!! !!! Corehelper [22876] Exit Code: 0
Coredumping took 0 min and 4 secs
[output omitted]

When the crashinfo process is complete, the Cisco Firepower platform will reboot.

Once the platform has rebooted, connect to the Cisco FTD CLI, enter expert mode, calculate a hash value for the core and crashinfo files, and copy the files off the platform by executing the following commands:


expert
sudo su – 
cd /var/data/cores
sha512sum
cd /mnt/disk0
sha512sum
ftp or scp
exit

An example of this procedure follows:


> expert
admin@firepower:/mnt/boot$ sudo su -
Password: 
root@firepower:~# cd /var/data/cores
root@firepower:cores# ls -l | grep -i core
-rw-r--r-- 1 root root 110295949 Apr 24 14:51 core.lina.11.22781.1745506311.gz
root@firepower:cores# sha512sum core.lina.11.22781.1745506311.gz
d654eb3e6a2852d43fb927daaddabea5297e0eaad4abe797e7692bcdcfe825d2ed73931427cb85bae4ffdf685387e916b82313de51a3559b72bde1a987a382c6 core.lina.11.22781.1745506311.gz
root@firepower:cores# ftp 10.10.10.1
Connected to 10.10.10.1.
220 Microsoft FTP Service
Name (10.10.10.1:admin): anonymous
331 User name ok, need password
Password: 
230 User logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bin
200 Type set to I.
ftp> put core.lina.11.22781.1745506311.gz
local: core.lina.11.22781.1745506311.gz remote: core.lina.11.22781.1745506311.gz
227 Entering passive mode (10,10,1,21,231,84)
125 Using existing data connection
100% 
|***********************************************************************************************************|
105 MiB   52.09 MiB/s    00:00 ETA
226 Closing data connection; File transfer successful.
110295949 bytes sent in 00:02 (50.02 MiB/s)
ftp> quit
221 Service closing control connection
root@firepower:cores# cd /mnt/disk0
root@firepower:disk0# ls -l | grep -i crash
-rwxr-xr-x 1 root root 688157 Apr 24 14:52 crashinfo_20250424_145151_UTC
root@firepower:disk0# sha512sum crashinfo_20250424_145151_UTC
8121205d4ee87a77a5fcc1df400eb47fd7aba310d88e3907d3bd200f609024316a26b01d583ac4a94c27f5d5bbc696dd5e6550c76fdf692eb076fe44bb824f25  crashinfo_20250424_145151_UTC
root@firepower:disk0# ftp 10.10.10.1
Connected to 10.10.10.1.
220 Microsoft FTP Service
Name (10.10.10.1:admin): anonymous
331 User name ok, need password
Password: 
230 User logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bin
200 Type set to I.
ftp> put crashinfo_20250424_145151_UTC
local: crashinfo_20250424_145151_UTC remote: crashinfo_20250424_145151_UTC
227 Entering passive mode (10,10,1,21,231,92)
125 Using existing data connection
100% 
|***********************************************************************************************************|
672 KiB  100.93 MiB/s    00:00 ETA
226 Closing data connection; File transfer successful.
688157 bytes sent in 00:00 (14.37 MiB/s)
ftp> quit
221 Service closing control connection
root@firepower:disk0# exit
logout
admin@firepower:/mnt/boot$ exit
logout
> exit
firepower(local-mgmt)#

Submit all command output, hash values, and crashinfo and core files that were collected in this section to the relevant TAC SR and proceed to the next section of this document.


Step 7 – Check ROM Monitor Settings

The ROM monitor firmware of the Cisco Firepower platform is executed when the appliance is powered up or reset. The firmware initializes the platform hardware and boots the Cisco FXOS operating system software. Because the ROM monitor settings are persistent if they have been synced to NVRAM, information about the ROM monitor variable values could indicate an attempt to influence the FXOS boot sequence. The set command can be used while in the ROM monitor prompt to see the value of the ROM monitor variables.

Note: This procedure must be executed from the appliance console.

Access ROM monitor mode by rebooting the Cisco Firepower appliance and pressing the Break or Esc key during the reload process when prompted, as shown in the following example:


firepower# connect local-mgmt 
firepower(local-mgmt)# reboot
Before rebooting, please take a configuration backup.
Do you still want to reboot? (yes/no):yes
Broadcast message from admin@firepower (Thu Jan 18 21:12:11 2024):

All shells being terminated due to system /sbin/reboot
Broadcast message from admin@firepower (Thu Jan 18 21:12:12 2024):
 Reboot requested by the user.
<13>Jan 18 21:12:13 admin: FXOS shutdown log started: pid = 29785 cmdline = /bin/sh/sbin/fxos_log_shutdown ####
[output truncated]

Rebooting... [ 5382.871024] reboot: Restarting system
******************************************************************************
Cisco System ROMMON, Version 1.0.18, RELEASE SOFTWARE
Copyright (c) 1994-2023  by Cisco Systems, Inc.
Compiled Thu 03/23/2023 16:16:11.64 by builder
******************************************************************************
Current image running: Boot ROM1
Last reset cause: ResetRequest (0x00001000)
DIMM0 : Present

Platform FPR-1120 with 16384 MBytes of main memory
Detected Nic devid(0) 15398086
bus: 3 dev: 0 func: 0
BIOS has been successfully locked !!
MAC Address: 6c:03:b5:27:e8:00

Use BREAK or ESC to interrupt boot.
Use SPACE to begin boot immediately.
Boot interrupted.  
rommon 1 > 

The following example shows the output of the ROM monitor set command on a Cisco Firepower platform:

	
rommon 1 > set
    ADDRESS=
    NETMASK=
    GATEWAY=
    SERVER=
    IMAGE=
    CONFIG=
    PS1="rommon ! > "
	
	

The preceding example depicts a platform where the ROM monitor values are at their default values and have not been altered.

To return the Cisco Firepower platform to normal operation, use the boot command at the ROM monitor prompt, as shown in the following example:

	
rommon 2 > boot
Located .boot_string 
Image size 60 inode num 15, bks cnt 1 blk size 8*512

Located installables/switch/fxos-k8-fp1k-lfbff.2.12.0.530.SPA 
Image size 199156688 inode num 65163, bks cnt 48623 blk size 8*512
##############################################################################################################
############################################## [output truncated]

Submit all command output that was obtained in this section to the relevant TAC SR.


Related Documentation

For additional information about Cisco Software Integrity Assurance, as well as forensic investigation procedures for other platforms, see the following link:

Cisco Security Tactical Resources

https://tools.cisco.com/security/center/tacticalresources.x


Firepower 1000/2100 Series Forensic Data Collection Checklist


Step 1 – Create the Firepower Device Problem Description

     Device problem description uploaded to SR

Step 2 – Document FTD Runtime Environment

     Output of Cisco FXOS show tech-support uploaded to SR

     Output of Cisco Firepower module show tech-support uploaded to SR

Step 3 – Verify FTD System File Integrity

     Output of find /ngfw/var/sf/.icdb/* and hashes uploaded to SR

     Output of which executed on shell scripts uploaded to SR

     Shell scripts, certificates, log file, and hash database added to .tar file

     .tar file and its associated hash value uploaded to SR

Step 4 – Verify Digitally Signed Image Authenticity

     Output of show software authenticity file uploaded to SR

     Output of show software authenticity running uploaded to SR

     Output of show software authenticity keys uploaded to SR

Step 5 – Verify FTD .text Memory Segment Integrity

     Output of verify on memory text segment uploaded to SR

     Copy of memory text segment uploaded to SR

Step 6 – Obtain Firepower crashinfo/core File

     Output of crashinfo uploaded to SR

     crashinfo file uploaded to SR

     core file uploaded to SR

     Hash values of crashinfo and core files uploaded to SR

Step 7 – Check ROM Monitor Settings

     Output of set command uploaded to SR


Appendix A – Firepower 1000/2100 Series Platform That Is Running ASA Software

Note: Only execute the commands in Appendix A if Cisco ASA Software is running on a Cisco Firepower 1000/2100 Series appliance.

Execute the following commands from the Cisco ASA CLI prompt:


enable
show tech-support detail
dir /recursive all-filesystems
verify /sha-512 system:/text
copy system:/text ftp:

The output of show tech-support detail may also be redirected to a file server using either the FTP, SCP, SMB, or TFTP protocols. The following example depicts the required syntax if the FTP protocol is used:

show tech-support detail | redirect ftp://anonymous@10.10.10.1/tech-support-details.txt

An example of this entire procedure follows:


ciscoasa# show tech-support detail | redirect ftp://anonymous@10.10.10.1/show-tech-support.txt

ciscoasa# dir /recursive all-filesystems
Directory of disk0:/*
274941988  -rw-  116406136    19:20:38 Sep 12 2023  asdm.bin
268440446  -rw-  0            13:08:21 Mar 17 2024  coredumpfsysimage.bin
268439875  -rw-  1109         13:36:35 Mar 17 2024  asa-cmd-server.log
271838408  -rw-  39           13:36:34 Mar 17 2024  snortpacketinfo.conf
147407  -rw-  1901         13:08:20 Mar 17 2024  cspCfg.xml
Directory of disk0:/log
805367049  -rw-  2141         13:36:38 Mar 17 2024  lina_monitor.log
805367054  -rw-  0            13:36:33 Mar 17 2024  stdout_offload_app.log
805367055  -rwx  372361       17:17:23 Mar 17 2024  asa-miovif.log
805367058  -rw-  749          13:36:34 Mar 17 2024  lcore.log
805367060  -rwx  119861       13:39:57 Mar 17 2024  asa-appagent.log
805367061  -r--  3572         13:36:35 Mar 17 2024  asa_snmp.log
805367063  -rwx  108556       17:24:21 Mar 17 2024  asa-ssp_ntp.log
805367064  -rwx  0            13:09:15 Mar 17 2024  asa-fxos_xml.log
[output truncated]

ciscoasa# verify /sha-512 system:/text
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[output truncated]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Done!
verify /SHA-512 (system:/text) = efc7164423606abce9a67ca5d4202ffd2c14342c4639596acee526d37c2b4a7d2aa
4061629534557c122dbfb528935fdd79fabd9e855c8d6d58e936f6563f8c2 ciscoasa# copy system:/text ftp: Source filename [text]? Address or name of remote host []? 10.10.10.1 Destination filename [text]? system.memory.text.bin 73990144 bytes copied in 2.850 secs (36995072 bytes/sec) ciscoasa#

Cisco highly recommends calculating a hash value on the copied memory segment file and comparing it to the hash value that was obtained on the recipient platform to ensure no errors were introduced during the file transfer process.

The following example utilizes the sha512sum utility, which is included with most Linux distributions:


root@ftp-server:~# sha512sum system.memory.text.bin
efc7164423606abce9a67ca5d4202ffd2c14342c4639596acee526d37c2b4a7d2aa406162953
4557c122dbfb528935fdd79fabd9e855c8d6d58e936f6563f8c2 system.memory.text.bin root@ftp-server:~#

Note that the Cisco ASA verify command and the sha512sum utility both produce a SHA-512 hash value of efc7164423606abce9a67ca5d4202ffd2c14342c4639596acee526d37c2b4a7d2aa4061629534557 c122dbfb528935fdd79fabd9e855c8d6d58e936f6563f8c2 for the system.memory.text.bin file.

ASA Module Core File Generation

Caution: This step contains commands that may cause the platform to reboot. It is of critical importance that all the preceding information-gathering steps have been completed successfully or important evidence may be permanently lost.

To initiate the core dump process, execute the following command in enable mode:

crashinfo force page-fault

The core dump may take some time to complete, depending on the amount of physical memory (RAM) installed on the device.

When the core dump process is complete, the ASA module will reboot.

ciscoasa# crashinfo force page-fault 
WARNING: This command will force a crash and cause a
         reboot. Do you wish to proceed? [confirm]: 
!! !! First Crash in tid: 24955 type: Page fault error: Address not mapped

Writing live core file to flash. Please do not reload.

Coredump starting....
Corehelper: /opt/cisco/csp/cores/core.lina.11.24829.1746100776
Waiting for Corehelper to finish....
Livecore: generating coredump of 24829
[New LWP 24941]
[New LWP 24942]
[New LWP 24943]
[New LWP 24944]
[New LWP 24945]
[New LWP 24947]
[New LWP 24948]
[New LWP 24955]
[New LWP 24957]
[New LWP 24958]
[New LWP 24959]
[New LWP 24960]
[New LWP 24961]
[New LWP 24962]
[New LWP 24963]
[New LWP 24964]
[New LWP 24965]
[New LWP 24966]
[New LWP 24993]
[New LWP 24994]
[New LWP 24995]
[New LWP 24996]
[New LWP 27356]
0x00007f3f71f4f2cd in ?? () from /lib64/libpthread.so.0
warning: target file /proc/24829/cmdline contained unexpected null characters
Saved corefile /opt/cisco/csp/cores/core.lina.11.24829.1746100776
[Inferior 1 (process 24829) detached]
!!! !!! Corehelper [24946] Exit Code: 0
Coredumping took 0 min and 6 secs
[output truncated]

The core dump is written to a compressed file located on the /coredumpfs file system. The name of the file can be displayed using the dir command:

ciscoasa# dir disk0:/coredumpfsys

Directory of disk0:/coredumpfsys/
11	drwx	16384	   07:50:37 Aug 03 2024  lost+found
1406273	drwx	4096       07:52:31 Aug 03 2024  sysdebug
24529	-rw-	125217750  11:59:42 May 01 2025 core.lina.11.24829.1746100776.gz

1 file(s) total size: 125217750 bytes
16106127360 bytes total (15739285504 bytes free/97% free)

It is highly recommended that a hash value be calculated on the core file obtained in this section so that any errors introduced by subsequent copying or transmission can be reliably detected.

ciscoasa# verify /sha-512 disk0:/coredumpfsys/core.lina.11.24829.1746100776.gz
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[output omitted]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Done!
verify /SHA-512 (disk0:/coredumpfsys/core.lina.11.24829.1746100776.gz) = 2e62ff2919a1c5ccc27b8cc5156633cb429f1a2c43037a6094ab9b4946f947a69536ca78e239bcc07f8d901862b9ce441cd15cf43bd4d1d5b273e8e336620bf6
ciscoasa#

Lastly, copy the core file off the platform using FTP, SCP, or TFTP.

ciscoasa# copy disk0:/coredumpfsys/core.lina.11.24829.1746100776.gz ftp:
Source filename [/coredumpfsys/core.lina.11.24829.1746100776.gz]? 
Address or name of remote host []? 10.10.10.1
Destination filename [core.lina.11.24829.1746100776.gz]? 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
125217750 bytes copied in 5.830 secs (25043550 bytes/sec)

Submit all command output (including all computed hash values), a copy of the system:/text memory segment, and the core file collected in this section to the relevant TAC SR.

Revision History

Version Date Author Comments
1.0 4/5/2024 Dan Maunz Initial public release.
1.1 8/27/2024 Dan Maunz Integrated 2100 Series.
1.2 5/1/2025 Dan Maunz  Validated procedures on v7.4.2

 


This document is part of the Cisco Security portal. Cisco provides the official information contained on the Cisco Security portal in English only.

This document is provided on an “as is” basis and does not imply any kind of guarantee or warranty, including the warranties of merchantability or fitness for a particular use. Your use of the information in the document or materials linked from the document is at your own risk. Cisco reserves the right to change or update this document without notice at any time.


Back to Top