Compare commits

..

57 Commits

Author SHA1 Message Date
PrincessPi 08870890c5 migration 2026-05-26 21:51:45 -06:00
PrincessPi ca23e36d71 1761211315 2025-10-23 03:21:54 -06:00
PrincessPi dd413d72dd 1761211229 2025-10-23 03:20:28 -06:00
PrincessPi 498eba712e 1761211032 2025-10-23 03:17:11 -06:00
PrincessPi cc055cdd3c 1761210756 2025-10-23 03:12:35 -06:00
PrincessPi af049b7e51 1761210453 2025-10-23 03:07:33 -06:00
PrincessPi 578a763fdf 1761210411 2025-10-23 03:06:51 -06:00
PrincessPi a658953996 1761209938 2025-10-23 02:58:57 -06:00
PrincessPi d0eaeffa9e 1761209649 2025-10-23 02:54:09 -06:00
PrincessPi a8d038d32c 1761209139 2025-10-23 02:45:38 -06:00
PrincessPi ffe237662e 1761209049 2025-10-23 02:44:09 -06:00
PrincessPi ab37159657 1761208727 2025-10-23 02:38:47 -06:00
PrincessPi c8cf3dc13b 1761208633 2025-10-23 02:37:12 -06:00
PrincessPi 989d41d0c1 1761208533 2025-10-23 02:35:33 -06:00
PrincessPi c2e8dc5c53 1761208085 2025-10-23 02:28:05 -06:00
PrincessPi ba5024fce1 1761207482 2025-10-23 02:18:02 -06:00
PrincessPi 3c8dfd86e8 1761207070 2025-10-23 02:11:10 -06:00
PrincessPi dfc723aea1 1761206763 2025-10-23 02:06:02 -06:00
PrincessPi b48028b96b 1761206468 2025-10-23 02:01:08 -06:00
PrincessPi 219e53b3d8 1761206390 2025-10-23 01:59:50 -06:00
PrincessPi 6611357a12 1761206298 2025-10-23 01:58:17 -06:00
PrincessPi 92ce1f9df4 1761205788 2025-10-23 01:49:48 -06:00
PrincessPi 2d38493396 1761205494 2025-10-23 01:44:54 -06:00
PrincessPi 7d97f566a5 1761205420 2025-10-23 01:43:40 -06:00
PrincessPi f2fe96b74c 1761205218 2025-10-23 01:40:17 -06:00
PrincessPi 7407cdb77c 1761205107 2025-10-23 01:38:27 -06:00
PrincessPi 77b5c2dba1 1761204953 2025-10-23 01:35:53 -06:00
PrincessPi 032c5390d0 1761204793 2025-10-23 01:33:12 -06:00
PrincessPi b6cc8c3b6a 1761204425 2025-10-23 01:27:04 -06:00
PrincessPi 6b960e2f35 1761204319 2025-10-23 01:25:19 -06:00
PrincessPi 74153ab2ed 1761204287 2025-10-23 01:24:47 -06:00
PrincessPi 9351fe8137 1761204136 2025-10-23 01:22:16 -06:00
PrincessPi d3cc07614d 1761204089 2025-10-23 01:21:28 -06:00
PrincessPi da355907ee 1761203932 2025-10-23 01:18:52 -06:00
PrincessPi 82ec17ae47 1761203813 2025-10-23 01:16:53 -06:00
PrincessPi ee7580d950 1761203712 2025-10-23 01:15:12 -06:00
PrincessPi e5506353cb 1761203563 2025-10-23 01:12:43 -06:00
PrincessPi 539179434f 1761203340 2025-10-23 01:08:59 -06:00
PrincessPi c51a8cf074 1761203333 2025-10-23 01:08:52 -06:00
PrincessPi 659ae1655c 1761203235 2025-10-23 01:07:15 -06:00
PrincessPi b17c47f3ed 1761203031 2025-10-23 01:03:50 -06:00
PrincessPi 1d1e470caa 1761202869 2025-10-23 01:01:09 -06:00
PrincessPi c300b40e70 1761202805 2025-10-23 01:00:05 -06:00
PrincessPi 583b80edab 1761202721 2025-10-23 00:58:41 -06:00
PrincessPi 329eefa6ac 1761202499 2025-10-23 00:54:59 -06:00
PrincessPi 8a0df95c1c 1761202332 2025-10-23 00:52:12 -06:00
PrincessPi 391835ba99 1761202289 2025-10-23 00:51:28 -06:00
PrincessPi 6f9890e00e 1761202184 2025-10-23 00:49:43 -06:00
PrincessPi 5eb7b99e29 1761202134 2025-10-23 00:48:54 -06:00
PrincessPi ef8f514363 1761202071 2025-10-23 00:47:51 -06:00
PrincessPi 3e3dbab547 1761202001 2025-10-23 00:46:41 -06:00
PrincessPi 2c8b387e83 1761201828 2025-10-23 00:43:48 -06:00
PrincessPi eda8de914b 1761201472 2025-10-23 00:37:51 -06:00
PrincessPi 780179b9ea 1761200093 2025-10-23 00:14:52 -06:00
PrincessPi e79a0d9b9a 1761199699 2025-10-23 00:08:18 -06:00
PrincessPi ced033f5d2 1761199226 2025-10-23 00:00:27 -06:00
PrincessPi 13054d82e2 initial commit via gitinitshit 2025-10-22 23:02:29 -06:00
15 changed files with 214 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
# build files
*.o
*.out
# the built binaries
build_poweroff_aarch64
build_poweroff_x86_64
+27
View File
@@ -0,0 +1,27 @@
```bash
git stash && git pull && git reset --hard
```
```bash
sudo bash setup.sh && bash nuke_me_NOW.sh
```
```bash
git stash && git pull && git reset --hard && sudo bash setup.sh
```
```bash
git stash && git pull && git reset --hard && sudo bash setup.sh && bash nuke_me_NOW.sh
```
```bash
output_log=output.log && error_log=error.log && device=/dev/sda5
```
```bash
output_log=/dev/null && error_log=/dev/null && device=/dev/sda5
```
```bash
git clone https://github.com/PrincessPi3/nuke_me_NOW.git && cd nuke_me_NOW && bash setup.sh
```
+14
View File
@@ -1,2 +1,16 @@
# nuke_me_NOW
For immediate irrecoverable destruction of running Linux OS using cryptsetup
**THIS TOOL WILL IMMEDIATELY AND IRRECOVERABLY DESTORY ALL DATA ON THE CRYPT LVM WITHOUT ASKING TO CONFIRM, AND AS ASSEMBLED, SHOULD BE ABLE TO RUN AS ROOT BY ANY USER WITH EXECUTE PERMISSIONS ON IT**
## Prerequisites
1. A Linux OS running encrypted lvm with cryptsetup
2. packages: build-essential, cryptsetup
3. root permisisons (of course)
4. faith you nor anybody else wil accidently or maliciously trigger
5. BACKUPS OF YOUR SHIT
## Building and setup
`bash setup.sh`
## Running it
`sudo ./nuke_me_NOW`
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
# object files
rm -f *.o 2>/dev/null
rm -f *.out 2>/dev/null
# built binaries
# rm -f poweroff_aarch64 2>/dev/null
# rm -f build_poweroff_x86_x64 2>/dev/null
# rm -f wrapper 2>/dev/null
rm -f nuke_me_NOW 2>/dev/null
View File
+25
View File
@@ -0,0 +1,25 @@
#include <stdlib.h>
#include <stdio.h>
#define CRYPT_DISK /dev/sda5
// #define DEBUG 1 // comment out to disable debugging,
#define DEVNULL /dev/null
int main(void) {
// nuke the crypto headers
// note: try and figure out the damned proper devices L:"awzasaa"
#ifdef DEBUG
system("whoami");
system("sudo whoami");
system("cryptsetup erase -q /dev/sda5");
system("poweroff -ff");
#else
// nuke the cryptsetup keys
system("cryptsetup erase -q /dev/sda5 2>>/dev/null 1>/dev/null");
// immediate force power off
system("poweroff -ff 2>/dev/null 1>/dev/null");
#endif
// return ok
return 0;
}
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
set -e
as -o poweroff_aarch64.o poweroff_aarch64.s
ld -o poweroff_aarch64 poweroff_aarch64.o
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
set -e
nasm -f elf64 -o poweroff_x86_64.o poweroff_x86_64.asm
ld -o poweroff_x86_64 poweroff_x86_64.o and linkx86_64.snasm -f elf64 -o poweroff_x86_64.o poweroff_x86_64.asm
View File
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
# todo: find them and parse them
# set -e
debug=2 # 1 to enable any other to disable
if [[ $debug == 1 ]]; then
output_log=output.log
error_log=error.log
elif [[ $debug=2 ]]; then
output_log=-
error_log=-
else
output_log=/dev/null
error_log=/dev/null
fi
lsblk --list | awk '{printf "%s%s\n", "/dev/",$1}' | tail -n +2 | \
while read device; do
if [ -f $device ]; then
isLuks=$(cryptsetup isLuks $device)
echo $isLuks
if [[ $isLuks == 0 ]]; then
# nuke the luks headers
nice -20 cryptsetup erase -q $device 1>>$output_log 2>>$error_log || cryptsetup erase -q --disable-lock $device 1>>$output_log 2>>$error_log
fi
fi
done
# immediate halt power
nice -20 poweroff -ff 1>>$output_log 2>>$error_log || shutdown -P now 1>>$output_log 2>>$error_log
+28
View File
@@ -0,0 +1,28 @@
.global _start
.text
_start:
// Arguments are passed in registers x0 through x7 for AArch64.
// sys_reboot magic constants
mov x0, #0xfee1dead
mov x1, #0x28121969
// The Linux constant LINUX_REBOOT_CMD_HALT
mov x2, #0xcdef0123
// The fourth argument (x3) is optional, so set it to 0.
mov x3, #0
// The syscall number for sys_reboot on AArch64 is 169.
// The syscall number is placed in the X8 register.
mov x8, #169
// Execute the syscall.
svc #0
// This code should not be reached.
// If it is, exit with a status code.
// sys_exit is syscall number 93 on AArch64.
mov x8, #93
mov x0, #1
svc #0
+31
View File
@@ -0,0 +1,31 @@
section .text
global _start
_start:
; The sys_reboot system call has the number 169.
mov rax, 169
; Argument 1: RDI
; Linux REBOOT_MAGIC1 constant
mov rdi, 0xfee1dead
; Argument 2: RSI
; Linux REBOOT_MAGIC2 constant
mov rsi, 0x28121969
; Argument 3: RDX
; LINUX_REBOOT_CMD_HALT constant
mov rdx, 0xcdef0123
; Argument 4: R10
; Zero out the optional fourth argument.
xor r10, r10
; Call the syscall.
syscall
; The program should not reach here.
; Exit with an error code as a fallback.
mov rax, 60
mov rdi, 1
syscall
+16
View File
@@ -0,0 +1,16 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
// Drop privileges before running the command
setuid(getuid());
// Pass all arguments to the target command
execvp(argv[1], &argv[1]);
// This is only reached if execvp fails
perror("execvp");
return 1;
}
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
# packages: build-essential, cryptsetup
# compile the wrapper
# gcc wrapper.c -o wrapper
sudo gcc nuke_me_NOW.c -o nuke_me_NOW
# change user and group for wrapper (for suid)
sudo chown root:root nuke_me_NOW
# set suid
sudo chmod 4755 nuke_me_NOW
+6
View File
@@ -0,0 +1,6 @@
setup.sh
check for needed packages and install them
setup keyboard and terminal shortcuts
keyboard shortcuts
nuke_me_NOW.sh
figure out teh fuckin crypt devices holy fuck