网站首页 发表在 2022年07月 的所有文章

  • 2022目前可以使用的QQ机器人框架大全集合

    前言 最近myqq因为不可控因素,被迫停运了,听说是被警察盯住了,下面晓白分享一下目前还是可以使用的机器人框架,大家可以有选择的去使用 1.小栗子QQ机器人【单Q/多Q/多Q10IP收费】 官网:https://www.xiaolz.cn 社区:https://bbs.xiaolz.cn 授权:https://www.xlz.plus/ 2.酷喵QQ机器人【免费】 官网:https://kumbot.cn/ 社区:https://bbs.kumbot.cn/ 3.梦幻QQ机器人【免费】 官网:https://drea.cc/ 社区:https://drea.cc/forum.php 4.OIVA QQ机器人【免费】 官网:https://oiva.cc/ 社区:https://bbs.oiva.cc/ 5.ER QQ机器人【PC/安卓 付费】 官网:https://erbot.cn/ 社区:https://bbs.erbot.cn/ 6.ONO QQ机器人【单Q免费/多Q付费】 官网:http://www.onoqq.com/ 社区:http://bbs.onoqq.com/ 7.NUT QQ机器人【Air免费/Pro付费】 官网:http://www.nutqq.com/ 社区:https://bbs.nutqq.com/ 8.ISKY QQ机器人【免费】 官网:https://iskybot.cc/ 社区:https://b.iskybot.cc/ 9.QY QQ机器人【免费】 官网:https://qvbot.com/ 社区:https://qvbot.cn/ 10.小羽+QQ机器人【免费】 官网:https://lyplus.cc/ 社区:https://forum.lyplus.cc/ 11.小O QQ机器人【免费】 官网:https://ovqq.cc/ 社区:https://ioq.ink/ 12.小Q QQ机器人【未知】 官网:http://www.xqbot.cc/ 社区:http://bbs.xqbot.cc/ 13.STAR QQ机器人【未知】 官网:没有 社区:http://bbs.starqq.xyz/ 14.炸毛QQ机器人框架 【免费开源】 官网:https://framework.zhamao.xin/ 社区:没有 15.MIRAI QQ机器人【免费】 官网:https://github.com/mamoe/mirai 社区:https://mirai.mamoe.net/ 16.海天QQ机器人【免费】 官网:https://www.haitianx.cn/ 社区:不能访问 A.已经停运和跑路的框架集结 1.MYQQ机器人 【各种不可抗因素承受不住停运了】 2.先驱QQ机器人【早跑了】 3.乾坤QQ机器人 【跑路了】 4.MINIQQ机器人 【我不清楚,突然没了。】 5.CATQQ机器人 【卷钱跑路好几次了】 6.VLQ QQ机器人【还没正式版就停运了】 7.晨风QQ机器人 【我不多说了哈】 8.酷Q QQ机器人【因为压力,停运不干了。】 9.柠檬QQ机器人 【我没用过就突然消失了。】 10.小小机器人 【没活太久就倒闭了。】 11.NAN QQ机器人 【停运了。】 12.PQ QQ机器人【停运了。】 13.FN QQ机器人【停运了。】 14.可爱猫机器人 【停运了。】 15.小迪迪框架 【官网进不去了。】 16.契约框架【就没了。。。。】 17.精灵QQ机器人【跑路了。】 ...

    2022-07-26 1394
  • 谋杀阴谋:吃醋的英国女人试图雇用暗网杀手谋杀体育用品公司的同事,因为他们都与老板有染

    根据法庭的消息,Milton Keynes体育用品公司的一名货架堆放员与她的经理有染,试图雇佣一名暗网杀手杀死一名同事——当时她也开始与他们的老板上床的时候。 26岁的惠特尼·弗兰克斯(Whitney Franks)与其上司、已婚父亲詹姆斯·珀斯特(James Perst)在这家体育巨头的米尔顿凯恩斯分店相遇后,秘密约会了一年多。 但据说,当同事Ruut Ruutna加入该分店时,她开始与Perst先生背着他原来的情妇Franks一起嬉戏。 可疑的Franks“跟踪”了Perst——得知他在晚上偷偷地与Ruutna女士私会。 这件事让她“极度吃醋”,她进入了暗网,并试图使用加密货币以1000英镑的价格雇佣一名暗网杀手。 她在暗网发帖张贴了Ruutna女士的家庭住址和Facebook个人资料,并要求:“我正在寻找能够针对一名女人进行谋杀的人。我有1000英镑,我愿意支付更多。 周一,法庭称,一名记者发现了这个帖子并向警察通风报信,而不是一名合同杀手。 检察官安德鲁·科普兰(Andrew Copeland)告诉雷丁刑事法庭,当Franks搬到五英里外的SportsDirect公司的一个单独分支机构时,Perst先生更换了情人。 他说:“她为什么要这样做?法庭说是因为吃醋心猖獗,她想夺走这个情敌。” 检察官补充说:“Franks和Ruutna是与Perst一起工作的同事,Perst是米尔顿凯恩斯体育直销公司的总经理。“ “他们不仅是工作上的同事,而且是James Perst的情敌,两人同时与他发生了浪漫的关系。” “两人都知道James Perst有一个结了婚的妻子,有两个年幼的孩子。他们并不关心这个问题,而是关心对方。“ “他们都知道James Perst不准备离开他的长期伴侣或他们的孩子。” 检察官继续说:“Perst试图将他们互相牵制。当我们首先发现这个欺骗时,我们了解到其编织了一个多么纠结的网。” 法庭获悉,James Perst于2014年8月开始在Milton Keynes的一家分公司工作,比Whitney Franks早一年。 到2016年,他们恋爱了。2017年,Ruut Ruutna加入。到2018年,Franks换了分公司,Ruutna和Perst开始了他们的关系。 Copeland先生说:“到2020年,James Perst会在他的伴侣和孩子都已经上床休息后,经常离开他的家,去Ruut Ruutna的家。 “2020年8月17日,惠特尼·弗兰克斯(Whitney Franks)出现在Milton Keynes体育用品的分公司,这不是与工作相关的访问,而是个人访问。“ “Perst显然很不高兴,她对他在晚上偷偷摸摸的行为发表了评论。” “两位女士都没有互相交谈,也没有谈论彼此——她怎么知道詹姆斯·珀斯特(Perst)晚上会在鲁特·鲁特纳(Ruutna)家附近闲逛。” “她一定是跟踪他的。她为什么要那样做?出于吃醋。” 2018年9月1日,弗兰克斯(Franks)向詹姆斯·珀斯特(Perst)发送了另一封电子邮件,请求重新点燃他们的恋情。 科普兰先生说:“这封电子邮件具有更积极的性质,并提到了两人过去的性活动,并以请求再给她一次机会作为结尾。“ “在电子邮件中,她说‘我可以给你整个世界,James,如果你能给我一个机会,我想你可以成为你一生中最幸福的人。我是真心的。” 但第二天,英国广播公司记者卡尔·米勒(Carl Miller)联系了警方,他在网上发现了她要求杀人的请求。 “当人们在暗网上购买服务时,通常是为了毒品或武器,但在这里,记者正在查看的网站是在处理死亡问题,”检察官说。 法庭听说弗兰克斯(Franks)设立了一个加密货币账户,允许她在网上进行匿名购买,并于8月20日购买了价值282.57英镑的比特币。 检察官说:“这不是一个醉酒的行为,法庭暗示她是致命的认真。警察去了Ruutna女士的地址,她不在那里。” “女房东将他们带到Ruutna工作的体育用品公司。他们把她带到一个安静的地方,告诉她这条消息的存在。“ “她回答说’我有预感是谁’,她说出了惠特尼·弗兰克斯(Whitney Franks)的名字。“ “出于对她安全的担忧,她被带到了一个安全屋。调查仍在继续,Franks于2020年9月10日被捕。” “在警方的采访中,她承认大致看了一下网站,出现了一个弹出窗口,她点击了这个窗口,把她带到了暗网。” “她的好奇心占了上风,她提供毒品、武器和谋杀。“ “她不敢相信这样的网站存在,而且一定是骗局。她想检查一下这是否是骗局。” 来自白金汉郡米尔顿凯恩斯市Two Mile Ash的Franks否认一项在2020年8月17日至9月1日期间唆使谋杀的罪名。 然后审判继续进行。 ...

    2022-07-26 411
  • 在Windows系统上设置Tor代理,使用Chrome浏览器访问暗网

    大家都知道如何访问暗网,正如“Kirin博客”之前介绍:如何通过三个步骤简单的使用Tor浏览器访问暗网。但是,假如不使用Tor浏览器,不使用Brave浏览器,使用日常用的浏览器,如Chrome浏览器、Firefox火狐浏览器,可以访问暗网吗?怎么在Windows系统上设置Tor代理,利用Tor节点访问网络?本文将做简单的介绍,从而可以做到暗网的爬取与监控。 一、下载Windows专家包和Tor浏览器 下载Windows专家包,解压到桌面上。 下载Tor浏览器(版本取决于您的计算机)。使用默认设置运行.exe并安装。 在“文件夹选项”中设置显示隐藏的项目和文件扩展名:在资源管理器窗口的左上角,单击“查看”选项卡。在最右侧的显示/隐藏部分中,选中隐藏项目的复选框;选中文件扩展名的复选框。 二、组合文件并重定位 打开桌面上的Tor文件夹,双击tor.exe。一旦命令提示符显示:[notice] Bootstrapped 100% (done): Done,关闭窗口。这将创建文件夹C:\Users\\AppData\Roaming\tor\(其中您的用户名)。 从桌面上的Tor文件夹中,选择所有.dll和.exe文件,并将它们剪切/粘贴到C:\Users\\AppData\Roaming\tor\文件夹中。 在桌面上的Tor文件夹中,打开Data文件夹。同时选择geoip和geoip6,并将它们剪切/粘贴到C:\Users\\AppData\Roaming\tor\文件夹中。 打开C:\Users\\Desktop\Tor Browser\Browser\TorBrowser\Tor\PluggableTransports文件夹,选择obfs4proxy.exe并将其剪切/粘贴到C:\Users\\AppData\Roaming\tor\文件夹中。 三、创建和编辑您的Tor配置文件 在C:\Users\\AppData\Roaming\tor\文件夹中,创建新文件,命名为torrc,注意不设置扩展名。 使用文件编辑器打开(如记事本)torrc文件,添加以下内容: Log notice file C:\Users\<user>\AppData\Roaming\tor\notice.log GeoIPFile C:\Users\<user>\AppData\Roaming\tor\geoip GeoIPv6File C:\Users\<user>\AppData\Roaming\tor\geoip6 BridgeRelay 1 # Replace "TODO1" with a Tor port of your choice. # This port must be externally reachable. # Avoid port 9001 because it's commonly associated with Tor and censors may be scanning the Internet for this port. ORPort TODO1 ServerTransportPlugin obfs4 exec C:\Users\<user>\AppData\Roaming\tor\obfs4proxy.exe # Replace "TODO2" with an obfs4 port of your choice. # This port must be externally reachable and must be different from the one specified for ORPort. # Avoid port 9001 because it's commonly associated with Tor and censors may be scanning the Internet for this port. ServerTransportListenAddr obfs4 0.0.0.0:TODO2 # Local communication port between Tor and obfs4. Always set this to "auto". # "Ext" means "extended", not "external". Don't try to set a specific port number, nor listen on 0.0.0.0. ExtORPort auto # Replace "<address@email.com>" with your email address so we can contact you if there are problems with your bridge. # This is optional but encouraged. ContactInfo <address@email.com> # Pick a nickname that you like for your bridge. This is optional. Nickname PickANickname 不要忘记更改ORPort、ServerTransportListenAddr、ContactInfo、和Nickname项目的值。 使用一个大于1024的固定obfs4端口,但是要避免使用9001端口。 请注意,Tor的OR端口及其obfs4端口都必须是可访问的。如果您的网桥位于防火墙或NAT之后,请确保打开两个端口。您可以使用我们的可达性测试来查看您的obfs4端口是否可以从Internet访问。 为了能够本地解析,在torrc文件底部加上: DNSPort 53 AutomapHostsOnResolve 1 AutomapHostsSuffixes .onion 四、使用cmd启动Tor 打开命令提示符应用程序cmd,使用以下命令切换到您的工作目录:cd C:\Users\\AppData\Roaming\tor\ 执行命令:tor.exe -f torrc 五、监控tor.exe执行日志 要确认您的网桥正常运行,应该查看:C:\Users\\AppData\Roaming\tor\notice.log,日志如下所示: [notice] Your Tor server’s identity key fingerprint is ‘ ‘ [notice] Your Tor bridge’s hashed identity key fingerprint is ‘ ‘ [notice] Tor has successfully opened a circuit. Looks like client functionality is working. [notice] Bootstrapped 100%: Done [notice] Now checking whether ORPort :3818 is reachable… (this may take up to 20 minutes — look for log messages indicating success) [notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor. 六、下载并设置SocksCap等代理工具,配置本地DNS 以SocksCap64为例,下载安装后,添加代理127.0.0.1,端口为9050,测试连通性。 修改本地DNS的次选项为127.0.0.1。 在SocksCap64程序中添加Chrome等浏览器,打开后,可以直接访问.onion域名了。 如打开Onion666暗网导航:http://666666666tjjjeweu5iikuj7hkpke5phvdylcless7g4dn6vma2xxcad.onion/ 七、Selenium爬虫使用Tor的简单配置 from selenium import webdriver chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--proxy-server=socks5://127.0.0.1:9050') driver = webdriver.Chrome(chrome_options=chrome_options) driver.get('https://onion666.com') 八、配置文件样例 Log notice file C:\Users\administrator\AppData\Roaming\tor\notice.log GeoIPFile C:\Users\administrator\AppData\Roaming\tor\geoip GeoIPv6File C:\Users\administrator\AppData\Roaming\tor\geoip6 BridgeRelay 1 # Replace "TODO1" with a Tor port of your choice. # This port must be externally reachable. # Avoid port 9001 because it's commonly associated with Tor and censors may be scanning the Internet for this port. ORPort 54078 ServerTransportPlugin obfs4 exec C:\Users\administrator\AppData\Roaming\tor\obfs4proxy.exe # Replace "TODO2" with an obfs4 port of your choice. # This port must be externally reachable and must be different from the one specified for ORPort. # Avoid port 9001 because it's commonly associated with Tor and censors may be scanning the Internet for this port. ServerTransportListenAddr obfs4 0.0.0.0:54079 # Local communication port between Tor and obfs4. Always set this to "auto". # "Ext" means "extended", not "external". Don't try to set a specific port number, nor listen on 0.0.0.0. ExtORPort auto # Replace "<address@email.com>" with your email address so we can contact you if there are problems with your bridge. # This is optional but encouraged. ContactInfo admin@anwangxia.com # Pick a nickname that you like for your bridge. This is optional. Nickname anwangxia DNSPort 53 AutomapHostsOnResolve 1 AutomapHostsSuffixes .onion...

    2022-07-26 560
  • 什么是远程代码执行漏洞?

    什么是远程代码执行攻击? RCE 攻击包括通过使用系统某个级别的漏洞在系统中注入和执行恶意代码。这允许攻击者在系统中执行命令、窃取、损坏、加密数据等。 RCE 攻击有多危险? RCE 攻击的影响可能很大,具体取决于它所利用的漏洞。至少,成功的远程代码执行将授予对系统及其数据的访问权限。,严重的情况下,它可能导致整个系统妥协和接管。 RCE含义 RCE 也称为远程代码评估,是更广泛的任意代码执行 (ACE) 攻击组的一部分。它是一种使用互联网、本地 (LAN) 或广域网 (WAN) 在目标机器或系统中远程注入和执行代码的方法。此代码可以访问 Web 服务器或应用程序,完全控制或破坏它,打开后门,获取、修改或破坏数据,安装勒索软件等。 这种攻击利用了将可执行代码注入字符串或文件并执行或评估的可能性。可能是由于用户输入没有经过验证,也没有被允许通过编程语言的解析器——这种情况通常不是开发人员想要的。注入的代码通常使用目标应用程序的编程语言。此类语言可能包括 PHP、Java、Python、Ruby 等。 根据攻击者所利用的缺陷,他们通常会在执行代码时获得目标进程授予的权限。例如,如果攻击者以用户的身份注入代码,他们就会夺取用户的权限。 出于这个原因,RCE 之后经常尝试升级权限并获得对管理或根级别的控制。不幸的是,这种提升的特权也允许攻击者更巧妙地隐藏攻击。然而,即使没有更多的特殊权限,远程代码执行漏洞也有可能造成严重危害。 RCE 攻击的影响 远程代码执行攻击的影响可能是简单地获得对应用程序的访问权,也可能是完全接管应用程序。RCE攻击的一些主要结果类型包括: 访问应用程序或服务器:最初,由于漏洞,攻击者可以访问易受攻击的应用程序中的功能。他们可以使用它来注入和运行底层的 Web 服务器命令。 权限升级:获得对网络服务器的访问权并执行命令意味着攻击者可能能够获得更大的权限并控制服务器。如果存在服务器级别的内部漏洞,这尤其危险。 访问数据:利用 RCE 漏洞,攻击者可以访问和窃取存储在服务器上的数据。 拒绝服务:攻击者可以通过执行特定的命令来中断和崩溃服务器上的整个服务和其他服务。 勒索软件和加密:如果可以在服务器上执行代码,也可以安装各种类型的恶意软件。此类恶意软件可能是使用服务器资源挖掘加密货币的加密挖掘或加密劫持软件。远程代码执行漏洞也为勒索软件打开了大门,让整个服务器被接管。 这些只是 RCE 攻击的一些可能影响。根据具体情况和其他漏洞的存在,敌对方可能会造成进一步的损害,使这种攻击非常危险。 远程代码执行如何工作 执行远程代码执行有不同的方法,因为它可以针对服务器的不同层。 执行 RCE 的一种常见方法是通过注入代码并获得对指令指针的控制权。这允许攻击者指向执行以下指令/过程。代码可以以不同的方式和位置注入,但攻击者必须“指向”注入的代码才能执行。代码本身可能以命令、脚本或其他形式存在。 从本质上讲,以上就是RCE攻击的执行方式。攻击的类型、攻击向量以及执行的精确程度可能有所不同。 远程代码执行攻击类型 这些是最常见的远程代码执行攻击及其基本场景。 类型混淆 这种类型的漏洞是指使用一种类型分配对象、资源或变量,但随后使用不同于初始类型的另一种类型进行访问。由于访问资源的类型和属性不匹配,这将导致错误和逻辑错误。 攻击者利用这个漏洞,将代码包含在分配一个指针但读取另一个指针的对象中。结果是第二个指针触发注入的代码。 例如,在某些情况下, SQL 注入可能是由于类型混淆造成的。 反序列化 Тo 通过网络传输数据,它被序列化,也就是转换为二进制。然后,将其反序列化并转换回要在其目的地使用的对象。 通过以特定方式格式化用户输入,攻击者可以创建一个对象,一旦它被反序列化,就会变成可执行的动态代码。 缓冲区溢出和缓冲区过度读取 缓冲区溢出也称为越界写入和缓冲区溢出。与缓冲区过度读取一起,它指的是与称为缓冲区的内存分区相关的内存安全漏洞。缓冲区的目的是在数据从一个地方移动到另一个地方时临时存储数据。 应用程序经常使用缓冲存储器来存储数据,包括用户提供的数据。对于缓冲区溢出,攻击者将依赖于有缺陷的内存分配,例如,缺乏边界检查措施。这可能导致数据被写入缓冲区边界之外并覆盖相邻缓冲区分区中的内存。 这种覆盖可能会损坏或破坏重要数据,导致崩溃,或导致通过使用指令指针安全漏洞触发 RCE。这可能与缓冲区过度读取情况有关,在这种场景中,数据的读取超出了缓冲区的边界,进入了存储在相邻分区中的内存。 RCE 攻击示例 一些重要和危险的漏洞及其启用的攻击都涉及使用 RCE。 Log4J RCE 漏洞 Log4Shell (CVE-2021-44228) 是 Log4j 中的一个远程代码执行漏洞,Log4j是一种流行的 Java 日志框架,估计会影响全球数百万台设备。它被称为“有史以来最大、最严重的漏洞”。虽然它自 2013 年以来就存在,但它于 2021 年 11 月为人所知,并于当年 12 月公开披露。 该漏洞允许用户在服务器上执行任意Java代码,为加密挖掘、创建僵尸网络和注入勒索软件打开大门。 WannaCry WannaCry是一种勒索病毒加密蠕虫攻击,它使用了一个名为EternalBlue的RCE漏洞,从而可以部署DoublePulsar工具来安装和执行自己的程序。这次攻击的目标是微软的Windows系统。安装后,蠕虫会对数据进行加密,攻击者会索要赎金。 永恒之蓝攻击了微软SMB (Server Message Block)协议中的一个安全漏洞。该漏洞允许攻击者注入和远程执行代码。 这只是两个最著名的RCE漏洞及其启用的攻击。常见漏洞和暴露(Common vulnerability and exposed, CVE)系统定期列出可能导致RCE攻击的漏洞的新条目。 如何检测和防止远程代码执行 RCE 攻击构成严重威胁,因为它们可能涉及多种方法并利用许多不同的漏洞。此外,新的漏洞不断出现,使得准备充分变得具有挑战性。但是,您可以采取多种措施来检测和防止 RCE 攻击。 定期安全更新 组织经常不能根据最新的威胁情报采取行动,不能及时应用补丁和更新。因此,攻击者通常也会试图攻击旧的漏洞。一旦系统和软件可用,就立即对它们进行安全更新,这对于阻止许多攻击者是非常有效的。 监控 监控网络流量和端点,以发现可疑内容并阻止利用企图。这可以通过实现某种形式的网络安全解决方案或威胁检测软件来实现。 检测软件安全 通过静态代码检测可以在编码阶段发现常见的安全漏洞,从源头解决掉存在的安全风险。 内存管理 实现缓冲区溢出保护和其他形式的内存管理,以避免产生容易被利用的漏洞。例如,当缓冲区溢出时,这种保护将终止程序的执行,从而有效地禁用了执行恶意代码的可能性。边界检查和标记是可以实现的其他保护技术,用于停止缓冲区溢出。 ...

    2022-07-19 461
  • “几乎不可能被检测到”的Linux恶意软件

    研究人员表示,一种“几乎不可能检测到”的新Linux恶意软件已经出现,它不仅可以收集凭据,并且可以通过寄生方式感染目标,为攻击者提供远程访问和rootkit功能。 安全研究员Joakim Kennedy在上周发布的黑莓威胁矢量博客上的一篇文章中写道,黑莓研究和情报团队的研究人员一直在跟踪恶意软件,他们是在2021年11月最早检测到该恶意软件。 研究人员恰当地将恶意软件称为“共生体”,该恶意软件显然是针对拉丁美洲金融部门的。在生物学中,这个词指的是与另一个生物体共生的生物体。 Kennedy解释说,选取这个名字其实是为了突出恶意软件操作方式,因为该软件的操作方式前所未见,与研究人员遇到的其他Linux恶意软件不同。 他写道:“Symbiote与众不同......在于,它需要感染其他正在运行的进程,才能对受感染的机器造成损害。”“它不是为感染机器而运行的独立可执行文件,而是一个共享对象(SO)库,使用LD_PRELOAD(T1574.006)加载到所有正在运行的进程中,并寄生虫式地感染机器。” Kennedy说,一旦Symbiote感染了所有运行进程,威胁行为者就可以从事各种邪恶的活动,包括远程使用rootkit功能、收集凭据的能力和远程访问能力。 他补充说,除了rootkit功能外,恶意软件还为威胁行为者提供了一个后门,以便使用硬编码密码作为机器上的任何用户登录,并以最高权限执行命令。 规避机动 研究人员表示,共生体的行为并不是唯一使其独一无二的东西。他说,它本身也具有非常强大的规避功能,以至于它“可能在雷达的搜索下飞行”,因此很难知道它是否被威胁行为者使用。 研究人员发现,它使用的一些规避策略是,根据设计,它由链接器通过LD_PRELOAD指令加载,该指令允许在任何其他共享对象之前加载。他们说,首先加载的特权允许它劫持从为应用程序加载的其他库文件中导入。Kennedy说,通过这种方式,它通过钩住libc和libpcap函数来隐藏其在机器上的存在。 他解释说:“一旦恶意软件感染了机器,它就会隐藏自己和威胁行为者使用的任何其他恶意软件,使感染很难检测到。”“在受感染的机器上进行实时取证可能不会出现任何问题,因为所有文件、进程和网络工件都被恶意软件隐藏了。” 事实上,研究人员表示,他们自己无法发现足够的证据来确定威胁行为者目前是否“在高度针对性或广泛的攻击中使用共生生物”。 研究人员指出,不寻常的DNS请求可能是检测系统上是否存在恶意软件的一种方式。然而,他们说,旨在检测和响应的典型防病毒或其他安全工具不会接收Symbiote,这使得使用依赖这些保护的Linux的组织面临风险。 目标 Kennedy指出,攻击者挥舞共生体的主要目标是“捕获证书,并为后门访问受感染的机器提供便利”。他详细概述了恶意软件如何实现这两项活动。 Kennedy说,对于凭据收集,Symbiote会钩住libc读取函数;如果ssh或scp进程调用该函数,它会捕获凭据,这些凭据首先使用嵌入式密钥使用RC4加密,然后写入文件。 他补充说,攻击者不仅在本地窃取凭据进行访问,还通过十六进制编码和将通过DNS地址记录请求发送的数据分块到他们控制的域名来过滤它们。 Kennedy说,为了远程访问受感染的机器,该恶意软件挂钩了一些Linux可插拔身份验证模块(PAM)功能,允许它使用任何使用PAM的服务对机器进行身份验证,包括安全外壳(SSH)等远程服务。 他解释说:“当服务试图使用PAM对用户进行身份验证时,恶意软件会根据硬编码密码检查提供的密码。”“如果提供的密码是匹配的,则钩住函数将返回成功响应。” Kennedy说,一旦威胁行为者完成身份验证,Symbiote允许攻击者通过扫描环境以查找变量HTTP_SETTHIS来获得根特权。 他解释说:“如果变量是用内容设置的,恶意软件会将有效用户和组ID更改为根用户,然后在通过系统命令执行内容之前清除变量。” ...

    2022-07-16 447
  • 密码破译常用网站

    xssee:http://web2hack.org/xssee xssee:http://evilcos.me/lab/xssee 程默的博客(DES,3DES,AES,RC,Blowfish,Twofish,Serpent,Gost,Rijndael,Cast,Xtea,RSA):http://tool.chacuo.net/cryptdes 在线编码解码(多种并排):http://bianma.911cha.com 在线加密解密(多种):http://encode.chahuo.com Unicode转中文:http://www.bejson.com/convert/unicode_chinese 栅栏密码 && 凯撒密码 && 摩斯电码:http://heartsnote.com/tools/cipher.htm Caesar cipher(凯撒密码):http://planetcalc.com/1434/ Quoted-Printable && ROT13:http://www.mxcz.net/tools/QuotedPrintable.aspx ROT5/13/18/47编码转换:http://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php Base32/16:http://pbaseconverter.com/ Base32:https://tools.deamwork.com/crypt/decrypt/base32decode.html quipqiup古典密码自动化爆破(词频分析):http://quipqiup.com/index.php 词频分析/替换:http://cryptoclub.org/tools/cracksub_topframe.php '+.<>[]' && '!.?'(Brainfuck/Ook!):https://www.splitbrain.org/services/ook '+-.<>[]'(Brainfuck):https://www.nayuki.io/page/brainfuck-interpreter-javascript '+-.<>[]'(Brainfuck):http://esoteric.sange.fi/brainfuck/impl/interp/i.html '()[]!+'JavaScript编码(JSfuck):http://discogscounter.getfreehosting.co.uk/js-noalnum.php 用 6 个字符'()[]!+'来编写 JavaScript 程序(JSfuck同上):http://www.jsfuck.com/ http://patriciopalladino.com/files/hieroglyphy/ 摩斯密码翻译器:http://www.jb51.net/tools/morse.htm Morse Code摩尔斯电码:http://rumkin.com/tools/cipher/morse.php 字符串编码,解码,转换(长度,反转,进制转换):http://www.5ixuexiwang.com/str/ Cisco Type 7 Reverser:http://packetlife.net/toolbox/type7 Cisco:http://www.ifm.net.nz/cookbooks/passwordcracker.html cmd5 && NTLM && mysql...:http://www.cmd5.com spammimic(字符2一段话):http://www.spammimic.com/ js代码在线加密解密:https://tool.lu/js/ JScript/VBscript脚本解密(#@~^....^#~@):http://www.dheart.net/decode/index.php VBScript.Encode解密(tip:Asp encode):http://adophper.com/encode.html JScript.Encode脚本加密与解密:http://www.haokuwang.com/jsendecode.htm '+/v+'UTF-7加密:http://web2hack.org/xssee 各种无知密码解密:http://www.tools88.com uuencode解码 && xxencode解码(古老的邮件密码):http://web.chacuo.net/charsetuuencode MIME标准(邮件编码的一种):http://dogmamix.com/MimeHeadersDecoder/ Binhex编码(邮件编码的一种,常见于MAC机):http://encoders-decoders.online-domain-tools.com/ %u8001%u9525非/u的hex,%u编码,只能编码汉字(xssee):http://web.chacuo.net/charsetescape 猪圈密码:http://www.simonsingh.net/The_Black_Chamber/pigpen.html ppencode(把Perl代码转换成只有英文字母的字符串):http://namazu.org/~takesako/ppencode/demo.html rrencode(把ruby代码全部转换成符号):挂了 aaencode(JS代码转换成常用的网络表情,也就是我们说的颜文字js加密):http://utf-8.jp/public/aaencode.html '()[]!+' && '$=~[]+"_.\();'jother编码jjencode(JS代码转换成只有符号的字符串):http://web2hack.org/xssee jother(是一种运用于javascript语言中利用少量字符构造精简的匿名函数方法对于字符串进行的编码方式。其中8个少量字符包括:! + ( ) [ ] { }。只用这些字符就能完成对任意字符串的编码):http://tmxk.org/jother/ jjencode/aaencode可用xssee && Chrome的Console模式来直接输出解密。 Manchester曼彻斯特解密:http://eleif.net/manchester.html Vigenère维多利亚解密:https://www.guballa.de/vigenere-solver Vigenère cipher:http://planetcalc.com/2468/ Hill cipher(希尔密码):http://planetcalc.com/3327/ Atbash cipher(埃特巴什码):http://planetcalc.com/4647/ snow(html隐写):http://fog.misty.com/perry/ccs/snow/snow/snow.html Serpent加密解密:http://serpent.online-domain-tools.com/ 十六进制Hex转文本字符串:http://www.bejson.com/convert/ox2str/ Hex2text:http://www.convertstring.com/EncodeDecode/HexDecode Binary(二进制),ACSII,Hex(十六进制),Decimal(十进制):http://www.binaryhexconverter.com/ 集合:http://www.qqxiuzi.cn/daohang.htm 集合(各种古典密码):http://rumkin.com/tools/cipher/ 文本加密为汉字("盲文",音符,各种语言,花朵,箭头...):http://www.qqxiuzi.cn/bianma/wenbenjiami.php 在线工具集合:http://tomeko.net/online_tools/ 二维码/条形码:https://online-barcode-reader.inliteresearch.com/ 生成二维码:http://www.wwei.cn/ 在线二维码解密:http://jiema.wwei.cn/ Image2Base64:http://www.vgot.net/test/image2base64.php 与佛论禅:http://www.keyfc.net/bbs/tools/tudoucode.aspx 在线分解GIF帧图:http://zh.bloggif.com/gif-extract bejson(杂乱):http://www.bejson.com atool(杂乱):http://www.atool.org Punch Card:http://www.kloth.net/services/cardpunch.php 分解素数(ESA):http://www.factordb.com/index.php 文件在线Hash:http://www.atool.org/file_hash.php ...

    2022-07-15 760
  • 12 个优化 Docker 镜像安全性的技巧

    本文介绍了 12 个优化 Docker 镜像安全性的技巧。每个技巧都解释了底层的攻击载体,以及一个或多个缓解方法。这些技巧包括了避免泄露构建密钥、以非 root 用户身份运行,或如何确保使用最新的依赖和更新等。 1前言 当你是刚开始使用 Docker 的新手时,你很可能会创建不安全的 Docker 镜像,使攻击者很容易借此接管容器,甚至可能接管整个主机,然后渗透到你公司的其他基础设施中。 可以被滥用来接管你的系统的攻击向量有很多,例如: 启动的应用程序(在你 Dockerfile 的 ENTRYPOINT 中指定)以 root 用户身份运行。这样以来,一旦攻击者利用了一个漏洞并获得了 shell 权限,他们就可以接管 Docker 守护程序所运行的主机。 你的镜像是基于一个过时的和 / 或不安全的基础镜像,其中包含(现在)众所周知的安全漏洞。 你的镜像包含了一些工具(如 curl、apt 等),一旦攻击者获得了某种访问权,就可以通过这些工具将恶意软件加载到容器中。 下面的各个章节讲解了能够优化你的镜像安全性的各种方法。它们是按重要性 / 影响程度排序的,也就是说排名靠前的方法更重要。 2避免泄露构建密钥 构建密钥是只在构建 Docker 镜像时需要的凭证(不是在运行时)。例如,你可能想在你的镜像中包含某个应用程序的一个编译版本,这个应用的源代码是闭源的,并且其 Git 存储库是有访问保护的。在构建镜像时,你需要克隆 Git 存储库(这需要构建密钥,例如该存储库的 SSH 访问密钥),从源代码构建应用程序,然后再删除源代码(和密钥)。 “泄露“构建密钥是说你不小心把这种密钥烘焙到了你的镜像的某个层中。这种情况很严重,因为拉取你的镜像的所有人都可以检索到这些机密。这个问题源于这样一个事实,即 Docker 镜像是以纯粹的加法方式逐层构建的。你在一个层中删除的文件只是被“标记”为已删除,但拉取你镜像的人们仍然可以使用高级工具访问它们。 可以使用以下两种方法之一来避免泄露构建密钥。 多阶段构建 Docker 多阶段构建(官方文档)有许多用例,例如加快你的镜像构建速度,或减少镜像大小。本系列的其他文章会详细介绍其他用例。总之,你也可以通过多阶段构建来避免泄露构建密钥,如下所示: 创建一个阶段 #A,将凭证复制到其中,并使用它们来检索其他工件(例如上述例子中的 Git 存储库)和执行进一步的步骤(例如编译一个应用程序)。阶段 #A 的构建确实包含了构建的密钥! 创建一个 #B 阶段,其中你只从 #A 阶段复制非加密的工件,例如一个已编译的应用程序。 只发布 / 推送阶段 #B 的镜像 BuildKit 的密钥 背景知识 如果你使用 docker build 进行构建,可以实际执行构建的后端选项不止一个。其中较新和较快的后端是 BuildKit,你需要在 Linux 上设置环境变量 DOCKER_BUILDKIT=1 来显式启用它。注意,BuildKit 在 Windows/MacOS 的 Docker for Desktop 上是默认启用的。 正如这里的文档所解释的(阅读它们以了解更多细节),BuildKit 构建引擎支持 Dockerfile 中的额外语法。要使用构建密钥,请在你的 Dockerfile 中放入类似下面这样的内容: RUN --mount=type=secret,id=mysecret,dst=/foobar <command to run> 当 RUN 语句被执行时,密钥将对这个构建容器可用,但不会将密钥本身(这里是:/foobar 文件夹)放入构建的镜像中。你需要在运行 docker build 命令时指定密钥的源文件 / 文件夹(位于主机上)的路径,例如: docker build --secret id=mysecret,src=mysecret.txt -t sometag 不过有一点需要注意:你不能通过 docker-compose up --build 来构建需要密钥的镜像,因为 Docker-compose 还不支持用于构建的 --secret 参数,见 GitHub 问题。如果你依赖 docker-compose 的构建,请使用方法 1(多阶段构建)。  题外话:不要推送在开发机上构建的镜像 你应该一直在一个干净的环境中构建和推送镜像(例如 CI/CD 管道),其中构建代理会将你的存储库克隆到一个新目录。 使用本地开发机器进行构建的问题是,你的本地 Git 存储库的“工作树“可能是脏的。例如,它可能包含有开发过程中需要的密钥文件,例如对中转甚至生产服务器的访问密钥。如果没有通过.dockerignore 排除这些文件,那么 Dockerfile 中的“COPY . .“等语句可能会意外导致这些密钥泄露到最终镜像中。 3以非 root 用户身份运行 默认情况下,当有人通过“docker runyourImage:yourTag“运行你的镜像时,这个容器(以及你在 ENTRYPOINT/CMD 中的程序)会以 root 用户身份运行(在容器和主机上)。这给了一个使用某种漏洞在你的运行容器中获得 shell 权限的攻击者以下权力: 对主机上所有显式挂载到容器中的目录的无限制写权限(因为是 root)。 能够在容器中做 Linux 根用户可以做的一切事情。例如,攻击者可以安装他们需要的额外工具来加载更多的恶意软件,比如说通过 apt-get install(非 root 用户无法做到这一点)。 如果你的镜像容器是用 docker run --privileged 启动的,攻击者甚至可以接管整个主机。 为了避免这种情况,你应该以非 root 用户(你在 docker build 过程中创建的一些用户)的身份运行你的应用程序。在你的 Dockerfile 中的某个地方(通常是在结尾处)放置以下语句: # Create a new user (including a home-directory, which is optional)RUN useradd --create-home appuser# Switch to this userUSER appuser Dockerfile 中所有在 USER appuser 语句之后的命令(如 RUN、CMD 或 ENTRYPOINT)都将以这个用户运行。这里有一些需要注意的地方: 在切换到非 root 用户之前,你通过 COPY 复制到镜像中的文件(或由某些 RUN 命令创建的文件)是由 root 用户拥有的,因此以非 root 用户身份运行的应用程序无法写入。为了解决这个问题,请把创建和切换到非 root 用户的代码移到 Dockerfile 的开头。 如果这些文件是在 Dockerfile 的开头以根用户身份创建的(存储在 /root/ 下面,而不是 /home/appuser/ 下面),那么你的程序期望在用户的主目录中的某个地方(例如~/.cache)的文件,现在从应用程序的视角来看可能突然消失了。 如果你的应用程序监听一个 TCP/UDP 端口,就必须使用大于 1024 的端口。小于等于 1024 的端口只能以 root 用户身份使用,或者以一些高级 Linux 能力来使用,但你不应该仅仅为了这个目的而给你的容器这些能力。 4使用最新的基础镜像构建和更新系统包 如果你使用的基础镜像包含了某个真正的 Linux 发行版(如 Debian、Ubuntu 或 alpine 镜像)的全部工具集,其中包括一个软件包管理器,建议使用该软件包管理器来安装所有可用的软件包更新。 背景知识 基础镜像是由某人维护的,他配置了 CI/CD 管道计划来构建基础镜像,并定期推送到 Docker Hub。你无法控制这个时间间隔,而且经常发生的情况是,在该管道将更新的 Docker 镜像推送到 Docker Hub 之前,Linux 发行版的包注册表(例如通过 apt)中已经有了安全补丁。例如,即使基础镜像每周推送一次,也有可能在最近的镜像发布几小时或几天后出现安全更新。 因此,最好总是运行更新本地软件包数据库和安装更新的包管理器命令,采用无人值守模式(不需要用户确认)。每个 Linux 发行版的这个命令都不一样。 例如,对于 Ubuntu、Debian 或衍生的发行版,使用 RUN apt-get update && apt-get -y upgrade 另一个重要的细节是,你需要告诉 Docker(或你使用的任何镜像构建工具)来刷新基础镜像。否则,如果你引用一个基础镜像,比如 python:3(而 Docker 在其本地镜像缓存中已经有了这样一个镜像),Docker 甚至不会检查 Docker Hub 上是否存在更新的 python:3 版本。为了摆脱这种行为,你应该使用这个命令: docker build --pull <rest of the build command> 这可以确保 Docker 在构建镜像之前拉取你的 Dockerfile 中 FROM 语句中提到的镜像的更新。 你还应该注意 Docker 的层缓存机制,它会让你的镜像变得陈旧,因为 RUN <install apt/etc. updates>命令的层是缓存的,直到基础镜像维护者发布新版本的基础镜像才刷新。如果你发现基础镜像的发布频率相当低(比如少于一周一次),那么定期(比如每周一次)重建你的镜像并禁用层缓存是个好主意。你可以运行以下命令来做到这一点: docker build --pull --no-cache <rest of the build command> 5定期更新第三方依赖 你编写的软件是基于第三方的依赖,也就是由其他人制作的软件。这包括了: 你的镜像下面的基础 Docker 镜像,或 你作为自己应用程序的一部分使用的第三方软件组件,例如通过 pip/npm/gradle/apt/……安装的组件。 如果你的镜像中的这些依赖过时了,就会增加攻击面,因为过时的依赖往往有可利用的安全漏洞。 你可以定期使用 SCA(软件组件分析)工具来解决这个问题,比如 Renovate Bot。这些工具(半)自动将你声明的第三方依赖更新为最新版本,例如在你的 Dockerfile、Python 的 requirements.txt、NPM 的 packages.json 等文件中声明的列表。你需要设计你的 CI 管道,使 SCA 工具所做的更改自动触发你的镜像的 re-build。 这种自动触发的镜像重建对于处在只维护模式,但代码仍将被客户在生产环境中使用(客户希望它是安全的)的项目特别有用。在维护期间,你不再开发新的特性,也不会构建新的镜像,因为没有新的提交(由你做出)来触发新的构建。然而,由 SCA 工具做出的提交确实会再次触发镜像构建。 6对你的镜像进行漏洞扫描 即使你执行了上述建议,比如说你的镜像总是使用最新的第三方依赖,它仍然可能是不安全的(例如一个依赖已经被弃用的情况)。在这种情况下,“不安全“意味着一个(或多个)依赖有已知的安全漏洞(在一些 CVE 数据库中注册)。 出于这个原因,你可以给你的 Docker 镜像提供某种工具来扫描所有包含的文件,以找到这种漏洞。这些工具有两种形式: 你显式调用的 CLI 工具(例如在 CI 管道中),比如说 Trivy(OSS,在 CI 管道中非常容易使用,见 Trivy 文档)、Clair(OSS,但设置和使用比 Trivy 更复杂),或 Snyk(通过“docker scan“集成到 Docker CLI 中,见 cheat sheet,但只有有限的免费计划!) 集成到你推送镜像的镜像注册中心的扫描器,如 Harbor(内部使用 Clair 或 Trivy)。还有一些商业产品,如 Anchore。 因为这些扫描器是通用的,它们还试图覆盖一大堆包注册表,所以可能不会特别为你在自己项目中使用的编程语言或包注册表定制。有时,你应该调查你的编程语言生态系统提供了哪些工具。例如,对于 Python 来说就有一个专门针对 Python 包的安全工具。 7扫描你的 Dockerfile 是否违反了最佳实践 有时,问题来自于你在 Dockerfile 中放置的语句,这些语句是不好的实践(但你没有意识到)。为此可以使用诸如 checkov、Conftest、trivy 或 hadolint 等工具,它们是 Dockerfile 的 linter。为了选择正确的工具,你需要查看它的默认规则 / 政策。例如,hadolint 比 checkov 或 conftest 提供的规则更多,因为它是专门针对 Dockerfiles 的。这些工具也是相互补充的,因此在你的 Dockerfiles 上运行多个工具(如 hadolint 和 trivy)确实是有意义的。不过要做好准备,因为你需要维护“忽略文件“,在这个文件中的规则会被忽略——可能是由于误报而有意忽略它们,或者是你准备故意破坏规则。 8不要对 Docker Hub 使用 Docker 内容信任 为了验证你使用的基础镜像确实是由该镜像背后的公司构建和推送的,你可以使用 Docker 内容信任(见官方文档)特性。只需在运行 docker build 或 docker pull 时将 DOCKER_CONTENT_TRUST 环境变量设为“1“即可启用该特性。Docker 守护进程将拒绝提取没有经过发布者签名的镜像。 不幸的是,大约一年前开始社区就不再以这种方式签名镜像了。就连 Docker Inc. 也在 2020 年 12 月停止了签名官方 Docker 镜像,也没有官方解释。问题更大的是如果你使用“docker pull docker:latest”这样的命令,只会下载一个过时很久的镜像。 你可以查看一下镜像签名的其他实现,比如说 cosign(不过我还没试过)。 9扫描你自己的代码是否有安全问题 安全问题通常来源于其他人的代码,也就是流行的第三方依赖。因为它们应用广泛,所以在黑客那里是“有利可图“的。然而,有时是你自己的代码在作怪。例如,你可能不小心实现了 SQL 注入的可能性、堆栈溢出的错误,等等。 为了找到这些问题,你可以使用所谓的 SAST(静态应用安全测试)工具。一方面,有一些特定于编程语言的工具(你必须单独研究),如 Python 的 bandit,或 Java 的 Checkstyle/Spotbugs。另一方面,还有一些支持多种编程语言和框架的工具套件(其中一些是非免费 / 商业的),如 SonarQube(对于它还有 SonarLint IDE 插件)。 在实践中,安全扫描有两种基本方法: 连续(自动)扫描:你创建一个 CI 作业,在每次推送时扫描你的代码。这可以让你的代码安全性保持在一个较高的水平上,但你必须弄清楚如何忽略误报(这是一项持续的维护工作)。如果你使用 GitLab,可能还会发现 GitLab 的免费 SAST 功能很有趣。 不定期(手动)扫描:团队中一些有安全意识的成员在本地运行安全检查,例如每月一次或每次发布前,并手动查看结果。 10使用 docker-slim 来删除不必要的文件 docker-slim 工具可以获取大型 Docker 镜像,临时运行它们,分析哪些文件在临时容器中是被真正使用的,然后生成一个新的、单层的 Docker 镜像——其中所有未使用的文件都会被删除。这样做有两个好处: 镜像被缩小 镜像变得更加安全,因为不需要的工具被删除了(例如 curl 或包管理器)。 请参考我之前文章中的 Docker slim 部分以了解更多细节。 11使用最小的基础镜像 一个镜像中存储的软件(如 CLI 工具等)越多,攻击面就越大。使用“最小“的镜像是一个很好的实践,它越小越好(无论如何这是一个很好的优势),并且应该包含尽可能少的工具。最小的镜像甚至超越了“优化体积“的镜像(如 alpine 或:-slim,如 python:3.8-slim):前者没有任何包管理器。这使攻击者很难加载额外的工具。 最安全的最小基础镜像是 SCRATCH,它完全不包含任何东西。只有当你在镜像中放置自包含的二进制文件时,才能用 FROM SCRATCH 启动你的 Dockerfile——这些二进制文件烘焙进了所有的依赖(包括 C-runtimes)。 如果 SCRATCH 不适合你,谷歌的无发行版(distroless)镜像可以是一个很好的选择,特别是当你正在为常见的编程语言(如 Python 或 Node.js)构建应用程序,或者需要一个最小的 Debian 基础镜像时。 不幸的是,最小镜像有几个需要注意的地方: 无发行版的注意事项: 不建议使用谷歌在 gcr.io 上发布的针对特定编程语言的镜像,因为那里只有一个 latest 版本标签,以及 major 版本的标签(例如 python 的“3“,或 Node 的“12“)。你无法控制具体的语言运行时版本(例如是否使用 Python 3.8.3 或 3.8.4 等),这破坏了你的镜像构建的可重用性。 定制(和构建你自己的)无发行版镜像是相当复杂的:你需要熟悉 Bazel 的构建系统并自己构建镜像。 注意:如果你唯一需要的定制是“以非 root 用户身份运行代码”,那么每个无发行版基础镜像中都有一个默认的非 root 用户,详见这里。 最小基础镜像的常规注意事项: 使用最小基础镜像调试容器是很棘手的,因为有用的工具(比如 /bin/sh)现在不见了。 对于 Docker,你可以运行第二个调试容器(它确实有一个 shell 和调试工具,例如 alpine:latest),并使其共享你的最小容器的 PID 命名空间,例如通过 docker run -it --rm --pid=container: --cap-add SYS_PTRACE alpine sh 对于 Kubernetes,你可以使用短期容器,见这里的例子 12使用受信任的基础镜像 一个受信任的镜像指的是经过某人(要么是你自己的组织,要么是其他人)按照比如说某种安全级别审核的镜像。这对具有高安全要求和规定的受管制行业(银行、航空航天等)来说可能特别重要。 虽然你自己可以通过从头开始建立可信的镜像来完成审计工作,但这是不可取的。因为你(这个镜像的构建者)必须确保所有与审计有关的任务都已完成,并有正确的记录(例如记录镜像中的包列表、执行的 CVE 检查及其结果等等)。这项任务非常繁重。相反,我们建议将这项工作外包出去,使用商业性的“可信注册表“——它提供了一套选定的可信镜像,如 RedHat 的通用基础镜像(UBI)。RedHat 的 UBI 现在也可以在 Docker Hub 上免费获取。 背景知识 在 Docker Hub 上托管的镜像没有经过审计。它们是“按原样“提供的。它们可能是不安全的(甚至包含恶意软件),而且没有人会通知你这一点。因此,使用 Docker Hub 中不安全的基础镜像也会让你的镜像变得不安全。 另外,你不应该把审计和上面提到的 Docker 的内容信任混为一谈!内容信任只确认来源(镜像上传者)的身份,并不会确认与镜像安全性有关的任何事实。 13测试你的镜像是否能在降低能力的情况下工作 Linux capabilities 是 Linux 内核的一个特性,它允许你控制一个应用程序可以使用哪些内核特性,例如一个进程是否可以发送信号(如 SIGKILL)、配置网络接口、挂载磁盘,或调试进程等。完整的列表见这里。一般来说,你的应用程序需要的功能越少越好。 启动你的镜像容器的所有人都可以给予(或拿走)这些能力,例如通过调用“docker run --cap-drop=ALL “。默认情况下 Docker 会放弃所有能力,除了这里定义的那些以外。你的应用程序可能不需要所有这些功能。 作为一个最佳实践,你可以尝试启动你的镜像容器,放弃所有能力(使用 --cap-drop=ALL),看看它是否仍然正常工作。如果不能,请搞清楚哪些功能是缺失的,并且你是否真的需要它们。然后请记录你的镜像需要哪些功能(以及为什么),这会给运行你镜像的用户带去更多信心。 14总结 提升你的镜像安全性并非闲庭信步。你需要花时间来评估和实施每一种实践。本文中的列表应该可以节省你的时间,因为收集和排序重要步骤的工作已经为你做好了。 所幸,提升你的应用程序的安全性是一个迭代过程。你可以从小处着手,每次实施一个步骤。不过你确实需要得到管理层的支持。这有时是很难办的,特别是有时你的经理会对建议有抵触情绪,他们可能倾向于从过去的经验来做推断(“我们,或我们的客户,以前从未被黑过,那么为什么这种问题现在会发生在我们身上?我们需要的是特性!“)。你有几个选择:可以说服你的经理为安全性分配资源。例如,如果你有一个直接接触客户的渠道(你在为其构建软件),那么可以说服他们,让他们要求把安全性作为一个“特性“。或者在你的行业中寻找安全漏洞的报告(例如一个直接的竞争对手受到了影响),以证明黑客攻击确实发生了,甚至你的行业也出了问题,而且它们有严重的(财务)影响。 ...

    2022-07-15 367
  • 干货|红蓝对抗溯源的基本思路

    1. 概述 溯源整个流程我认为有三个部分。攻击源捕获。溯源信息输出攻击者画像攻击源的捕获是为了获得攻击者的ip、黑客id、手机号、邮箱等信息。溯源信息是为了定位黑客到具体的人。输出攻击者画像是为了给这个人一个格式化的档案方便下次查找与信息存储。 2. 攻击源捕获 攻击源捕获主要分为以下几个方法:安全设备报警,如EDR告警等。日志分析,获取攻击者指纹信息与攻击方式。服务器资源异常,如服务器上多了webshell文件或者计划任务。蜜罐告警,获取攻击者指纹信息。邮件钓鱼,其中一般有木马文件,通过对木马文件逆向分析获取攻击者信息。如果直接得到攻击者ip,那么直接到溯源信息阶段,如果无法得到攻击者ip则选择上机排查。上机排查的时候如果是linux电脑,则查看history信息还有文件修改信息,这就涉及到了linux应急响应的知识。如果是windows电脑,就查看登录日志4625,通过logontype的类型来分辨攻击者如何登陆的机器并回推攻击方法。logontype对照表如下: local WINDOWS_RDP_INTERACTIVE = “2”local WINDOWS_RDP_UNLOCK = “7”local WINDOWS_RDP_REMOTEINTERACTIVE = “10”local WINDOWS_SMB_NETWORK = “3” 得到攻击者基础信息的方式:看恶意邮件的邮件头获取恶意域名逆向分析恶意木马获取恶意ip或者域名查看机器回连ip获取恶意ip地址查看日志获取恶意ip查看蜜罐或其他安全设备告警信息获取恶意ip如果黑客使用近源渗透如直接用手机号打电话,则可直接得到手机号查看webshell的编写方式有可能直接获取黑客id,因为不少黑客喜欢将自己的id设为webshell链接密码 3. 溯源信息阶段 获得攻击者真实ip或者域名之后我们进行溯源信息阶段。 第一步:针对IP或者域名通过公网已有的开放信息进行查询https://x.threatbook.cn/https://ti.qianxin.com/https://ti.360.cn/https://www.reg007.com/ #通过手机号或者邮箱获取用户注册过的网站https://www.venuseye.com.cn/https://community.riskiq.com/ 第二步:定位目标利用精确ip定位进行目标的位置定位。第三步:收集互联网侧的用户ID收集手机号与互联网上的各种ID信息(利用google hacking)。 通过黑客ID进行信息收集: (1) 百度信息收集:“id” (双引号为英文) (2) 谷歌信息收集 (3) src信息收集(各大src排行榜) (4) 微博搜索(如果发现有微博记录,可使用tg查询weibo泄露数据) (5) 微信ID收集:微信进行ID搜索 (6) 如果获得手机号(可直接搜索支付宝、社交账户等) 注意:获取手机号如果自己查到的信息不多,直接上报工作群(利用共享渠道对其进行二次社工) (7) 豆瓣/贴吧/知乎/脉脉 你能知道的所有社交平台,进行信息收集 (8) CSDN ID,利用CSDN老用户的一个漏洞,爆破ID手机号 第四步:通过蜜罐设备指纹进行识别前提是我方部署了蜜罐并且攻击者踩了蜜罐且获取到攻击者的设备指纹。 基本流程说明: 1、我方发现了攻击者的设备指纹ID 2、某参演单位1也部署了该厂家蜜罐,捕获到某攻击者设备指纹ID和百度ID 3、某参演单位2也部署了该厂家蜜罐,捕获到某攻击者设备指纹ID和新浪ID 4、某参演单位N也部署了该厂家蜜罐,捕获到某攻击者设备指纹ID和优酷ID 5、厂家经过查询比对,将相关社交ID反馈给我方 第五步:进入跳板机进行信息收集如果有能力控制了红队的跳板机,则可进入跳板机进行信息收集,查看命令执行的历史记录与日志等。如果主机桌面没有敏感信息,可针对下列文件进行信息收集:last:查看登录成功日志cat ~/.bash_history :查看操作指令ps -aux #查看进程cat /etc/passwd(查看是否有类似ID的用户重点关注 uid 为500以上的登录用户nologin为不可登录) 4. 输出攻击者画像与攻击路径 攻击者画像模版如下:姓名/ID:攻击IP:地理位置:QQ:IP地址所属公司:是否挂代理:IP地址关联域名:邮箱:手机号:微信/微博/src/id证明:人物照片:跳板机(可选):关联攻击事件:攻击路径模版:攻击目的:拿到权限、窃取数据、获取利益、DDOS等网络代理:代理IP、跳板机、C2服务器等攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等 5. 参考文章 https://www.cnblogs.com/xiaozi/p/13817637.html作者:shanfenglan7博客:blog.csdn.net/qq_41874930 ...

    2022-07-15 360
  • 研究人员分享在暗网上发现匿名勒索软件站点的技术

    网络安全研究人员详细介绍了勒索软件攻击者为掩盖其在线真实身份以及其网络服务器基础设施的托管位置而采取的各种措施。 “大多数勒索软件运营商使用其原籍国(如瑞典、德国和新加坡)以外的托管服务提供商来托管他们的勒索软件运营网站,”思科Talos研究员Paul Eubanks说。“当他们连接到他们的勒索软件网络基础设施以进行远程管理任务时,他们使用VPS作为代理来隐藏他们的真实位置。” 同样突出的是使用TOR网络和DNS代理注册服务,为其非法操作提供额外的匿名层。 但是,通过利用威胁参与者的操作安全失误和其他技术,这家网络安全公司上周披露,它能够识别托管在公共IP地址上的TOR隐藏服务,其中一些是与DarkAngels、Snatch、Quantum和Nokoyawa勒索软件集团有关的先前未知的基础设施。 虽然众所周知,勒索软件集团依靠暗网来掩盖他们的非法活动,从泄露被盗数据到与受害者谈判付款,但Talos透露,它能够识别“公共IP地址托管与暗网相同的威胁参与者基础设施”网。” “我们用来识别公共互联网IP的方法涉及将威胁参与者的[自签名]TLS证书序列号和页面元素与公共互联网上的索引匹配。”Eubanks说。 除了TLS证书匹配之外,用于发现攻击者清晰网络基础设施的第二种方法是使用Shodan等网络爬虫将与暗网网站相关的网站图标与公共互联网进行对比。 以Nokoyawa为例,这是今年早些时候出现的一种新的Windows勒索软件,与Karma具有大量代码相似之处,托管在TOR隐藏服务上的站点被发现存在目录遍历漏洞,使研究人员能够访问用于捕获用户登录的“/var/log/auth.log“文件。 调查结果表明,不仅犯罪分子的泄漏网站可以被互联网上的任何用户访问,其他基础设施组件,包括识别服务器数据,也被暴露出来,从而有效地使获得用于管理勒索软件服务器的登录位置成为可能。 对登录成功的root用户登录信息的进一步分析表明,它们来自两个IP地址5.230.29.12和176.119.0.195,前者属于GHOSTnet GmbH,这是一家提供虚拟专用服务器(VPS)服务的托管服务提供商。 “然而,176.119.0.195属于AS58271,它以Tyatkova Oksana Valerievna的名义列出,”Eubanks指出,“操作员可能忘记使用基于德国的VPS进行混淆,并直接从其176.119.0.195的真实IP登录到与该Web服务器的会话。” 随着新兴Black Basta勒索软件的操作者通过使用QakBot进行初始访问和横向移动,并利用PrintNightmare漏洞(CVE-2021-34527)进行特权文件操作来扩大他们的攻击武器库。 更重要的是,LockBit勒索软件团伙上周宣布发布LockBit 3.0,并打出“让勒索软件再次伟大!”的宣传标语,此外还推出了他们自己的漏洞赏金计划,为发现安全漏洞和改进其软件的“绝妙的想法”提供1000至100万美元的奖励。 Tenable高级研究工程师Satnam Narang在一份声明中表示:“LockBit3.0的发布和漏洞赏金计划的引入是对网络犯罪分子的正式邀请,以帮助协助该组织寻求保持领先地位。” “漏洞赏金计划的一个关键重点是防御措施:防止安全研究人员和执法部门在其泄漏站点或勒索软件中发现漏洞,确定包括会员计划在内的成员可能被人肉攻击的方式,以及发现该组织用于内部通信的消息软件和Tor网络本身的漏洞。” “被人肉或被识别的威胁表明,执法工作显然是LockBit等组织非常关注的问题。最后,该组织正计划提供Zcash作为付款方式,这很重要,因为Zcash比比特币更难追踪,使研究人员更难监视该组织的活动。” ...

    2022-07-08 453
  • 家里wifi网速慢怎么办,教你几招让你家的网速飞起来

    不知道大家有没有这样的感觉:家里的网用久了之后网速就容易变慢, 甚至有时候连上了网也打不开网页... 如果你家比较大, 那么有些地方WiFi信号可能也比较差,尤其是对住别墅的小伙伴来说, WiFi信号是个让人头疼的问题。 常见操作:启路由器 网速变慢,大多数人想到的第一件事应该就是调整路由器吧? 而最简单的操作就是定期给路由器断电。 估计很多人家里的路由器都是很久都没有重启过了吧? 一些人认为,路由器的功率很小,散热也不大,没必要断电。 事实上,路由器长期不间断运行,会导致设备过热,加速设备内部电子元件老化, 从而增加了出现故障的几率。 简言之,路由器也需要“休息”,给它适当“放松”一下, 有助于提升其工作效率。 另外,在长时间待机的过程中,路由器会积聚大量缓存内容, 采取定期关闭重启路由器的方式,可以让它启动自我清理。 轻装上阵,速度更稳定。 关于路由器重启的频率,如果你家安装了需要随时联网的监控设备,可以在回家之后关闭路由器, 十分钟左右再重新打开。 如果没有需要随时监控的东西,可以每天出门之后关闭路由器,还能防止蹭网。 要速度快,还得实现全屋网络覆盖 肯定很多人都发现了,家里放路由器的房间网速很快, 但是其他地方网络信号并不是很好,即使从老路由器换成了千兆路由器,依然没用。 到底是哪里出了问题呢? ① 调整路由器的位置以及天线的方向 WiFi路由器的原理是向四周发送信号, 摆放在窗边或墙角处信号容易被阻挡。如果是复式楼,则可以放在楼梯口位置。 另外,将路由器的天线呈直角摆放,多方位发射信号。 ② 利用多个路由器来实现 单台无线路由器的覆盖范围有限,导致局域网可能存在无线盲点或信号较弱区域。 借助WDS(Wireless Distribution System)桥接功能,可以将无线路由器通过无线方式连接到已有信号, 能够很好地提升家庭无线网络信号覆盖范围,消除盲点,也可以让家中吃灰的老旧路由发挥余热。 另外,如果你在装修时,在多个位置留了网线位置,那就更好办了。 直接在有网线的位置插一个路由器, 通电之后设置好网络名称和密码,使用手机、电脑进行WiFi连接之后就可以使用了。 赶紧把家里吃灰的老路由器翻出来试试, 说不准你蹲到家里角落手机信号也能满格了。 如果你现在需要重新布网或者正在重新布网的话,还可以选择无线Mesh网络形式。 这是一种新无线局域网类型,与传统WLAN不同的,无线Mesh网络中的AP可以采用无线连接的方式进行互连, 并且AP间可以建立多跳的无线链路。 由包括一组呈网状分布的无线AP构成,AP均采用点对点方式通过无线中继链路互联, 将传统WLAN中的无线“热点”扩展为真正大面积覆盖的无线“热区”。 如果选择这样的组网方式,你需要准备一个中高端的WiFi 6路由器,在入户宽带速度足够快的情况下, 你就能享受全屋覆盖高速上网了。 不是复杂密码就能防止蹭网 你还以为设置一个复杂的WiFi密码就能防止蹭网? 天真了。这样很可能难倒的是你自己。 好记性不如烂笔头,如果你现在将家里的无线密码改得很复杂, 一定要写在便签纸上放路由器背后,要不然你可能都会忘。 实际上,如果你定期搜索家里路由器的固件, 进行固件更新的话,没准比你设置复杂密码更管用。 定期进行固件更新,不仅可以在一定程度上保证数据的安全性, 还能扩大WiFi信号的范围。 升级WiFi6高速路由器 当然,如果你家里的入户光纤速度达到千兆, 也可以通过更换路由器的办法来实现高速上网,可以直接购买WiFi6路由器。 WiFi 6的速度比上一代802.11ac提高了接近四成,最高连接速率甚至可以达到9.6Gbps, 从根本上进行了提速。 此外WiFi 6采用新一代加密安全协议WPA3,这种新协议能阻止强力攻击、 暴力破解等,在使用时安全更有保障。 WiFi 6引入了TARget Wake Time目标唤醒技术,降低功耗。 但是,当下WiFi 6路由器售价从200元的入门级到两千元上下的旗舰级,极大的价格跨度让不少消费者感到迷茫, 除了本身品牌厂商根据不同市场定位进行硬件配置和功能设计差异化组合外。 还可能有“阉割版”、“残血版”, 所以在选购时,建议在多个产品之间进行比较匹配,或者找懂得组网的朋友进行详细的咨询再下手。 虽说都是老生常谈,却没有几个人经常做这些简单的操作,有空的话可以试试上述的操作,说不定会有意想不到的惊喜。 ...

    2022-07-07 487

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:8:00-23:00,节假日休息

扫码关注