一、kali视频学习总结
(一)Kali漏洞利用之SET
Social Engineering Toolkit(SET)是一个开源、Python驱动的社会工程学渗透测试工具。提供了非常丰富的攻击向量库。是开源的社会工程学利用套件,通常结合metasploit来使用。
命令行下输入setoolkit打开SET套件:
菜单选项1是社会工程学攻击,输入1回车,可以看到相应模块:
1、鱼叉式钓鱼攻击
此攻击向量主要目的为发送存在恶意软件的钓鱼邮件。相应的Payload可以选择不同的漏洞。
2、网站攻击框架
此时可以开放一个WEBSever服务,如果对方访问此页面,若系统存在漏洞触发条件,则会被植入后门。如Java Applet Attack方法就是需要目标有Java运行环境,为了仿真,可以选择自建模板或克隆一个网站。
(1)介质感染攻击:借助Autorun.inf执行Exploit得到一个返回的shell,也可以结合Metasploit的后门。创建Payload和监听器listener
(2)群发邮件攻击:支持导入列表并向列表中的每个人发送邮件。
3、基于Andruino的攻击
(1)无线接入点攻击(Wireless Access Point Attack Vector):无线接入点攻击会创建一个虚拟无线AP,通过接入点ap可以抓取所有连接进来的设备流量。
(2)二维码攻击(QRCode Generator Attack Vector):填入一个危险的URL,使得被攻击者扫描二维码自动访问页面而中招。
(3)powershell攻击(Powershell Attack Vectors):针对vista以上的攻击模块。
(4)短信欺骗攻击(SMS Spoofing Attack Vector):伪造短信的来源。
(二)Kali嗅探欺骗与中间人攻击
Linux下的中间人攻击套路都是一样的,这里介绍进行ARP欺骗、DNS欺骗和嗅探以及会话劫持(cookies)的方法。
1、为kali设置开启端口转发
2、设置ssltrip
为了劫持ssl数据,需要使https数据变为http
3、让sslstrip在8081端口监听:ssltrip -l 8081
4、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选项卡arppoisoning,然后start sniffing。
靶机:
当同处一个局域网的受害者访问网页,进行登录时,它的密码就被记录了,不安全的连接。
5、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]
6、会话劫持
这里主要以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
选择目标和可能的登录认证地址,然后点击链接会发现劫持成功。
7、图片截获
利用Driftnet这款工具我们可以看到受害人在访问网站的图片。
首先依然使用arpspoof启动arp欺骗,然后启动driftnet:driftent -i。
此时弹出一个小窗口,当目标访问有图片的网站的时候,攻击者就能在这个小窗口看到。
8、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,等受害者访问百度观察效果。
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]]
(三)Kali权限维持之后门
权限维持包含Tunnel工具集、Web后门、系统后门三个子类。其中系统后门与web后门统称后门,都是为渗透测试后,为方便再次进入系统而留下的恶意程序。
1、Weevely
Weevely是一款使用python编写的webshell工具,可以算作是linux下的一款菜刀替代工具(限于php)。
1)生成后门
2)上传后门,使用weevely连接。
2、WeBaCoo
WeBaCoo(Web Backdoor Cookie)script-kit是一个小巧的、隐蔽的php后门,它提供了一个可以连接远程web服务器并执行php代码的终端。WeBaCoo使用HTTP响应头传送命令结果,shell命令经base64编码后隐藏在Cookie头中。
1)生成后门
2)连接后门(webacoo -t -u http://xxx.xxx.xxx.xxx/2.php)
通过加入“:”执行本地命令,不加则借助webshell执行命令。
3、dbd
加密版的nc
监听端:dbd -l -p 2333 -e /bin/bash -k password
连接端:dbd 127.0.0.1 2333 -k password
4、U3-Pwn
与Metasploit Payload结合使用工具,从菜单可以单刀多针对移动设备如光驱镜像、U盘等。
5、Intersect
1)使用“2”列出可以使用的模块
2)创建后门脚本使用“1”,自由添加功能组件,生成shell。
3)绑定
4)连接:nc nvv 127.0.0.1 5555
(四)Kali权限维持之Tunnel
权限维持包含Tunnel工具集、Web后门、系统后门三个子类。Tunnel工具集包含了一系列用于创建通信隧道、代理的工具。
1、Miredo
Miredo是一个网络工具,主要用于BSD和Linux的IPV6 Teredo隧道链接,可以转换不支持IPV6的网络连接IPV6,内核中需要有IPV6和TUN隧道支持。
2、Proxytunnel
Proxytunnel可通过标准的HTTPS代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行HTTP(S)传输。
3、ptunnel
借助icmp数据包建立隧道通信。
4、pwnat
内网下通过udp通信。
5、sslh
是一个ssl/ssh端口复用工具,sslh可以在同一个端口上接受https,ssh和open连接,这使得通过443端口连接ssh服务器或者open服务同时在该端口上提供https服务成为可能,sslh可以作为一个研究端口复用的例子。
(五)Kali逆向工程工具
逆向工程是根据已有的东西和结果,通过分析来推导出具体的实现办法。比如看到别人写的某个exe程序能够做出某种漂亮的动画效果,你通过反汇编、反编译和动态跟踪等方法,分析出其动画效果的实现过程,这种行为就是逆向工程:不仅仅是反编译,而且还要推导出设计,并且文档化,逆向软件工程的目的是使软件得以维护。
1、edb-debugger
图形化界面,基于qt4开发的二进制调试工具,主要是为了跟ollydbg工具看齐,通过插件体系可进行功能的扩充。
2、Jad——Java反编译工具
3、Radare2
radare2是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件。
4、Recstudio——反编译工具
5、Apktool
APKTool是google提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framewo-res框架。
6、Clang 、Clang++
Clang是一个C怨言、C++、Objective C、Objective C++语言的轻量级编译器。
7、D2j-dex2jar
反编译dex文件到jar文件,进而可以用其他工具查看源代码。
8、Flasm
flasm主要功能是用于直接修改swf文件里的脚本actionscript。
9、Javasnoop
Javasnoop是一个java应用程序安全测试工具,它允许你以拦截的方法,篡改数据和hack运行在你计算机上的java应用程序。通常在没有源代码的情况下,测试java客户端的安全性最好的结果是不可预知的,最坏的结果是不切实际的。
二、课本学习总结
(一)Linux操作系统基本框架概述
1、Linux操作系统发展与现状
Linux的优点有:
-
跨平台的硬件支持
-
丰富的软件支持
-
多用户多任务
-
可靠的安全性
-
良好的稳定性
-
完善的网络功能
2、Linux的系统结构
3、Linux操作系统安全机制
Linux身份认证机制
Linux是一个多用户多任务的操作系统,通过创建多重角色类型的用户及用户组来实施用户身份管理,来确保多个用户安全的使用Linux操作系统。
Linux用户:
- Root根用户:在系统中是唯一的拥有至高无上权限的超级用户,可以在操作系统中任何的文件与命令
- 普通用户:智能操作自己目录中的内容,执行权限受限;
- 系统用户:这类用户不具有登录系统的能力
Linux用户组:
具有相同特征的用户账号的集合,用于简化整个系统的用户权限管理,用户组信息保存在系统的/etc/group文件中
Linux的本地登录用户认证机制:
基本流程是:由init进程启动getty产生若干控制台,在控制台上显示登录,当用户敲入用户后,getty执行登录进程,进入登录认证过程,认证成功后,登录进程会fork相应用户shell的子进程,完成登录过程。
Linux的远程登录用户认证机制:
ssh提供两种方式的用户身份认证机制:第一种方式是基于口令的身份认证,第二种方式是基于非对称密钥的身份认证。
Linux的统一身份认证中间件——PAM:
PAM支持四种管理界面:认证管理、账户管理、密码管理、会话管理
Linux授权与访问控制机制
- 文件的所有者:
表明文件属于那个用户所有,及文件所有者的uid以及文件所有者所在的gid来指明,文件所有者可以通过chown命令进行修改
- 文件的访问权限:
R:对于文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限
W:对于文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限
X:对于文件而言,具有执行文件的权限;对目录来说,该用户具有进入目录的的权限
- 文件的特殊执行权限:
常见的执行权限:SUID和SGID权限,SUID权限允许可执行文件在运行时刻从运行者的身份提升至文件所有者的权限,可以任意存取文件所有者能使用的全部系统资源,设置SUID位的文件所有者为Root等特权用户时,该类程序就拥有了超级特权
- Linux访问控制机制的不足及改进:
不足之处为只能将用户分为所有者、所有者所在组和其他用户这三种类别的分配权限,无法做到更细粒度的权限控制,使用POSIX ACLs for Linux内核补丁软件能够帮助Linux内核实现ACL权限管理。
4、Linux安全审计机制
Linux的安全审计机制主要有三种主要的日志子系统实现:连接时间日志、进程统计日志、错误日志记录
Linux系统远程攻防技术
四种方式:
Linux远程口令字猜测攻击
Linux网络服务远程渗透攻击:针对Linux系统网络服务的远程渗透攻击、Linux内核中的网络协议栈实现、LAMP Web网站构建解决方案中的网络服务、FTP和Samba等文件共享服务、电子邮件收发服务
防范措施:
禁止所有不必要的网络服务、尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署、及时更新网络服务版本、使用xinetd防火墙为Linux网络服务添加网络访问控制机制、建立入侵检测与应急相应计划流程
攻击Linux客户端程序和用户:攻击linux平台客户端程序、攻击linux系统用户
攻击Linux路由器和监听器:攻击Linux路由器与防火墙、攻击监听器&入侵检测器
Linux系统本地安全攻防技术
Linux本地特权提升
破解出Root用户的口令,然后执行su或sudo命令进行提升
发掘并利用su或sudo程序中的漏洞
攻击用户态SUID特权提升漏洞
攻击Linux内核代码特权提升漏洞
从系统中搜索全局可写的敏感文件与目录位置并加以利用
Linux系统远程控制后门程序
主要类型有:特洛伊木马化的系统程序、命令行后门工具以及图形化后门工具