Skip to content

Instantly share code, notes, and snippets.

View kwilczynski's full-sized avatar

Krzysztof Wilczyński kwilczynski

  • Yokohama, Japan
  • 22:02 (UTC +09:00)
View GitHub Profile
@majek
majek / netstack4netns.go
Last active April 16, 2021 07:07
netstack from gvisor 4 netns
package main
import (
"flag"
"fmt"
"math/rand"
"net"
"os"
"os/signal"
"runtime"
@majek
majek / gvtcpdump.c
Created December 17, 2019 14:46
gVisor tcpdump
/*
* Usage: ./gvtcpdump | tcpdump -n -r -
*/
#include <arpa/inet.h>
#include <errno.h>
#include <error.h>
#include <getopt.h>
#include <linux/filter.h>
#include <linux/if_ether.h>
#include <linux/if_packet.h>
@kwilczynski
kwilczynski / buckets.txt
Last active July 12, 2024 02:59
Parse S3 URL into bucket, key, region, version ID, etc. Useful when using AWS SDK for Go.
http://s3.amazonaws.com/bucket/key (for a bucket created in the US East (N. Virginia) region)
https://s3.amazonaws.com/bucket/key
http://s3-region.amazonaws.com/bucket/key
https://s3-region.amazonaws.com/bucket/key
http://s3.region.amazonaws.com/bucket/key
https://s3.region.amazonaws.com/bucket/key
http://s3.dualstack.region.amazonaws.com/bucket/key (for requests using IPv4 or IPv6)
  krzysztof@rocinante  ~  $ irb
irb(main):001:0> cis1 = 0x0000001
=> 1
irb(main):002:0> cis2 = 0x0000002
=> 2
irb(main):003:0> ubuntu = 0x0000010
=> 16
irb(main):004:0> centos = 0x0000020
=> 32
irb(main):005:0> amazon = 0x0000040
# First container
cat <<EOF > Dockerfile.1
FROM busybox
ADD rootfs /
EOF
mkdir rootfs
ln -s evil/level1/level2 rootfs/proc
@andreajparker
andreajparker / aws_sec_tools.md
Created October 20, 2019 00:05
AWS security tools

Defensive (Hardening, Security Assessment, Inventory)

@zchee
zchee / go_1.13_error_migration.bash
Created October 16, 2019 07:10 — forked from Peltoche/go_1.13_error_migration.bash
Go 1.13 error format migration script
#!/bin/bash
FILES=$@
echo "Migrate: $FILES"
sed -i "s/errors.Wrapf(\(.*\), \"\(.*\)\", \(.*\))/fmt.Errorf(\"\2: %w\", \3, \1)/g" $FILES
sed -i "s/errors.Wrap(\(.*\), \"\(.*\)\")/fmt.Errorf(\"\2: %w\", \1)/g" $FILES
sed -i "s/errors.Errorf/fmt.Errorf/g" $FILES
goimports -w .
@majek
majek / common.h
Last active August 20, 2020 21:22
conntrack experiment
#define PFATAL(x...) \
do { \
fprintf(stderr, "[-] SYSTEM ERROR : " x); \
fprintf(stderr, "\n\tLocation : %s(), %s:%u\n", __FUNCTION__, __FILE__, \
__LINE__); \
perror(" OS message "); \
fprintf(stderr, "\n"); \
exit(EXIT_FAILURE); \
} while (0)
@snixon
snixon / centos8-chroot.sh
Created October 3, 2019 21:19
Build a centos8 AWS AMI in a chroot
#!/bin/bash -ex
# Build a new Centos8 install on EBS volume in a chroot
# Run from RHEL8 or CentOS8 instance - eg: ami-0c322300a1dd5dc79 in us-east-1 (RHEL 8 official image)
# Script expects a second EBS volume, I add them as /dev/sdf in the console
# When the script completes, turn the second EBS volume into your new AMI through the console.
# Adjust the section below to match the device names you're using. Defaults are for an m5.large
# m5 series requires the updated device names
@jedi4ever
jedi4ever / feedback.md
Last active July 26, 2020 09:17
Pulimi feedback

Installation

  • did brew install pulumi, installed 1.0.0 , running it keeps nagging about brew upgrade to 1.0.1
  • I wonder if there is a phone-home option, then it needs an optional opt-out
  • I'd expect pulumi init instead of new
  • pulumi needs documentation on the bootstrap for the state bucket (correct permissions)
  • pulumi login defaults to the saas platform, and says alternative logins available. not too clear , a select local would be nice
  • also the path where is stores the files should be asked for during installation
  • pulumi new --secrets-provider=passphrase (default I assume) has no way to initialize the secret from the CLI (like reading it from stdin or file)
  • why is bin in .gitignore (because typescript compiles in ./bin)