2.2-Ncat
Ncat(https://nmap.org/ncat/)在Nmap项目(http://nmap.org/)中Netcat的改进版实现。从渗透测试人员的角度来看Netcat的一个主要缺点是缺乏身份验证和加密的功能,在渗透测试过程中这些可提供通信层的安全保护,经过加密的正向或者反弹shell可以避过入侵检测系统,同时为正向或反向shell增加认证功能可以防止其他用户非法访问靶机shell。Ncat提供上述所有功能因此建议尽量使用ncat和sbd等工具尽量避免使用Netcat。例如,可以用ncat还原之前的正向shell案例,在鲍勃和爱丽丝之间使用ncat实现更安全的正向shell。鲍勃使用ncat在4444端口上设置SSL加密连接监听,并且只允许爱丽丝的IP(10.0.0.4)地址连接:
爱丽丝可以使用SSL加密连接鲍勃的公网IP,这样既可以防止窃听还可以避过IDS检测。
需要熟练掌握ncat和sbd的用法,在实际渗透测试工作中会很有帮助。
2.2.1-练习
1.使用Ncat从Windows主机创建加密的反向shell连接到Kali主机。
2.在Windows虚拟机上创建加密的正向shell监听,尝试从Kali使用非加密方式连接Windows虚拟机,看是否可以连接成功执行shell?
3.在Windows主机上创建未加密的Ncat正向shell监听。使用Netcat连接Windows主机是否可以连接成功执行shell?
2.3 Wireshark
作为一名安全从业人员,学会如何使用网络数据包嗅探器对于日常工作至关重要。因为无论您是分析一个协议、调试网络客户端还是分析流量,您都需要一个网络嗅探器。
2.3.1-Wireshark基础知识
Wireshark(https://www.wireshark.org/)使用Libpcap(在Linux操作系统上)、 Winpcap(在Windows操作系统上)库进行网络抓包。我可以使用Wireshark的抓取过滤功能放过不关心的数据包,将我们关心的数据包传给数据包分析引擎进行分析,然后在使用显示过滤功能过滤掉我们不关心的内容,将有用的结果显示出来。所以使用wireshark可以方便得的使用抓取和显示过滤功能删除您不感兴趣的信息。
2.3.2-分析网络封包
1、数据包1:通过ARP广播,寻找默认网关。
2、数据包2:返回网关MAC地址的ARP单播应答。
3、数据包3:DNS A(IP v4)的yahoo.com域名的正向查询请求。
4、数据包4:DNS AAAA (IP v6)的正向查询请求。
5、数据包5:DNS A的响应反馈。
6、数据包6:DNS AAAA的响应反馈。
7、数据包7-9:yahoo.com主机80端口的3次握手。
8、数据包10:HTTP协议的初始协商。发送GET请求。
2.3.3-抓包和显示过滤器
前面已经清晰的演示了抓包功能,由于网络中有很多背景流量,各种广播、各种网络服务以及其他正在运行的联网应用程序等都会增加流量分析的难度。然而我们可以使用抓包过滤器选择出我们感兴趣的流量包。这些过滤器可以帮助我们减少干扰提取出我们想要的数据包。
捕获流量后,可以使用Wireshark的显示过滤器选择我们想看到的流量。下图显示通过“arp”过滤出访问yahoo.com的会话中的arp相关数据包。
2.3.4-查看TCP流数据
你可能发现数据包10以后的流量有点难理解,因为它们只包含一些零碎的信息。目前像Wireshark这样的抓包工具都具备会话重组的功能,并可以以多种格式进行展现。可以通过右键单击感兴趣的数据包来查看其完整的TCP流数据,在右键菜单中选择 “Follow TCP Stream”,TCP流数据将在新窗口中显示:
2.3.5-练习
1.使用Wireshark抓取Netcat连接到110(POP3)端口的网络活动,并尝试登录。
2.阅读并理解输出,哪里是会话的三次握手?哪里是会话结束?
3.读取登录尝试的TCP流数据。
4.使用显示过滤器仅查看端口110的流量。
5.重新运行抓包,使用抓包过滤器只抓取110端口通信数据。
2.4-Tcpdump
2.4.1-过滤流量
数据包内容较多,我们可以尝试使用awk和sort命令分析下ip地址和端口。
可以看出208.68.234.99对172.16.40.10的81端口发起多次请求。我们可以通过下面语法方便地筛选目标或源ip、端口等内容:
下面以十六进制格式读取文件中的流量数据,可获取如下信息:
可以发现172.16.40.10的81端口的流量数据很像HTTP请求。并且看起来这些HTTP请求包是在进行HTTP身份验证尝试,User agent字段是 “Teh Forest Lobster”。
2.4.2-高级包头筛选
Tcpdump有很多高级包头筛选参数,可以帮助我们进行pcap格式数据包分析。比如我们想筛选出来PSH和ACK标志位都开启的数据包。如下图所示,TCP标志位是默认在TCP包头的第14字节。
为了演示过滤器功能,我们打开需要的特定标志位,在这个例子中,ACK和PSH标志位如下:
使用的命令如下,数据包的第14位应该具有ACK和PSH标志:
到这里我们可以清晰的看到大量针对/admin目录的身份验证尝试,从响应与HTTP的401应答状态码可以看出大量尝试都是失败的,然而最后一次服务器返回HTTP的301状态码说明针对/admin目录的身份认证尝试成功。
2.4.3-练习
1.使用tcpdump抓取wireshark练习中110端口的流量。
2.使用-X参数查看数据包的内容。如果数据被截断使用-s参数可能会有帮助。
更多最新内容欢迎关注付费知识星球“OSCP轻松过”
领取专属 10元无门槛券
私享最新 技术干货