Kali和Python渗透学习笔记——(一)网络扫描与信息搜集

本文主要讲述了Kali和Python渗透常用操作的学习内容笔记,涵盖了网络扫描与信息收集、漏洞发现、局域网攻击、社会工程学攻击、持续访问、网页攻击、无线网络攻击和网络爬虫等九个部分。其中,网页攻击部分将涉及至少七个方面的内容。此外,该视频还讲述了实验环境搭建的困难,但为确保学生能够完成实验,老师搭建了实验环境并在课程结束后开放给学生使用。实验环境分为Kali1和kali2,kali1主要做网页攻击实验,kali2准备的环境主要做其余的实验。

一、网络扫描与信息收集

1.1 Kali基本扫描工具

Fping扫描工具

Fping程序类似于ping。Fping与ping相比,最大的好处就是一次可以ping多个地址,而且速度更快!
格式:#fping [options] [targets…]
Fping 的优点
1.可以一次ping多个主机
2.可以从主机列表文件ping
3.结果清晰 便于脚本处理
4.速度快
5.额外控制IP头部与数据部分的选项

#fping -g 202.100.1.1 202.100.1.255 -a -q > Ahost
#fping -a -q -f HostList

fping使用
“-g”—目标范围
“-f” —参数读取这个IP列表文件
“-a”—仅仅显示Active主机
“-q”—安静显示,不显示无法连接的报错内容。

Nping扫描工具

Nping允许用户发送多种协议 (TCP、UDP、ICMP和ARP协议)的数据包。可以调整协议头中的字段,例如可以设置TCP和UDP的源端口和目的端口。
格式: #nping [Probe mode] [Options] {target specification)
主要功能:
1.发送ICMP echo请求
2.对网络进行压力测试
3.ARP毒化攻击
4.DOS攻击
5.支持多种探测模式
6.可以探测多个主机的多个端口

使用示例:

#nping -c 1 -p 22 202.100.1.252-254 --tcp

//向目标主机的22号端口(SSH)发送一次TCP数据包,用于查看目标主机是否开启SSH服务。

echo mode用于测试防火墙与NAT规则比较实用
Kali01客户端

root@Kali01:~# nping --echo-client "public" 202.100.1.220 --tcp -p1-50 --flags ack

Kali02服务器端

root@kali02:~/Desktop/Chaper1# nping --echo-server "public" -e eth0 -vvv

Arping

Arping是一种工具,可用于发送ARP 请求并标识主机是否活动和响应。 该工具仅通过将IP 地址作为参数传递给它来使用。
格式: #arping [-fqbDUAV] [-c count] [-w timeout][-I device][-s source] destination
使用示例:

#arping 202.100.1.254 -c 1

//选项“-c”限制发送的arp请求数量//用于检测目标主机在该网络中是否存活

Nbtscan

[针对Window系列的操作系统]
扫描一个IP地址范围的NetBIOS信息,它将提供一个关于IP地址,NetBIO计算机名,服务可用性,登录用户名和MAC地址的报告。
如果需要使用NeBIOS协议访问目标主机的NetBIOS服务,就要掌握目标主机的NetBIOS名称。
格式: #nbtscan [-v][-d] [-e][-] [t timeout] [-b bandwidthl-r7I-g]I-s separator] i-m retransmits7(-ffilename)()

使用示例:

#nbtscan -hv 192.168.1.1
#nbtscan 172.16.1.1-172.16.1.254

Onesixtyone

onesixtyone是一款高速的SNMP扫描程序,用来挖掘设备上的SNMP Community字串。它的扫描速度非常快。
如果可以获取到设备的SNMP字串,就可以发起对应的攻击或者更改设备的SNMP设定。
格式:#nesixtyone[options]
使用示例:

#onesixtyone -c dict.txt 202.100.1.230 -d

// 使用字典文件暴力破解主机202.100.1.230的SNMP字串。
// "-c"参数指定community字串文件 (字典)
// "-d"详细显示

1.2 Nmap扫描

Nmap是一个综合性的,并且特性丰富的端口扫描工具。是个渗透测试者的必备工具。Nmap可以用于:
1.Host discovery (主机发现)
2.Service/version detection (服务于版本检测)
3.Operating system detection (操作系统检测)
4.Network traceroute ( 网络追踪)
5.Nmap Scripting Engine (NMAP脚本引擎)

使用示例:

root@kali02:~/Desktop/Chaper1# nmap -sn 202.100.1.10 202.100.1.11
root@kali02:~/Desktop/Chaper1# nmap -sn 202.100.1.10-100
root@kali02:~/Desktop/Chaper1# nmap -sn -iL Ahost
root@kali02:~/Desktop/Chaper1# nmap -sn 202.100.1.0/24 -exclude 202.100.1.254
root@kali02:~/Desktop/Chaper1# nmap -sn 202.100.1.0/24 -excludefile Ahost

TCP SYN扫描

root@kali02:~/Desktop/Chaper1# nmap -sS 202.100.1.210

TCP Connect扫描:

