- 10
- 4 970
Linux Virus Engineering And Research
United States
เข้าร่วมเมื่อ 9 ก.ย. 2024
I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to this field. I want to lower the barrier for entry and share knowledge more widely to software developers, system administrators, and those who are simply curious. The objective however is not to instigate harm to computer systems. Rather, it aims to elucidate the mechanisms behind computer viruses and the vulnerabilities they exploit, empowering individuals to avoid falling prey to its tactics repeatedly. I want to underscore that, it is ignorance, not viruses, that pose the true harm.
If you are interested, please checkout the write ups and a systematic course on Udemy following the links below.
If you are interested, please checkout the write ups and a systematic course on Udemy following the links below.
Reverse Shell Virus Demo | How To Create A Computer Virus
In this video, I share a working example of a reverse shell hiding inside a virus.
If you are interested in a full course, please see here:
www.udemy.com/course/linux-virus-engineering/?referralCode=9CB1EE4E757F0A3CD1B3
Source code:
github.com/yundddd/vf
---
I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to this field. I want to lower the barrier for entry and share knowledge more widely to software developers, system administrators, and those who are simply curious. The objective however is not to instigate harm to computer systems. Rather, it aims to elucidate the mechanisms behind computer viruses and the vulnerabilities they exploit, empowering individuals to avoid falling prey to its tactics repeatedly. I want to underscore that, it is ignorance, not viruses, that pose the true harm.
#linux #malware #softwareengineering #ethicalhacking #computervirus
If you are interested in a full course, please see here:
www.udemy.com/course/linux-virus-engineering/?referralCode=9CB1EE4E757F0A3CD1B3
Source code:
github.com/yundddd/vf
---
I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to this field. I want to lower the barrier for entry and share knowledge more widely to software developers, system administrators, and those who are simply curious. The objective however is not to instigate harm to computer systems. Rather, it aims to elucidate the mechanisms behind computer viruses and the vulnerabilities they exploit, empowering individuals to avoid falling prey to its tactics repeatedly. I want to underscore that, it is ignorance, not viruses, that pose the true harm.
#linux #malware #softwareengineering #ethicalhacking #computervirus
มุมมอง: 1 194
วีดีโอ
Hiding virus execution | How To Create A Computer Virus
มุมมอง 9713 หลายเดือนก่อน
Executing virus code in a stealthy way is crucial to virus survival. In this video I demonstrate the double-fork() trick used by viruses to hide execution from users. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to t...
A Trick To Make Virus Self-Contained | How To Write A Computer Virus
มุมมอง 5353 หลายเดือนก่อน
Some syscalls require initialized strings. Since viruses avoid the use of .ro_data (read-only) section to reduce infection complexity, this video demonstrates a trick to embedded string literals inside the text section. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics communi...
Virus Software Framework | How To Create Computer Virus
มุมมอง 5503 หลายเดือนก่อน
Writing computer virus is non-trivial. In this video, I want to introduce a software framework that makes researching virus simple. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to this field. I want to lower the barr...
Virus Redirection Techniques | How To Create A Computer Virus
มุมมอง 793 หลายเดือนก่อน
After injecting a virus, we will need a way to actually run the virus. This video talks about the motivation and steps you need to take to achieve that. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to this field. I w...
Virus Infection Techniques | How To Create A Computer Virus
มุมมอง 1173 หลายเดือนก่อน
Before we introduce virus infection algorithms, this video talks about infection at a high level, decomposing each steps that any algorithm would involve. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics community but are not easily accessible for someone new to this field. I...
Virus Building Infrastructure | How To Create A Computer Virus
มุมมอง 3363 หลายเดือนก่อน
This video discusses virus creation (build infrastructure), challenges and workaround at a high level. It's actually non-trivial to get all the things right to make a virus work. After all, virus engineering is a form of software engineering. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the b...
Homegrown Linux Virus Demo | How To Create A Computer Virus
มุมมอง 2483 หลายเดือนก่อน
Hello. This video shows how a homegrown Linux virus is able to silently infect other programs in the same directory. Check out other videos in the channel for high level overview on how to create Linux viruses on your own. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are well known in the binary forensics comm...
Compare Virus Infection Algorithms | How To Create A Computer Virus
มุมมอง 1583 หลายเดือนก่อน
This video talks about trade-offs between different virus infection algorithms (Silvio Cesare's Text Padding infection, Reverse Text Infection, and PT_Note infection) , and demonstrated how to quickly test their effectiveness using the Linux Virus Framework. I share tips and tricks on how to create computer viruses targeting Linux operating systems. Some technical details discussed here are wel...
Keep it up man. I just managed to reproduce it on my machine. Works out of box!
No sh!t. Good stuff!
When the child kill itself after spawning a granchild to do work, wouldn't it still leave behind a <defunc> dead child if the parent process is not yet reach the cleanup part?
Let's use A, B and C to denote processes of interest. We first have process A (parent) fork process B (child). Process B immediately forks process C (grandchild). B then dies and gets reaped by A's wait() syscall, and then A continues it's own business. The grandchild C is effectively orphand and the init process will take on the responsibility for its cleanup. This is a common technique to daemonize a process. In our case, we just daemonized our virus running in the background allowing it to perform arbitrarily long work. Let me know if this clears things up.
In 2:36 you mentioned about the dead child process appeared as <defunc> in the process list because the parent haven't call wait() to clean it up yet. My concern is, after forking process C (grandchild), B dies but won't get cleanup until A call wait(). So if the analyzer inspect process list at this moment, it will see process A and a dead process B, won't it also "raise some eyebrows"?
Your concern is valid, but process A performs wait() right after fork(). Depending on scheduling activities, there might be a tiny window where process B can be marked as <defunct> before it's cleaned up. I don't think any sampling based process analyzer can reliably pick that up, unless a BPF based monitor sets up process hooks and gets notified about each process state changes. Realistically, showing up as <defunct> is suspicious to humans when they happen to be looking at the process list. This window is small enough that should be insignificant to human eyes. What this trick achieves is hiding long running work from human perception, that is, without slowing down the infected program to a noticeable degree, nor causing other visual artifacts (defunct process).
@@LinuxVirusEngAndResearch I understand that the double-fork trick is used to hide long running work (by moving it to a completely separated process C) and hide artifacts (by dying and got cleaned up immediately after forking). For demonstration purpose you presented a situation where B got fork'ed, died, but not getting cleaned up yet. I understand that realistically the time from when B got fork'ed and the dead B got cleaned up is short, but I raised the concern because I didn't know how short it is, and is it significant enough to leave any trace. Now I got the answer. One last thing (to confirm): if an analyzer happens to take a snapshot of the process list at the right moment, it can still see the dead process B (that is marked as <defunc>), right?
@@sarahkatherine8458 That is absolutely right. I don't have a quantitive measure of how small that window is but I'd say the possibility to sample at the exact right moment is fairly low on modern multi-core machines. Are you looking to design such an analyzer?
"this video is for educational purposes only"
You certainly speak my mind
No more fancy ASCII banners I guess?
Avoiding RO data can save you lots of headaches but it's actually not entirely impossible. I have a prototype in the virus framework that allows it, but requires a linker script to arrange text section right next to ro_data so they can be extracted as a whole binary blob. github.com/yundddd/vf/blob/master/common/extract_text_section.py#L35 this tool hooks into the build system here github.com/yundddd/vf/blob/master/nostdlib/nostdlib.bzl#L52
Reproducibility is indeed important to research. Last time I stumbled on an algorithm, it was targetting 32 bit systems lololo
anything interesting there? happy to implement that in the Virus Framework if there is a link
"Everything is a trade-off, there is no best infection" Well said.
Virus engineering is engineering after all, isn't it? :)
Interesting
i wish its full length, we need more of this stuf man keep it up
Appreciate the support. I am doing extra write ups and a full course video. Stay tuned.
It's important to do this ethically. When you find a vulnerability, please report it or patch it.
From the course description it looks like it's mostly educational; know your enemies so we can better defend ourselves.
www.udemy.com/course/linux-virus-engineering/?referralCode=9CB1EE4E757F0A3CD1B3 github.com/yundddd/vf
www.udemy.com/course/linux-virus-engineering/?referralCode=9CB1EE4E757F0A3CD1B3 github.com/yundddd/vf