目录
一、加固用户名密码(用户层)
1、修改linux用户密码
2、删除其他可登录用户
二、加固SQL数据库(服务层)
1、修改mysql密码
2、删除匿名用户
3、刷新配置
4、改网站后台密码
三、后门文件查杀
四、关闭shell连接进程
五、处理新增文件与不死马
1、查看新增文件,删掉
2、删除不死马(rm -f 无法删除)
(1)创建一个脚本
(2)加权777(最高权限)
(3)在后台不断运行该脚本
六、弱口令与内核溢出提权
一、加固用户名密码(用户层)
1、修改linux用户密码
使用命令
passwd
输入之后根据提示修改密码即可
2、删除其他可登录用户
使用命令查看/etc/passwd 文件
cat /etc/passwd
第一个字段显示用户名,第二个字段显示密码状态,如果是 x,则表示密码存储在 /etc/shadow 文件中,第三个字段显示用户 ID,第四个字段显示组 ID;
后面字段依次显示:存储用户信息、主目录的路径、用户的 shell
这里我们配合grep命令查询可登录用户:
cat /etc/passwd |grep bash #有bash表示用户可以登录
我这里只是以自己服务器为例做演示,实际比赛环境肯定不止有root一个可登录用户,并且比赛给我们的账号密码是一个低权限用户,用于访问服务器,一般为非root权限。
如果有权限就删除用户:
userdel -r 用户名
二、加固SQL数据库(服务层)
1、修改mysql密码
进入mysql数据库:
mysql -uroot -proot
修改mysql数据库密码:
update mysql.user set password=password('新密码') where user='root';
#password为加密方式,不以明文存储,也可以使用md5('新密码')
改了之后查一下:
select host,user,password from mysql.user;
我这里是以自己Windows的mysql数据库演示,所以有些东西不太一样
这里的host表示可以登录的ip地址
2、删除匿名用户
注意:默认会存在匿名用户登录(user为空的用户),我们需要删掉它:
delete from mysql.user where user='';
3、刷新配置
完成之后我们刷新设置:
flush privileges;
4、改网站后台密码
从网站页面或者源码或者目录扫描工具找到后台页面,然后尝试弱口令登入后改管理员密码。
三、后门文件查杀
将D盾、河马扫到的后门文件全部删掉
假设后门文件名为shell.php
rm -f shell.php #直接跟文件名要在文件所在当前路径进行
或者echo一个空值进去使后门文件为空,
echo >shell.php
四、关闭shell连接进程
使用who命令查看已经登录的账号:
将不是自己队伍ip地址的用户踢掉:
pkill -kill -t pts/进程号
五、处理新增文件与不死马
1、查看新增文件,删掉
find ./ -cmin -30 #查看30分钟内创建的文件,./表示当前目录下
使用命令 rm -f 删掉
2、删除不死马(rm -f 无法删除)
(1)创建一个脚本
vim killshell.sh
内容:
#!/bin/bash
while true
do
kill -9 进程ID
rm -rf shell.php
done
一直循环删除
查看进程ID使用命令:
top | grep httpd
(2)加权777(最高权限)
chmod 777 killshell.sh
(3)在后台不断运行该脚本
nohup ./killshell.sh &
进行相关查看:
ps -aux | grep killshell.sh
ls shell.php
cat nohup.out
六、弱口令与内核溢出提权
若能从user用户提权到root(可能存在内核溢出提权)或者root用户存在弱口令toor
提权到root用户后,上传我们的payload文件
chmod 777 payload
./payload
删掉flag
rm -rf /bin/curl