网络安全第八周作业

教材学习总结

linux基本框架

1、linux优势:跨平台的硬件支持、丰富的软件支持、多用户多任务、可靠的安全性、良好的稳定性、完善的网络功能。

2、系统结构:内核、一些GNU运行库和工具、命令行shell、图形界面、X窗口系统以及相应桌面环境,并包含许多应用程序。

3、功能模块:进程与线程管理机制、内存管理机制、文件系统管理机制、设备控制机制(字符设备、块设备和网络设备)、网络机制、系统调用机制(软件中断实现)

linux安全机制

1、身份认证机制:

用户(Root根用户、普通用户、系统用户)

用户组(相同特征的用户账号集合)

本地登陆用户认证机制:DES算法(早期)、MD5、blowfish;SHA-256和SHA-512(现在);SALT编码长度扩充到12个字符

远程登录用户认证机制:SSH提供两种方式的用户身份认证机制(第一种方式为基于口令的身份认证;第二种方式为基于非对称密钥的身份认证)

统一身份认证中间件——PAM:四种管理界面(认证管理、账户管理、密码管理、会话管理)

2、授权与访问控制机制

系统安全模型:文件所有者、文件访问权限(R、W、X)和一些特殊权限位来进行系统的授权与访问控制(SUID和SGID权限)

不足和改进:无法细分权限控制、POSIX ACLS for linux内核补丁包

3、安全审计机制

日志子系统:连接时间日志、进程统计日志、错误日志记录

审计守护进程

审计日志分析工具:OSSEC、Snare

linux远程攻防技术

1、四种方法:对Linux系统各种网络服务的身份认证过程所涉及的用户口令字进行猜测攻击、发掘Linux系统某个监听网络服务的安全漏洞、通过网页木马、发送欺诈邮件、提供特洛伊木马程序等技术和社会工程学手段、在Linux系统作为连接多个网络的路由器,或者打开“混杂模式”实施网络嗅探的监听器时,可能遭受攻击者特意构造的数据包攻击,从而被攻击者取得访问权。

2、远程口令字猜解攻击:SSH、telnet、FTP、HTTP

工具:Brutus(远程口令猜解工具)、THC Hydra(网络身份口令猜解工具)、Cain and Abel

防范:使用强口令字;对于安全敏感的服务器,使用严格的口令字管理制度和措施;在非标准端口上运行易受攻击的服务;口令猜测防御软件(Denyhosts、blockhosts等)、防火墙IPTables。

3、网络服务远程渗透攻击:系统渗透最重要的攻击渠道:对监听网络服务安全漏洞的渗透利用。

4、安全漏洞信息库:CVE、Bugtraq、Security Focus、OSVDB

5、针对linux系统网络服务的远程渗透攻击

6、内核中网络协议栈实现漏洞

7、LAMP Web网站构建解决方案中的网络服务:Apache————HTTP/HTTPS;Mysql————WEB后台数据存储;PHP————应用程序

8、FTP(TCP 20/TCP 21)、Samba(TCP 445)等文件共享服务:FTP(ProFTPD、vs-ftpd)

9、电子邮件收发服务:Sendmail服务

10、其他服务:OPENSSH、OPENSSL、NFS等

11、防范措施:强口令字、禁用不必要的服务、选择安全的网络协议和服务软件、及时更新网络服务版本、使用xinetd、防火墙为linux网络服务添加网络访问控制机制、建立入侵检测与应急相应计划流程。

12、攻击linux客户端程序和用户:

攻击linux平台上的用户端程序:web浏览器firefox、电子邮件客户端软件thunderbird

攻击linux系统用户:电子邮件、即时通信中设计欺骗场景、服务配置信息的泄漏

防范:软件自动跟新机制、提高自身抗欺骗能力

13:攻击路由器和监听器:

攻击路由器和防火墙:ip_forward=1

net子系统:route.c(路由器录址和数据包转发)、netfilter(配置防火墙)

