简介
1 | 账号:root 密码:123456 |
1.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,找出启动异常进程的脚本,并将其绝对路径作为Flag值提交;
启动异常进程的脚本,一般异常进程都有一个特征:开机自启,首先我们排除服务器的/etc/rc.local文件查看是否有开机自启项
cat /etc/rc.local
1 | 自启中并未发现启动进程的命令,紧接着我们排查服务器的计划任务 |
crontab -l
crontab -e
1 | 存在 |
1 | /var/spool/cron/root |
2.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,将恶意脚本的源文件所在的绝对路径作为Flag值提交; (多个路径之间以英文逗号分割,如:/etc/proc,/etc/my.cnf)
通过题一可知在任务计划中看到为 /root/1.sh,我们进入到/root目录,发现/root目录下存在两个shell脚本文件,一个是1.sh也就是任务计划执行的脚本,其内容是一个反弹shell。另外一个是2.sh,其脚本的作用是创建任务计划。
1 | /root/1.sh,/root/2.sh,/var/spool/cron/root |
3.黑客在服务器某处存放了多个木马程序,请你找到此木马程序并清除木马,将木马建立连接所使用的端口号作为Flag值提交;
根据题2可知
1 |
|
1 | 端口为5555 |
4.黑客通过网络攻入本地服务器,将黑客暴力破解服务器的次数作为Flag值提交;
首先猜测是否为Web端暴力破解攻入本地服务器
ss -tnl
1 | 发现只有80和22端口对外开放,其中80端口是一个web靶场,并无登录界面 |
cat /etc/ssh/sshd_config|grep "PermitRootLogin"
ssh的日志在/var/log/secure文件中,
很多生产环境中,日志都按天进行分割,所以文件名可能以secure+日期开头,发现存在如下日志文件
ls /var/log/secure
ssh登录失败会返回Failed password关键字,登录成功会返回Accept,由于我们要找的是破解ssh服务的次数,因此我们筛选 Failed password关键字即可。
grep -o "Failed password" /var/log/secure*|uniq -c
grep -o "Failed password" /var/log/secure*|wc -l
1 | 发现在secure-20210420那天的日志,爆破次数达到最多,猜测当天受到了暴力枚举渗透测试,查看secure-20200601那天的日志,发现也是存在爆破的,因此黑客爆破服务器的次数是 secure-20200601 + secure-20210420 = 爆破次数 |
5.黑客攻入本地服务器,请你找出黑客成功暴力破解服务器的具体时间,将暴力破解的时间范围作为Flag值(提交的时间格式为:20220112 08:08:18-08:09:24)提交;
这题出得不是很好,据4可知有secure-20200601、secure-20210420存在爆破
过滤思路:查看第一次错误的时间和最后一次错误的时间,即爆破的具体时间
grep -nr "Failed password" /var/log/secure-20200601 |head -1
grep -nr "Failed password" /var/log/secure-20200601 |tail -1
1 | [root@localhost ~]# grep -nr "Failed password" /var/log/secure-20200601 |head -1 |
grep -nr "Failed password" /var/log/secure-20210420 |head -1
grep -nr "Failed password" /var/log/secure-20210420 |tail -1
1 | [root@localhost ~]# grep -nr "Failed password" /var/log/secure-20210420 |head -1 |
6.黑客攻入本地服务器,请你找出黑客入侵服务器时所使用的IP地址,将IP地址作为Flag值(若存在多个IP,IP地址之间以英文逗号分割,如:10.1.1.1,20.1.1.2)提交。
据5可得IP为192.168.184.1、192.168.36.129
1 | 192.168.184.1,192.168.36.129 |