search
HomeOperation and MaintenanceLinux Operation and MaintenanceLinux - 11 steps to teach you how to perfectly check whether your server has been compromised


Linux - 11 steps to teach you how to perfectly check whether your server has been compromised

# As open source products become more and more popular, as a Linux operation and maintenance engineer, it is crucial to be able to clearly identify whether an abnormal machine has been invaded. Based on my own work experience, I have compiled a few A common situation where a machine is hacked is for reference:
Background information: The following situation is viewed on a CentOS 6.9 system, and is similar to other Linux distributions.

1Intrudermay delete the log information of the machine

You can check whether the log information still exists or whether it has been cleared, related commands Example:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


##2Intrudermay create a new file to store username and password

##You can view /etc/passwd and /etc/ shadow file, related command examples:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


##3

Intrudermay modify username and password files##Can view /etc/passwd and /etc/shadow To identify the file content, related command examples:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


##4

View The latest successful login event of the machine and the last unsuccessful login event

corresponds to the log "/var/log/lastlog", related command examples:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


5

##View all users currently logged in to the machine

corresponds to the log file "/var/run/utmp", related command examples:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


##6

ViewMachineThe corresponding logs of users

who have logged in since the server was created File "/var/log/wtmp", related command examples:

In addition, search the public account Linux to learn how to reply "git books" in the background, and get a surprise gift package.

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


7

ViewThe connection time (hours) of all users of the machine

corresponds to the log file "/var/log/wtmp", related Command example:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


##8

If finds that the machine generates abnormal traffic

You can use the command "tcpdump" to capture network packets to view the traffic situation or use tools" iperf" Check the traffic situation


9

##You can view /var/log/secureLog file

Try to find information about the intruder, related command examples:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


10

Query the execution script file corresponding to the abnormal process

a.top command Check the PID corresponding to the abnormal process

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised

b. Find the executable file of the process in the virtual file system directory Follow Linux Chinese Community

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


11

If it is confirmed that the machine has been invaded and important files have been deleted, you can try to retrieve the deleted files Note:
1. When a process opens a file, as long as The process keeps the file open and even if it is deleted, it still exists on the disk. This means that the process is not aware that the file has been deleted, and it can still read and write to the file descriptor given to it when it was opened. This file is not visible except to the process because its corresponding directory inode has been deleted.
2. In the /proc directory, it contains various files reflecting the kernel and process tree. The /proc directory mounts an area mapped in memory, so these files and directories do not exist on the disk, so when we read and write these files, we are actually getting them from memory. Related Information. Most of the information related to lsof is stored in directories named after the process's PID. That is, /proc/1234 contains information for the process with PID 1234. Various files exist in each process directory that allow applications to easily understand the process's memory space, file descriptor lists, symbolic links to files on disk, and other system information. The lsof program uses this and other information about the kernel's internal state to produce its output. Therefore, lsof can display information such as the file descriptor and related file name of the process. That is, we can find relevant information about the file by accessing the file descriptor of the process.
3. When a file in the system is accidentally deleted, as long as there are still processes in the system accessing the file at this time, we can use lsof to retrieve the file from the /proc directory. to restore the contents of the file.
Assuming that the intruder has deleted the /var/log/secure file, the method of trying to restore the /var/log/secure file can be as follows:

a. Check the /var/log/secure file and find that the file no longer exists

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised

b. Use the lsof command to check whether A process opens /var/log/secure,

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised

c. From the above information, you can see that the file descriptor of the file opened by PID 1264 (rsyslogd) is 4. You can also see that /var/log/secure has been marked as deleted. Therefore, we can view the corresponding information in /proc/1264/fd/4 (each numerically named file under fd represents the file descriptor corresponding to the process), as follows:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised

d. As can be seen from the above information, the data to be recovered can be obtained by viewing /proc/1264/fd/4. If the corresponding data can be viewed through the file descriptor, then I/O redirection can be used to redirect it to the file, such as:

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised

# #e. Check /var/log/secure again and find that the file already exists. This method of recovering deleted files is very useful for many applications, especially log files and databases.

