IOC means Indicator Of Compromise. An IOC is a set of conditions that identifies some potentially unwanted software or a confirmed malware. Blue Teams use this kind of definitions to search for this kind of malicious files in their systems and networks.
To share these definitions is very useful as when a malware is identified in a computer and an IOC for that malware is created, other Blue Teams can use it to identify the malware faster.
A tool to create or modify IOCs isIOC Editor.
You can use tools such asRedlineto search for defined IOCs in a device.
Lokiis a scanner for Simple Indicators of Compromise.
Detection is based on four detection methods:
1. File Name IOC
Regex match on full file path/name
2. Yara Rule Check
Yara signature match on file data and process memory
3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)
Linux Malware Detect
Linux Malware Detect (LMD) is a malware scanner for Linux released under the GNU GPLv2 license, that is designed around the threats faced in shared hosted environments. It uses threat data from network edge intrusion detection systems to extract malware that is actively being used in attacks and generates signatures for detection. In addition, threat data is also derived from user submissions with the LMD checkout feature and from malware community resources.
Tools like rkhunter can be used to check the filesystem for possible rootkits and malware.
PEpper checks some basic stuff inside the executable (binary data, entropy, URLs and IPs, some yara rules).
NeoPI is a Python script that uses a variety of statistical methods to detect obfuscated and encrypted content within text/script files. The intended purpose of NeoPI is to aid in the detection of hidden web shell code.
PHP-malware-finder does its very best to detect obfuscated/dodgy code as well as files using PHP functions often used in malwares/webshells.
Apple Binary Signatures
When checking some malware sample you should always check the signature of the binary as the developer that signed it may be already related with malware.
If you know that some folder containing the files of a web server was last updated in some date. Check the date all the files in the web server were created and modified and if any date is suspicious, check that file.
If the files of a folder shouldn't have been modified, you can calculate the hash of the original files of the folder and compare them with the current ones. Anything modified will be suspicious.
When the information is saved in logs you can check statistics like how many times each file of a web server was accessed as a webshell might be one of the most.