攻击监听器和入侵检测器(libpcap、tcpdump、wireshark、snort)

防范:意识到网络和安全设备的安全性和可用性,身处攻击者角度、掌握渗透测试工具

linux本地安全攻防技术

1、本地提权:破解出Root用户的口令,然后执行su或者sudo命令进行提升;发掘并利用su或者sudo程序中的安全漏洞;攻击用户态SUID特权提升漏洞;攻击Linux内核代码特权提升漏洞;过从系统中搜索全局可写的敏感文件与目录位置并加以利用

2、用户口令字破解:shadow文件中记录行格式

登录名、口令、最后一次修改时间、最小间隔时间、最大间隔时间、警告时间、不活动时间、失效时间。

工具:John the ripper

方式:字典攻击、暴力破解

3、破解linux前提为获取到/etc/shadow文件

利用sudo的缺陷进行权限提升

利用用户态SUID程序漏洞进行特权提升

针对SUID程序的本地缓冲区溢出攻击(Ettercap)

针对SUID程序的符号链接攻击(Ncpfs——ncpmount)

针对SUID程序的竞争条件攻击(Exim)

针对SUID程序的共享函数库攻击

利用内核空间代码漏洞进行特权提升

防范:合理设置SUID特权程序、关注内核代码中的安全漏洞、安全配置系统、应用SELinux等安全增强模块,替身抗入侵防护水平

linux入侵消灭踪迹

1、改变当前活动日志、清除登录日志(WZAP工具)、清除自己在shell程序中的输入命令历史

2、后门程序:特洛伊木马化的系统程序(始终接受攻击者所配置的账户登录)、命令行后门工具、图形化后门工具(VNC)

视频学习总结

kali漏洞利用之SET

1、开源、Python驱动的社会工程学渗透测试工具,更加丰富的攻击向量库(结合metaspolit)

2、命令行下输入setoolkit打开开SET套件

3、输入1(社会工程学)

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

4、选择鱼叉式钓鱼攻击:目的:发送存在恶意软件的钓鱼邮件,相应的payload可以选择不同的漏洞。

5、网络攻击框架:开放webserver服务,若对方访问且存在系统漏洞则植入后门

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

7、创建Payload和监听器

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

9、基于Arduino的攻击:硬件模块

10、短信欺骗:伪造短信发送

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

12、二维码攻击:填入危险的url使被攻击者扫描二维码中招

13、powershell攻击:针对Vista以上的powershell攻击模块

14、fast-track攻击模块

kali嗅探欺骗与中间人攻击

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

echo 1 > /proc/sys/net/ipv4/ip_forward

cat /proc/sys/net/ipv4/ip_forward

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,首先要将ec_uid、ec_gid都变为0

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

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]

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,事后可以很方便的使用一些日志分析工具来分析记录结果。

10、下载软件监控
利用Dsniff套装中的filesnarf工具,我们可以从嗅探到的NFS通信中,选定某个文件,转存到本地当前工作目录。

kali权限维持

1、Tunnel工具集、Web后门、系统后门三个子类。其中系统后门与Web后门统称为后门

2、Weevely:pythoon、webshell工具,linux下菜刀替代工具(限于PHP)

生成一个后门、将后门上传到web使用weevely连接、可获得一个webshell

3、WeBaCoo:小巧、隐蔽的php后门,可提供一个可以连接远程web服务器并执行php代码的终端。WebaCoo使用HTTP响应头传送命令结果,shell命令经base64编码后隐藏在Cookie中。

生成一个webshell、上传到网站后用webacoo连接、通过加(可执行本地命令)、不加(借助webshell执行命令)

4、Cymothoa系统后门:
枚举/bin/bash.pid(ps aux | grep"/bin/bash -k password")

cymothoa -p 10500 -s -0 -y 2333 (注入2333端口),如果成功,可以连接2333端口返回一个shell

5、dbd/sbd:理解为加密版的nc