Linux - 11 steps to teach you how to perfectly check whether your server has been compromised


The above is the detailed content of Linux - 11 steps to teach you how to perfectly check whether your server has been compromised. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:Linux中文社区. If there is any infringement, please contact admin@php.cn delete
The 5 Core Components of the Linux Operating SystemThe 5 Core Components of the Linux Operating SystemMay 08, 2025 am 12:08 AM

The five core components of the Linux operating system are: 1. Kernel, 2. System libraries, 3. System tools, 4. System services, 5. File system. These components work together to ensure the stable and efficient operation of the system, and together form a powerful and flexible operating system.

The 5 Essential Elements of Linux: ExplainedThe 5 Essential Elements of Linux: ExplainedMay 07, 2025 am 12:14 AM

The five core elements of Linux are: 1. Kernel, 2. Command line interface, 3. File system, 4. Package management, 5. Community and open source. Together, these elements define the nature and functionality of Linux.

Linux Operations: Security and User ManagementLinux Operations: Security and User ManagementMay 06, 2025 am 12:04 AM

Linux user management and security can be achieved through the following steps: 1. Create users and groups, using commands such as sudouseradd-m-gdevelopers-s/bin/bashjohn. 2. Bulkly create users and set password policies, using the for loop and chpasswd commands. 3. Check and fix common errors, home directory and shell settings. 4. Implement best practices such as strong cryptographic policies, regular audits and the principle of minimum authority. 5. Optimize performance, use sudo and adjust PAM module configuration. Through these methods, users can be effectively managed and system security can be improved.

Linux Operations: File System, Processes, and MoreLinux Operations: File System, Processes, and MoreMay 05, 2025 am 12:16 AM

The core operations of Linux file system and process management include file system management and process control. 1) File system operations include creating, deleting, copying and moving files or directories, using commands such as mkdir, rmdir, cp and mv. 2) Process management involves starting, monitoring and killing processes, using commands such as ./my_script.sh&, top and kill.

Linux Operations: Shell Scripting and AutomationLinux Operations: Shell Scripting and AutomationMay 04, 2025 am 12:15 AM

Shell scripts are powerful tools for automated execution of commands in Linux systems. 1) The shell script executes commands line by line through the interpreter to process variable substitution and conditional judgment. 2) The basic usage includes backup operations, such as using the tar command to back up the directory. 3) Advanced usage involves the use of functions and case statements to manage services. 4) Debugging skills include using set-x to enable debugging mode and set-e to exit when the command fails. 5) Performance optimization is recommended to avoid subshells, use arrays and optimization loops.

Linux Operations: Understanding the Core FunctionalityLinux Operations: Understanding the Core FunctionalityMay 03, 2025 am 12:09 AM

Linux is a Unix-based multi-user, multi-tasking operating system that emphasizes simplicity, modularity and openness. Its core functions include: file system: organized in a tree structure, supports multiple file systems such as ext4, XFS, Btrfs, and use df-T to view file system types. Process management: View the process through the ps command, manage the process using PID, involving priority settings and signal processing. Network configuration: Flexible setting of IP addresses and managing network services, and use sudoipaddradd to configure IP. These features are applied in real-life operations through basic commands and advanced script automation, improving efficiency and reducing errors.

Linux: Entering and Exiting Maintenance ModeLinux: Entering and Exiting Maintenance ModeMay 02, 2025 am 12:01 AM

The methods to enter Linux maintenance mode include: 1. Edit the GRUB configuration file, add "single" or "1" parameters and update the GRUB configuration; 2. Edit the startup parameters in the GRUB menu, add "single" or "1". Exit maintenance mode only requires restarting the system. With these steps, you can quickly enter maintenance mode when needed and exit safely, ensuring system stability and security.

Understanding Linux: The Core Components DefinedUnderstanding Linux: The Core Components DefinedMay 01, 2025 am 12:19 AM

The core components of Linux include kernel, shell, file system, process management and memory management. 1) Kernel management system resources, 2) shell provides user interaction interface, 3) file system supports multiple formats, 4) Process management is implemented through system calls such as fork, and 5) memory management uses virtual memory technology.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools