20189224 《网络攻防实践》/《网络攻击与防范》第八周学习总结
教材学习内容总结
linux操作系统基本框架概述
- 操作系统发行版:ubuntu、debian、fedora、centos、rhel、opensuse和stackware等。
linux系统优势
1)开放源代码与免费
2)跨平台的硬件支持
3)丰富的软件支持
4)多用户多任务
5)可靠的安全性
6)良好的稳定性
7)完善的网络功能
linux系统结构
1)Linux进程与线程管理机制
2)Linux内存管理机制
3)Linux文件系统管理机制
4)Linux设备控制机制
5)Linux网络机制
6)Linux系统调用机制
linux操作系统安全机制
1)身份认证
- linux用户(root根用户、普通用户、系统用户)
- linux用户组(具有相同特征的用户账号集合)
- linux本地登录用户认证机制(控制台)
- linux远程登录用户认证机制(ssh服务)
- Linux的统一身份认证中间件——PAM(可插入身份认证模块)
2)授权与访问控制
- 文件所有者(chown命令)
- 文件的访问权限(读、写、执行,chmod命令)
- 文件的特殊执行权限
- Linux访问控制机制的不足与改进
3)安全审计
主要通过三个主要的日志子系统来实现:
- 连接时间日志
- 进程统计日志
- 错误日志记录
linux系统远程攻防技术
linux远程口令字猜测攻击
1)针对ssh、telnet、ftp、http等服务的口令猜测攻击是互联网所面临的攻陷系统最普遍的攻击模式。
2)自动化远程口令猜测工具(brutus、thc hydra、cain and abel) p286
3)最佳防御措施:使用不宜猜中的强口令字
linux网络服务远程渗透攻击
最重要的攻击渠道——对监听网络服务安全漏洞的渗透利用。
Linux网络服务的远程渗透攻击
Linux内核中的网络协议栈实现
LAMP Web网站构建解决方案中的网络服务
FTP、Samba等文件共享服务
电子邮件收发服务
其他网络服务
安全防范措施:
1)禁用所有不必要的网络服务
2)尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署
3)及时更新网络服务版本
4)使用xinetd、防火墙为linux网络服务添加网络访问控制机制
5)建立入侵检测与应急响应计划流程
6)攻击Linux客户端程序和用户
7)及时更新常用的网络客户端软件
8)自身安全意识、经验与心智能力
9)攻击Linux路由器和监听器
10)攻击linux路由器与防火墙
11)攻击监听器&入侵检测器(libpcap抓包库、tcpdump命令行程序、wireshark网络监听与协议分析软件、snort入侵检测系统)
linux系统本地安全攻防技术
linux本地特权提升
linux用户口令字破解
利用sudo的缺陷进行特权提升
利用用户态SUID程序漏洞进行特权提升
针对SUID程序的本地缓冲区溢出攻击
针对SUID程序的符号链接攻击
针对SUID程序的竞争条件攻击
针对SUID程序的共享函数库攻击
利用内核空间代码漏洞进行特权提升
利用系统配置不当实施本地特权提升
linux系统上的消踪灭迹
清理系统上的日志记录,从而有效地抹掉自己的行动踪迹。
linux系统远程控制后门程序
linux系统上植入远程控制后门程序的类型有:特洛伊木马化的系统程序、命令行后门工具以及图形化后门工具。
视频内容学习
Kali漏洞利用之SET
Social Engineering Toolkit(SET)是一个开源、Python驱动的社会工程学渗透测试工具。提供了非常丰富的攻击向量库。是开源的社会工程学利用套件,通常结合metasploit来使用。
- Social-Engineering Attacks
- Spear-Phishing Attack Vectors
- Website Attack Vectors
- Infectious Media Generator
- Create a Payload and Listener
- Mass Mailer Attack
- Arduino-Based Attack Vector
- Wireless Access Point Attack Vector
- QRCode Generator Attack Vector
- Powershell Attack Vectors
- SMS Spoofing Attack Vector
- Third Party Modules
- Penetration Testing (Fast-Track)
- Microsoft SQL Bruter
- Custom Exploits
- SCCM Attack Vector
- Dell DRAC/Chassis Default Checker
- RID_ENUM - User Enumeration Attack
- PSEXEC Powershell Injection
- Third Party Modules
Google Analytics Attack by @ZonkSec
Kali嗅探欺骗与中间人攻击
- 为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选项卡arppoisoning,然后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]]