root@kali02:~/Desktop/Chaper1# nmap -sT 202.100.1.210

TCP FIN扫描:

root@kali02:~/Desktop/Chaper1# nmap -sF 202.100.1.210

UDP扫描,扫描时间很长:

root@kali02:~/Desktop/Chaper1#nmap -sU 202.100.1.210

端口服务扫描:(比较慢,服务详细)

root@kali02:~# nmap -sV 202.100.1.210

//“-A” 整体的扫描,比较慢,比较全。

root@kali02:~# pip3 install python-nmap

Python NMAP Ping扫描

#!/usr/bin/python3

import nmap
import sys
def nmap ping scan(network prefix):
#创建一个扫描实例
	nm = nmap.PortScanner()
#配留nmap参数
	ping scan raw result = nm,scan(hosts=network prefix, arquments='-y -n -sn')
	host_list =[]
#分析扫描结果,并放入主机清单
	for Result in ping scan raw result['scan'].values():
	if Result['status']['state'] == up':
	host_list.append(Result[addresses']['pv4'])
	return host list
if __name__ == '__main__':
	for host in nmap ping scan(sys.argv[1]):
	print("号-20s 号s'名 (host,is UP'))

Telnet方法对65535全端口扫描shell

首先用shell生成一个文件port_file.txt,每行一个端口,从1-65535.

echo {20456..65535} | xargs -n 1 >port_file.txt

然后用shell写一个文件telnetcmd.sh运行

#!/bin/bash

# IP地址文件
IP_FILE="ip_list.txt"

# 端口号文件
PORT_FILE="port_list.back"

# 日志文件
LOG_FILE="telnet.log"

# 循环遍历IP地址文件中的每个IP地址
for ip in $(cat $IP_FILE)
do
  # 循环遍历端口号文件中的每个端口号
  for port in $(cat $PORT_FILE)
  do
    # 使用telnet命令测试IP地址和端口号的连接情况
    nport=`echo ""|telnet $ip $port 2>/dev/null|grep "\^]"|wc -l`
    if [ "$nport" -eq "0" ];
    then
      echo "$ip:$port 连接失败" >> $LOG_FILE
    else
      echo "$ip:$port 连接成功" >> $LOG_FILE
    fi
  done
done

最后在telnet.log文件里头查看连接成功的端口。

1.3Python Scapy

在这里插入图片描述
安装Scapy3

[root@localhost ~]# pip3 install scapy-python3

1.4DNS信息收集

whois

格式:whois 域名

whois  www.baidu.com

在这里插入图片描述

https://www.whois.net

fierce

格式: # fierce [-dns example.com] [OPTIONS]
使用多种技术来扫描目标主机IP地址和主机名的一个DNS服务器枚举工具。
运用递归的方式来工作。它的工作原理是先通过查询本地DNS服务器来查找目标DNS服务器,然后使用目标DNS服务器来查找子域名fierce的主要特点就是可以用来定位独立IP空间对应域名和主机名。
使用示例:

#fierce -dns qytang.com -threads 3

//使用三个线程来扫描qytang.com

Dnsenum

格式: #dnsenum[Options]
利用dnsenum可以从DNS服务器上获取:
1.主机IP地址
2.该域名的DNS服务器
3.该域名的MX记录

#dnsenum qytang.com

//获取qytang.com的IPv4信息
dnsenum具有的特点:
1.使用谷歌浏览器获取子域名
2.暴力破解
3.C级网络扫描
4.反向查找网络

1.5路由信息收集

tcptraceroute vs traceroute区别
传统traceroute技术发送UDP或者ICMP ECHO,但是Tcptraceroute发送TCP SYN包到目标。
traceroute 通过UDP方式,不容易穿透防火墙,基本不采用:tcptraceroute 采用TCP包,有良好的穿透防火墙性能;
tctrace 原理与tcptraceroute相同。
优势
反馈使用Tcptraceroute的好处在于,就算在目标之前存在防火墙,它阻止了普通的traceroute的流量,但是适当TCP端口的流量,防火墙是放行的,所以Tcptraceroute能够穿越防火墙抵达目标。
Tcptraceroute收到SYN/ACK表示端口是开放的,收到RST表示端口是关闭的.

1.6 ALL-in-one信息收集

Maltego简介
Maltego被称为“互联网情报聚合工具”,可以从一个信息开始,找到千丝万缕与之相关的联系,并将这些信息收集整理,用一种格外美观的方式呈现给使用者。
Maltego allows you to enumerate Internet infrastructureinformation,such as:
Domain names (域名)
DNS names(DNS名称)
Whois information (Whois信息)
Network blocks (网络块)
IP address (IP地址)
It can also be used to gather information about people, suchas;
Companies and organizations related to the person(公司或者组织关联到的人)
E-mail address related to the person (电子邮件地址关联到的人)
Websites related to the person (网站关联到的人)
Social networks related to the person(社区网络关联到的人)
Phone numbers related to the person (电话号码关联到的人)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

love6a6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值