Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
bigfez opened this issue Jan 20, 2021 · 3 comments
Open

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

bigfez opened this issue Jan 20, 2021 · 3 comments

Comments

@bigfez
Copy link

bigfez commented Jan 20, 2021

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!

@m0nad
Copy link
Owner

m0nad commented Jan 21, 2021

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.

@bigfez
Copy link
Author

bigfez commented Jan 21, 2021

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
Copy link
Author

bigfez commented Feb 10, 2021

Any update on this problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants