互联网技术 · 2024年1月28日

网站安全渗透测试的基本知识

天气变冷了,但对于渗透测试行业的热度高于天气的温度,说明全国互联网针对网站安全问题的重视性越来越高,对此我们专业的网站安全公司Sine安全对渗透测试的知识必知点详情的给大家讲解一下,对今后网站或APP的安全性提高有着特别大的作用,只有这样才能使网站和app走的更加长远稳定发展。

5.2. 持久化 – Windows

5.2.1. 隐藏文件

创建系统隐藏文件

attrib +s +a +r +h filename / attrib +s +h filename

利用NTFS ADS (Alternate Data Streams) 创建隐藏文件

利用Windows保留字

aux|prn|con|nul|com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt9

5.2.2. UAC

5.2.2.1. 简介

UAC (User Account Control) 是Windows的一个安全机制,当一些敏感操作发生时,会跳出提示显式要求系统权限。

当用户登陆Windows时,每个用户都会被授予一个access token,这个token中有security identifier (SID) 的信息,决定了用户的权限。

5.2.2.2. 会触发UAC的操作

以管理员权限启动应用

修改系统、UAC设置

修改没有权限的文件或者目录( %SystemRoot% / %ProgramFiles% 等 )

修改ACL (access control list) 安装驱动

增删账户,修改账户类型,激活来宾账户

5.2.3. 权限提升

权限提升有多重方式,有利用二进制漏洞、逻辑漏洞等技巧。利用二进制漏洞获取权限的方式是利用运行在内核态中的漏洞来执行代码。比如内核、驱动中的UAF或者其他类似的漏洞,以获得较高的权限。

逻辑漏洞主要是利用系统的一些逻辑存在问题的机制,比如有些文件夹用户可以写入,但是会以管理员权限启动。

5.2.3.1. 任意写文件利用

在Windows中用户可以写的敏感位置主要有以下这些

用户自身的文件和目录,包括 AppData Temp

C: ,默认情况下用户可以写入

C:ProgramData 的子目录,默认情况下用户可以创建文件夹、写入文件

C:WindowsTemp 的子目录,默认情况下用户可以创建文件夹、写入文件

具体的ACL信息可用AccessChk, 或者PowerShell的 Get-Acl 命令查看。

可以利用对这些文件夹及其子目录的写权限,写入一些可能会被加载的dll,利用dll的加载执行来获取权限。

5.2.3.2. MOF

MOF是Windows系统的一个文件( c:/windows/system32/wbem/mof/nullevt.mof )叫做”托管对象格式”,其作用是每隔五秒就会去监控进程创建和死亡。

当拥有文件上传的权限但是没有Shell时,可以上传定制的mof文件至相应的位置,一定时间后这个mof就会被执行。

一般会采用在mof中加入一段添加管理员用户的命令的vbs脚本,当执行后就拥有了新的管理员账户。

5.2.3.3. sethc

sethc.exe 是 Windows系统在用户按下五次shift后调用的粘滞键处理程序,当有写文件但是没有执行权限时,可以通过替换 sethc.exe 的方式留下后门,在密码输入页面输入五次shift即可获得权限。

5.2.3.4. 凭证窃取

Windows本地密码散列导出工具

mimikatz

wce

gsecdump

copypwd

Pwdump

Windows本地密码破解工具

L0phtCrack

SAMInside

Ophcrack

彩虹表破解

本机hash+明文抓取

win8+win2012明文抓取

ntds.dit的导出+QuarkPwDump读取分析

vssown.vbs + libesedb + NtdsXtract

ntdsdump

利用powershell(DSInternals)分析hash

使用 net use \%computername% /u:%username% 重置密码尝试次数

5.2.3.5. 其他

组策略首选项漏洞

DLL劫持

替换系统工具,实现后门

Linux信息收集

5.3. 信息收集 – Linux

5.3.1. 获取内核,操作系统和设备信息

版本信息

uname -a 所有版本

uname -r 内核版本信息

uname -n 系统主机名字

uname -m Linux

内核架构 内核信息 cat /proc/version

CPU信息 cat /proc/cpuinfo

发布信息

cat /etc/*-release

cat /etc/issue

主机名 hostname

文件系统 df -a

5.3.2. 用户和组

列出系统所有用户 cat /etc/passwd

列出系统所有组 cat /etc/group

列出所有用户hash(root)“cat /etc/shadow“

用户

查询用户的基本信息 finger

当前登录的用户 users who -a

目前登录的用户 w

登入过的用户信息 last

显示系统中所有用户最近一次登录信息 lastlog

5.3.3. 用户和权限信息

当前用户 whoami

当前用户信息 id

可以使用sudo提升到root的用户(root) cat /etc/sudoers

列出目前用户可执行与无法执行的指令 sudo -l

5.3.4. 环境信息

打印系统环境信息 env

打印系统环境信息 set

环境变量中的路径信息 echo $PATH

打印历史命令 history

显示当前路径 pwd

显示默认系统遍历 cat /etc/profile

显示可用的shell cat /etc/shells

5.3.5. 服务信息

查看进程信息 ps aux

由inetd管理的服务列表 cat /etc/inetd.conf

由xinetd管理的服务列表 cat /etc/xinetd.conf

nfs服务器的配置 cat /etc/exports

5.3.6. 作业和任务

显示指定用户的计划作业(root) crontab -l -u %user%

计划任务 ls -la /etc/cron*

5.3.7. 网络、路由和通信

列出网络接口信息 /sbin/ifconfig -a

列出网络接口信息 cat /etc/network/interfaces

查看系统arp表 arp -a

打印路由信息 route

查看dns配置信息 cat /etc/resolv.conf

打印本地端口开放信息 netstat -an

列出iptable的配置规则 iptables -L

查看端口服务映射 cat /etc/services

以上这些都是一些渗透测试中所需知的知识点,大家可以根据这些点去自行分析和检索信息,如果对此有需要安全渗透测试的朋友可以联系专业的网站安全公司来处理,国内推荐Sinesafe,绿盟,启明星辰等等都是比较不错的,渗透测试服务中必须要有正规的授权书才能进行测试,不得非法测试!

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册