扫描和抓包

一、 nmap扫描

  • 一般来说扫描是攻击的前奏。

  • 扫描可以识别目标对象是什么系统,开放了哪些服务。

  • 获知具体的服务软件及其版本号,可以使得攻击的成功率大大提升。

  • 扫描可以检测潜在的风险,也可以寻找攻击目标、收集信息、找到漏洞

  • windows下,扫描可以使用xscan / superscan

  • Linux,扫描可以采用nmap

  • 吾爱破解:https://www.52pojie.cn/

  • 中国黑客团队论坛:https://www.cnhackteam.org/

  • 俄罗斯论坛:https://rutracker.org/

└─$ nmap
-sT: TCP扫描。
-U: 扫描目标的UDP端口。
-sP:ping扫描
-A:对目标系统全面分析

扫描整个网段,哪机器可以ping通

┌──(kali㉿kali)-[~]
└─$ nmap -sP 192.168.88.0/24

扫描192.168.88.11开放了哪些TCP端口

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sT 192.168.88.11

扫描192.168.88.11开放了哪些UDP端口。非常耗时!

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sU 192.168.88.11

全面扫描192.168.88.11系统信息

┌──(kali㉿kali)-[~]
└─$ sudo nmap -A 192.168.88.11 </pre>

  • 使用脚本扫描

通过脚本扫描目标主机的ftp服务

在目标主机上安装vsftpd服务

[root@node1 ~]# yum install -y vsftpd
[root@node1 ~]# systemctl start vsftpd

在kali主机上查看有哪些脚本

┌──(kali㉿kali)-[~]
└─$ ls /usr/share/nmap/scripts/

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

┌──(kali㉿kali)-[~]
└─$ sudo nmap --script=ftp-anon.nse 192.168.88.11 -p 21
21/tcp open ftp
| ftp-anon: Anonymous FTP login allowed # 允许匿名访问

扫描ftp相关信息,如版本号、带宽限制等

┌──(kali㉿kali)-[~]
└─$ sudo nmap --script=ftp-syst.nse 192.168.88.11 -p 21

扫描ftp后门漏洞

┌──(kali㉿kali)-[~]
└─$ sudo nmap --script=ftp-vsftpd-backdoor 192.168.88.11 -p 21</pre>

  • 扫描口令
    通过ssh协议,使用nmap自带的密码本扫描远程主机的用户名和密码

在目标主机上创建名为admin的用户,密码为123456

[root@node1 ~]# useradd admin
[root@node1 ~]# echo 123456 | passwd --stdin admin

在kali上扫描弱密码

┌──(kali㉿kali)-[~]
└─$ sudo nmap --script=ssh-brute.nse 192.168.88.11 -p 22

通过ssh协议,使用nmap以及自己的密码本扫描远程主机的密码

1. 创建用户名文件

┌──(kali㉿kali)-[~]
└─$ sudo echo root > /tmp/users.txt

┌──(kali㉿kali)-[~]
└─$ cat /tmp/users.txt
root

[root@node1 ~]# echo 19910101 | passwd --stdin root

2. 生成1990-01-01到2020-12-31之间的所月日期

在centos7上,创建以下文件

[root@cent7 ~]# vim mydate.py
from datetime import datetime, timedelta

d1 = datetime(1989, 12, 31)
d2 = datetime(2021, 1, 1)
dt = timedelta(days=1)

with open('/tmp/mima.txt', 'w') as f:
while d1 < d2:
d1 += dt
f.write("%s\n" % d1.strftime('%Y%m%d'))
[root@cent7 ~]# python mydate.py
[root@cent7 ~]# scp /tmp/mima.txt kali@192.168.88.40:/tmp/

3. 使用自己的密码本破解密码

┌──(kali㉿kali)-[~]
└─$ sudo nmap --script=ssh-brute.nse --script-args userdb=/tmp/users.txt,passdb=/tmp/mima.txt 192.168.88.11 -p 22

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

[root@node1 ~]# vim /var/log/secure

查看最近的登陆失败事件

[root@node1 ~]# lastb

查看最近的登陆成功事件

[root@node1 ~]# last</pre>

  • 扫描windows口令
    [root@zzgrhel8 ~]# cat /tmp/winuser.txt # windows用户名
    administrator
    admin

通过samba服务扫描密码

[root@zzgrhel8 ~]# nmap --script=smb-brute.nse --script-args userdb=/tmp/winuser.txt,passdb=/tmp/mima 172.40.0.151

二、抓包

  • 传输的各种数据,在网络中都是一个个的数据包
    ┌──(kali㉿kali)-[~]
    └─$ sudo tcpdump
    -i:指定抓取哪块网卡进入的数据包
    -A:转换为ASCII码,使得可读
    -w:抓包写入文件
    -r:从文件中读取抓包信息
    抓包时可以过滤要抓哪些包
    使用host过滤主机,使用net过滤网段,使用port过滤端口... ...

1. 抓包:抓取eth0上进出的、与192.168.88.11有关的、涉及TCP21端口的数据包。以下命令执行后,打开新终端。

┌──(kali㉿kali)-[~]
└─$ sudo tcpdump -i eth0 -A host 192.168.88.11 and tcp port 21

2. 在新终端登陆ftp

┌──(kali㉿kali)-[~]
└─$ ftp 192.168.88.11
Connected to 192.168.88.11.
220 (vsFTPd 3.0.2)
Name (192.168.88.11:kali): tom # 用户名
331 Please specify the password.
Password:abc123 # 此处是tom的密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> exit # 退出
221 Goodbye.

3.在tcpdump终端可以看到明文的用户名和密码

1. 将抓到的包存入文件ftp.cap

┌──(kali㉿kali)-[~]
└─$ sudo tcpdump -i eth0 -A -w ftp.cap host 192.168.88.11 and tcp port 21

2. 在另一个终端访问ftp

在新终端登陆ftp

┌──(kali㉿kali)-[~]
└─$ ftp 192.168.88.11
Connected to 192.168.88.11.
220 (vsFTPd 3.0.2)
Name (192.168.88.11:kali): tom # 用户名
331 Please specify the password.
Password:abc123 # 此处是tom的密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> exit # 退出
221 Goodbye.

3. 在抓包终端ctrl+c停止

4. 读取抓到的包,并过滤

┌──(kali㉿kali)-[~]
└─$ tcpdump -A -r ftp.cap | egrep 'USER|PASS'

-图形工具:wireshark

[root@zzgrhel8 ~]# yum install wireshark ftp
选择抓哪块网卡进出的数据,然后点左上角的开始

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容