nmap、john、tcpdump

Kali是基于Debian的Linux发行版,Kali Linux包含上百个安全相关工具,如渗透测试、安全检测、密码安全、反向工程等。
扫描:获取一些公开、非公开信息为目的;检查潜在的风险、查找可攻击的目标、收集设备/主机/系统/软件信息、发现可利用的安全漏洞。
扫描方式及工具:
典型的扫描方式:Scan主动探测、Sniff被动监听/嗅探、Gapture数据包捕获(抓包)。
常见的安全分析工具:扫码器:NMAP;协议分析:tcpdump、wireshark
配置kali虚拟机,里面预安装了很多安全工具

配置IP地址

开启ssh服务

此时就能使用远程登录了

NMAP扫描:一般来说扫描是攻击的前奏,扫描可以识别目标对象是什么系统,开放了那些服务,获得具体的服务软件及其版本号,可以使得攻击的成功率大大提升。扫描可以检测潜在的风险,也可以寻找攻击目标、收集信息、找到漏洞。Windows下,扫描可以使用xsan/superscan;Linux扫描可以采用NMAP
扫描整个网段,那台机器可以ping通; nmap -sP 192.168.88.0/24

扫描192.168.88.11开放的那些tcp端口; nmap -sT 192.168.88.11

扫描192.168.88.11开放的那些utp端口,提示需要root权限

使用sudo提示权限,tcp是面向连接的协议扫描会传递扫描结果,而udp是无连接的需要很久才有数据传递回来。

-A全面扫描系统信息: nmap -A 192.168.88.11

通过脚本扫描目标主机的ftp服务,在kali主机上查看有那些脚本

在目标主机上安装ftp服务


扫描ftp服务是否支持匿名服务,ftp控制连接端口号是21


扫描ftp相关信息如版本号、带宽限制等; nmap --script=ftp-syst.nse 192.168.88.11 -p 21

扫描ftp后门漏洞 nmap --script=ftp-vsftpd-backdoor 192.168.88.11 -p 21

通过ssh协议, 使用nmap自带的密码本扫描远程主机的用户名和密码
在目标主机上创建名为admin的用户密码为123456

暴力破解:1、穷举法:穷举一切的可能80+80**2+80**3。2、字典法:把密码写在文件中,挨个比对。
nmap --script=ssh-brute.nse 192.168.88.11 -p22


查找指定用户,创建用户名文件

设置node1主机的root密码为8位数

编写生成密码本的脚本文件


执行脚本

查看生成的密码本

将该密码本传递到kali主机


通过密码本来破解指定用户名的密码
nmap --script=ssh-brute.nse --script-args userdb=/tmp/users.txt,passdb=/tmp/mima.txt 192.168.88.20 -p22

目标主机将会记录所有的登录事件


查看最近的登录失败事件

查看最近的登录成功事件

扫描Windows密码,设置用户名密码本,通过Samba服务扫描密码

使用john破解密码:根据已知的密文反向求明文数据
密码存储在/etc/shadow文件中使用的加密算法为哈希算法,哈希算法是一种单向加密的算法如md5、sha125,也就是将原始数据生成一串'乱码',只能通过原始数据生成这串"乱码",但是不能通过"乱码"回推出原始数据。相同的原始数据生成的乱码是相同的。

将哈希算法生成的乱码反向回推原密码
使用cmd5.com网站

kali系统提供了一个名为john的工具,可用于密码破解。
创建用户添加密码

将密码文件拷贝到kali主机

/usr/share/john/password.lst文件为john的密码本


使用john字典暴力破解shadow文件的密码


再次破解提示已经破解过了

显示破解的密码信息

如果想要在破解一遍,需要删除/root/.john存储john信息的文件

指定密码本破解

抓包:传输的各种数据,在网络中都是一个个的数据包,可以将网络中传输的数据包复制(抓包)一份到本地上。
tcpdump抓包命令:基本用法:tcpdump 【选项】 【过滤条件】
常见监控选项:-i:指定监控的网络接口。-A:转换为ACSII码以方便阅读。-w:将数据包信息保存到指定文件。-r:从指定文件读取数据包信息。-c:定义抓包的个数(默认是无限抓包Ctrl+c结束抓包)。
过滤条件:
类型:host、net、port、portrange 600-800
方向:src、dst
协议:tcp、udp、ip、wlan、arp....
多个条件组合:and、or、not
1、抓取eth0上进出与192.168.88.11有关的、涉及TCP21端口的数据包。
sudo tcpdump -i eth0 -A host 192.168.88.11 and tcp port 21

2.开启另一个终端登录192.168.88.11主机

此时抓包就能获取登录ftp服务的相关数据

输入用户名、密码

此时就能抓取到登录ftp服务的用户名和密码

将抓包数据保存到文件中
sudo tcpdump -i eth0 -w ftp.cap -A host 192.168.88.11 and tcp port 21



此时该抓包文件已经保存完成

查看抓包文件; tcpdump -r ftp.cap -A | grep -E 'USER|PASS'

还可以使用WireShark图形化界面的抓包软件
安全加固
nginx安全:
安装启服务



当访问不存在的路径时就会显示版本信息

命令行访问-I显示头部信息

隐藏版本信息,修改配置文件添加 server_tokens off;


重启动服务

再次访问就不显示版本信息了

防止DOS、DDOS(分布式拒绝服务)攻击:
压力测试每次发送100个请求给web服务器一共发200个


都请求成功

配置nginx连接共享内存为10M每秒钟只接收一个请求,最多有5个请求排队,多余的拒绝。
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
limit_req zone=one burst=5;


重启服务

此时测试就会只成功6个。在缓存中的有5个和正在访问的1个都能请求处理成功,其他的就会被拒绝服务。

防止缓冲区溢出:程序企图在预分配的缓冲区之外写代码。漏洞危害:用于更改程序执行流,控制函数返回值。
配置nginx缓冲区大小,防止缓冲区溢出。


Linux加固
设置tom账户有效期为2025.1.1

第0秒为 date -d @0

所以使用修改密码的天数*一天的秒数等于修改密码的具体日期

查看tom账户信息chage -l tom

修改账户的过期时间 chage -E 2025-1-1 tom

取消账户的过期时间 chage -E -1 tom

查看帮助chage -h

对所有的新建用户生效设置,修改/etc/login.defs文件


锁定tom账户

查看用户状态

解锁tom账户

保护文件
查看文件的特殊属性

-i:设置文件只能查看,不能修改、删除文件


此时就不能创建用户了,因为创建用户会往/etc/passwd文件中写入数据,而/etc/passwd文件禁止修改,所以就不能添加用户。

-a:追加,不能删除、

相关推荐
楚灵魈24 分钟前
[Linux]从零开始的网站搭建教程
linux·运维·服务器
小小不董26 分钟前
《Linux从小白到高手》理论篇:深入理解Linux的网络管理
linux·运维·服务器·数据库·php·dba
豆豆44 分钟前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
这可就有点麻烦了1 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
DY009J1 小时前
深度探索Kali Linux的精髓与实践应用
linux·运维·服务器
程序员-珍1 小时前
虚拟机ip突然看不了了
linux·网络·网络协议·tcp/ip·centos
什么鬼昵称2 小时前
Pikachu- Over Permission-垂直越权
运维·服务器
码农小白2 小时前
linux驱动:(22)中断节点和中断函数
linux·运维·服务器
4647的码农历程2 小时前
Linux网络编程 -- 网络基础
linux·运维·网络
醉颜凉3 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证