《网络攻防实践》第八周作业

教材内容

linux操作系统基本框架概述

系统特点:

  • 兼容UNIX :API 兼容,管理命令和各种工具:
  • 源码开放
  • 支持各种硬件平台,支持多CPU
  • Linux 平台上存在大量的应用软件,以及应用开发工具
  • 多种不同发行版: RedHat(RHEL,Fedora, CentOS, …),Ubuntu,Debian, …

优势:

  • 开放源代码与免费
  • 跨平台的硬件支持
  • 丰富的软件支持
  • 多用户多任务
  • 可靠的安全性
  • 良好的稳定性
  • 完善的网络功能

linux安全机制

身份认证:

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

授权与访问控制:

  • 文件所有者(chown命令)
  • 文件的访问权限(读、写、执行,chmod命令)
  • 文件的特殊执行权限

linux内存管理

  • 在i386 机器上,每个进程有独立的4G 虚存空间
  • 32位线性地址—— 利用硬件的分页机制
  • 内核的代码段和数据段被映射到3G 以上的空间中
  • 用户态下的代码实际可申请的虚存空间为0-3GB
  • 每个进程用两套段描述符来访问内存,分别用来访问内核态和用
  • 户态下的内存空间
  • 在用户态下,代码不可能访问3G 以上的地址空间,如果要访问内
  • 核空间,必须通过系统调用或者中断
  • Linux 对虚存的管理使用vma(virtual memory area) 机制
  • 页交换机制:缺页中断、页面换入

linux网络服务远程渗透攻击

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

linux安全防范措施

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

视频学习

set

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


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


网站攻击框架
可以开放一个WEBServer服务,如果对方访问此页面,若系统存在漏洞触发条件,则会被植入后门。如Java Applet Attack方法就需要目标有Java运行环境。


介质感染攻击
借助Autorun.inf执行exploit得到一个返回的shell,结合metasploit创建后门。


创建payload和监听器
创建一个返回的Payload并开启监听,与metasploit给出的payload类似。


群发邮件攻击
可以把垃圾邮件或带有病毒的邮件发送到邮件列表。支持导入列表并向列表中的每个人发送邮件。


无限接入点攻击
无线接入点攻击会创建一个虚拟无线AP,通过接入点ap可以抓取所有连接的设备的流量。


二维码攻击
填入一个危险的URL,使得被攻击者扫描二维码自动访问页面中招。


powershell攻击
针对Vista以上的Powershell的攻击模块。


嗅探欺骗和中间人攻击实验

为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,选择hosts选项:先scan for hosts,等扫描完了选host list。
  6. 将网关add to target 1/想攻击的目标add to target 2,mitm选项卡arppoisoning,然后start sniffing。
  7. 查看被监听主机之间的所有连接信息,依次点击View--Connections。

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

权限维持

(1)Weevely

Weevely是一款使用python编写的webshell工具,集webshell生成和连接于一身,生成后门的代码是经过base64编码的,后门中所使用的函数都是常用的字符串处理函数,被作为检查规则的eval、system等函数都不会直接出现在代码中,从而可以致使后门文件绕过后门查找工具的检查,隐蔽性较好,可以算作是linux下的一款菜刀替代工具(限于php),某些模块在windows上无法使用。

通过命令weevely generate test ~/1.php,生成一个名字为1.php,密码为test的后门。



将1.php拷贝到靶机192.168.199.139 /var/www/路径下,即将后门上传到web。
输入命令weevely http://192.168.199.139/1.php test,用weevely连接后门(连接后为设置的密码),即可获得一个webshell,然后就可以随意使用终端了。

(2)WeBaCoo
WeBaCoo(Web Backdoor Cookie)script-kit 是一个小巧的、隐蔽的php后门,它提供了一个可以连接远程web服务器并执行php代码的终端。WebaCoo使用HTTP响应头传送命令结果,shell命令经base64编码后隐藏在Cookie中,即其通信内容均通过cookie头传输。


将2.php文件拷贝到靶机192.168.199.139的 Web 根目录(/var/www/)下,输入命令

webacoo -t -u http://192.168.199.139/2.php

kali逆向工具

1.Edb-Debugger

EDB(Evan's Debugger)是一个基于Qt4开发的二进制调试工具,主要是为了跟OllyDbg工具看齐,通过插件体系可以进行功能的扩充,当前只支持Linux。



2.Ollydbgs是经典的Ring3级调试器,是一个动态调试工具,将IDA与SoftICE结合起来的思想。在Kali下是Wine方式运行的Ollydbg。

3.jad是一个Java反编译工具

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

5.APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。

6.Clang、Clang++

Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器。Clang++是clang的另一个升级版本,使用方法其实都是一样的。clang类似于gcc编译器,clang++类似于gc++编译器。
7.D2j-des2jar反汇编dex文件到jar文件。进而可以使用其他工具查看源代码。

8.Flasm

主要功能是用于直接修改swf文件里的脚本actionscript。
swf转fla文件的软件不能确保100%还原,如果只是修改as脚本代码,flasm是最佳的选择,因为他只修改脚本,资源数据不做修改。

9.Javasnoop


教材实践

课上活动已完成

Black Hat Python3 Chapter7、8

这周第八章第一个代码堪称经典,然而再python3下尝试过各种姿势后不得不放弃,原因如下:
1.pyhook安装繁琐,需要的swig工具试过各种版本后才装好,安装可参照:https://blog.csdn.net/u013560932/article/details/78732250/。也可以下载包到本地进行本地安装
2.pyhook即便装好后,python3运行依然会有问题,具体体现在进程名称中出现中文时,详见Python的KeyboardSwitch() missing 8解决方法
3.安装2中链接的包时,出现了各种新的问题,尤其是visual c++ 14.0微软官网已经不提供下载了。
部分运行结果:





因此本周重点放在了第七章的代码。我做的工作主要有两点:
1.转成python3会在某个文件调用中出现charmap格式无法解码的问题,有人在stack overflow提问过这个问题,但没有有效的解答,我在该问题下做出了回答,详见 Traceback Error: Lookup Error: unknown encoding charmap,简单来说就是将出错文件中的代码修改一下,不会影响我们自己代码的运行。

2.源代码登录时写的是明文的用户名和密码,这个很不利于我们的账户安全,我在自己的代码中使用了token连接github,更加安全,更方便管理。

代码运行结果如下:


代码链接

第七章代码新建了单独的仓库:https://github.com/ChosenOne95/chapter7/tree/master
第八章:https://github.com/ChosenOne95/black-hat-python3/tree/master/Chapter%208

猜你喜欢

转载自www.cnblogs.com/thechosenone95/p/10739344.html