• CTF比赛时准备的一些shell命令


    防御策略:

    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

  • 相关阅读:
    命令行解释器(shell)
    TensorFlow经典案例2:实现最近邻算法
    TensorFlow经典案例1:基本操作
    TensorBoard在谷歌浏览器显示找不到网页
    Pandas中的DataFrame.filter()
    【转】保证训练集和测试集取到和数据集中相同比例的类别
    数据分析小实践:统计每个国家存在心理健康问题的平均年龄
    TabActivity 切换Activity界面
    Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
    非常简单的XML解析(SAX解析、pull解析)
  • 原文地址:https://www.cnblogs.com/Downtime/p/7528467.html
Copyright © 2020-2023  润新知