Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
linux-headers-4.4.0-210-generic /
scripts /
Delete
Unzip
Name
Size
Permission
Date
Action
basic
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
coccinelle
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
dtc
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
gdb
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
genksyms
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
kconfig
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
ksymoops
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
mod
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
package
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
selinux
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
tracing
[ DIR ]
drwxr-xr-x
2021-04-21 07:33
.asn1_compiler.cmd
3.18
KB
-rw-r--r--
2021-04-16 13:37
.conmakehash.cmd
2.33
KB
-rw-r--r--
2021-04-16 13:37
.extract-cert.cmd
4.39
KB
-rw-r--r--
2021-04-16 13:37
.insert-sys-cert.cmd
3.88
KB
-rw-r--r--
2021-04-16 13:37
.kallsyms.cmd
2.32
KB
-rw-r--r--
2021-04-16 13:37
.recordmcount.cmd
3.31
KB
-rw-r--r--
2021-04-16 13:37
.sign-file.cmd
5.01
KB
-rw-r--r--
2021-04-16 13:37
.sortextable.cmd
3.48
KB
-rw-r--r--
2021-04-16 13:37
Kbuild.include
13.37
KB
-rw-r--r--
2021-04-16 11:57
Lindent
496
B
-rwxr-xr-x
2016-01-11 00:01
Makefile
2.03
KB
-rw-r--r--
2021-04-16 11:57
Makefile.asm-generic
683
B
-rw-r--r--
2016-01-11 00:01
Makefile.build
17.16
KB
-rw-r--r--
2021-04-16 11:57
Makefile.clean
2.83
KB
-rw-r--r--
2016-01-11 00:01
Makefile.dtbinst
1.41
KB
-rw-r--r--
2016-01-11 00:01
Makefile.extrawarn
2.54
KB
-rw-r--r--
2021-04-16 11:57
Makefile.fwinst
2.01
KB
-rw-r--r--
2016-01-11 00:01
Makefile.headersinst
4.65
KB
-rw-r--r--
2016-01-11 00:01
Makefile.help
68
B
-rw-r--r--
2016-01-11 00:01
Makefile.host
4.51
KB
-rw-r--r--
2016-01-11 00:01
Makefile.kasan
976
B
-rw-r--r--
2021-04-16 11:57
Makefile.lib
14.9
KB
-rw-r--r--
2021-04-16 11:57
Makefile.modbuiltin
1.78
KB
-rw-r--r--
2016-01-11 00:01
Makefile.modinst
1.43
KB
-rw-r--r--
2021-04-16 11:57
Makefile.modpost
5.25
KB
-rw-r--r--
2021-04-16 11:57
Makefile.modsign
1005
B
-rw-r--r--
2016-01-11 00:01
analyze_suspend.py
117.57
KB
-rwxr-xr-x
2016-01-11 00:01
asn1_compiler
27.3
KB
-rwxr-xr-x
2021-04-16 13:37
asn1_compiler.c
35.54
KB
-rw-r--r--
2016-01-11 00:01
bloat-o-meter
1.9
KB
-rwxr-xr-x
2021-04-16 11:57
bootgraph.pl
6.28
KB
-rwxr-xr-x
2016-01-11 00:01
check-lc_ctype.c
201
B
-rw-r--r--
2016-01-11 00:01
check_extable.sh
4.9
KB
-rwxr-xr-x
2016-01-11 00:01
checkincludes.pl
1.77
KB
-rwxr-xr-x
2016-01-11 00:01
checkkconfigsymbols.py
11.44
KB
-rwxr-xr-x
2016-01-11 00:01
checkpatch.pl
169.77
KB
-rwxr-xr-x
2021-04-16 11:57
checkstack.pl
5.39
KB
-rwxr-xr-x
2021-04-16 11:57
checksyscalls.sh
5.62
KB
-rwxr-xr-x
2016-01-11 00:01
checkversion.pl
1.86
KB
-rwxr-xr-x
2016-01-11 00:01
cleanfile
3.41
KB
-rwxr-xr-x
2016-01-11 00:01
cleanpatch
5.01
KB
-rwxr-xr-x
2016-01-11 00:01
coccicheck
4.66
KB
-rwxr-xr-x
2016-01-11 00:01
config
4.6
KB
-rwxr-xr-x
2021-04-16 11:57
conmakehash
13.2
KB
-rwxr-xr-x
2021-04-16 13:37
conmakehash.c
5.98
KB
-rw-r--r--
2016-01-11 00:01
decode_stacktrace.sh
3.15
KB
-rwxr-xr-x
2021-04-16 11:57
decodecode
2.15
KB
-rwxr-xr-x
2021-04-16 11:57
depmod.sh
1.9
KB
-rwxr-xr-x
2021-04-16 11:57
diffconfig
3.68
KB
-rwxr-xr-x
2016-01-11 00:01
docproc.c
13.8
KB
-rw-r--r--
2016-01-11 00:01
export_report.pl
4.53
KB
-rwxr-xr-x
2016-01-11 00:01
extract-cert
14.27
KB
-rwxr-xr-x
2021-04-16 13:37
extract-cert.c
3.46
KB
-rw-r--r--
2016-01-11 00:01
extract-ikconfig
1.69
KB
-rwxr-xr-x
2016-01-11 00:01
extract-module-sig.pl
3.61
KB
-rwxr-xr-x
2016-01-11 00:01
extract-sys-certs.pl
3.7
KB
-rwxr-xr-x
2021-04-16 11:57
extract-vmlinux
1.6
KB
-rwxr-xr-x
2016-01-11 00:01
gcc-goto.sh
495
B
-rwxr-xr-x
2016-01-11 00:01
gcc-ld
676
B
-rwxr-xr-x
2016-01-11 00:01
gcc-version.sh
822
B
-rwxr-xr-x
2016-01-11 00:01
gcc-x86_32-has-stack-protector.sh
184
B
-rwxr-xr-x
2016-01-11 00:01
gcc-x86_64-has-stack-protector.sh
209
B
-rwxr-xr-x
2021-04-16 11:57
gen_initramfs_list.sh
7.87
KB
-rwxr-xr-x
2016-01-11 00:01
get_maintainer.pl
58.29
KB
-rwxr-xr-x
2016-01-11 00:01
gfp-translate
1.71
KB
-rwxr-xr-x
2016-01-11 00:01
headerdep.pl
3.46
KB
-rwxr-xr-x
2016-01-11 00:01
headers.sh
477
B
-rwxr-xr-x
2016-01-11 00:01
headers_check.pl
3.6
KB
-rwxr-xr-x
2016-01-11 00:01
headers_install.sh
1.28
KB
-rwxr-xr-x
2016-01-11 00:01
insert-sys-cert
18.59
KB
-rwxr-xr-x
2021-04-16 13:37
insert-sys-cert.c
13.08
KB
-rw-r--r--
2021-04-16 11:57
kallsyms
18.62
KB
-rwxr-xr-x
2021-04-16 13:37
kallsyms.c
16.8
KB
-rw-r--r--
2021-04-16 11:57
kernel-doc
76.08
KB
-rwxr-xr-x
2021-04-16 11:57
kernel-doc-xml-ref
4.22
KB
-rwxr-xr-x
2016-01-11 00:01
ld-version.sh
207
B
-rwxr-xr-x
2021-04-16 11:57
link-vmlinux.sh
5.84
KB
-rwxr-xr-x
2021-04-16 11:57
makelst
773
B
-rwxr-xr-x
2016-01-11 00:01
markup_oops.pl
8.08
KB
-rwxr-xr-x
2016-01-11 00:01
mkcompile_h
2.46
KB
-rwxr-xr-x
2016-01-11 00:01
mkmakefile
1.16
KB
-rwxr-xr-x
2016-01-11 00:01
mksysmap
1.33
KB
-rwxr-xr-x
2021-04-16 11:57
mkuboot.sh
379
B
-rwxr-xr-x
2016-01-11 00:01
mkversion
74
B
-rw-r--r--
2016-01-11 00:01
module-common.lds
888
B
-rw-r--r--
2021-04-16 11:57
namespace.pl
13.13
KB
-rwxr-xr-x
2021-04-16 11:57
objdiff
2.69
KB
-rwxr-xr-x
2016-01-11 00:01
patch-kernel
9.91
KB
-rwxr-xr-x
2016-01-11 00:01
pnmtologo.c
11.91
KB
-rw-r--r--
2016-01-11 00:01
profile2linkerlist.pl
375
B
-rwxr-xr-x
2016-01-11 00:01
recordmcount
24
KB
-rwxr-xr-x
2021-04-16 13:37
recordmcount.c
15.31
KB
-rw-r--r--
2021-04-16 11:57
recordmcount.h
16.4
KB
-rw-r--r--
2021-04-16 11:57
recordmcount.pl
18.3
KB
-rwxr-xr-x
2021-04-16 11:57
setlocalversion
4.69
KB
-rwxr-xr-x
2021-04-16 11:57
show_delta
2.99
KB
-rwxr-xr-x
2016-01-11 00:01
sign-file
18.95
KB
-rwxr-xr-x
2021-04-16 13:37
sign-file.c
8.14
KB
-rwxr-xr-x
2016-01-11 00:01
sortextable
18.04
KB
-rwxr-xr-x
2021-04-16 13:37
sortextable.c
7.65
KB
-rw-r--r--
2016-01-11 00:01
sortextable.h
5.48
KB
-rw-r--r--
2016-01-11 00:01
spelling.txt
21.33
KB
-rw-r--r--
2016-01-11 00:01
stackdelta
1.8
KB
-rwxr-xr-x
2016-01-11 00:01
stackusage
759
B
-rwxr-xr-x
2016-01-11 00:01
tags.sh
10.58
KB
-rwxr-xr-x
2021-04-16 11:57
ubuntu-retpoline-extract-one
7.26
KB
-rw-r--r--
2021-04-16 13:37
unifdef.c
34.8
KB
-rw-r--r--
2021-04-16 11:57
ver_linux
3.89
KB
-rwxr-xr-x
2016-01-11 00:01
xen-hypercalls.sh
351
B
-rw-r--r--
2016-01-11 00:01
xz_wrap.sh
562
B
-rwxr-xr-x
2016-01-11 00:01
Save
Rename
#!/bin/bash exec </dev/null object="$1" src="$2" bit16="$3" SECTION=".discard.retpoline_safe" # Form an associative lookup for the symbol numbers in the ELF symbol table. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. __symbolmap_init() { readelf -W --syms "$1" | awk '($4 == "SECTION" && $1 ~ /^[0-9]*:/) { printf("%08x %08x\n", int($1), int($7)); }' | \ while read symbol_num section_num do echo "symbolmap_$symbol_num='$section_num'" done } symbolmap_init() { eval $(__symbolmap_init "$1") } symbolmap() { eval RET="\$symbolmap_$1" if [ "$RET" = '' ]; then echo "symbolmap: $1: invalid section" 1>&2 exit 1 fi } # Form an associative lookup for the section numbers in the ELF symbol table. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. __sectionmap_init() { readelf -W --headers "$1" | \ awk ' { sub("\\[", ""); sub("\\]", ""); } ($1 ~ /^[0-9][0-9]*/) { printf("%08x %s %s %s\n", int($1), $2, $3, $4); } ' | \ { while read section_num section_name section_type section_vma do echo "sectionmap_$section_num='$section_name'" echo "sectionvma_$section_num='$section_vma'" case "$section_type" in REL|RELA) section_relocation="$section_type" ;; esac done echo "section_relocation='$section_relocation'" } } sectionmap_init() { eval $(__sectionmap_init "$1") } sectionmap() { eval RET="\$sectionmap_$1" if [ "$RET" = '' ]; then echo "sectionmap: $1: invalid section" 1>&2 exit 1 fi } sectionvma() { eval RET="\$sectionvma_$1" if [ "$RET" = '' ]; then echo "sectionvma: $1: invalid section" 1>&2 exit 1 fi } # Read and parse the hex-dump output. hex="[0-9a-f]" hex_8="$hex$hex$hex$hex$hex$hex$hex$hex" hexspc="[0-9a-f ]" hexspc_8="$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc" raw32() { readelf --hex-dump "$2" "$1" 2>/dev/null | sed \ -e '/^Hex/d' -e '/^$/d' -e '/^ *NOTE/d' \ -e 's/ *[^ ][^ ]* *\('"$hex_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) .*/\1 \2 \3 \4 /' \ -e 's/\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\) /\4\3\2\1 /g' \ -e 's/ $//g' -e 's/ /\n/g' } #-e 's/\([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) \([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) /\2\1 /g' \ rela() { #file="$(basename "$1")" file="$1" # Read relocation information for a 64bit binary. Each relocation entry # is 3 long longs so we collect 6 quads here. Note that the dump is in # listed in increasing byte order not withstanding the quad split. # # The record says to take the value of <symbol> add <symbol offset> and # shove that into <write offset> in the segment of the <symbol>. # # Format: # <write offset> 64 bits # <symbol number> 32 bits # <relocation type> 32 bits # <symbol offset> 64 bits raw32 "$1" ".rela$SECTION" | \ { a1=''; a2=''; a3=''; a4=''; a5='' while read a6 do [ "$a1" = '' ] && { a1="$a6"; continue; } [ "$a2" = '' ] && { a2="$a6"; continue; } [ "$a3" = '' ] && { a3="$a6"; continue; } [ "$a4" = '' ] && { a4="$a6"; continue; } [ "$a5" = '' ] && { a5="$a6"; continue; } #echo ">$a1< >$a2< >$a3< >$a4< >$a5< >$a6<" 1>&2 #echo "type<$a3> symbol<$a4> offset<$a2$a1> addr<$a6a5>" 1>&2 symbolmap "$a4"; section_num="$RET" #echo "section_num<$section_num>" 1>&2 sectionmap "$section_num"; section="$RET" sectionvma "$section_num"; vma="$RET" #echo "section<$section> vma<$vma>" 1>&2 # Adjust the segment addressing by the segment offset. printf -v addr "%u" "0x$a6$a5" printf -v vma "%u" "0x$vma" let offset="$addr + $vma" printf -v offset "%x" "$offset" echo "$file-$section-$offset" a1=''; a2=''; a3=''; a4=''; a5='' done } | sed -e 's/-00*\([0-9a-f]\)/-\1/' } # Form an associative lookup for the raw contents for an ELF section. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. contentmap_init() { raw32 "$1" "$2" >"$tmp" let offset=0 while read value do printf -v offset_hex "%08x" $offset eval contentmap_$offset_hex=\'$value\' let offset="$offset + 4" done <"$tmp" rm -f "$tmp" } contentmap() { eval RET="\$contentmap_$1" if [ "$RET" = '' ]; then echo "contentmap: $1: invalid offset" 1>&2 exit 1 fi } rel() { # Load up the current contents of the $SECTION segment # as the offsets (see below) are recorded there and we will need # those to calculate the actuall address. contentmap_init "$1" "$SECTION" #file="$(basename "$1")" file="$1" # Read relocation information for a 32bit binary. Each relocation entry # is 3 longs so we collect 3 quads here. Note that the dump is in # listed in increasing byte order not withstanding the quad split. # # The record says to take the value of <symbol> and add that to the # existing contents of <write offset> in the segment of the <symbol>. # # Format: # <write offset> 32 bits # <symbol number> 24 bits # <relocation type> 8 bits raw32 "$1" ".rel$SECTION" | \ { a1='' while read a2 do [ "$a1" = '' ] && { a1="$a2"; continue; } #echo ">$a1< >$a2<" contentmap "$a1"; offset="$RET" symbolmap "00${a2%??}"; section_num="$RET" sectionmap "$section_num"; section="$RET" sectionvma "$section_num"; vma="$RET" #echo ">$a1< >$a2< >$offset< >$section<" echo "$file-$section-$offset" a1='' done } | sed -e 's/-00*\([0-9a-f]\)/-\1/' } tmp=$(mktemp --tmpdir "retpoline-extract-XXXXXX") disassemble() { local object="$1" local src="$2" local options="$3" local selector="$4" objdump $options --disassemble --no-show-raw-insn "$object" | \ awk -F' ' ' BEGIN { file="'"$object"'"; src="'"$src"'"; } /Disassembly of section/ { segment=$4; sub(":", "", segment); } /^[0-9a-f][0-9a-f]* <.*>:/ { tag=$0; sub(".*<", "", tag); sub(">.*", "", tag); } $0 ~ /(call|jmp)q? *\*0x[0-9a-f]*\(%rip\)/ { next } $0 ~ /(call|jmp)q? *\*.*%/ { sub(":", "", $1); if ('"$selector"') { offset=$1 $1=tag print(file "-" segment "-" offset " " src " " segment " " $0); } } ' } # Accumulate potentially vunerable indirect call/jmp sequences. We do this # by examining the raw disassembly for affected forms, recording the location # of each. case "$bit16" in '') disassemble "$object" "$src" '' 'segment != ".init.text"' ;; *) disassemble "$object" "$src" '--disassembler-options=i8086' 'segment != ".init.text" && segment != ".text32" && segment != ".text64"' disassemble "$object" "$src" '--disassembler-options=i386' 'segment == ".text32"' disassemble "$object" "$src" '--disassembler-options=x86-64' 'segment == ".text64"' ;; esac | sort -k 1b,1 >"$object.ur-detected" [ ! -s "$object.ur-detected" ] && rm -f "$object.ur-detected" # Load up the symbol table and section mappings. symbolmap_init "$object" sectionmap_init "$object" # Accumulate annotated safe indirect call/jmp sequences. We do this by examining # the $SECTION sections (and their associated relocation information), # each entry represents the address of an instruction which has been marked # as ok. case "$section_relocation" in REL) rel "$object" ;; RELA) rela "$object" ;; esac | sort -k 1b,1 >"$object.ur-safe" [ ! -s "$object.ur-safe" ] && rm -f "$object.ur-safe" # We will perform the below join on the summarised and sorted fragments # formed above. This is performed in retpoline-check. #join -v 1 -j 1 "$tmp.extracted" "$tmp.safe" | sed -s 's/[^ ]* *//' rm -f "$tmp"