监听端:dbd -l -p 2333 -e /bin/bash -k password

攻击端:dbd 127.0.0.1 2333 -k password

6、U3-Pwn:针对移动光驱设备如光驱镜像,u盘等。

7、Intersect:创建脚本、加入模块、自由添加功能组件,生成一个shell

权限维持之Tunnel

1、Tunnel工具集包含了一系列用于建立通信隧道、代理的工具

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

3、DNS2TCP:DNS tunnel即DNS通道。从名字上看就是利用DNS查询过程建立起隧道,传输数据。

在酒店等公共场所,通常有wifi信号,但当访问第一个网站时,可能会弹出窗口,需要输入用户名密码,登陆后才可以继续上网(该技术一般为透明http代理)。但有时会发现获取到的dns地址是有效的,并且可以进行dns查询,这时可以使用DNS tunnel技术来实现免费上网。
DNS tunnel原理
通过特定服务器,让局域网内的DNS服务器为我们实现数据转发。DNS tunnel实现的工具有很多,比如:OzymanDNS, tcp-over-dns, heyoks, iodine, dns2tcp

4、Iodine

5、Miredo:一个网络工具,主要用于BSD和Linux的IPV6 Teredo隧道转换,可以转换不支持IPV6的网络连接IPV6,内核中需要有IPV6和TUN隧道支持。

6、Proxychains:内网渗透测试经常会用到一款工具,如我们使用Meterpreter开设一个Socks4a代理服务,通过修改/etc/prosychains.conf配置文件,加入代理,即可使其他工具如sqlmap、namp直接使用代理扫描内网。
如proxychain namp 10.0.0.1/24

7、Proxytunnel:可以通过标准的Https代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行Http(s)传输
Prosytunnel可用于:使用http(s)代理(http connect 命令)创建通讯通道为OpwnSSH写一个客户端驱动,并创建基于SSH连接的http(s)代理
作为一个独立的应用,可以连接到远程服务器

8、Ptunnel:借助ICMP数据包建立隧道通信

9、Pwant:内网下通过UDP通信

10、Socat:可以在不同协议上进行转发数据

11、sslh:

一个ssl/ssh端口复用工具,sslh可以在同一个端口上接受https,ssh和openvpn连接。这使得通过443端口连接ssh服务器或者openvpn服务器同时在该端口上提供https服务成为可能。sslh可以作为一个研究端口复用的例子

Kali逆向工程工具

1、包括调试器、反编译工具与其他逆向工具集

2、Edb-Debugger:基于Qt4开发的二进制调试工具,主要是为了跟OllyDbg工具看齐,通过插件体系可以进行功能的扩充,当前只支持Linux

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

4、Jad:针对Java的反编译工具

5、Radare2:开放源代码的逆向工程平台,支持反汇编调试分析和操作二进制文件,包括rabin2、radiff2、rasm2等工具

6、Recstudio:读取windows、linux、mac os x或raw的可执行文件并尝试以c的方式呈现出代码和数据

7、Apktool:GOOGLE提供的APK编译工具,可反汇编或回编译apk,安装apk所需要的framework-res框架

8、clang、clang++:Clang是一个C语言、C++、Objective C++语言的轻量级编译器

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

10、flasm:直接修改swf文件里的脚本actionscript,swf转fla文件的软件不能确保100%还原,如果只是修改as脚本代码,flasm是最佳的选择,因为他只修改脚本,资源数据不做修改。目前flasm支持破解flash8和低于flash8格式的swf文件。

11、Javanoop:一个java应用程序安全测试工具,允许你以拦截的方法,篡改数据和hack运行在你计算机上的java应用程序。无源码无法测试。

允许你直接附加到一个运行中的进程,类似于调试器,然后,立即篡改方法调用、运行自定义代码或者仅仅监视在系统中发生了什么。

猜你喜欢

转载自www.cnblogs.com/wu666/p/8972003.html