内网渗透之——权限维持
介绍
当攻击者获取服务器权限后,通常会采用一些后门技术来维持自己当前得到的权限,服务器一旦被植入后门,那么攻击者下次进入就方便多了
目的
由于攻击可能被发现,被发现后可能会被将之前拿到的的webshell清除,导致目标丢失,所以需要留下后门来维持权限,达到持续控制的目的
获取系统登陆账号密码
windows获取系统登陆账号密码
windows系统账号密码存储位置:
C:\Windows\System32\config\SAM
windows密码验证原理:
在Windows系统中,对用户账户的安全管理采用了SAM(Security Account Manager,安全账号管理)机制,用户账户以及密码经过Hash加密之后,都保存在SAM数据库中。
SAM数据库保存在C:\WINDOWS\system32\config\SAM文件中,当用户登录系统时,首先就要与SAM文件中存放的账户信息进行对比,验证通过方可登录。系统对SAM文件提供了保护机制,无法将其复制或是删除,也无法直接读取其中的内容。
SAM文件加密方式:
1.LM加密:Windows2003之前,包括win2003系统
2.NTLM加密:Windows 2003之后的系统
LM和NTLM都是基于Hash加密,但是它们的安全机制和安全强度存在差别,LM口令散列的安全性相对比较差。尽管现在已很少有人使用Windows2k之前的老版本系统,但为了保持向后兼容性,默认情况下,系统仍会将用户密码分别用这两种机制加密后存放在SAM数据库里。
区别:
LM加密,密码最多14位,如果口令不足14位,不足的部分用0补齐,把所有的字符转变为大写,然后分成两组,每组7位,分别加密,然后拼接在一起,就是最终的LM散列,本质是DES加密。
NTLM加密,先将用户口令转变为unicode编码,再进行标准MD4单向哈希加密。
LM加密安全性远低于NTLM加密,因为NTLM加密它允许使用更长的密码,允许有大小写的不同,而且也无须把密码分割成更小、更易于被**的块。所以在一个纯NTLM环境中,应该关闭Lan Manager加密方式
获取SAM文件内容:
获取sam密码方式
1.非免杀版工具:wce.exe,QuarksPwDump.exe,Pwdump7.exe,gethash.exe,mimikatz
2.免杀版:
2.1使用注册表导出hash:
命令
reg save hklm\sam C:\hash\sam.hive
reg save hklm\system C:\hash\system.hive
之后将导出的文件下载下来,使用Pwdump7进行**
2.2导出sam文件
shadow copy (一般用在域控上几万 几十万用户的时候)
2.3其他方式
procdump(或者lsadump)+mimikatz
Powershell+mimikatz
powershell+getpasshash
powershell+其他工具
**密码
1.在线**
http://www.objectif-securite.ch/en/ophcrack.php
http://cmd5.com
https://somd5.com
2.本地**( 暴力**)
LM加密: cain
NTLM加密: ophcrack+彩虹表(彩虹表下载:http://ophcrack.sourceforge.net/tables.php)
注意事项
1.LM只能存储小于等于14个字符的密码hash,如果密码大于14位,windows就自动使用NTLM对其进行加密了,只有对应的NTLM hash可用了,在LM-Password中会以全0显示。
2.一般情况下使用工具导出的hash都有对应的LM和NTLM值,也就是说这个密码位数<=14,这时LM也会有值,除了LM值全为0之外,在老版本中看到LM:aad3b435b51404eeaad3b435b51404ee开头显示的表示密码为空或者位数超过14位
3.在win2K3之前包括win2K3会默认启用LM加密,win2K3之后的系统禁用了LM加密,使用NTLM加密
4.LM方式的加密会存在一个对应的NTLM hash值
实例1:使用非免杀工具QuarksPwDump.exe导出本地哈希值
1.利用ms15-051x64.exe(exp)提权成功后菜刀虚拟终端输入命令:
C:\Windows\Temp\ms15-051x64.exe "C:\Windows\Temp\QuarksPwDump.exe --dump-hash-local"
2.AFFFEBA176210FAD4628F0524BFE1942即为密码,之后拿到cmd5进行**即可
实例2:利用mimikatz抓取账号明文密码
注意:只能抓取已经登陆用户的密码
原理:
从lsass.exe进程中直接获取密码信息进行**,而且该**应该并非穷举方式,而是直接根据算法进行反向计算
lsass.exe是系统进程,用于本地安全认证服务
1.利用菜刀上传mimikatz到目标机C:\Windows\Temp\下
2.利用ms15-051x64.exe(exp)提权成功后菜刀虚拟终端输入命令:
C:\Windows\Temp\ms15-051x64.exe "C:\Windows\Temp\mimikatz.exe privilege::debug sekurlsa::logonpasswords exit"
inux、unix获取系统登陆账号密码
系统账号密码存储位置:
密码:/etc/shadow 账号:/etc/passwd
/etc/shadow
例:root:$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.:14838:0:99999:7:::
当$1为1时,使用md5加密,为5时,采用SHA256进行加密,为6时,采用SHA512进行加
**:
John the ripper
其他方法持续更新中.........................