Linux
Analysis Report
tmips.elf
Overview
General Information
Sample name: | tmips.elf |
Analysis ID: | 1647994 |
MD5: | a62f61c5866081796072db6419273e63 |
SHA1: | ca7293833e3096c6240774a50fcf4c079f48dfcd |
SHA256: | 9ee761719e83b4ec4ec1d91da16c5cd232f410ca41bdff7c1b45265cf3b01cdb |
Tags: | elfuser-abuse_ch |
Infos: |
Detection
Score: | 56 |
Range: | 0 - 100 |
Signatures
Antivirus / Scanner detection for submitted sample
Multi AV Scanner detection for submitted file
Detected TCP or UDP traffic on non-standard ports
Enumerates processes within the "proc" file system
Executes the "rm" command used to delete files or directories
Sample has stripped symbol table
Sample listens on a socket
Uses the "uname" system call to query kernel version information (possible evasion)
Classification
Joe Sandbox version: | 42.0.0 Malachite |
Analysis ID: | 1647994 |
Start date and time: | 2025-03-25 13:27:27 +01:00 |
Joe Sandbox product: | CloudBasic |
Overall analysis duration: | 0h 4m 35s |
Hypervisor based Inspection enabled: | false |
Report type: | full |
Cookbook file name: | defaultlinuxfilecookbook.jbs |
Analysis system description: | Ubuntu Linux 20.04 x64 (Kernel 5.4.0-72, Firefox 91.0, Evince Document Viewer 3.36.10, LibreOffice 6.4.7.2, OpenJDK 11.0.11) |
Analysis Mode: | default |
Sample name: | tmips.elf |
Detection: | MAL |
Classification: | mal56.linELF@0/0@0/0 |
Command: | /tmp/tmips.elf |
PID: | 6207 |
Exit Code: | 0 |
Exit Code Info: | |
Killed: | False |
Standard Output: | a cat is fine too |
Standard Error: |
⊘No yara matches
⊘No Suricata rule has matched
- • AV Detection
- • Networking
- • System Summary
- • Persistence and Installation Behavior
- • Malware Analysis System Evasion
Click to jump to signature section
Show All Signature Results
AV Detection |
---|
Source: | Avira: |
Source: | Virustotal: | Perma Link | ||
Source: | ReversingLabs: |
Source: | TCP traffic: |
Source: | Socket: | Jump to behavior |
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: | ||
Source: | TCP traffic detected without corresponding DNS query: |
Source: | Network traffic detected: | ||
Source: | Network traffic detected: | ||
Source: | Network traffic detected: | ||
Source: | Network traffic detected: |
Source: | .symtab present: |
Source: | Classification label: |
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior | ||
Source: | File opened: | Jump to behavior |
Source: | Rm executable: | Jump to behavior | ||
Source: | Rm executable: | Jump to behavior |
Source: | Queries kernel information via 'uname': | Jump to behavior |
Source: | Binary or memory string: | ||
Source: | Binary or memory string: | ||
Source: | Binary or memory string: | ||
Source: | Binary or memory string: |
Reconnaissance | Resource Development | Initial Access | Execution | Persistence | Privilege Escalation | Defense Evasion | Credential Access | Discovery | Lateral Movement | Collection | Command and Control | Exfiltration | Impact |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gather Victim Identity Information | Acquire Infrastructure | Valid Accounts | Windows Management Instrumentation | Path Interception | Path Interception | 1 File Deletion | 1 OS Credential Dumping | 11 Security Software Discovery | Remote Services | Data from Local System | 1 Encrypted Channel | Exfiltration Over Other Network Medium | Abuse Accessibility Features |
Credentials | Domains | Default Accounts | Scheduled Task/Job | Boot or Logon Initialization Scripts | Boot or Logon Initialization Scripts | Rootkit | LSASS Memory | Application Window Discovery | Remote Desktop Protocol | Data from Removable Media | 1 Non-Standard Port | Exfiltration Over Bluetooth | Network Denial of Service |
Email Addresses | DNS Server | Domain Accounts | At | Logon Script (Windows) | Logon Script (Windows) | Obfuscated Files or Information | Security Account Manager | Query Registry | SMB/Windows Admin Shares | Data from Network Shared Drive | 1 Application Layer Protocol | Automated Exfiltration | Data Encrypted for Impact |
⊘No configs have been found
Source | Detection | Scanner | Label | Link |
---|---|---|---|---|
21% | Virustotal | Browse | ||
22% | ReversingLabs | Linux.Trojan.Mirai | ||
100% | Avira | EXP/ELF.Agent.J.8 |
⊘No Antivirus matches
⊘No Antivirus matches
⊘No Antivirus matches
⊘No contacted domains info
- No. of IPs < 25%
- 25% < No. of IPs < 50%
- 50% < No. of IPs < 75%
- 75% < No. of IPs
IP | Domain | Country | Flag | ASN | ASN Name | Malicious |
---|---|---|---|---|---|---|
156.229.232.154 | unknown | Seychelles | 139086 | ONL-HKOCEANNETWORKLIMITEDHK | false | |
34.249.145.219 | unknown | United States | 16509 | AMAZON-02US | false | |
109.202.202.202 | unknown | Switzerland | 13030 | INIT7CH | false | |
91.189.91.43 | unknown | United Kingdom | 41231 | CANONICAL-ASGB | false | |
91.189.91.42 | unknown | United Kingdom | 41231 | CANONICAL-ASGB | false |
Match | Associated Sample Name / URL | SHA 256 | Detection | Threat Name | Link | Context |
---|---|---|---|---|---|---|
156.229.232.154 | Get hash | malicious | Unknown | Browse | ||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Mirai | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Mirai | Browse | |||
Get hash | malicious | Unknown | Browse | |||
34.249.145.219 | Get hash | malicious | Unknown | Browse | ||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Mirai | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Prometei | Browse | |||
109.202.202.202 | Get hash | malicious | Unknown | Browse |
| |
91.189.91.43 | Get hash | malicious | Unknown | Browse | ||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Prometei | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Unknown | Browse | |||
Get hash | malicious | Mirai | Browse | |||
Get hash | malicious | Unknown | Browse |
⊘No context
Match | Associated Sample Name / URL | SHA 256 | Detection | Threat Name | Link | Context |
---|---|---|---|---|---|---|
CANONICAL-ASGB | Get hash | malicious | Unknown | Browse |
| |
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Mirai | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
INIT7CH | Get hash | malicious | Unknown | Browse |
| |
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Prometei | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Mirai | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
ONL-HKOCEANNETWORKLIMITEDHK | Get hash | malicious | Unknown | Browse |
| |
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Mirai | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Mirai | Browse |
| ||
Get hash | malicious | Mirai, Gafgyt, Moobot, Okiru | Browse |
| ||
Get hash | malicious | Mirai, Gafgyt, Moobot, Okiru | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
AMAZON-02US | Get hash | malicious | Unknown | Browse |
| |
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Mirai | Browse |
| ||
Get hash | malicious | FormBook | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | Unknown | Browse |
| ||
Get hash | malicious | FormBook | Browse |
| ||
Get hash | malicious | HTMLPhisher, Invisible JS, Tycoon2FA | Browse |
| ||
Get hash | malicious | HTMLPhisher, Invisible JS, Tycoon2FA | Browse |
|
⊘No context
⊘No context
⊘No created / dropped files found
File type: | |
Entropy (8bit): | 5.344209917821686 |
TrID: |
|
File name: | tmips.elf |
File size: | 76'716 bytes |
MD5: | a62f61c5866081796072db6419273e63 |
SHA1: | ca7293833e3096c6240774a50fcf4c079f48dfcd |
SHA256: | 9ee761719e83b4ec4ec1d91da16c5cd232f410ca41bdff7c1b45265cf3b01cdb |
SHA512: | 2015b9228b83233c6fdf9bd46a3a1207cc22eb603d06d075b7fd71c05e6ff9bcdc50d2d8d96b5696bd46106b83171a8872bd991458887235ba6fc1638a465942 |
SSDEEP: | 1536:sAWySOfcSJJkBWS7WSTeSWasSpXNKPfNmehw8s9:0XOfcKkGSpXQPfNw8s9 |
TLSH: | 0B73B51E6E218FEDF769823547B78E21A79C33D227E0C685E29CD6011E7034D645FBA8 |
File Content Preview: | .ELF.....................@.`...4..)|.....4. ...(.............@...@.....0...0.............. ..E ..E .......k@........dt.Q............................<...'......!'.......................<...'..x...!... ....'9... ......................<...'..H...!........'9. |
ELF header | |
---|---|
Class: | |
Data: | |
Version: | |
Machine: | |
Version Number: | |
Type: | |
OS/ABI: | |
ABI Version: | 0 |
Entry Point Address: | |
Flags: | |
ELF Header Size: | 52 |
Program Header Offset: | 52 |
Program Header Size: | 32 |
Number of Program Headers: | 3 |
Section Header Offset: | 76156 |
Section Header Size: | 40 |
Number of Section Headers: | 14 |
Header String Table Index: | 13 |
Name | Type | Address | Offset | Size | EntSize | Flags | Flags Description | Link | Info | Align |
---|---|---|---|---|---|---|---|---|---|---|
NULL | 0x0 | 0x0 | 0x0 | 0x0 | 0x0 | 0 | 0 | 0 | ||
.init | PROGBITS | 0x400094 | 0x94 | 0x8c | 0x0 | 0x6 | AX | 0 | 0 | 4 |
.text | PROGBITS | 0x400120 | 0x120 | 0x102b0 | 0x0 | 0x6 | AX | 0 | 0 | 16 |
.fini | PROGBITS | 0x4103d0 | 0x103d0 | 0x5c | 0x0 | 0x6 | AX | 0 | 0 | 4 |
.rodata | PROGBITS | 0x410430 | 0x10430 | 0x1400 | 0x0 | 0x2 | A | 0 | 0 | 16 |
.ctors | PROGBITS | 0x452000 | 0x12000 | 0x8 | 0x0 | 0x3 | WA | 0 | 0 | 4 |
.dtors | PROGBITS | 0x452008 | 0x12008 | 0x8 | 0x0 | 0x3 | WA | 0 | 0 | 4 |
.data.rel.ro | PROGBITS | 0x452014 | 0x12014 | 0x4 | 0x0 | 0x3 | WA | 0 | 0 | 4 |
.data | PROGBITS | 0x452020 | 0x12020 | 0x420 | 0x0 | 0x3 | WA | 0 | 0 | 16 |
.got | PROGBITS | 0x452440 | 0x12440 | 0x4d8 | 0x4 | 0x10000003 | WAp | 0 | 0 | 16 |
.sbss | NOBITS | 0x452918 | 0x12918 | 0x28 | 0x0 | 0x10000003 | WAp | 0 | 0 | 4 |
.bss | NOBITS | 0x452940 | 0x12918 | 0x6200 | 0x0 | 0x3 | WA | 0 | 0 | 16 |
.mdebug.abi32 | PROGBITS | 0xb2e | 0x12918 | 0x0 | 0x0 | 0x0 | 0 | 0 | 1 | |
.shstrtab | STRTAB | 0x0 | 0x12918 | 0x64 | 0x0 | 0x0 | 0 | 0 | 1 |
Type | Offset | Virtual Address | Physical Address | File Size | Memory Size | Entropy | Flags | Flags Description | Align | Prog Interpreter | Section Mappings |
---|---|---|---|---|---|---|---|---|---|---|---|
LOAD | 0x0 | 0x400000 | 0x400000 | 0x11830 | 0x11830 | 5.4665 | 0x5 | R E | 0x10000 | .init .text .fini .rodata | |
LOAD | 0x12000 | 0x452000 | 0x452000 | 0x918 | 0x6b40 | 4.1312 | 0x6 | RW | 0x10000 | .ctors .dtors .data.rel.ro .data .got .sbss .bss | |
GNU_STACK | 0x0 | 0x0 | 0x0 | 0x0 | 0x0 | 0.0000 | 0x7 | RWE | 0x4 |
Download Network PCAP: filtered – full
- Total Packets: 26
Timestamp | Source Port | Dest Port | Source IP | Dest IP |
---|---|---|---|---|
Mar 25, 2025 13:28:11.167505026 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:11.337513924 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:11.337657928 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:12.170348883 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:12.338922977 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:12.339222908 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:12.342665911 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:12.512063026 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:12.512223005 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:12.680780888 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:14.761961937 CET | 42836 | 443 | 192.168.2.23 | 91.189.91.43 |
Mar 25, 2025 13:28:16.297774076 CET | 42516 | 80 | 192.168.2.23 | 109.202.202.202 |
Mar 25, 2025 13:28:22.345084906 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:22.514024973 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:22.514050007 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:22.514134884 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:30.631781101 CET | 43928 | 443 | 192.168.2.23 | 91.189.91.42 |
Mar 25, 2025 13:28:35.101587057 CET | 39244 | 443 | 192.168.2.23 | 34.249.145.219 |
Mar 25, 2025 13:28:35.101636887 CET | 443 | 39244 | 34.249.145.219 | 192.168.2.23 |
Mar 25, 2025 13:28:35.101702929 CET | 39244 | 443 | 192.168.2.23 | 34.249.145.219 |
Mar 25, 2025 13:28:35.102412939 CET | 39244 | 443 | 192.168.2.23 | 34.249.145.219 |
Mar 25, 2025 13:28:35.102432013 CET | 443 | 39244 | 34.249.145.219 | 192.168.2.23 |
Mar 25, 2025 13:28:37.707191944 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:37.707279921 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:28:40.870625019 CET | 42836 | 443 | 192.168.2.23 | 91.189.91.43 |
Mar 25, 2025 13:28:47.013592958 CET | 42516 | 80 | 192.168.2.23 | 109.202.202.202 |
Mar 25, 2025 13:28:52.876194000 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:28:52.876271963 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:29:08.045593023 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:29:08.045701981 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:29:11.586189985 CET | 43928 | 443 | 192.168.2.23 | 91.189.91.42 |
Mar 25, 2025 13:29:22.556917906 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:29:22.733388901 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:29:22.733505011 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:29:35.094475985 CET | 39244 | 443 | 192.168.2.23 | 34.249.145.219 |
Mar 25, 2025 13:29:35.140265942 CET | 443 | 39244 | 34.249.145.219 | 192.168.2.23 |
Mar 25, 2025 13:29:37.931485891 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:29:37.931632042 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:29:53.100440025 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:29:53.100574970 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:30:08.270859003 CET | 51325 | 37692 | 156.229.232.154 | 192.168.2.23 |
Mar 25, 2025 13:30:08.271014929 CET | 37692 | 51325 | 192.168.2.23 | 156.229.232.154 |
Mar 25, 2025 13:30:13.840627909 CET | 443 | 39244 | 34.249.145.219 | 192.168.2.23 |
System Behavior
Start time (UTC): | 12:28:10 |
Start date (UTC): | 25/03/2025 |
Path: | /tmp/tmips.elf |
Arguments: | /tmp/tmips.elf |
File size: | 5777432 bytes |
MD5 hash: | 0083f1f0e77be34ad27f849842bbb00c |
Start time (UTC): | 12:28:10 |
Start date (UTC): | 25/03/2025 |
Path: | /tmp/tmips.elf |
Arguments: | - |
File size: | 5777432 bytes |
MD5 hash: | 0083f1f0e77be34ad27f849842bbb00c |
Start time (UTC): | 12:28:10 |
Start date (UTC): | 25/03/2025 |
Path: | /tmp/tmips.elf |
Arguments: | - |
File size: | 5777432 bytes |
MD5 hash: | 0083f1f0e77be34ad27f849842bbb00c |
Start time (UTC): | 12:29:34 |
Start date (UTC): | 25/03/2025 |
Path: | /usr/bin/dash |
Arguments: | - |
File size: | 129816 bytes |
MD5 hash: | 1e6b1c887c59a315edb7eb9a315fc84c |
Start time (UTC): | 12:29:34 |
Start date (UTC): | 25/03/2025 |
Path: | /usr/bin/rm |
Arguments: | rm -f /tmp/tmp.60vh05HqZm /tmp/tmp.SX1nC8Yp1N /tmp/tmp.XXcbpQPRHq |
File size: | 72056 bytes |
MD5 hash: | aa2b5496fdbfd88e38791ab81f90b95b |
Start time (UTC): | 12:29:34 |
Start date (UTC): | 25/03/2025 |
Path: | /usr/bin/dash |
Arguments: | - |
File size: | 129816 bytes |
MD5 hash: | 1e6b1c887c59a315edb7eb9a315fc84c |
Start time (UTC): | 12:29:34 |
Start date (UTC): | 25/03/2025 |
Path: | /usr/bin/rm |
Arguments: | rm -f /tmp/tmp.60vh05HqZm /tmp/tmp.SX1nC8Yp1N /tmp/tmp.XXcbpQPRHq |
File size: | 72056 bytes |
MD5 hash: | aa2b5496fdbfd88e38791ab81f90b95b |