作者: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,病毒查杀


作者:Zzang

来源:cnblogs

原文:https://www.cnblogs.com/Zzang/p/LinuxHack.html

版权声明:本文为博主原创文章,转载请附上博文链接!

Linux 攻击防护基础排查的更多相关文章

  1. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

  2. kindedit编辑器和xxs攻击防护(BeautifulSoup)的简单使用

    一.kindedit编辑器 就是上面这样的编辑输入文本的一个编辑器 这也是一个插件.那么怎么用呢? 1.下载:百度kindedit 2.引入: <script src="/static ...

  3. Ddos攻击防护

    Ddos攻击防护 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要 ...

  4. Linux入侵类问题排查思路

    深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...

  5. Linux应急响应基础

    文件排查 敏感目录文件分析 tmp目录 命令目录 /usr/bin /usr/sbin 开机启动项 /etc/init.d /etc/init.d是/etc/rc.d/init.d的软链接 文件时间 ...

  6. 几十万学费总结出来的Ddos攻击防护经验!

    本人从事网络安全行业十余年年.有十年被骗经验.被骗了很多回(都说能防300G,500G,买完就防不住了),本文当然重点给大家说明,ddos攻击是什么,中小企业如何防护,用到成本等. 言归正传 首先我们 ...

  7. Linux 脚本编写基础

    txt去重    http://man.linuxde.net/sort Linux 脚本编写基础 http://www.cnblogs.com/linn/archive/2007/03/05/664 ...

  8. linux发行版基础目录

    linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...

  9. LINUX二十个基础命令

    LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...

随机推荐

  1. 《基于Node.js实现简易聊天室系列之引言》

    简述:这个聊天室是基于Node.js实现的,完成了基本的实时通信功能.在此之前,对node.js和mongodb一无所知,但是通过翻阅博客,自己动手基本达到了预期的效果.技术,不应该是闭门造车,而是学 ...

  2. Python3 动手自己写谷歌翻译

    本篇为实现谷歌翻译的功能,在编写的时候以为只是一个接口的问题. 没想到的是每次翻译都会触发一次JS的执行,在请求参数中生成一个tk. 文中tk的实现是复用的网上大神的代码生成tk. 好了,不说了直接看 ...

  3. webpack2代码分割

    代码分割-CSS 要通过webpack打包CSS,像任何其他模块一样将CSS导入JavaScript代码,并使用css-loader(它输出CSS作为JS模块), 并可选地应用ExtractTextW ...

  4. Android(java)学习笔记200:JNI之NDK的概念

    1.交叉编译 (1)概念 在一个平台(硬件)和os(软件)环境下,编译出另一种平台和os下可以运行的二进制代码. e.g:     电脑端                               ...

  5. h5编写帧动画

    var requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame; var ...

  6. vue之packages.json添加注释的正确写法

    (1)问题描述 使用vue脚手架vue-cli搭建好项目架构后,在packages.json文件里,加入注释(如下所示).接下来,运行npm run dev命令后出现报错 (2)问题解析 ①记得jso ...

  7. react-native 框架升级 安卓第三方插件报错 Android resource linking failed

    亲自经历react-native从0.55升级到0.58的过程,有点坎坷,ios出现的问题还算不多,但是android这里,随着gradle和buildTool的使用升级,导致第三方插件出现各种问题, ...

  8. vue 选项卡

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script sr ...

  9. 51nod 1057 n的阶乘 (压位优化)

    题目地址:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1057&judgeId=605203 使用压位进行优化, ...

  10. buf.slice()

    buf.slice([start[, end]]) start {Number} 默认:0 end {Number} 默认:buffer.length 返回:{Buffer} 返回一个指向相同原始内存 ...