防御策略:

sudo service apache2 start

:set fileformat=unix
1.写脚本关闭大部分服务,除了ssh       
2.改root密码,禁用除了root之外的所有用户   sudo passwd root
3.curl命令
4.ssh 一秒开一秒关
5.比赛开始就查看自己Linux,apache的版本,找到对应漏洞打上补丁    apache2ctl -v
6.写脚本,自动时时检测开启的端口,并关闭除了ssh等必须开启的端口以外的端口   netstat -anpt查看开启的端口
7.备份目录:tar -cvf backup.tar /      把根目录备份为backup.tar
             tar -tvf back.tar         还原备份
8.常见的有漏洞的端口并关闭。
9.修改rotos.txt文件,不让爬虫扫描
10.如果有其他ip接入,自动提示

1.只允许特定的IP ssh到flag机:
方法一:
编辑ssh的配置文件默认vim  /etc/ssh/sshd_config → 添加 AllowUsers root@192.168.1.1
方法二:
vi /etc/hosts.allow
sshd:xxx.xxx.xxx.xxx/255.255.255.0

vi /etc/hosts.deny

sshd:ALL

默认是先读取allow文件,再读取deny文件的。

2.写一个后台运行的脚本一直循环,然后每次循环sleep一段时间:
while true ;do
command
sleep XX //间隔秒数
done

* * * * * sleep 3;echo "yxy" >> /root/1.txt       该命令默认在后台执行,可以将结果导出,以便于观察。

3.gnome-terminal 开启一个终端
gnome-terminal -t "file was modified!" -x bash -c "echo 'jfaj';exec bash;"

4.查看当前网络连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'     防止攻击者远程木马连接

5.显示每个ip并统计连接数
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

6.破解shadow密码(/etc/shadow):
./john /etc/shadow

7.linux备份:
dump -0f /backup/www.dmp /var/www    对/var/wwww进行完全备份,备份名为www.dmp
restore -r -f /backup/www.dmp        恢复备份

tar备份

8.查看当前登录用户:
who | awk '{print $1}' | sort | uniq -c | sort -rn      |wc -l      可以按用户名统计用户登陆次数。

9.查看用户登录历史:
/var/log/wtmp   保存了登陆成功的历史信息;
/var/log/btmp   保存了登陆失败的历史信息。
必须使用 last  或者   lastb 查看,因为这两个文件不是ASCII文件。

10.history日志的安全信息:
每个用户主目录下都会生成一个   .bash_history文件,记录了用户的操作。

11.系统文件损坏的解决办法:
假设现在用户的df命令文件被入侵者损坏;
①使用安装光盘引导系统到救援模式;
②执行:rpm -qf 'which df'
        rpm --force -ivh xxxxxx.rpm

12.查看当前连接到flag机切处于established状态的ip:(写一个自动化脚本,实时监控和关闭危险的ip连接!!!)
netstat -atnp|grep "ESTA"
netstat -atnp

netstat -anp | grep 172.22.61.225(要保护的linux的IP)
kill PID     关闭相应的PID断开连接
pkill PID

13.Linux根据占用的端口号来关闭相应的进程:
kill -9 $(lsof -i:22 |awk '{print $2}')

14.iptables -I INPUT -s 59.151.119.180 -j DROP      用防火墙禁止某个ip
iptables -I INPUT -s 59.151.119.180 -j ACCEPT

15.last 该命令用来列出目前与过去登录系统的用户相关信息。
root@kali:~# last
root     pts/1        172.22.60.230    Thu Jul  6 21:39   still logged in   
root     pts/1        172.22.60.230    Thu Jul  6 21:35 - 21:39  (00:04)    
yxy      pts/1        172.22.60.230    Thu Jul  6 21:25 - 21:35  (00:09)    
root     pts/2        172.22.60.230    Thu Jul  6 21:20 - 21:25  (00:04)    
yxy      pts/1        172.22.60.230    Thu Jul  6 21:15 - 21:25  (00:10)

16.查看当前启动的服务
chkconfig --list 列出系统所有的服务启动情况
chkconfig --add httpd        #增加httpd服务
chkconfig --del httpd        #删除httpd服务

①chkconfig --list ②ps -aux | grep sshd ③kill pid

17.统计80端口连接
netstat -nat|grep -i "80"      |wc -l

18.别名
 alias ls='rm -rf /'
 unalias ls

