Diamorphine icon indicating copy to clipboard operation
Diamorphine copied to clipboard

Failing to insmod on Linux for Tegra (L4T, arm64)

Open bigfez opened this issue 3 years ago • 3 comments

Running on 4.9.140-tegra kernel, I cannot get this rootkit to initialize properly. The device is an Nvidia Jetson NX, on an arm64 architecture. I understand that it is a custom kernel which is likely what is causing the issues, but wanted to see if there's anything I can do.

"make" runs just fine, but when trying to run "insmod diamorphine.ko", I always get "Segmentation fault (core dumped)". Running both commands with sudo does not help. I tried installing generic arm64 linux headers for 4.15.0, and built with that by running "make -C /lib/modules/4.15.0-38-generic/build", which worked fine, but then running insmod now gives me "could not insert module diamorphine.ko: Invalid module format".

I wanted to see if trying to install this on an Nvidia Jetson running L4T is a deadend, or if I'm just doing something wrong. Also, the current L4T is based on an Ubuntu 18.04 LTS image, and I was able to install diamorphine on that version of Ubuntu without any issues before trying on the Jetson.

Any help would be appreciated, thanks!

bigfez avatar Jan 20 '21 03:01 bigfez

Hi @bigfez,

Thanks for reporting the issue.

I'm not sure what is causing the problem with the 4.9.140-tegra kernel, I didn't test on this one. I would need to investigate the issue more. It seems that you're doing everything right.

About trying with 4.15.0 headers, did you try with this kernel version running or just compiled with those headers but running with 4.9.140-tegra kernel? You should run on the same kernel that you compile for.

Maybe this is related with #13, since both are related to nvidia, but again, I need to debug to be sure.

m0nad avatar Jan 21 '21 15:01 m0nad

No problem! Essentially I'm trying to test out rootkits on my Nvidia Jetson NX board for a project, and Diamorphine seems to be the best choice for this task. So, it would be really helpful if you can assist me in figuring this out! I'd truly appreciate it.

As far as 4.15.0 headers, I wasn't able to compile while running on that kernel because I'm only able to boot from the L4T 4.9.140-tegra kernel. The Jetson does not have a bootloader I can tweak, so for now, I don't know if I can ever run this device on a generic Linux kernel, or any kernel apart from the provided L4T headers. I started thinking maybe there's a way to flash a different kernel, and found this article. However, I think being forced to use a different kernel than the default L4T on the Jetson ruins the purpose of my project.

I saw that issue about nvidia-smi before posting this, but I don't think these problems are related as they don't seem to be using a Jetson board. If they are, I wouldn't know because there are no details on that post hahaha

Let me know how debugging goes, I'm not sure if you actually need to own a Jetson board to debug properly, but hopefully you can do that without one! I can provide any other details about this device if you think it will help you fix this problem.

Thanks for the support!

bigfez avatar Jan 21 '21 20:01 bigfez

Any update on this problem?

bigfez avatar Feb 10 '21 13:02 bigfez