Linux 攻击防护基础排查
作者:Zzang
来源:cnblogs
原文:https://www.cnblogs.com/Zzang/p/LinuxHack.html
版权声明:本文为博主原创文章,转载请附上博文链接!
基本网络拓扑图
1. 准备阶段。配置云主机,模拟简单的ssh登录爆破入侵行为
- 步骤一:登录阿里云管理控制台。打开云主机。
- 步骤二:打开VMware,将kali虚拟机的网卡模式设置为NAT,打开kali。打开终端,测试ping云主机,需成功ping通,如下图所示
- 步骤三:通过SSH访问云主机,通过root账户登录云主机,前两次输入错误的密码,第三次输入正确的密码,并成功访问,如下图所示
- 步骤四:创建新用户hack,如下图所示
- 步骤五:为新用户设置密码“123456”,如下图所示
- 步骤六:再次打开一个终端,使用hack用户连接云主机,并输入错误的密码,如下图所示
自行配置hack账户的其他重要权限,或添加其他的账户,如空密码账户等等。并尝试远程登录使用。
2. Linux云主机ECS应急响应排查
1)账号安全
- 步骤一:查看账号,尝试找出异常账号,并分析账号的权限,并记录在实操报告中,如下图所示
- 步骤二:查看影子文件,并分析账号密码的设置情况,并记录在实操报告中,如下图所示
- 步骤三:使用下列命令,进一步分析账号信息,并记录在实操报告中,
- who 查看当前登录用户(tty本地登陆 pts远程登录)
- w 查看系统信息,想知道某一时刻用户的行为
- uptime 查看登陆多久、多少用户,负载who 查看当前登录用户(tty本地登陆 pts远程登录)
- w 查看系统信息,想知道某一时刻用户的行为
- uptime 查看登陆多久、多少用户,负载
2)入侵排查:
- 步骤一:查询特权用户(特权用户,uid为0)
[root@hostserver ~]#awk -F: '$3==0{print $1}' /etc/passwd
- 步骤二:查询可以远程登录的帐号信息
[root@hostserver ~]#awk '/\$1|\$6/{print $1}' /etc/shadow - 步骤三:除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
[root@localhost ~]#more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" - 步骤四:禁用或删除多余及可疑的帐号
- useradd user 创建帐号
- usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
- userdel user 删除user用户
- userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除
3)历史命令查询
- 步骤一: 输入命令 history,查看
- 步骤二:查找文件 .bash_history所在目录,进入用户目录下,
输入命令:cat .bash_history >> history.txt, 查看文件history.txt.
或:tailf -200 /home/[指定username]/.bash_history
4)查看端口信息
- 步骤一:使用命令netstat –antlp | more ,如下图所示
5)查看进程信息和cpu等利用信息
- 步骤一:使用ps命令,并查看参考文献,使用ps命令的常用查看命令组合,并将结果记录在实操报告中。
- 步骤二:使用top命令,并查看参考文献,使用top命令的常用查看命令组合,并将结果记录在实操报告中。
6)查看开机启动项、定时任务、服务
- 步骤:查看参考文献,完成上述排查,并将结果记录在实操报告中。
7)查看系统日志
- 步骤一:
- 日志默认存放位置:/var/log/
- 查看日志配置情况:more /etc/rsyslog.conf
- 步骤二:定位有多少IP在爆破主机的root帐号
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
- 步骤三:定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]? [0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
- 步骤四:爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
- 步骤五:2、登录成功的IP有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
- 登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
- 步骤六:查看增加用户的日志信息
grep "useradd" /var/log/secure
3. 使用工具协助排查入侵
- 步骤一:安装Rootkit查杀工具。
./chkrootkit使用方法:
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.52 (先查看安装的目录)
make sense
#编译完成没有报错的话执行检查
./chkrootkit
4,病毒查杀
- 使用工具Clamav
ClamAV的官方下载地址为:http://www.clamav.net/download.html
作者:Zzang
来源:cnblogs
原文:https://www.cnblogs.com/Zzang/p/LinuxHack.html
版权声明:本文为博主原创文章,转载请附上博文链接!
Linux 攻击防护基础排查的更多相关文章
- Linux安全事件应急响应排查方法总结
Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...
- kindedit编辑器和xxs攻击防护(BeautifulSoup)的简单使用
一.kindedit编辑器 就是上面这样的编辑输入文本的一个编辑器 这也是一个插件.那么怎么用呢? 1.下载:百度kindedit 2.引入: <script src="/static ...
- Ddos攻击防护
Ddos攻击防护 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要 ...
- Linux入侵类问题排查思路
深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...
- Linux应急响应基础
文件排查 敏感目录文件分析 tmp目录 命令目录 /usr/bin /usr/sbin 开机启动项 /etc/init.d /etc/init.d是/etc/rc.d/init.d的软链接 文件时间 ...
- 几十万学费总结出来的Ddos攻击防护经验!
本人从事网络安全行业十余年年.有十年被骗经验.被骗了很多回(都说能防300G,500G,买完就防不住了),本文当然重点给大家说明,ddos攻击是什么,中小企业如何防护,用到成本等. 言归正传 首先我们 ...
- Linux 脚本编写基础
txt去重 http://man.linuxde.net/sort Linux 脚本编写基础 http://www.cnblogs.com/linn/archive/2007/03/05/664 ...
- linux发行版基础目录
linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...
- LINUX二十个基础命令
LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...
随机推荐
- Oracle Mysql的jdbc连接
Oracle和MySql的jdbc或连接池中的连接,写下来以便随时参考 Oracle: driverClassName=oracle.jdbc.driver.OracleDriver url=jdbc ...
- Redux中的异步操作
异步操作的另一种方案就是让Action Creator返回一个Promise对象. 我们这边使用 redux-promise 中间件 import { createStore, applyMidd ...
- ViewPager讲解以及ViewFlipper
1.加入ViewPager最好导入<android.support.v4.view.ViewPager>兼容低版本 2.将布局转换为View的方法 3.适配器类型 PagerAdapter ...
- 掌握Spark机器学习库-09.3-kmeans算法实现分类
数据集 iris.data 数据集概览 代码 package org.apache.spark.examples.hust.hml.examplesforml import org.apache.s ...
- ajax跨域上传图片
前台页面 var data = new FormData(); data.append('file', file); data.append('app', 'goods'); $.ajax({ url ...
- Win7系统32位和64位的区别
Win7系统32位和64位的区别已经是一个老话题了,可是还是有很多朋友不明白.这两者到底有什么区别呢?下面本文与大家通俗的介绍下Win7系统32位和64位的区别,其他一些深入的理论讲述,大家可以看看文 ...
- HDU_1542_(树状数组)
Stars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- ztree 样式修改 white-space: nowrap; 后 下划线要是跟上的话 宽度 width 要 auto 就自动更新了
width:auto; border-bottom:1px solid #ccc; height:30px; display: inline-block;white-space: nowrap;
- LPCTSTR 字符串获取其长度
LPCTSTR lpStr = "123456789";int i=CString(lpStr).GetLength();
- intellij idea集成github
IDEA配置github并上传项目 http://www.cnblogs.com/jinjiyese153/p/6796668.html github ssl验证 https://www.cnblog ...