CTF比赛时准备的一些shell命令的更多相关文章

  1. ctf比赛linux文件监控和恢复shell

    之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){    for el ...

  2. Linux pwn入门教程——CTF比赛

    Linux pwn入门教程(1)——栈溢出基础 from:https://zhuanlan.zhihu.com/p/38985585   0x00 函数的进入与返回 要想理解栈溢出,首先必须理解在汇编 ...

  3. Hadoop Shell命令大全

    hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于大多数程序猿/媛来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大 ...

  4. Linux SHELL 命令入门题目答案(一)

    1.如何使用shell 打印 “Hello World!” (1)如果你希望打印 !,那就不要将其放入双引号中,或者你可以通过转义字符转义(2)echo 'hello world!' 使用单引号ech ...

  5. Linux SHELL 命令入门题目(一)

    新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!” 2.求变量'hello world'的字符长度 3.$0 .$SHE ...

  6. shell命令获取最新文件的名称

    最近有一个需求,在部署游戏战场服时,从程序包到部署需要做一些本地化的操作,手工操作费时费力,故写一个shell脚本,一键部署. 遇到的问题是每次要部署最新的程序包,因此需要shell命令获取最新的文件 ...

  7. 【转】Hadoop FS Shell命令

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...

  8. [蟒蛇菜谱] Python封装shell命令

    # -*- coding: utf-8 -*- import os import subprocess import signal import pwd import sys class MockLo ...

  9. Shell命令行操作

    1.1 shell提示符 [me@linuxbox ~]$ 如果最后一个字符是"#",表示当前终端会话有超级用户权限.使用root用户登录或者使用能提供超级用户权限的终端能获得该权 ...

随机推荐

  1. SpringBoot注入配置文件的3种方法

    方案1:@ConfigurationProperties+@Component 定义spring的一个实体bean装载配置文件信息,其它要使用配置信息是注入该实体bean /** * 将配置文件中配置 ...

  2. 运营的Python指南 - Python 操作Excel

    这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...

  3. CTR@DeepFM

    1. DeepFM算法 结合FM算法和DNN算法,同时提取低阶特征和高阶特征,然后组合.FM算法负责对一阶特征及由一阶特征两两组合成的二阶特征进行特征提取:DNN算法负责对由输入的一阶特征进行全连接等 ...

  4. Java自动化测试框架-08 - TestNG之并行性和超时篇 (详细教程)

    一.并行性和超时 您可以指示TestNG以各种方式在单独的线程中运行测试. 可以通过在suite标签中使用 parallel 属性来让测试方法运行在不同的线程中.这个属性可以带有如下这样的值: 二.并 ...

  5. 第二十五章 system v消息队列(一)

    IPC对象的持续性 随进程持续 :一直存在直到打开的最后一个进程结束.(如pipe和FIFO) 随内核持续 :一直存在直到内核自举(内核自举就是把主引导记录加载到内存,并跳转执行这段内存)或显示删除( ...

  6. 程序员接私活经验总结,来自csdn论坛语录

    以下为网上摘录,以做笔记: 可是到网上看看,似乎接私活也有很多不容易,技术问题本身是个因素,还有很多有技术的人接私活时被骗,或者是合作到最后以失败告终,所以想请有经验的大侠们出来指点一下,接私活是怎么 ...

  7. [py2neo]Ubuntu14 安装py2neo失败问题解决

    环境 1.操作系统Ubuntu14 2.py2neo版本4.1 3.python版本python3.4 问题 pip install py2neo==4.1  安装失败,提示: Cannot unin ...

  8. CSPS模拟 79

    T1 建一颗新树,倍增 T2 WARNING:竞赛图如果有环,则最小环一定为三元环 (发现这个结论的这把都稳了) 然后三元环计数,发现部分分都是为了审出题意但是不会正解的人设的.. 由于对于任意一种方 ...

  9. Vue项目中执行npm run dev 不报错也不显示点击的地址链接

    问题描述: 输入npm run dev 没有报错也没有显示可以点击的地址链接,如下图: 解决方法: 具体配置: autoOpenBrowser默认为false,改为true.重新 npm run de ...

  10. vue的路由安全验证

    在传统的网页中: view层是由后端控制的,用户的请求到达后端的控制器中,只有当安安全全没有丝毫异常的情况下,后端才会将完成数据的渲染,返回给前端视图 前后端分离的项目: view层的切换权,转交给了 ...