wireshark

Linux Capabilities setcap/getcap

雨燕双飞 提交于 2020-08-11 04:29:39
Linux是一种安全操作系统,它给普通用户尽可能低的权限,而把全部的系统权限赋予一个单一的帐户--root。root帐户用来管理系统、安装软件、管理帐户、运行某些服务、安装/卸载文件系统、管理用户、安装软件等。另外,普通用户的很多操作也需要root权限,这通过setuid实现。 这种依赖单一帐户执行特权操作的方式加大了系统的面临风险,而需要root权限的程序可能只是为了一个单一的操作,例如:绑定到特权端口、打开一个 只有root权限可以访问的文件。某些程序可能有安全漏洞,而如果程序不是以root的权限运行,其存在的漏洞就不可能对系统造成什么威胁。 从2.1版开始,内核开发人员在Linux内核中加入了能力(capability)的概念。其目标是消除需要执行某些操作的程序对root帐户的依赖。从2.2版本的内核开始,这些代基本可以使用了,虽然还存在一些问题,但是方向是正确的。 2.Linux内核能力详解 传统UNIX的信任状模型非常简单,就是“超级用户对普通用户”模型。在这种模型中,一个进程要么什么都能做,要么几乎什么也不能做,这取决于进程 的UID。如果一个进程需要执行绑定到私有端口、加载/卸载内核模块以及管理文件系统等操作时,就需要完全的root权限。很显然这样做对系统安全存在很 大的威胁。UNIX系统中的SUID问题就是由这种信任状模型造成的。例如

[网络安全自学篇] 九十二.《Windows黑客编程技术详解》之病毒启动技术创建进程API、突破SESSION0隔离、内存加载详解(3)

荒凉一梦 提交于 2020-08-11 03:09:21
这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。这篇文章将带着大家来学习《Windows黑客编程技术详解》,其作者是甘迪文老师,推荐大家购买来学习。作者将采用实际编程和图文结合的方式进行分享,并且会进一步补充知识点。第三篇文章主要介绍木马病毒启动技术,包括创建进程API、突破SESSION0隔离、内存加载详解,希望对您有所帮助。 病毒木马植入模块成功植入用户计算机后,便会开启攻击模块来对用户计算机数据实施窃取和回传等操作。通常植入和攻击是分开在不同模块之中的,这里的模块指的是DLL、exe或其他加密的PE文件等。只有当前植入模块成功执行后,方可继续执行攻击模块,同时会删除植入模块的数据和文件。 模块化开发的好处不单单是便于开发管理,同时也可以减小因某一模块的失败而导致整个程序暴露的可能性。本文重点介绍病毒木马启动技术,包括: 创建进程API:介绍使用WinExec、ShellExecute以及CreateProcess创建进程 突破SESSION 0隔离创建进程:主要通过CreateProcessAsUser函数实现用户进程创建 内存直接加载运行:模拟PE加载器,直接将DLL和exe等PE文件加载到内存并启动运行 文章目录 一.创建进程API 1.函数介绍 2.编程实现 3.简单小结 二.突破SESSION

golang tcp keepalive实践

