一、KaliSecurity
1.1 OpenVAS使用
OpenVAS在上次的实践中安装完成,这里使用OpenVAS对Metasploitable_Ubuntu靶机进行扫描,首先在config-target中添加靶机信息:
1.2 扫描工具
-
web扫描工具golismero,以ubuntu靶机地址为例:
-
漏洞扫描工具nikto,以ubuntu靶机地址为例:
-
lynis信息收集,以本机信息收集为例:
-
unix-privesc-check,标准模式检测系统配置有无漏洞:
1.3 Web爬行
Web爬行工具需要用到字典,Kali将所有字典(包括目录字典等)均存放到/usr/share/wordlists,便于调用。
-
apach_user用户枚举脚本,以靶机地址为例:
运行时间太长,等了五分钟都没出结果。。。
-
Cutycapt网站截图,截取baidu首页为例:
-
DIRB目录扫描,以扫描baidu为例:
-
Dirbuster图形化目录扫描,界面如下:
1.4/1.5 Web漏洞扫描
-
Cadaver
Cadaver是一个用来浏览和修改WebDAV共享的Unix命令行程序,是一个自由软件(GPL许可证)。使用cadaver就像使用命令行的FTP程序,很适合基本的WebDAV调试。
-
DAVTest
通过上载测试可执行文件来测试启用WebDAV的服务器,然后(可选)上载允许命令执行或直接在目标上执行其他操作的文件。
-
deblaze
此工具将允许您对闪存远程终点执行方法枚举和询问。
-
Fimap
fimap是一个python工具,可以自动查找,准备,审计,利用甚至谷歌搜索webapps中的本地和远程文件包含错误。
-
grabber
Grabber是一个Web应用程序扫描程序。 基本上它会检测到您网站中的某些漏洞。 Grabber很简单,不是快速但便携,而且适应性强。
-
Joomla Scanner
是一个perl编程语言的开源项目,用于检测Joomla CMS漏洞并对其进行分析。
-
skipfish
Skipfish是一种活跃的Web应用程序安全侦察工具。
-
uniscan-gui
Uniscan是一个简单的远程文件包含,本地文件包含和远程命令执行漏洞扫描程序。
其图像界面gui版本:
-
w3af
w3af是一个Web应用程序攻击和审计框架。 -
wapiti
-
webshag
Webshag是一个多线程,多平台的Web服务器审计工具。 -
websploit
WebSploit 是一个开源项目,主要用于远程扫描和分析系统漏洞。使用它可以非常容易和快速发现系统中存在的问题,并用于深入分析。
WebSploit由多个模块组成,具体如下:
Autopwn – 使用Metasploit扫描和利用服务漏洞;
wmap – 利用Metasploit wmap插件扫描和抓取目标站点;
format infector – 向文件中注入正向/反向后门;
phpmyadmin – 搜索phpmyadmin登陆页面
lfi – 扫描,绕过本地文件包含漏洞,可以绕过一些WAF
apache users – search server username directory (if use from apache webserver)
Dir Bruter – 枚举目录
admin finder – 搜索后台登陆页面
MLITM Attack – Man Left In The Middle, XSS Phishing Attacks
MITM – Man In The Middle Attack
二、实践练习&教材内容总结
2.1 实践练习
tcpdump接收到攻击机的ping操作:
wireshark扫描到攻击机TCP SYN操作:
wireshark扫描到攻击机的UDP端口扫描操作:
2.2 教材内容总结
网络嗅探
网络嗅探(Sniff)是一种黑客常用的窃听技术,与传统的电话窃听在电话线路上对特定号码的通话内容进行监听类似,网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。以太网(Ethernet)与Wi-Fi是目前有线局域网(Local Access Network, LAN)与无线局域网(Wireless Local Access Network,WLAN)最流行的链路层协议,也是目前的网络嗅探器主要监听对象。
利用以太网在实际部署有线局域网时,根据其部署方式不同分为共享式网络和交换式网络。共享式网络通过集线器连接,其工作模式决定了在同一集线器上连接的所有主机在发送数据包时,都会发往每一台主机,因此其中任一主机都能够嗅探整个集线器上的全部网络流量;而交互式网络主要使用交换机组建,其是根据映射表和数据包的目标MAC地址进行转发的,因此可以有效地避免网络广播风暴,减少网络数据被嗅探的风险。
在纯交换的网络中,可以采用如下技术手段使得本不应到达的数据包到达本地,实现嗅探:
- MAC地址洪泛攻击
- MAC欺骗
- ARP欺骗
网络嗅探器软件主要有如下分类:
- 类UNIX平台网络嗅探器软件
- libpcap抓包开发库
- tcpdump嗅探器
- wireshark嗅探器
- Windows平台嗅探器软件
- NPF
- winpcap
- windump
- wireshark
- SnifferPro
网络协议分析
网络协议分析需要识别出各个网络层次上所使用的网络协议类型,然后对已知的网络协议,根据对应的标准协议规范,进行数据包的解析。网络协议分析的典型过程包括以下几个步骤:
1、首先网络嗅探得到的原始数据是在链路层传输的二进制数据包,大多数情况下是以太网数据帧;
2、对以太网数据帧进行结构分析,定位出帧头各字段结构,根据帧头的Type字段确定网络层协议类型,大多数情况下是IP协议(0800),并提取数据帧中包含的网络层数据内容;
3、进一步对IP数据包进行分析,如果设置了分片位,则进行IP分片重组,根据IP协议头中的Protocol字段,确定传输层协议类型,通常情况下是TCP(6)或者UDP(17),并提取IP数据包中的传输层数据内容;
4、继续根据TCP或UDP的目标端口确定具体的应用层协议,并对TCP或者UDP数据包进行拼接重组,得到应用层特定协议的应用交互内容;
5、依据相应的应用层协议对数据进行整合恢复,得到实际传输的数据。
Snort通过实现各个网络层协议的解析与处理例程,以完成对数据包的网络协议分析,过程如下:
1、解析以太网数据帧
2、解析IP数据包
3、解析TCP数据包
三、《Python黑帽子》代码
GitHub托管地址:black_hat_python_chapter_3
首先,运行这几个文件都会遇到下图错误:
需要将读取缓冲区前20改为32,然后将地址返回的数字类型“L”改为“f”既可:
self.src_address = socket.inet_ntoa(struct.pack("<f",self.src))
-
sniffer.py
-
sniffer_ip_head_decode.py
-
sniffer_with_icmp.py
-
scanner.py
这里有几处代码问题,需要将下面sendto的message更改为bytes类型并用UTF-8类型编码:
def udp_sender(add, magic_message):
time.sleep(5)
sender = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for ip in IPNetwork(add):
try:
sender.sendto(bytes(magic_message, 'UTF-8'), (str(ip), 65333))
在判断接收包的信息是不是我们所传送的时候:
if str(raw_buffer[len(raw_buffer) - len(magic_message):])[2:-1] == magic_message:
bytes类型转str类型输出的数据开头是b',所以要将字符串进行切片,从字符串的第三位开始到最后一位之前则是我们需要的数据。
执行效果如下: