大家好,欢迎来到IT知识分享网。
一、SSH后门
SSH普通用户的命令权限是是no login,No login就是不让你登录,不可登录并且拒绝用户登录。那大家排查的时候就可以忽略这些就是no login的和bin filled。这里还有一个叫bash,这也是刚才我添加的账户,这与之前的root用户一样,这也是一个 shell的解释器,那看一下篡改。SSH登录有两种方式,第一种是账户和密码,第二种就是密钥。方便他们远程管理,并且有一些自动执行的任务计划,大部分都是通过Mile来实现免密的,就是说这就免密码,通过key的方式,公钥和私钥。
那你看我这文件里有一个公钥,比如现在攻击者又插入了一个公钥,插入了他自己的,我这里只是为了方便复制一个,那插入之后是不是他就也免密登录这台服务器了。所以大家在排查的时候要重点关注这个文件,它在每一个用户底下都有一个隐藏文件,叫/root/.ssh/。这个隐藏文件里就会有你的一些信息看,这是登录的信息,所有登录过你机器的信息,就说在你密钥交换的时候,这个它的公钥里边会有host,再看一下全部。
我这里没有建立这个文件,因为我没有通过它来登录我用的账户和密码,那看一下这台服务器,这里就有这个文件,只要把这个文件放到点.SSH文件目录下。如果 ssh不特殊配置,默认的配置它就支持密钥管理的。所以说你只要early在这里创建了这个文件,把你的公钥写进去,那你就可以通过自己的私钥去登录它,登录这台服务器,这样的话你也看不到它更改你的密码,你也看不到新用户的创建,只是在这文件里多了一条数据而已。
第三种重装覆盖,那重装覆盖是怎么咱们把SSH重装一遍,装入咱们带后门的session,那这个时候是不是用户无感,并且咱们可以在SSH的源码里做一些文章,比如植入一个账户,就不会放到系统里,直接放到这个软件里,因为咱们控制Linux远程的就是通过SSh opens这个软件,看一下时间,那这里可以看到一个2021年和一个2015年的其实这个2015年是我修改的,那说明这个方法不可靠,我可以修改它的时间。
那第二种,第二种是看版本,如果攻击者精心构造一下自己软件的版本,把它写成这个样子,其实你也是分辨不出来的。但就看攻击者的水平了。因为一旦你没有在系统上建立关键文件或者做安全防护,比如安装一些主机安全软件,那就有可能造成就是说我 SSH被篡改了,清理的只要干净,你是分辨不出来的。
二、SUID后门
SUID是什么
SUID 是 Set User ID,Unix内核根据运行这个程序的用户的有效ID来确定进程对资源的访问权限,包括user id 和group id,用户可以输入id这个命令来查看。
SUID的作用就是这样:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。
内核在决定进程是否有文件存取权限时,是采用了进程的有效用户ID来进行判断的。
当一个程序设置了为SUID位时,内核就知道了运行这个程序的时候,应该认为是文件的所有者在运行这个程序。即该程序运行的时候,有效用户ID是该程序的所有者。
简单的来说,就是当你在一个只能root权限操作的文件上设置了suid位后,其他用户也能进行操作了。
SUID后门
首先在受害者机器上使用root权限操作,复制bash,并给这个复制品woot设置一个suid位(标志位是4),. 的目的是为了隐藏文件
cp /bin/bash /.woot chmod 4755 /.woot ls -al /.woot
然后普通用户来启用这个后门
/.woot -p
三、Crontab计划任务
crontab是用来定期执行程序的命令,crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意: 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行
比如我们通过redis写crontab后,管理员上线 执行crontab -l 就会查看到我们留下的可疑命令。那么我们可以躲避管理员的查看。
四、PAM后门
PAM(Pluggable Authentication Modules,可插入的身份验证模块)是Linux自带的一套与身份验证机制相关的库,可以将多种身份验证的方案几种于同一的程序接口,简单来说,在Linux中的其他应用程序可以通过调用PAM接口来完成身份验证工作,无需开发者重新构造认证模块
PAM允许各类的配置,主要有两种:
1、直接写入/etc.pam.conf,但是在新版本中这个文件默认是不存在的
2、将PAM配置文件放到/etc/pam.d根目录下PAM配置文件默认如下,这里使用SSH的PAM文件做演示
[root@Practice_Server /etc/pam.d]# cat sshd #%PAM-1.0 auth required pam_sepermit.so auth substack password-auth auth include postlogin # Used with polkit to reauthorize users in remote sessions -auth optional pam_reauthorize.so prepare account required pam_nologin.so account include password-auth password include password-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session required pam_namespace.so session optional pam_keyinit.so force revoke session include password-auth session include postlogin # Used with polkit to reauthorize users in remote sessions -session optional pam_reauthorize.so prepare
大概有四种服务类型:auth、account、session、password,
使用PAM创建SSH后门密码
如当前系统为centos,利用PAM之前需要关闭系统的selinux功能,此时可以使用以下命令临时关闭
setenforce 0
五、添加管理员账号
在Linux中添加管理员账号后门通常意味着创建一个具有管理员权限的用户账户,这样攻击者可以使用这个账户进入系统。这样的操作是不推荐的,因为它会增加系统被攻击者访问的风险。
如果你需要临时创建一个具有管理员权限的后门账号,请确保你有合适的权限来执行这个操作,并且在完成后及时删除或禁用该账号。
六、Rootkit
Rootkit 是一种恶意软件,旨在让黑客访问和控制目标设备。虽然大多数 Rootkit 会影响软件和操作系统,但有些还会感染计算机的硬件和固件。Rootkit 善于隐藏自己,但当它们保持隐藏时,其实处于活跃状态。
一旦未经授权获得对计算机的访问权限,Rootkit 就使网络犯罪分子可以窃取个人数据和财务信息,安装恶意软件或将计算机用作僵尸网络的一部分,以散布垃圾邮件和参与DDoS( 分布式拒绝服务)攻击。
名称”Rootkit”源自 Unix 和 Linux 操作系统,其中权限最高的帐户管理员被称为”root”。允许未经授权的 root 或管理员级别访问设备的应用程序被称为”工具包”。
什么是 Rootkit?
Rootkit 是网络犯罪分子用来控制目标计算机或网络的软件。Rootkit 有时可以显示为单个软件,但通常由一系列工具组成,这些工具允许黑客对目标设备进行管理员级控制。
黑客通过多种方式在目标计算机上安装 Rootkit:
- 最常见的是通过网络钓鱼或其他类型的社会工程攻击。受害者在不知不觉中下载并安装隐藏在计算机上运行的其他进程中的恶意软件,并让黑客控制操作系统的几乎所有方面。
- 另一种方法是利用漏洞(即软件或未更新的操作系统中的弱点)并将 Rootkit 强制安装到计算机上。
- 恶意软件还可以与其它文件捆绑在一起,例如受感染的 PDF、盗版媒体或从可疑的第三方商店获得的应用。
Rootkit 在操作系统的内核附近或内核内运行,这使它们能够向计算机发起命令。任何使用操作系统的东西都是 Rootkit 的潜在目标 —— 随着物联网的扩展,它可能包括冰箱或恒温器等物品。
Rootkit 可以隐藏键盘记录器,在未经您同意的情况下捕获您的击键。这使得网络犯罪分子很容易窃取您的个人信息,例如信用卡或网上银行详细信息。Rootkit 可让黑客使用您的计算机发起 DDoS 攻击或发送垃圾邮件。它们甚至可以禁用或删除安全软件。
一些 Rootkit 用于合法目的 —— 例如,提供远程 IT 支持或协助执法。大多数情况下,它们用于恶意目的。Rootkit 如此危险的原因是它们可以提供各种形式的恶意软件,它们可以操纵计算机的操作系统并为远程用户提供管理员访问权限。
Rootkit 的类型
1. 硬件或固件 Rootkit
硬件或固件 Rootkit 可以影响您的硬盘驱动器、路由器或系统的 BIOS,这是安装在计算机主板上的小内存芯片上的软件。它们不是针对您的操作系统,而是针对您的设备的固件安装难以检测的恶意软件。因为它们会影响硬件,所以可让黑客记录您的击键以及监控在线活动。虽然与其它类型相比不太常见,但硬件或固件 Rootkit 是对在线安全的严重威胁。
2. Bootloader rootkit
Bootloader 机制负责在计算机上加载操作系统。Bootloader Rootkit 可攻击此系统,用被激活成功教程的 Bootloader 替换您计算机的合法 Bootloader。这甚至可以在计算机的操作系统完全加载之前激活 Rootkit。
3. 内存 Rootkit
内存 Rootkit 隐藏在计算机的随机存取内存 (RAM) 中,使用计算机的资源在后台执行恶意活动。内存 Rootkit 会影响计算机的 RAM 性能。因为它们只存在于计算机的 RAM 中,不会注入永久代码,所以一旦重新启动系统,内存 Rootkit 就会消失 —— 尽管有时需要进一步的工作才能摆脱它们。它们的寿命短意味着它们往往不会被视为重大威胁。
4. 应用程序 Rootkit
应用程序 Rootkit 将计算机中的标准文件替换为 Rootkit 文件,甚至可能改变标准应用程序的工作方式。这些 Rootkit 会感染 Microsoft Office、Notepad 或 Paint 等程序。每次运行这些程序时,攻击者都可以访问您的计算机。由于受感染的程序仍然正常运行,Rootkit 检测对于用户来说很困难 —— 但防病毒程序可以检测到它们,因为它们都在应用程序层上运行。
5. 内核模式 Rootkit
内核模式 Rootkit 是这种威胁最严重的类型之一,因为它们针对操作系统的核心(即内核级别)。黑客使用它们不仅可以访问计算机上的文件,还可以通过添加自己的代码来更改操作系统的功能。
6. 虚拟 Rootkit
虚拟 Rootkit 会在计算机的操作系统下自行加载。然后,它将目标操作系统托管为虚拟机,从而允许它拦截原始操作系统进行的硬件调用。这种类型的 Rootkit 不必修改内核来修复操作系统,可能非常难检测。
一、注册表自启动
手动修改注册表
首先在命令行中输入:
regedit
打开注册表后,定位到如下位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
以桌面上的1.exe文件为例,在run右侧新建一个字符串值,名字任取,我这里设置为aaa。首先查看1.exe文件的路径:
C:\Users\ASUS\Desktop\1.exe
然后双击aaa并修改它的值为:
"C:\Users\ASUS\Desktop\1.exe" /start
二、shift后门
Windows的粘滞键——C:\windows\system32\sethc.exe,它本是为不方便按组合键的人设计的
Windows系统按5下shift后,Windows就执行了system32下的sethc.exe,也就是启用了粘滞键
在进程里可以看到是以当前用户的权限运行
但是当我们未登陆系统(停留在登陆界面)的时候 系统还不知道我们将以哪个用户登陆,所以在这个时候连续按5次shift后的话系统将会以system用户(具有管理员级别的权限)来运行sethc.exe这个程序
后门原理
我们可以把cmd.exe这个程序更改名称为sethc.exe并且把原来的sethc.exe替换掉
在登陆界面的时候我们连续按下5次shift键系统以system权限就会运行我们的CMD.exe
那么我们的cmd.exe就具有了管理员权限了 如此一来 我们只要利用CMD加一个管理员用户就可以登陆进去,实现隐藏后门
后门制作
其制作有很多种,下面介绍一种最简单的,可以明白其原理自己扩展
在命令行执行(需要一定的权限)
copy C:\WINDOWS\system32\cmd.exe C:\windows\system32\sethc.exe //如果没指定生成的文件,会直接覆盖copy的第二个参数,相当于将第二个参数换成了第一个参数,但是文件外部名称没变
三、远控软件
远程访问可以帮助您通过互联网将一台计算机远程连接到另外一台计算机,从而实现远程控制需求。例如:远程办公、远程协助朋友解决计算机问题、远程为客户提供专业技术支持等。
后门程序是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。一般在软件开发时,程序员会在软件中创建后门程序,这样就可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。通俗的讲,后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。
五个免费远程控制软件
- 谷歌远程桌面
- Windows远程桌面
- Windows远程协助
- Windows快速助手
- 傲梅远程桌面软件
四、webshell
简单来讲,就是黑客在网站服务器上安装的木马后门,可以理解成老鼠洞,一个正常的网站服务器就相当于一个装满数据的保险柜,只有拿着正确的钥匙的人才能进去浏览数据,但webshell会通过sql注入,xss攻击等方式在保险柜上开一个“老鼠洞”,即木马后门,黑客可以通过这个洞,不用钥匙也能进去浏览数据,篡改数据。
但这个洞并不是在墙上硬生生开出来的,可以理解为保险柜本身就有很多洞,只不过最常用的那个经过装饰,变成了带锁的大门,其余的洞被螺丝给堵上了,但由于各种原因,螺丝松动脱落了,黑客发现了这个漏洞,在经过一些手段,将这个洞扩大,装饰,变成可供自己进出的“侧门”。
webshell最大的特点就是隐蔽性好,由于被控制服务器或远程主机与黑客交换数据的端口都是80端口,不会被防火墙拦截,且不会在系统日志中留下使用痕迹,只会遗留一些数据交换信息在网站的web日志中,这大大提高了webshell的隐蔽性,没有足够经验的管理员很难发现有入侵过得痕迹。
五、添加管理用户
在Windows中,您可以使用命令行工具net user来添加管理员用户。以下是一个示例命令,用于添加一个名为NewAdminUser的新管理员用户:
请将NewAdminUser替换为您想要设置的用户名,将Password123替换为您想要设置的密码。
第一行命令添加一个新用户NewAdminUser,密码是Password123。
第二行命令将新添加的用户NewAdminUser提升为管理员权限组的成员。
请注意,运行这些命令可能需要管理员权限。您可能需要以管理员身份启动命令提示符(CMD)或PowerShell。您可以通过在开始菜单搜索cmd,右键点击命令提示符,然后选择以管理员身份运行来启动管理员权限的命令提示符。
net user NewAdminUser Password123 /add net localgroup administrators NewAdminUser /add
六、影子用户
- 操作系统中的影子账户:这是一种特殊的账户,它拥有管理员权限,但除了注册表外,其他地方都无法查到。影子账户的建立过程包括创建新用户账户,使其在一定程度上隐藏,无法被常规命令行工具如net user查看到。然后通过修改注册表中的安全账户管理器数据库(SAM)和本地安全权限,赋予该匿名用户管理员权限。这样,即使删除了匿名用户,其管理员权限仍然存在,除非从注册表中导出并删除相应的注册表项。这种账户通常由系统管理员或黑客用于恶意目的。
- 网络应用中的影子用户:在网络应用中,影子用户指的是将网卡的MAC地址和IP地址修改成与另一个用户相同,然后接在同一个交换机的认证口下的终端用户。这种做法可能用于网络故障排查或网络安全性测试。
- 此外,还有一种解释是“影子用户”指为系统管理员开放的一个模拟系统中其他用户登录后状态的入口,通常用于排查和用户相关的特定问题。而“影子用户”在内部账户和外部账户的形式中,主要起备查及处理不方便放在外部账户的费用功能
七、定时任务
在Windows系统中,可以使用任务计划程序来设置定时任务,其操作步骤如下:
- 打开任务计划程序。可以通过按下“Win + R”键,输入“taskschd.msc”并按“Enter”键,或者搜索“任务计划程序”来打开。
- 创建基本任务。在任务计划程序窗口中,点击“创建基本任务”,然后输入任务的名称和描述。
- 设置触发器。根据需要设置触发器的类型,如每天、每周、每月等,并设置触发器的时间。
- 选择操作。可以选择“启动程序”或其他操作,如关机。
- 配置启动脚本或程序。如果是启动程序,需要输入要运行的脚本或程序的路径。
- 添加参数(如果需要)。例如,使用“shutdown”命令时,可以添加“/s”表示关机,“/t”设置关机倒计时,“/f”强制关闭正在运行的应用程序。
- 完成设置。完成设置后,可以在任务计划程序中看到创建的定时任务。
此外,还可以使用命令行工具“schtasks”来查看和管理计划任务,或者使用第三方工具,如Sysinternals Suite中的“Autoruns”来查看自动启动程序和计划任务。如果需要定时执行特定的脚本或程序,也可以编写批处理(.bat)文件,并通过任务计划程序来调度这些文件的运行。
八、dll劫持
dll为动态链接库文件,又称”应用程序拓展”,是软件文件类型。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。
静态编译:debug状态下:MTd release状态下:MT
动态编译:debug状态下:MDd release状态下:MD
动态编译的生成的可执行文件的exe小,但是运行需要系统环境具有相关的dll和lib文件,就是动态调用系统相关的文件才能运行;
静态编译生成的可执行文件exe大,但是运行的时候不依赖于系统环境所依赖的dll和lib等环境问题,在编译的时候已经这些dll相关文件编译进了exe文件,所以exe文件较大。所以需要自己创建的工程需要在别的电脑上运行,考虑到稳定性,同时对执行文件的大小没有要求的话还是尽量选择静态编译。
dll劫持漏洞原理
如果在一个进程加载dll时没有指定dll的绝对路径,那么windows会尝试去按照顺序搜索这些特定目录来查找这个dll。如果攻击者将恶意的dll放在优先于正常dll所在目录,那么就能够欺骗系统去加载恶意的dll,形成dll劫持。
九、注册表劫持
现在病毒都会采用IFO的技术,通俗的讲法是映像劫持,利用的是注册表中的如下键值:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options位置来改变程序调用的,而病毒却利用此处将正常的杀毒软件给偷换成病毒程序。事物都有其两面性,其实,我们也可以利用该键值来欺瞒病毒木马,让它实效。可谓,将计就计,还治其人。
十、MBR后门
MBR(Main Boot Record)是位于计算机硬盘最前边的一段引导(Loader)代码。它记录了硬盘的分区情况,并载明了操作系统是装在哪一个分区中。
简单点来说,在信安领域,如果企业的一台服务器硬盘的MBR被破坏,将会导致该服务器硬盘无法启动,所有分区也无法进行读、写操作,给企业带来的后果也是灾难性的。我们在工作的过程中应如何避免此类安全问题的发生呢?作为信安技术人员应具备良好的安全意识,对关键数据、重要数据必须要做好备份,而此处的MBR就是服务器的重要数据。
备份MBR扇区数据
十一、WMI后门
WMI后门只能由具有管理员权限的用户运行。WMI后门通常使用powershell编写的,可以直接从新的WMI属性中读取和执行后门代码,给代码加密。通过这种方式攻击者会在系统中安装一个持久性的后门,且不会在磁盘中留下任何文件。
WMI型后门主要有两个特征:无文件和无进程。其基本原理是:将代码加密存储在WMI中,达到所谓的无文件;当设定的条件满足时,系统将自动启动powershell进程去执行后门程序,当后门程序执行后进程就会消失。
检查WMI后门,CommandLineTemplate的内容就是程序要执行的命令。
Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater'”
清除WMI后门的常用方法有:
1.删除自动运行列表中的恶意WMI条目。
2.在powershell中使用Get-WMIObject命令删除与WMI持久化相关的组件。
WMI后门检测
# Reviewing WMI Subscriptions using Get-WMIObject
# Event Filter
Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter “Name=’Updater'”
# Event Consumer
Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater'”
# Binding
Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding -Filter “__Path LIKE ‘%Updater%'”
使用Remove-WMIObject命令来删除WMI持久性后门的所有组件。
# Removing WMI Subscriptions using Remove-WMIObject
# Event Filter
Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter “Name=’Updater'” | Remove-WmiObject -Verbose
# Event Consumer
Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter “Name=’Updater'” | Remove-WmiObject -Verbose
# Binding
Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding -Filter “__Path LIKE ‘%Updater%'” | Remove-WmiObject -Verbose
十二、管理员密码记录
查看电脑administrator的密码
注册表编辑器左方控制台中依次单击展开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current Version/Winlogon”。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/160667.html