佐手、 提交于 2020-08-10 18:15:04
前文 中已经介绍了TCP keep alive的做了详尽说明,本文结合golang,介绍如何使用TCP keep alive。 目前golang net包不提供TCP keep alive 空闲多长时间开始探测 、 探测总次数 直接设置。 可以使用第三方包。 1.下载第三方包 git clone git@github.com:felixge/tcpkeepalive.git 注意放到 GOPATH 目录下。 2.例子 2.1 server server端,接受client连接请求,建立连接后,设置连接的 空闲多长时间开始探测 、 探测时间间隔 、 探测总次数 。 本例中,我们设置的参数如下: 空闲多长时间开始探测 keepAliveIdle : 10s 探测时间间隔 keepAliveInterval : 10s 探测总次数 keepAliveCount :9 server端发送一次数据后,停住。等待10s,开始发送tcp keep alive. server 代码如下: package main import ( "net" "log" "time" "github.com/tcpkeepalive" ) func main() { addr := "0.0.0.0:8080" tcpAddr, err := net.ResolveTCPAddr("tcp",addr) if

使用 DNS over TLS

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-10 14:00:51
现代计算机用来在互联网种查找资源的 域名系统(DNS) 是在 35 年前 设计的,没有考虑用户隐私。它会面临安全风险和攻击,例如 DNS 劫持 。它还能让 ISP 拦截查询。 幸运的是,现在有 DNS over TLS 和 DNSSEC 两种技术。DNS over TLS 和 DNSSEC 允许创建从计算机到它配置的 DNS 服务器之间的安全且加密的端到端隧道。在 Fedora 上,部署这些技术的步骤很容易,并且所有必要的工具也很容易获得。 本指南将演示如何使用 systemd-resolved 在 Fedora 上配置 DNS over TLS。有关 systemd-resolved 服务的更多信息,请参见 文档 。 步骤 1:设置 systemd-resolved 类似于下面所示修改 /etc/systemd/resolved.conf 。确保启用 DNS over TLS 并配置要使用的 DNS 服务器的 IP 地址。 $ cat /etc/systemd/resolved.conf [Resolve] DNS=1.1.1.1 9.9.9.9 DNSOverTLS=yes DNSSEC=yes FallbackDNS=8.8.8.8 1.0.0.1 8.8.4.4 #Domains=~. #LLMNR=yes #MulticastDNS=yes #Cache=yes

抓包工具mitmproxy环境配置使用(一)

戏子无情 提交于 2020-08-10 12:18:04
一、mitmproxy介绍 mitmproxy是一款开源的抓包工具,支持SSL的HTTP代理,它可以用于调试HTTP通信,发起中间人攻击等,还可以配合自定义python脚本使用,不同于 fiddler 或 wireshark 等抓包工具,mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。 二、mitmproxy官网 https://www.mitmproxy.org 三、mitmproxy的特点: 快速拦截和修改HTTP流量 保存HTTP对话以供以后重播和分析 重播HTTP客户端和服务器 使用Python对HTTP流量进行脚本化更改 即时生成SSL拦截证书 四、下载win环境 mitmproxy安装包 五、安装包安装mitmproxy 1、默认点下一步去安装,记得最后1步要勾选Launch mitmproxy ui now 2、点Finish自动启动mitmproxy服务和mitmproxy web页面,可以看到端口号是8080 六、pip安装mitmproxy,确保有python环境 1、pip install mitmproxy安装依赖包 2、启动服务mitmweb -p 8989,设置端口为8989 3、访问http://127.0.0.1:8081/#/flows打开抓包页面 七、手机设置代理安装证书 1、查看当前电脑ip 192

看见协议,浅析TCP、HTTP、MQTT

我的未来我决定 提交于 2020-08-08 22:00:14
如果对tcp还不了解的,可以看看 计算机网络基础 简单了解一下; 如果对tcp的深入感兴趣,看了上一篇还不过瘾的可以看 吊打面试官!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题 好了,如果看回来了我们来进入正题,首先了解一下wireshark 抓包工具wireshark 首先去官网下载对应安装包 https://www.wireshark.org/download.html window安装下一步下一步、默认就行,其中有一个统计usb的包是否安装,可以不装 启动服务,第一步选择网卡 常用知识 不同的协议有不同的着色规则;点击 视图-->着色规则 查看 过滤栏包含:保存,停止、重新捕获、切换网卡等等 数据过滤 通过数据过滤,来查看我们的请求的具体执行情况 ip.addr == 216.58.200.42 根据ip筛选 ip.addr == 10.200.60.88 and http 根据ip和协议筛选,好像还有http2 看见HTTP协议 首先,从之前的两篇TCP博客拿一些TCP协议的基本概念,方便后面的理解 准备一个简单的http接口如图: 请求地址 http://127.0.0.1:11003/demo/servicea/person/123 ,响应很简单 使用postman来请求,开启wireshark的抓包,然后通过ip.addr == 10.200.60

车载传感器数据研究-【MPU6050】

我的梦境 提交于 2020-08-08 21:59:24
今天要说的是一款测试加速度和角速度的6轴陀螺仪。在车载设备应用领域,有着很重要的价值,尤其是现在做基于驾驶行为的车险创新领域,车主的驾驶行为,无外乎就是急加速,急减速,急转弯这三急是最为重要的信息。 今天以6050为引子,同时介绍一下,车载设备采集数据后,通过4G模块传递数据,在TCP/IP通信层面,如何计算数据流量的问题。 (一) 首先,6050的加速度数据结构,就要知道,他是一个16位的AD芯片,加速度,从空间的角度分析,分为X,Y,Z三个方向,每一个方向都是16位的精度。 这里,需要说明的是数据采集的精度问题,有4种设置模式,0-3. 选择对应的精度范围,AFS_SEL=0对应的量程是正负2g(即4g量程),AFS_SEL=3对应的量程是正负16g(即32g量程)。 这里涉及到采样数据的精度问题,多说几句,对于不太理解量程精度的读者,有一点点帮助价值。 因为6050是一个16位的AD采样芯片,很直观的理解,量程越大,对于采样位宽固定的情况下,每一个bit位的变化,映射到的量程范围是不一样的。 16位,对应的值65536种状态,对应量程为正负2g时,每一个g所占用的位宽是16384(即 65536/4=16384,单位LSB/g),同理,量程为正负16g时,每一个g所占用的位宽是2048(即65536/32=2048,单位LSB/g) 上述中LSB在这里是 最小有效位 的意思

[网络安全自学篇] 七十九.Windows PE病毒原理、分类及感染方式详解

邮差的信 提交于 2020-08-08 19:07:18
这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了XSS跨站脚本攻击案例,主要内容包括XSS原理、不同类型的XSS、XSS靶场9道题目、如何防御XSS。这篇文章将介绍Windows PE病毒, 包括PE病毒原理、分类及感染方式详解,并通过案例进行介绍。基础性文章,希望对您有所帮助~ 作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~ 文章目录 一.PE病毒概念 二.PE病毒的分类 三.传统文件感染型 1.感染思路 2.PE病毒典型案例 3.关键技术 (1) 重定位 (2) API函数自获取 (3) 目标程序遍历搜索 (4) 文件感染 四.捆绑释放型 五.系统感染型 1.控制权再次获取 2.病毒的传播方式 六.总结 PS:本文参考了《软件安全》视频、安全网站和参考文献中的文章(详见参考文献),并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。 作者的github资源: 软件安全: https://github.com

攻防世界misc高手进阶篇教程(4)

前提是你 提交于 2020-08-08 09:46:26
misc1 转成十进制后-128(偏移量为128) 再转成ascii码得到flag import re s = 'd4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd' num = re.findall('\w{2}' ,s) flag = '' for i in num: ch = chr(int(i,16)-128) flag += ch print(flag) Miscellaneous-200 from ast import literal_eval as make_tuple from PIL import Image f = open('flag.txt', 'r') corl = [make_tuple(line) for line in f.readlines()] f.close() img0 = Image.new('RGB', (270, 270), '#ffffff') k=0 for i in range(246): for j in range(246): img0.putpixel ([i , j], corl[k]) k=k+1 img0

25个必须记住的SSH命令

*爱你&永不变心* 提交于 2020-08-07 19:07:50
http://www.cnblogs.com/weafer/archive/2011/06/10/2077852.html OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它***。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。 SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳的候选。下面是通过网络投票选出的25个最佳SSH命令,你必须牢记于心。 (注:有些内容较长的命令,在本文中会显示为截断的状态。如果你需要阅读完整的命令,可以把整行复制到您的记事本当中阅读。) 1、复制SSH密钥到目标主机,开启无密码SSH登录 ssh-copy-id user@host 如果还没有密钥,请使用ssh-keygen命令生成。 2、从某主机的80端口开启到本地主机2001端口的隧道 ssh -N -L2001:localhost:80 somemachine 现在你可以直接在浏览器中输入http://localhost:2001访问这个网站。 3、将你的麦克风输出到远程计算机的扬声器 dd if=/dev/dsp | ssh -c arcfour -C