西工大网安基础训练Linux七部分

七 Linux Shell 脚本3

1 实验内容

(1) 通过SSH远程连接给定目标,密码为实验“LinuxShell脚本2”所得结果;

(2) 主目录下有一个ssh登录日志文件,帮忙分析文件,将登录失败超过20次(不含20)的IP加入到主目录的ban_waitlist中,已有IP不重复加入;

查看主目录下面的文件,发现有3个,auth.log是ssh的日志文件,ban_waitlist就是登录失败的,check是一个可执行文件可用于检测是否为登陆失败的IP,成功后即可通关

在这里插入图片描述

经过查看日志文件后发现IP地址太多,无法直接用人力处理,又得撰写脚本实现

脚本:

希望利用grep命令在日志文件中查找Failed password字符,然后将该行中的IP地址提取出来awk '{print $(NF-3)}',然后再对他们进行排序,去掉那些重复的,并同时计数,把大于20次的IP地址保存到变量$addr里面。

然后使用for循环遍历变量addr,检查里面的IP是否存在于文件ban_waitlist里面,如果不在,就把他们添加进去

#!/bin/bash
log="./auth.log" 
ban="./ban_waitlist"
addr=$(grep "Failed password" $log | awk '{print $(NF-3)}' | sort | uniq -c | awk '$1 > 20 {print $2}')
for ip in $addr; do
    if ! grep -q "^$ip$" $ban; then
        echo $ip >> $ban
    fi
done

在这里插入图片描述

(3) 执行主目录中check程序,获取下一关密码。

最后执行./check,可执行程序会检查ban_waitlist中的IP地址,如果都正确且无缺失就会输出密码,通关成功。

在这里插入图片描述

bingo!!!

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值