AWD常见防御加固手段

目录

一、加固用户名密码(用户层)

1、修改linux用户密码

2、删除其他可登录用户

二、加固SQL数据库(服务层)

1、修改mysql密码

2、删除匿名用户

3、刷新配置

4、改网站后台密码

三、后门文件查杀

四、关闭shell连接进程

五、处理新增文件与不死马

1、查看新增文件,删掉

2、删除不死马(rm -f 无法删除)

(1)创建一个脚本

(2)加权777(最高权限)

(3)在后台不断运行该脚本

六、弱口令与内核溢出提权


一、加固用户名密码(用户层)

1、修改linux用户密码

使用命令 

passwd

输入之后根据提示修改密码即可 

AWD常见防御加固手段_第1张图片

2、删除其他可登录用户

使用命令查看/etc/passwd 文件

cat /etc/passwd

AWD常见防御加固手段_第2张图片

第一个字段显示用户名,第二个字段显示密码状态,如果是 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数据库演示,所以有些东西不太一样 

AWD常见防御加固手段_第3张图片 

这里的host表示可以登录的ip地址

2、删除匿名用户

注意:默认会存在匿名用户登录(user为空的用户),我们需要删掉它:

delete from mysql.user where user='';

3、刷新配置

完成之后我们刷新设置:

flush privileges;

4、改网站后台密码

从网站页面或者源码或者目录扫描工具找到后台页面,然后尝试弱口令登入后改管理员密码。

三、后门文件查杀

将D盾、河马扫到的后门文件全部删掉

假设后门文件名为shell.php

rm -f  shell.php #直接跟文件名要在文件所在当前路径进行

AWD常见防御加固手段_第4张图片 

或者echo一个空值进去使后门文件为空,

echo >shell.php

AWD常见防御加固手段_第5张图片 

四、关闭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


 

你可能感兴趣的:(AWD,AWD,web,系统安全,mysql,linux,网络安全)